summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2009-11-24 16:57:35 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2009-11-24 16:57:35 +0000
commitde92e01861fe5199cb0f5e772c199117a97fe3bb (patch)
tree85503a22553412d45f48aec07e73cbef4eaa08ff
parent649d67fad9d3d59eeb8014ff1cff11512f23b2f1 (diff)
Update to xf86-video-radeonhd 1.3.0
Tested by killi@ on a HD3200.
-rw-r--r--driver/xf86-video-radeonhd/ChangeLog1203
-rw-r--r--driver/xf86-video-radeonhd/INSTALL2
-rw-r--r--driver/xf86-video-radeonhd/Makefile.in36
-rw-r--r--driver/xf86-video-radeonhd/README30
-rw-r--r--driver/xf86-video-radeonhd/acinclude.m477
-rw-r--r--driver/xf86-video-radeonhd/aclocal.m490
-rw-r--r--driver/xf86-video-radeonhd/config.h.in6
-rw-r--r--driver/xf86-video-radeonhd/configure10269
-rw-r--r--driver/xf86-video-radeonhd/configure.ac30
-rw-r--r--driver/xf86-video-radeonhd/man/Makefile.in30
-rw-r--r--driver/xf86-video-radeonhd/man/radeonhd.man128
-rw-r--r--driver/xf86-video-radeonhd/shave-libtool.in69
-rw-r--r--driver/xf86-video-radeonhd/shave.in79
-rw-r--r--driver/xf86-video-radeonhd/src/Makefile.am17
-rw-r--r--driver/xf86-video-radeonhd/src/Makefile.in107
-rw-r--r--driver/xf86-video-radeonhd/src/atombios_rev.h199
-rw-r--r--driver/xf86-video-radeonhd/src/git_version.h2
-rw-r--r--driver/xf86-video-radeonhd/src/r5xx_accel.h2
-rw-r--r--driver/xf86-video-radeonhd/src/r600_exa.c14
-rw-r--r--driver/xf86-video-radeonhd/src/r600_reg.h10
-rw-r--r--driver/xf86-video-radeonhd/src/r600_reg_auto_r6xx.h2
-rw-r--r--driver/xf86-video-radeonhd/src/r600_reg_r6xx.h22
-rw-r--r--driver/xf86-video-radeonhd/src/r600_reg_r7xx.h64
-rw-r--r--driver/xf86-video-radeonhd/src/r600_shader.h166
-rw-r--r--driver/xf86-video-radeonhd/src/r600_state.h4
-rw-r--r--driver/xf86-video-radeonhd/src/r600_textured_videofuncs.c103
-rw-r--r--driver/xf86-video-radeonhd/src/r6xx_accel.c171
-rw-r--r--driver/xf86-video-radeonhd/src/r6xx_accel.h12
-rw-r--r--driver/xf86-video-radeonhd/src/radeon_3d.c52
-rw-r--r--driver/xf86-video-radeonhd/src/radeon_drm.h2
-rw-r--r--driver/xf86-video-radeonhd/src/radeon_exa_render.c23
-rw-r--r--driver/xf86-video-radeonhd/src/radeon_textured_videofuncs.c4
-rw-r--r--driver/xf86-video-radeonhd/src/rhd.h30
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_acpi.c150
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_acpi.h31
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_atombios.c731
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_atombios.h70
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_atomout.c75
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_audio.c52
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_audio.h1
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_biosscratch.c7
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_connector.c2
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_cs.c2
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_cursor.c212
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_cursor.h2
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_dac.c4
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_dig.c102
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_dri.c85
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_driver.c412
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_hdmi.c146
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_hdmi.h12
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_i2c.c16
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_id.c170
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_lut.c174
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_lut.h5
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_lvtma.c91
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_mc.c10
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_mc.h4
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_monitor.c19
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_output.c61
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_output.h6
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_pll.c24
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_pm.c475
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_pm.h78
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_randr.c183
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_regs.h79
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_tmds.c10
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_video.c47
-rw-r--r--driver/xf86-video-radeonhd/src/rhd_video.h9
-rw-r--r--driver/xf86-video-radeonhd/utils/conntest/Makefile.am15
-rw-r--r--driver/xf86-video-radeonhd/utils/conntest/Makefile.in38
-rw-r--r--driver/xf86-video-radeonhd/utils/conntest/git_version.h2
-rw-r--r--driver/xf86-video-radeonhd/utils/conntest/rhd_conntest.c391
-rw-r--r--driver/xf86-video-radeonhd/utils/conntest/rhd_dump.c103
74 files changed, 11235 insertions, 5926 deletions
diff --git a/driver/xf86-video-radeonhd/ChangeLog b/driver/xf86-video-radeonhd/ChangeLog
index 9232fc164..5b39e240d 100644
--- a/driver/xf86-video-radeonhd/ChangeLog
+++ b/driver/xf86-video-radeonhd/ChangeLog
@@ -1,3 +1,1206 @@
+commit 8cbff7bfa1201faa1e5dbf7019f17c2f4b1d2b7f
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Oct 9 17:42:45 2009 +0200
+
+ Bump to 1.3.0. Update README.
+
+commit bd2145d8fab854fb5617abd09f7517321d2b35be
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Oct 9 17:42:30 2009 +0200
+
+ pm: Comment out currently unused variable.
+
+commit 5c437ecd5d06e1b214d2a309dfed60fadf071829
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Oct 9 17:31:29 2009 +0200
+
+ README.coding: Add rhd_acpi.[ch] and atombios_rev.h
+
+commit 0c8cc053741d7113254776d6c64745ecc5a1256e
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Oct 9 11:25:06 2009 +0200
+
+ i2c: Hardware may need a while to indicate availability to the host
+
+ Fixes fdo #24330.
+
+commit 57b97e0fefd7e5a0069573befabdb28ee0094f8d
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Oct 8 17:10:05 2009 +0200
+
+ pm: Improve wording of lowPowerModeEngineClock logging.
+
+commit a1cd56ddd2955ce74cccc4adcd482feda0985b72
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Oct 8 16:59:55 2009 +0200
+
+ pm: Ignore validation when setting negative engine/mem frequencies.
+
+commit 5d5d8e3d8655a7adbc17a548372bc0fad6d67cb7
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Oct 8 16:57:21 2009 +0200
+
+ pm: Use minimum known working frequency instead of default/2.
+
+commit 0a94f8eb56ec0155864858f8aefc4c64d3e1bf77
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Oct 8 16:02:46 2009 +0200
+
+ pm: Do NOT set idle engine clocks to default/2 unless ForceLowPowerMode is used.
+
+ Accidentally, we set this by default since commit fedddb7.
+ Using different engine clocks has side effects that are not handled yet.
+
+commit eebdbf0a9723c79975015354830550f7dfb57509
+Author: Egbert Eich <eich@freedesktop.org>
+Date: Thu Oct 8 09:15:32 2009 +0200
+
+ Improve DAC load detection on RS780.
+
+ Increase delay before reading out DAC autodetect status.
+
+commit 422ac06b69cfcbfbaa802fdc916d3b87f40eeb41
+Author: Christian König <deathsimple@vodafone.de>
+Date: Thu Oct 8 00:04:01 2009 +0200
+
+ Silence audio stream option.
+
+ This patch adds an option to play silence instead of playing no sound at all.
+ This fixes some issues where a receiver needs 1-2 seconds to adjust to a new audio stream.
+ This option can be enabled by setting AudioStreamSilence in xorg.conf or by xrandr.
+
+commit 3cef2a6553359b063b760a2f436ce84365c60682
+Author: Egbert Eich <eich@linux-21vw.site>
+Date: Wed Jul 1 14:06:27 2009 +0200
+
+ Improve test for disabled differential clock driver.
+
+commit 392a13923eb4d44a8bdb204922230e126b188fae
+Author: Egbert Eich <eich@freedesktop.org>
+Date: Wed Oct 7 12:23:56 2009 +0200
+
+ Properites: Get HW for Backlight setting on every query.
+
+ * Backlight brightness may be changed from underneath (ie. thru hot keys).
+ Thus the HW needs to be reprobed every time.
+ * This patch adds ACPI backlight support also for AtomBIOS based mode
+ setting.
+
+commit f695445b386050de346211baec5e487813187cfd
+Author: David Morrison <dave@bnl.gov>
+Date: Tue Oct 6 11:13:26 2009 -0700
+
+ LUT: Fix syntax error in 59085c4a
+
+commit 59085c4aa0f420a56699c0a77aa3fd6883b41efe
+Author: Yang Zhao <yang@yangman.ca>
+Date: Tue Oct 6 10:47:38 2009 -0700
+
+ LUT: Fix RHDLUTCopyForRR() not actually modifying LUT
+
+commit 8b3561d2aabeed34c77d9845e2f9814de8375bed
+Author: Egbert Eich <eich@freedesktop.org>
+Date: Tue Oct 6 19:30:32 2009 +0200
+
+ ID: Added quirk entry for HIS Excalibur Radeon XT1650 Pro IceQ 256M
+
+ This card reports 2 DVI ports but has only 1 VGA and 1 DVI.
+ Also HPD isn't working on the DVI port.
+
+commit 0a79a28c5552a437e4bc4876a2aac9ce8c062485
+Author: Egbert Eich <eich@freedesktop.org>
+Date: Tue Oct 6 19:29:44 2009 +0200
+
+ PM: Removed unnneeded define.
+
+commit 4758ba31d49dbafb1e8c9e19aad84d41183c7f19
+Author: Egbert Eich <eich@freedesktop.org>
+Date: Mon Oct 5 22:19:27 2009 +0200
+
+ Add ACPI controlled Backlight support for Linux.
+
+ ACPI Backlight support is system specific and only implemented for
+ Linux so far.
+
+commit be7216fca954396d92b94335ccb18d22c354c195
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed Sep 30 15:46:46 2009 +0200
+
+ randr: Select virtual large enough for typical dual-monitor situations
+
+ Unless we're able to shrink/enlarge FB on the fly (TTM etc.), allocate
+ large enough (TM) virtual size for general use cases.
+
+commit b9648ff4f60a55e9997afc574c91b1f92645f7c2
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed Sep 30 15:41:58 2009 +0200
+
+ RV740: Choose shadowfb by default.
+
+commit eb1fc6c0070077a23a4eb20c934e2743b6661b9b
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed Sep 30 12:48:55 2009 +0200
+
+ Fix missing parenthesis.
+
+ As ! has a higher precedence than &, this commit changes the semantics. This
+ could fix some obscure bugs, but could also regress.
+
+commit 136dbca77332bf119768b0719ed069d4fa1c74a9
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed Sep 30 12:16:26 2009 +0200
+
+ Disable DRI by default if shadowfb is explicitly selected.
+
+commit 209aa4c76330d15c387185f61be008b412aae4b3
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed Sep 30 12:04:05 2009 +0200
+
+ RV740: disable DFS and Composite
+
+ Small transfers seem problematic on all rv740 chips, and composite cannot be
+ disabled per size, so until we can find a solution, disable them.
+
+commit 21f033c1f812598d5e80d5bc9462807244f0d037
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon Sep 7 16:06:04 2009 +0200
+
+ Add quirk table entry for Wyse R-Class.
+
+commit ee508b375ba6a1fe132cb3bd8cf461445c814ea8
+Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
+Date: Sat Sep 19 15:15:35 2009 +0200
+
+ Hide README, radeon.man non-updates if --enable-shave
+
+ If configured with --enable-shave (default), hide the updates
+ to README, radeon.man if they result in zero changes.
+
+ If they result in changes, the changes will still be shown.
+
+ On --disable-shave, the commands generating README.new and radeon.man.new
+ will always be shown.
+
+commit b7a50a6f00bb6d207f5240f00cf83fbbd56bbf60
+Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
+Date: Fri Sep 18 23:23:32 2009 +0200
+
+ Fix RHDRegWrite macro invocation breakage
+
+ This appears to be an obvious fix to a bug introduced with bab7c5f9.
+
+ Neither ignoring the blue component nor discarding the calculation
+ does made sense to me, and the obvious explanation for that would
+ be a misplaced parenthesis.
+
+commit ae41ab2fe49ca456c4fb23859af8683c32c2429c
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed Sep 16 17:22:28 2009 +0200
+
+ Add quirk table entry for ATI Radeon X1550.
+
+commit 37ccdde4fef03f132ed2cd5cb6797f83f2b7f41e
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon Sep 14 14:21:35 2009 +0200
+
+ Add ugly hack for uint32_t to rhd_pm as well.
+
+commit d9d0cecbfa54a58c2553e1750ee8124e178679b0
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon Sep 14 13:16:46 2009 +0200
+
+ Fix typo in non-DRI case.
+
+commit ca1e34f85387bdf3eb1727d2fb628e4774f893a1
+Author: Luc Verhaegen <libv@skynet.be>
+Date: Tue Sep 8 17:22:57 2009 +0200
+
+ Revert "Fix softlocks on rs690. Idle commands have to be flushed to be of any use."
+
+ This reverts commit d8329927aaac5f2d4949785951326ebc782bc420.
+
+commit d934165ce11d5c8abfe577a72f57cc97c4a6e734
+Author: Luc Verhaegen <libv@skynet.be>
+Date: Tue Sep 8 17:20:41 2009 +0200
+
+ Revert "More idle/flush swaps."
+
+ This reverts commit b3f16ffdeb95fcd07f773756a563a5873647a760.
+
+ When looking at this code in depth, it is clear that these changes make the
+ sequence of commands useless.
+
+commit b3f16ffdeb95fcd07f773756a563a5873647a760
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Tue Sep 8 16:53:50 2009 +0200
+
+ More idle/flush swaps.
+
+commit d8329927aaac5f2d4949785951326ebc782bc420
+Author: Marc Dietrich <marvin24@gmx.de>
+Date: Tue Sep 8 15:32:38 2009 +0200
+
+ Fix softlocks on rs690. Idle commands have to be flushed to be of any use.
+
+commit b00c0a75a97136aaae887580a51acefc25ce7c4b
+Author: Yang Zhao <yang@yangman.ca>
+Date: Sun Sep 6 21:42:40 2009 -0700
+
+ LUT: Make sure LUT_RW_INDEX is reset to 0 before loading LUT
+
+commit 57916f27c08122b6aaea0da44c0ba21634706dce
+Author: Yang Zhao <yang@yangman.ca>
+Date: Sun Sep 6 15:53:57 2009 -0700
+
+ LUT: Use DC_LUT_30_COLOR for saving/restoring LUT
+
+commit bab7c5f97ddcd23772e6fdd66084f791c30218cd
+Author: Yang Zhao <yang@yangman.ca>
+Date: Sun Sep 6 15:31:15 2009 -0700
+
+ LUT: Change internal functions to reflect hardware
+
+ Existing implementation of LUT setter uses a LoadPalette()-like
+ function signature, where as the actual hardware is more accurately
+ reflected by RandR style gamma setter. On a RandR gamma adjustment
+ call, this results the following sequence of frivolous conversions:
+
+ (u16*,u16*,u16*) -> LOCO* -> (u16*,u16*,u16*)
+
+ New implementation changes the LUT setter to accept a triplet of CARD16*,
+ and move the LoadPalette()-specific logic to RHDLoadPalette().
+
+ A new rhdLUTSetRow() function is added, which deals with setting only
+ specific rows of a LUT. LUTxSet() previously made bad assumptions in
+ these cases.
+
+commit 27cfbaa3c34844771b5a4262a5deaf71b79cb6bc
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed Sep 2 16:45:12 2009 +0200
+
+ atombios.h prohibits -std=c99 due to unnamed unions
+
+commit fa6312784e3a03afb17ec1ea5e0e1912ca34d2b9
+Author: Marc Dietrich <marvin24@gmx.de>
+Date: Fri Aug 28 09:07:34 2009 +0200
+
+ silence some compiler warnings
+
+ This patch silences some compile warnings
+ mostly comming from C++ style comments.
+
+ I left the Atombios stuff untouched.
+
+commit f7ad9380b7e5af6b0c85a5423ab5b7a31f08fd8c
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Tue Sep 1 16:17:11 2009 +0200
+
+ Fix segfault due to missing Card NULL check.
+
+commit f047271abb94226df0076f3715c960e5b3c45b06
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Tue Sep 1 14:54:04 2009 +0200
+
+ Also combine outputs if only the second of them has .dual set.
+
+ Additionally, sometimes the VGA output is listed before the DVI-I.
+ Previously these outputs were not combined.
+
+commit 9ca0fc45ceee43003a983176301edde0bcaad2fe
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Aug 28 17:12:06 2009 +0200
+
+ Add atombios_rev.h to files list.
+
+commit fe7dbc2484edcf92944c11dde50b50e5b21f0bad
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Tue Aug 18 12:28:54 2009 +0200
+
+ Consider Backlight property to be a known good property now.
+
+commit 78b6ed065aa6bc9bd66a20665daad9849e3696e3
+Author: Yang Zhao <yang@yangman.ca>
+Date: Tue Aug 25 14:52:21 2009 -0700
+
+ Put back logging of PCI IDs not in database during probing.
+
+ Revert of 45e733556671e78adbb2afafd6b98a461bb29825 with modifications.
+ That was the only place were users are informed of the maillinglist, so
+ removing it was a bad idea.
+
+commit 45e733556671e78adbb2afafd6b98a461bb29825
+Author: Yang Zhao <yang@yangman.ca>
+Date: Mon Aug 17 16:39:34 2009 -0700
+
+ Do not log about "Unknown card detected" when AtomBIOS is available
+
+ There's a lot of confusion about this message; time to kill it now that
+ AtomBIOS modesetting is significantly more stable.
+
+commit 10133f5d04c2e709c7cf2ed3d6dcd16b13b96607
+Author: Yang Zhao <yang@yangman.ca>
+Date: Mon Aug 17 16:27:42 2009 -0700
+
+ Use DRM and EXA by default on r6xx/r7xx
+
+ Manpage updated accordingly.
+
+commit d44b359c7b12236f0045734bcc42de397409ab9f
+Author: Yang Zhao <yang@yangman.ca>
+Date: Mon Aug 17 16:21:52 2009 -0700
+
+ Fallback to ShadowFB on r6xx/r7xx if DRI pre-init fails
+
+commit ed98d7311d021849993ac764b2caffd6ddceeb2a
+Author: Yang Zhao <yang@yangman.ca>
+Date: Wed May 6 14:22:13 2009 -0700
+
+ Make EXA the default AccelMethod on r5xx
+
+ Signed-off-by: Yang Zhao <yang@yangman.ca>
+
+commit 865215c800f50d8718544acf2af222c5f2ef777a
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Aug 14 12:44:50 2009 +0200
+
+ Non-existent AtomBIOS command tables should issue a warning only.
+
+ This is not fatal and sometimes even anticipated.
+
+commit be2c65fa35e8f9ae04e799f43400822478d764d2
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed Aug 5 01:01:07 2009 -0400
+
+ rs880: enable accel
+
+commit 62e60e31db474e69dbb2dcee2838cb58039c1be6
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon Aug 3 16:02:43 2009 -0400
+
+ r7xx: add some new pci ids
+
+commit d0ff1c5823b3c186dd80fb65105b62bff28630e6
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Jul 30 17:16:14 2009 +0200
+
+ INSTALL: xorgversion.m4 is obsolete for a long time already.
+
+commit 2d73df84b71378bc427054397d936e66ceea6769
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon Jul 27 19:08:11 2009 +0200
+
+ Fix logic bug in sideport memory detection.
+
+commit f6c57ac9630d1bd8d4e417ae1a05a1abd1573520
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon Jul 27 18:11:46 2009 +0200
+
+ MC: Major overhaul for RS600, RS690, RS760, RS780, RS880.
+
+ Use same registers and register spaces as radeon now.
+
+commit 83ed13f303538197ab73a02cdb68b4624d15d8e2
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon Jul 27 17:32:59 2009 +0200
+
+ Rename registers in PCIE space.
+
+commit b5911fd908efe63933f620ec39511444c5f4964f
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon Jul 27 15:56:40 2009 +0200
+
+ RS690 MC idle: Wait for system idle instead of sequencer idle.
+
+ Inspired by radeon code.
+
+commit 050f523309063d8e836169014dd4f6a991f555b7
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon Jul 27 11:48:31 2009 +0200
+
+ Typo.
+
+commit da5b9c2fb0338e616f5376b6e40b4531fa3d7e1c
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon Aug 3 17:17:44 2009 +0200
+
+ Fix autoconf issues.
+
+ Apparently, autoconf 2.64 has "interesting" issues with spaces in double
+ quoted strings, as used in configure.ac. Change that to parantheses.
+ Based on a patch by Jens Lody <radeonhd@jenslody.de>.
+
+ Additionally, autogen.sh didn't --force so far.
+
+commit 9cabfb076b874f9ab17bb4d219ac492d55e77abb
+Author: Yang Zhao <yang@yangman.ca>
+Date: Mon Jul 27 23:08:42 2009 -0700
+
+ Xv: Make color space selectable on r6xx/r7xx
+
+ Add functionality to switch between Rec.601 and Rec.709 color space
+ conversion constants.
+
+ Default behaviour is to use Rec.709 for videos 928px or wider,
+ and Rec.601 otherwise. Force a particular color space by setting the
+ new XV_COLORSPACE attribute to 1 (Rec.601) or 2 (Rec.709). A value of 0
+ means do auto-detection.
+
+ man page updated accordingly.
+
+ This is a follow-up to bug #22901.
+
+commit ca21df5b3583c64cd9f78d449b689d4f48158002
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Jul 28 15:22:41 2009 +1000
+
+ radeonhd: change to using ABI version check
+
+commit d389503eace03c0d8adf2028ade099b7a7f38a8a
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Jul 28 13:39:32 2009 +1000
+
+ radeonhd: further RAC/resources changes
+
+commit e688cffa33ececfef8630c05380f93d9e38b3edf
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Jul 28 13:32:35 2009 +1000
+
+ radeonhd: update for resources/RAC API removal
+
+commit d19a10b753d3a235cda21246c1b1721673fe1061
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Jul 24 16:01:30 2009 +0200
+
+ Work around ParseTable returning CD_SUCCESS if the command table doesn't exist
+
+ Typical example: GET_MEMORY_CLOCK doesn't exist, and some random value that
+ happens to be stored in the call struct is considered to be the correct value.
+
+commit 3d031afba8c23b7099d32b97a16ccdf06a906fdd
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Jul 24 15:30:39 2009 +0200
+
+ Validate current clocks - some AtomBIOSes provide broken values.
+
+commit eabbde4e4cc8fa2bd9f3f1f347e557b6b1210f0d
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Jul 23 18:52:39 2009 +0200
+
+ Fix C++ comments warnings in reverse engineered AtomBIOS.
+
+commit baa8d6e2de33b0b4f7276af86b701bf2f16452bc
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Jul 23 18:48:42 2009 +0200
+
+ Add check for -Wno-unknown-pragmas in configure.ac.
+
+commit 6f32189092c30d05452063367a440a59ae920f50
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Jul 23 18:34:19 2009 +0200
+
+ Import known good chip settings from AtomBIOS.
+
+ Include reverse engineered AtomBIOS addon header.
+ Pragmas in the header are needed for AtomDis.
+
+commit 0684714cc2542b37248f746c20f561b5c577b2c4
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Jul 23 16:54:25 2009 +0200
+
+ Remove warnings in rhd_pm.c on 32bit.
+
+commit e5e54f76d74bb86ce9436448cee27354e58e9b5d
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Jul 23 16:51:27 2009 +0200
+
+ Consolidate structures in rhd_pm.c and rhd_atombios.c.
+
+ Also nuke copy routine for power states.
+
+commit 9c66f5fbd43a42db4f4843abafd0e103551171a8
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Jul 23 15:44:22 2009 +0200
+
+ Improve chip limit validations. Again. 2.
+
+commit eed4bed6ab3e79eb1510b86332a073496fe61761
+Author: Javeed Shaikh <syscrash2k@gmail.com>
+Date: Thu Jul 23 13:10:56 2009 +0200
+
+ Xv: Fix YUV scaling and use Rec709 coefficients
+
+ Described in fdo bug 22901. Coefficients are now based on the color space used
+ for HDTV, which seems more appropriate.
+ Also fixes some off-by-one bugs.
+
+commit 7c2df35a8fa7bc836f1444a508ac3ab5dcab15e9
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Jul 23 12:46:40 2009 +0200
+
+ Improve chip limit validations. Again.
+
+ Probably will take a few more iterations until we get it completely right.
+
+commit 8f0f6217feb198200c60a0e11fb332a9cae28dd5
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Jul 23 12:40:37 2009 +0200
+
+ Improve output for powermanagement.
+
+commit 8f3f3647aad1613c41ec4b5bd030e571b74b7cf2
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Jul 23 12:31:09 2009 +0200
+
+ Improve chip limit validations.
+
+commit e9cd2d257f304041fd1a127a58aeea0415d984bb
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Jul 23 11:51:00 2009 +0200
+
+ Typo.
+
+commit 98f46c6abebdc63b8be3d2c814da1ada9aa8ddef
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed Jul 22 18:41:08 2009 +0200
+
+ Add code fetch chip clock and voltage limits and validate them.
+
+commit d9288b43ecd639713e64aa435943697c5e1c9c8c
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Tue Jul 21 17:43:32 2009 +0200
+
+ Consolidate prefixes for ATOM_*.
+
+ Some had ATOMBIOS_, some had no prefix.
+
+commit fedddb78ab01e3972854ba6b115ea653fa8a4b7c
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Tue Jul 21 17:08:37 2009 +0200
+
+ Rework powermanagement: Introduce the notion of levels, change interface.
+
+ Old style didn't scale with new requirements.
+
+commit b1be3143266f8b6a89dfe635321f16797601f1bb
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Tue Jul 21 12:10:53 2009 +0200
+
+ Rewrite to use structured data for power settings.
+
+commit 5995c731da030631e56020e8cc4dcdcb92f5f935
+Author: Egbert Eich <eich@freedesktop.org>
+Date: Wed Jul 22 13:15:49 2009 +0200
+
+ Clean up most warnings.
+
+commit 2e2e4d118e497cfc50f0bc23741236a89d9798f3
+Author: Egbert Eich <eich@freedesktop.org>
+Date: Tue Jul 21 18:04:07 2009 +0200
+
+ Add better fallback heuristics for acceleration methods.
+
+ - R6xx and up don't support XAA: fall back to EXA.
+ - If DRI is not compiled in on R6xx and up fall back to Shadow_FB.
+
+commit de3f80bc6ec2adaab40912fee92fe5f38564d1fe
+Author: Egbert Eich <eich@freedesktop.org>
+Date: Tue Jun 30 18:54:18 2009 +0200
+
+ Reenabling AtomBIOS controlled backlight.
+
+ This code used to be commented out because it triggered some crashes.
+ It doesn't crash for me (tested LVTMA nor DIG). Let's wait and see
+ what reports will come in and check what the issue is.
+
+commit 1ff8649877a8d75b2614b40f90da60e3690fc88d
+Author: Egbert Eich <eich@freedesktop.org>
+Date: Tue Jun 30 18:47:54 2009 +0200
+
+ Move test for backlight support enabled to proper place.
+
+commit e4d5f972358ffbd115eafce00fdc578ed2a98cc6
+Author: Egbert Eich <eich@freedesktop.org>
+Date: Tue Jun 30 18:46:34 2009 +0200
+
+ Spelling fixes.
+
+commit a006e56b0b845028780a25d905cd15eb94b34fd6
+Author: Egbert Eich <eich@freedesktop.org>
+Date: Tue Jun 30 18:45:26 2009 +0200
+
+ Remove superfluous function arguments.
+
+commit b22e7a21a589b5205ad61a8cf39a61c8e5ca5791
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Jul 16 13:27:21 2009 +1000
+
+ radeonhd: Update to xextproto 7.1 support.
+
+ DPMS header was split into dpms.h (client) and dpmsconst.h (server). Drivers
+ need to include dpmsconst.h if xextproto 7.1 is available.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit bc42c63d0cf7756a9d31c16d68d1c33a9e225b83
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon Jul 6 19:00:06 2009 +0200
+
+ Add shave (nuking excessive libtool output).
+
+commit 09a62f9426ccf5c6cbcc19cb9fd7ba66c3231002
+Author: Rafał Miłecki <zajec5@gmail.com>
+Date: Tue Jun 30 12:57:03 2009 +0200
+
+ Fix build with --disable-atombios
+
+commit 3e0d3aab927db2def6375b11fa97e788d1b6dcec
+Author: Luc Verhaegen <libv@skynet.be>
+Date: Mon Jun 29 21:31:43 2009 +0200
+
+ DRI: Fix VBlankInterrupt setting when not using RandR1.2.
+
+commit c7168b6e835fdf7f2837913ed8580f1911135fdd
+Author: Luc Verhaegen <libv@skynet.be>
+Date: Mon Jun 29 21:03:05 2009 +0200
+
+ Cursor: fix logic error in cursor visibility checking.
+
+ Cursor->(X,Y) were always null and never set until Crtc->(X,Y) were within
+ CURSOR_MAX_(WIDTH,HEIGHT) boundaries. This only affected xf86Cursor code.
+
+commit 645a0a0a6e5e57a4bb77c3b9c7d20b58d4c9ec28
+Author: Roland Scheidegger <sroland@tungstengraphics.com>
+Date: Sun Jun 28 17:00:20 2009 -0400
+
+ R6xx/R7xx: fix pixel centers
+
+ Make sure we are using GL mode (centers at 0.5) rather
+ than D3D mode (centers at 0.0). This also fixes fdo
+ bug 21963.
+
+commit afc94a3b398340768e9e6aac07a1609e8302dd84
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Jun 26 15:34:43 2009 +0200
+
+ Add Developer's documentation. Or better: Some start of.
+
+ Initiated by Rafal, who had to ask Dave, John, and Jerome for quite some
+ stuff, and others might benefit from that.
+
+commit 0624f7e6a9c5fff44c8e50e0df6a97835ad3484f
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Jun 26 12:18:39 2009 +0200
+
+ Add quirks table entry for ASUS EAH3450.
+
+commit fbc7fbfa1e7244622adfbd8850a742818e18df72
+Author: Christian Koenig <deathsimple@vodafone.de>
+Date: Wed Jun 10 00:43:11 2009 +0200
+
+ R700 HDMI audio support.
+
+ Setting just one more bit gets audio going on R700.
+ This time the tanks for debugging this goes to Jaren Peterson.
+
+commit 47a052a44f7566431308c5441539b65bb3dc6600
+Author: Rafał Miłecki <zajec5@gmail.com>
+Date: Thu Jun 18 09:57:31 2009 +0200
+
+ PM: Fix printing units and variable typo in memory code
+
+commit 8a3fa92b6fdcd86b502973c947e5aed1bd3e1ada
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed May 13 16:36:54 2009 +0200
+
+ randr: Reformat AtomBIOS parameter correctly when setting.
+
+commit ebcac22cadb28132a4133426ff9c5d662f9ff3e6
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed May 13 16:08:52 2009 +0200
+
+ randr: XA_STRING property values are not necessarily 0-terminated.
+
+commit 87dc50fbfa9a284f6387356b4840de6598de8139
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon Jun 15 16:35:19 2009 +0200
+
+ randr: Export EDID property correctly.
+
+ Wasn't exported because rhdRROutputSetProperty() is called by RandR layer, and
+ the function didn't know about this property.
+
+commit f7260fc38a50b50395ff21ff76d568d7761677b1
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon Jun 15 16:32:43 2009 +0200
+
+ randr: Add AtomBIOS property for on-the-fly setting. Experimental.
+
+ Currently disabled by default.
+ To enable set ENABLE_PROPERTY_ATOMBIOS to 1 in rhd_randr.c.
+
+commit aa1a56fe12b76abe8d483fdb0b6d0858c43a5d90
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed May 13 15:44:51 2009 +0200
+
+ Refactor AtomBIOS option handling.
+
+commit 4b4a439ef35af340b9c8e48e3760e375b07f873c
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed Jun 10 12:23:55 2009 +0200
+
+ Move setting of Private->Modes to correct place.
+
+ Was done for LVTMA only before.
+ Based on a patch by Rafał Miłecki. Fixes xorg bug #21877.
+
+commit fc31eb65edf6ffac969eb33a7c588dad7c93b7f4
+Author: Rafał Miłecki <zajec5@gmail.com>
+Date: Tue Jun 9 18:26:30 2009 +0200
+
+ PLL: RV620 PLL shutdowning fix (sometimes we need unused PLL running)
+
+ This makes RV620PLLnPower follow AtomBIOS method, fixes bug #18016
+
+commit c83bd5c43832ed5602ee75db74bbe9ca06922d16
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Tue Jun 9 15:34:14 2009 +0200
+
+ randr: Remove useless error messages when fetching unknown/invalid properties.
+
+commit 9e8608c4ee55ca7798c3c120938d2ecf1f7e9f00
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon Jun 8 13:45:21 2009 +0200
+
+ Adapt for nuked xf86LoaderReqSymLists() in Xserver 1.6.99.1.
+
+commit 1103cff7f79e3212af2dcf3e0bf684006c9b79e4
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Jun 5 19:32:55 2009 +0200
+
+ Add quirk table entry for Asus F3JR.
+
+commit 5dd9d814c8a9a35fbf5556d88297eb5e934731d7
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Jun 5 19:22:27 2009 +0200
+
+ Initialize fresh connector object correctly in AtomBIOS case.
+
+ Otherwise connectors without DDC object would get DDC0.
+
+commit cca9c0b2766139e225208c6d1e39c56f865480b2
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Jun 5 18:36:16 2009 +0200
+
+ Add AtomBIOS based static powermanagement enablement
+
+ Also add dynamic clock gating on pre-R6xx chips, but only if AtomBIOS is
+ available.
+
+commit 086e6c4aae8b9d1f077e39b35c1e15b92df0903c
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Jun 5 16:49:45 2009 +0200
+
+ Add some more PCI Ids, improve RV740 handling, fix descriptions.
+
+commit 1eec42729e048d7bb9be7fbf50f49a0573093c4d
+Author: Rafał Miłecki <zajec5@gmail.com>
+Date: Wed Jun 3 19:56:27 2009 +0200
+
+ AtomBIOS: add pixel clock's ucFracFbDiv to debugging messages
+
+commit b8533a98448f8dc2d67137e02a180430def17e0b
+Author: Rafał Miłecki <zajec5@gmail.com>
+Date: Wed Jun 3 19:27:24 2009 +0200
+
+ RandR: add returning HDMI property value
+
+commit efa0b5475517e4252c5a97389ee5612ed7da453f
+Author: Rafał Miłecki <zajec5@gmail.com>
+Date: Wed Jun 3 19:03:48 2009 +0200
+
+ RandR: fix return in DigPropertyControl
+
+ Currently for all properties (coherent, backlight and hdmi) we
+ always return true. This leads to exporting not supported proprs
+ to randr.
+
+commit c559887b9663531a8aac526031e6eb4ca7c48efd
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Jun 4 15:13:27 2009 +0200
+
+ Add quirk entry for 0x7146:0x174B:0x0940. Bug #21947.
+
+commit c6f607fd6cc40d6f5f9ebbecd1f1e5152d5d0a9c
+Author: Yang Zhao <yang@yangman.ca>
+Date: Wed Jun 3 12:33:59 2009 -0700
+
+ Fix incorrectly reporting XAA/EXA init as failing for r5xx
+
+ Oops, missed some braces.
+
+ Signed-off-by: Yang Zhao <yang@yangman.ca>
+
+commit d89f5d870a816291620d18439eebae79557bde53
+Author: Yang Zhao <yang@yangman.ca>
+Date: Thu May 28 21:27:31 2009 -0700
+
+ Raise warnings when 2D acceleration initialization fails
+
+ Raise a warning when 2D acceleration is diabled during initialization
+ for whatever reason.
+
+ Also update the R600 CS unavailability warning to point out requirement
+ of DRI instead of cliaming lack if implementation.
+
+ Signed-off-by: Yang Zhao <yang@yangman.ca>
+
+commit 1d611211d8814c462e658c7cb8771ea98c9a7bb6
+Author: Yang Zhao <yang@yangman.ca>
+Date: Sat May 23 11:59:38 2009 -0700
+
+ MC: Remove duplicated definition of SRBM_STATUS
+
+ Use SRBM_STATUS from r600_reg_r6xx.h and remove old definition in
+ rhd_regs.h.
+
+ Show names of bits are actually being checked in R600MCWaitIdle() instead
+ of using magic number.
+
+ Signed-off-by: Yang Zhao <yang@yangman.ca>
+
+commit 792c736887bf99f8631e385fa35cd0ec1e1b1713
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed Jun 3 19:14:05 2009 +0200
+
+ Fix switch construction in LVDSPropertyControl
+
+commit 23653f8d3abe08da04feb7024d643071f09592aa
+Author: Rafał Miłecki <zajec5@gmail.com>
+Date: Fri May 22 11:39:01 2009 +0200
+
+ PM: add memory downclocking. Commented out for now.
+
+ Currently we don't call RHDPmSetClock directly after rhdAllIdle(...) which
+ may be needed. It works on my M82 but we need more testing.
+
+commit ebabbe7220cae9aa281b097ad826badeb37a5e83
+Author: Rafał Miłecki <zajec5@gmail.com>
+Date: Fri May 22 11:24:12 2009 +0200
+
+ PM: get rid of EnableForced field
+
+ We can use ForcedEngineClock to determine if we should change engine clock.
+ It's set to 0 on init and some bigger value if we decide to downclock. It's
+ unnecessary and would be pain in future to keep fields like ForceEngine,
+ ForceMemory, ForceLanes, etc.
+
+commit d84490c8ce93f51815cd81c3a8624eecf9cf396a
+Author: Rafał Miłecki <zajec5@gmail.com>
+Date: Fri May 22 11:10:24 2009 +0200
+
+ PM: add RHDGetDefaultMemoryClock
+
+commit b452d15fcf14401f88ef36bfa8eaa1fede1f15ab
+Author: Rafał Miłecki <zajec5@gmail.com>
+Date: Fri May 22 10:48:12 2009 +0200
+
+ PM: fix broken engine clock setting logic
+
+ Block of code detecting RHDGetDefaultEngineClock failure was placed in wrong
+ place. Additionaly Pm->Stored wasn't set to FALSE on init.
+
+commit 08acc05a4c252ff5c55ed1c8f55f106aa6c68546
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed May 20 18:14:29 2009 +0200
+
+ modes: Fixup broken panel modes if possible
+
+ Panels only, and if we can do so only. Otherwise we might have no chance of
+ driving the panel at all. Inspired by commit 57a02b50c from the intel driver.
+ Fixes Novell bug #472013.
+
+commit d5844f5ba6708b186b2914ddc7cb39c3833570b8
+Author: Rafał Miłecki <zajec5@gmail.com>
+Date: Tue May 19 11:36:41 2009 +0200
+
+ PM: Save and restore engine clock on VT switching
+
+commit 2644e121f404c9112293debe19dc5241d3b25326
+Author: Rafał Miłecki <zajec5@gmail.com>
+Date: Tue May 19 09:38:15 2009 +0200
+
+ clean power management code
+
+ This patch moves PM initialization to separated function, creates
+ struct rhdPm and stores ForcedEngineClock.
+
+ It will be followed by saving & restoring engine clock on VT switching.
+
+ --
+ Rafał Miłecki
+
+commit 5a0b48dae2284f8d2bf6f8c9584f60177ee74ce6
+Author: Christian Koenig <deathsimple@vodafone.de>
+Date: Wed May 13 22:20:09 2009 +0200
+
+ Initial RS690 HDMI Audio support.
+
+ Based on a patch from Christiaan van Dijk, but stripped down the bare minimum.
+
+commit 23d25fe7ed0ad6d519672439484cb39653785848
+Author: Yang Zhao <yang@yangman.ca>
+Date: Thu May 14 00:42:04 2009 -0700
+
+ Cursor: optimize lockCursor()
+
+ It is not necessary to use RHDRegMask() when manipulating D*CUR_UPDATE.
+ Using RHDRegWrite() instead saves 2 register reads per mouse operation.
+
+ Signed-off-by: Yang Zhao <yang@yangman.ca>
+
+commit 08461642370b3315cf3412c3a35bf5f1f2db251a
+Author: Yang Zhao <yang@yangman.ca>
+Date: Thu May 14 00:30:07 2009 -0700
+
+ Cursor: clean-up: eliminate Width and Height from rhdCursor struct
+
+ Hardware always expects a 64x64 cursor image, so there is no benefit to
+ explicitly storing cursor size.
+
+ Signed-off-by: Yang Zhao <yang@yangman.ca>
+
+commit dd287015dcf8ee74de35bd14c8a1a7d63cabdbc7
+Author: Yang Zhao <yang@yangman.ca>
+Date: Fri May 8 16:09:56 2009 -0700
+
+ Cursor: refactor non-RandR cursor code
+
+ The non-RandR cursor calls now call into the rhdCrtc* cursor functions.
+
+ displayCursor() has been eliminated entirely.
+
+ Signed-off-by: Yang Zhao <yang@yangman.ca>
+
+commit 4be5f7152f71c292f16b6e30c59c07b282ea4772
+Author: Yang Zhao <yang@yangman.ca>
+Date: Mon May 4 13:38:27 2009 -0700
+
+ Cursor: Fix remaning corruption cases
+
+ Port of f668cc06cd7f338888a7dce1507026af0e9e36ad to new code
+
+ Found by Alex:
+ Apparently the cursor image cannot end on a multiple of 128 pixels.
+ Also, for panning, the end of the cursor image cannot extend past
+ the end of the viewport.
+
+ Signed-off-by: Yang Zhao <yang@yangman.ca>
+
+commit 669e0befdf73a6e1502b0f499a4a9d2122929854
+Author: Yang Zhao <yang@yangman.ca>
+Date: Sun Apr 26 15:31:29 2009 -0700
+
+ Cursor: refactor RandR cursor code
+
+ Eliminate calls to displayCursor() and generally reduce the number of
+ register writes.
+
+ Signed-off-by: Yang Zhao <yang@yangman.ca>
+
+commit 6f378a0d63df5fad86e16504c9d15c17849a67d3
+Author: Yang Zhao <yang@yangman.ca>
+Date: Mon May 4 13:31:42 2009 -0700
+
+ Cursor: Do not change cursor mode when disabling; fixes bug #13405
+
+ Alex finally found the real cause of the cursor corruption issue. Yay!
+
+ Signed-off-by: Yang Zhao <yang@yangman.ca>
+
+commit a282d6da64d339a99c3e59637785661c607c1240
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon May 4 13:02:24 2009 -0400
+
+ Fix scissor offsets for r5xx in last patch
+
+commit 633a9307684bac38f61ef75a0289ecedaf463631
+Author: Marvin <marvin24@gmx.de>
+Date: Mon May 4 12:21:39 2009 -0400
+
+ Port lockup fix from radeon
+
+ Port of my patch from bug 16198
+
+commit de6e2cb62e3962f5b9978a1e57b71fc373bd2104
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon May 4 17:03:04 2009 +0200
+
+ utils: Only allow -e if pci_device_enable() is available.
+
+commit ea7a38d4291c5571d3fffb59bfb2303944edb435
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon May 4 10:20:04 2009 -0400
+
+ Fix build on systems without pci_device_enable()
+
+ this time for rhd_dump
+
+commit e7db50e801057133eced58972f5dad25539e2d72
+Author: Thomas Jaeger <ThJaeger@gmail.com>
+Date: Mon May 4 10:14:53 2009 -0400
+
+ Fall back to software for unsupported repeat modes
+
+ fixes bug 19728
+
+commit 367c99f1892efe433463431be69e4ff186e61daf
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon May 4 10:07:59 2009 -0400
+
+ RS690: fix EXA corruption
+
+ Thanks to Marvin for porting my patch to rhd.
+
+commit 929a77f2f4d2007d47be8196589afb3174541527
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon May 4 10:06:25 2009 -0400
+
+ Fix build on systems without pci_device_enable()
+
+commit cefd136eb01d23bc7afdc860bfc08cb5c0b1b7cb
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon May 4 16:08:39 2009 +0200
+
+ rhd_dump: move pci_device_enable to correct case (pciaccess)
+
+commit 357f190d059e7e53f2b956cb5eba33a12899a7bd
+Author: Jakub Zawadzki <darkjames@darkjames.ath.cx>
+Date: Wed Apr 29 18:57:51 2009 +0200
+
+ rhd_conntest: mmap() returns -1 on error, not NULL
+
+commit e2260b0d77572a42d7a71d75f80c581a18e69d46
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed Apr 29 18:54:19 2009 +0200
+
+ man: cleanup
+
+ Wrap long lines at textwidth=78, remove trailing spaces.
+
+commit 89088e5353025eec852935d1a8c852a13da95d84
+Author: Tristan Hoffmann <info@tristanhoffmann.de>
+Date: Wed Apr 29 18:48:57 2009 +0200
+
+ man: Add lowpower options.
+
+commit 8932f43933437308b1fe5248a12cfe481f7d4ef3
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Apr 23 17:27:43 2009 +0200
+
+ Nuke some trailing whitespace.
+
+commit 2f3c0b5318f404237a3c4a2bad5052680ef5f6e0
+Author: Michael Cree <mcree@orcon.net.nz>
+Date: Wed Mar 18 22:26:59 2009 +1300
+
+ Updated Makefile in utils/conntest to enable link with libpciaccess.
+
+ This is needed to compile rhd_dump and rhd_conntest with libpciaccess.
+
+commit 87ba9c2e81f7ab9070d98ca186e63facaf6cf41e
+Author: Michael Cree <mcree@orcon.net.nz>
+Date: Wed Mar 18 22:22:18 2009 +1300
+
+ Added code to use libpciaccess and access PCI ROM
+
+ Uses libpciaccess if XSERVER_LIBPCIACCESS defined.
+ New features:
+ Can read BIOS from PCI ROM if unposted when using libpciaccess.
+ New options -e (enable PCI card) and -r (use PCI ROM not VBIOS)
+
+commit 9ad3554cd83654c2f2cff1dc29d6af9604b514a3
+Author: Michael Cree <mcree@orcon.net.nz>
+Date: Wed Mar 18 22:17:21 2009 +1300
+
+ Added code to use libpciaccess
+
+ Added support for using libpciaccess to access PCI resources.
+ Uses libpciaccess if XSERVER_LIBPCIACCESS defined.
+ Added -e option to enable pci card.
+
+commit 107d5d9f2ba0fef524c23aa00a20ed74b8a0c773
+Author: Yang Zhao <yang@yangman.ca>
+Date: Fri Apr 17 16:15:43 2009 -0700
+
+ PM: Add ForceLowPowerMode and LowPowerModeEngineClock options
+
+ - LowPowerMode enables static low-power mode by setting engine clock.
+ - LowPowerModeEngineClock controls what the clock is set to, in Hz.
+ If unset, (default_engine_clock / 2) is used
+
+ Signed-off-by: Yang Zhao <yang@yangman.ca>
+
+commit 55b3bade631f7038bd2dc569ad89db2a7fd9d186
+Author: Yang Zhao <yang@yangman.ca>
+Date: Fri Apr 17 15:13:58 2009 -0700
+
+ PM: Add functions for get/setting engine and memory clocks
+
+ Signed-off-by: Yang Zhao <yang@yangman.ca>
+
+commit 82c1dee0bcb47ecff7d8a8765093cd14d25b36b3
+Author: Yang Zhao <yang@yangman.ca>
+Date: Sat Mar 7 13:05:44 2009 -0800
+
+ AtomBIOS: add hooks to call memory and engine clock getters and setters
+
+ Signed-off-by: Yang Zhao <yang@yangman.ca>
+
+commit f668cc06cd7f338888a7dce1507026af0e9e36ad
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Apr 23 16:33:40 2009 +0200
+
+ Fix #13405: Cursor corruption
+
+ Found by Alex:
+ Apparently the cursor image cannot end on a multiple of 128 pixels.
+ Also, for panning, the end of the cursor image cannot extend past
+ the end of the viewport.
+
+commit 881334543d2711f159c8fcaf4a30b8b0db3186d7
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Fri Apr 17 15:24:32 2009 +0200
+
+ FB mapping cleanup didn't reflect changes to allocation. Fixes #21233.
+
+commit 8bb8cd80f08d094c8b451e005e57c495dc6e4d42
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Thu Apr 16 15:07:56 2009 +0200
+
+ Extend ugly hack for CARD64 to rhd_mc.h. This time actually working.
+
+commit 950842aa998618217de6d4e9440bdc5faccce7b1
+Author: Florian Forster <octo@leeloo.lan.home.verplant.org>
+Date: Mon Apr 13 14:56:17 2009 +0200
+
+ man/radeonhd.man: Fix two typos.
+
+commit 71a2d799714d224ae512b2a464c45b43099ab619
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Tue Apr 14 17:23:04 2009 +0200
+
+ Consolidated chip identifiers.
+
+ Potentially adds support for RV740, M92, M93, M97. Untested, though.
+
+commit 8885256ee3987eb2c607eeec210a093555e91994
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Tue Apr 14 17:05:55 2009 +0200
+
+ Extend ugly hack for CARD64 to rhd_mc.h.
+
+ Seriously, we need a reasonable fix for this issue.
+
commit cb54f48b212d5ae54e13bbdf24575b6163798c0d
Author: Matthias Hopf <mhopf@suse.de>
Date: Thu Apr 9 15:11:37 2009 +0200
diff --git a/driver/xf86-video-radeonhd/INSTALL b/driver/xf86-video-radeonhd/INSTALL
index 47607b518..81435c111 100644
--- a/driver/xf86-video-radeonhd/INSTALL
+++ b/driver/xf86-video-radeonhd/INSTALL
@@ -72,7 +72,7 @@ Solution:
---------
Your system lacks one or more of these files in /usr/share/aclocal:
- xorg-macros.m4 xorg-server.m4 xorgversion.m4
+ xorg-macros.m4 xorg-server.m4
Make sure you have all required X.org development packages installed. These
may be called xorg-dev, xorg-x11-server-sdk and xorg-x11-util-macros,
diff --git a/driver/xf86-video-radeonhd/Makefile.in b/driver/xf86-video-radeonhd/Makefile.in
index 18ba296dd..93e42a888 100644
--- a/driver/xf86-video-radeonhd/Makefile.in
+++ b/driver/xf86-video-radeonhd/Makefile.in
@@ -60,18 +60,20 @@ build_triplet = @build@
host_triplet = @host@
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
+ $(srcdir)/shave-libtool.in $(srcdir)/shave.in \
$(top_srcdir)/configure COPYING ChangeLog INSTALL compile \
config.guess config.sub depcomp install-sh ltmain.sh missing
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
mkinstalldirs = $(SHELL) $(install_sh) -d
CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_FILES = shave shave-libtool
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -100,6 +102,7 @@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_MAKEFLAGS = @AM_MAKEFLAGS@
APP_MAN_DIR = @APP_MAN_DIR@
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
AR = @AR@
@@ -137,13 +140,17 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
+FC = @FC@
FFLAGS = @FFLAGS@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
+GREP = @GREP@
HAVE_PCI_PCI_H_FALSE = @HAVE_PCI_PCI_H_FALSE@
HAVE_PCI_PCI_H_TRUE = @HAVE_PCI_PCI_H_TRUE@
HAVE_SED_WITH_REASONABLE_SUBSTITUTION_FALSE = @HAVE_SED_WITH_REASONABLE_SUBSTITUTION_FALSE@
HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE = @HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@
+HAVE_XEXTPROTO_71_FALSE = @HAVE_XEXTPROTO_71_FALSE@
+HAVE_XEXTPROTO_71_TRUE = @HAVE_XEXTPROTO_71_TRUE@
HAVE_XF86_ANSIC_H_FALSE = @HAVE_XF86_ANSIC_H_FALSE@
HAVE_XF86_ANSIC_H_TRUE = @HAVE_XF86_ANSIC_H_TRUE@
HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@
@@ -163,10 +170,12 @@ LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEFLAGS = @MAKEFLAGS@
MAKEINFO = @MAKEINFO@
MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
NMEDIT = @NMEDIT@
+OBJC = @OBJC@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -181,6 +190,7 @@ PCIUTILS_CFLAGS = @PCIUTILS_CFLAGS@
PCIUTILS_LIBS = @PCIUTILS_LIBS@
PEDANTIC_CFLAGS = @PEDANTIC_CFLAGS@
PKG_CONFIG = @PKG_CONFIG@
+Q = @Q@
RANDR_VERSION = @RANDR_VERSION@
RANLIB = @RANLIB@
SED = @SED@
@@ -191,21 +201,18 @@ USE_DRI_FALSE = @USE_DRI_FALSE@
USE_DRI_TRUE = @USE_DRI_TRUE@
USE_EXA_FALSE = @USE_EXA_FALSE@
USE_EXA_TRUE = @USE_EXA_TRUE@
+V = @V@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XEXT_CFLAGS = @XEXT_CFLAGS@
+XEXT_LIBS = @XEXT_LIBS@
XORG_CFLAGS = @XORG_CFLAGS@
XORG_LIBS = @XORG_LIBS@
XSERVER_LIBPCIACCESS_FALSE = @XSERVER_LIBPCIACCESS_FALSE@
XSERVER_LIBPCIACCESS_TRUE = @XSERVER_LIBPCIACCESS_TRUE@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DSYMUTIL = @ac_ct_DSYMUTIL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_NMEDIT = @ac_ct_NMEDIT@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -222,26 +229,34 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
moduledir = @moduledir@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+shavedir = @shavedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
AUTOMAKE_OPTIONS = foreign
@@ -303,6 +318,10 @@ $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
distclean-hdr:
-rm -f config.h stamp-h1
+shave: $(top_builddir)/config.status $(srcdir)/shave.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+shave-libtool: $(top_builddir)/config.status $(srcdir)/shave-libtool.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
mostlyclean-libtool:
-rm -f *.lo
@@ -449,6 +468,7 @@ distclean-tags:
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
+ $(mkdir_p) $(distdir)/.
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
diff --git a/driver/xf86-video-radeonhd/README b/driver/xf86-video-radeonhd/README
index 6ca6b2088..ddfb2b5cd 100644
--- a/driver/xf86-video-radeonhd/README
+++ b/driver/xf86-video-radeonhd/README
@@ -72,12 +72,17 @@ BEGIN_DEVICE_LIST
* RS690: Radeon X1200, X1250, X1270
* RS740: RS740, RS740M
* RS780: Radeon HD 3100/3200/3300 Series
- * RV770: Radeon HD 4800 Series; Everest, K2, Denali ATI FirePro
* R700: Radeon R700
- * M98: Radeon M98 Mobility
- * RV730: Radeon HD4670, HD4650
- * M96: Radeon M96 Mobility
* RV710: Radeon HD4570, HD4350
+ * RV730: Radeon HD4670, HD4650
+ * RV740: Radeon HD4770. EXPERIMENTAL AND UNTESTED
+ * RV770: Radeon HD 4800 Series; Everest, K2, Denali ATI FirePro
+ * RV790: Radeon HD 4890
+ * M92: Mobility Radeon HD4330, HD4530, HD4570. EXPERIMENTAL
+ * M93: Mobility Radeon M93. EXPERIMENTAL AND UNTESTED
+ * M96: Mobility Radeon HD4600
+ * M97: Mobility Radeon HD4860. EXPERIMENTAL AND UNTESTED
+ * M98: Mobility Radeon HD4850, HD4870
END_DEVICE_LIST
@@ -87,6 +92,23 @@ Major Changes
Read ChangeLog for a complete list.
+- Version 1.3.0
+
+ - Added support for RV740, M92, M93, M97.
+ - Added support for HDMI audio on RS690 and R700.
+ - Added support for power management.
+ - Implemented almost correct analysis of PowerPlay AtomBIOS tables.
+ - 2D acceleration (EXA) is enabled by default now, except on RV740.
+ - Backlight handling finally fixed - compatible with xbacklight 1.1.1.
+ - Overhaul of memory controller setup. Fixes many "MC not idle" issues.
+ - Overhaul of cursor handling. Fixes most cursor bugs.
+ - Selectable color space for XVideo on R6xx/R7xx.
+ - Tons of bug fixes (DDC, EXA, LUT, RandR, AtomBIOS).
+ - More quirk table entries.
+ - Shave support (cleaner compilation output).
+ - All warnings fixed.
+ - Some start of Developer's documentation in README.coding.
+
- Version 1.2.5
- Added 2D acceleration for R6xx and R7xx.
diff --git a/driver/xf86-video-radeonhd/acinclude.m4 b/driver/xf86-video-radeonhd/acinclude.m4
new file mode 100644
index 000000000..0a3509e59
--- /dev/null
+++ b/driver/xf86-video-radeonhd/acinclude.m4
@@ -0,0 +1,77 @@
+dnl Make automake/libtool output more friendly to humans
+dnl Damien Lespiau <damien.lespiau@gmail.com>
+dnl
+dnl SHAVE_INIT([shavedir],[default_mode])
+dnl
+dnl shavedir: the directory where the shave scripts are, it defaults to
+dnl $(top_builddir)
+dnl default_mode: (enable|disable) default shave mode. This parameter
+dnl controls shave's behaviour when no option has been
+dnl given to configure. It defaults to disable.
+dnl
+dnl * SHAVE_INIT should be called late in your configure.(ac|in) file (just
+dnl before AC_CONFIG_FILE/AC_OUTPUT is perfect. This macro rewrites CC and
+dnl LIBTOOL, you don't want the configure tests to have these variables
+dnl re-defined.
+dnl * This macro requires GNU make's -s option.
+
+AC_DEFUN([_SHAVE_ARG_ENABLE],
+[
+ AC_ARG_ENABLE([shave],
+ AS_HELP_STRING(
+ [--enable-shave],
+ [use shave to make the build pretty [[default=$1]]]),,
+ [enable_shave=$1]
+ )
+])
+
+AC_DEFUN([SHAVE_INIT],
+[
+ dnl you can tweak the default value of enable_shave
+ m4_if([$2], [enable], [_SHAVE_ARG_ENABLE(yes)], [_SHAVE_ARG_ENABLE(no)])
+
+ if test x"$enable_shave" = xyes; then
+ dnl where can we find the shave scripts?
+ m4_if([$1],,
+ [shavedir="$ac_pwd"],
+ [shavedir="$ac_pwd/$1"])
+ AC_SUBST(shavedir)
+
+ dnl make is now quiet
+ AC_SUBST([MAKEFLAGS], [-s])
+ AC_SUBST([AM_MAKEFLAGS], ['`test -z $V && echo -s`'])
+
+ dnl we need sed
+ AC_CHECK_PROG(SED,sed,sed,false)
+
+ dnl substitute libtool
+ SHAVE_SAVED_LIBTOOL=$LIBTOOL
+ LIBTOOL="${SHELL} ${shavedir}/shave-libtool '${SHAVE_SAVED_LIBTOOL}'"
+ AC_SUBST(LIBTOOL)
+
+ dnl substitute cc/cxx
+ SHAVE_SAVED_CC=$CC
+ SHAVE_SAVED_CXX=$CXX
+ SHAVE_SAVED_FC=$FC
+ SHAVE_SAVED_F77=$F77
+ SHAVE_SAVED_OBJC=$OBJC
+ CC="${SHELL} ${shavedir}/shave cc ${SHAVE_SAVED_CC}"
+ CXX="${SHELL} ${shavedir}/shave cxx ${SHAVE_SAVED_CXX}"
+ FC="${SHELL} ${shavedir}/shave fc ${SHAVE_SAVED_FC}"
+ F77="${SHELL} ${shavedir}/shave f77 ${SHAVE_SAVED_F77}"
+ OBJC="${SHELL} ${shavedir}/shave objc ${SHAVE_SAVED_OBJC}"
+ AC_SUBST(CC)
+ AC_SUBST(CXX)
+ AC_SUBST(FC)
+ AC_SUBST(F77)
+ AC_SUBST(OBJC)
+
+ V=@
+ else
+ V=1
+ fi
+ Q='$(V:1=)'
+ AC_SUBST(V)
+ AC_SUBST(Q)
+])
+
diff --git a/driver/xf86-video-radeonhd/aclocal.m4 b/driver/xf86-video-radeonhd/aclocal.m4
index 3ec9c2c92..ba3b927f1 100644
--- a/driver/xf86-video-radeonhd/aclocal.m4
+++ b/driver/xf86-video-radeonhd/aclocal.m4
@@ -7631,7 +7631,7 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
-dnl xorg-macros.m4. Generated from xorg-macros.m4.in:xorgversion.m4 by configure.
+dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure.
dnl
dnl Copyright 2005-2006 Sun Microsystems, Inc. All rights reserved.
dnl
@@ -7668,27 +7668,24 @@ dnl of the copyright holder.
# your configure.ac with the minimum required version, such as:
# XORG_MACROS_VERSION(1.1)
#
-# To force at least a version with this macro defined, also add:
-# m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.1 or later before running autoconf/autogen])])
+# To ensure that this macro is defined, also add:
+# m4_ifndef([XORG_MACROS_VERSION],
+# [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
#
#
# See the "minimum version" comment for each macro you use to see what
# version you require.
-AC_DEFUN([XORG_MACROS_VERSION],[
- [XORG_MACROS_needed_version=$1
- XORG_MACROS_needed_major=`echo $XORG_MACROS_needed_version | sed 's/\..*$//'`
- XORG_MACROS_needed_minor=`echo $XORG_MACROS_needed_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`]
- AC_MSG_CHECKING([if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}])
- [XORG_MACROS_version=1.2.1
- XORG_MACROS_major=`echo $XORG_MACROS_version | sed 's/\..*$//'`
- XORG_MACROS_minor=`echo $XORG_MACROS_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`]
- if test $XORG_MACROS_major -ne $XORG_MACROS_needed_major ; then
- AC_MSG_ERROR([configure built with incompatible version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.x])
- fi
- if test $XORG_MACROS_minor -lt $XORG_MACROS_needed_minor ; then
- AC_MSG_ERROR([configure built with too old of a version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.${XORG_MACROS_minor}.0 or newer])
- fi
- AC_MSG_RESULT([yes, $XORG_MACROS_version])
+m4_defun([XORG_MACROS_VERSION],[
+m4_define([vers_have], [1.3.0])
+m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
+m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
+m4_if(m4_cmp(maj_have, maj_needed), 0,,
+ [m4_fatal([xorg-macros major version ]maj_needed[ is required but ]vers_have[ found])])
+m4_if(m4_version_compare(vers_have, [$1]), -1,
+ [m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ found])])
+m4_undefine([vers_have])
+m4_undefine([maj_have])
+m4_undefine([maj_needed])
]) # XORG_MACROS_VERSION
# XORG_PROG_RAWCPP()
@@ -7955,7 +7952,7 @@ AC_SUBST(MAKE_HTML)
# their AM_CFLAGS (or other appropriate *_CFLAGS) to use them.
AC_DEFUN([XORG_CHECK_MALLOC_ZERO],[
AC_ARG_ENABLE(malloc0returnsnull,
- AC_HELP_STRING([--enable-malloc0returnsnull],
+ AS_HELP_STRING([--enable-malloc0returnsnull],
[malloc(0) returns NULL (default: auto)]),
[MALLOC_ZERO_RETURNS_NULL=$enableval],
[MALLOC_ZERO_RETURNS_NULL=auto])
@@ -8007,7 +8004,7 @@ AC_SUBST([XTMALLOC_ZERO_CFLAGS])
AC_DEFUN([XORG_WITH_LINT],[
# Allow checking code with lint, sparse, etc.
-AC_ARG_WITH(lint, [AC_HELP_STRING([--with-lint],
+AC_ARG_WITH(lint, [AS_HELP_STRING([--with-lint],
[Use a lint-style source code checker (default: disabled)])],
[use_lint=$withval], [use_lint=no])
if test "x$use_lint" = "xyes" ; then
@@ -8048,7 +8045,7 @@ AM_CONDITIONAL(LINT, [test x$LINT != xno])
AC_DEFUN([XORG_LINT_LIBRARY],[
AC_REQUIRE([XORG_WITH_LINT])
# Build lint "library" for more indepth checks of programs calling this library
-AC_ARG_ENABLE(lint-library, [AC_HELP_STRING([--enable-lint-library],
+AC_ARG_ENABLE(lint-library, [AS_HELP_STRING([--enable-lint-library],
[Create lint library (default: disabled)])],
[make_lint_lib=$enableval], [make_lint_lib=no])
if test "x$make_lint_lib" != "xno" ; then
@@ -8078,9 +8075,9 @@ if test "x$GCC" = xyes ; then
CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
-Wbad-function-cast"
- case `gcc -dumpversion` in
+ case `$CC -dumpversion` in
3.4.* | 4.*)
- CWARNFLAGS+=" -Wold-style-definition -Wdeclaration-after-statement"
+ CWARNFLAGS="$CWARNFLAGS -Wold-style-definition -Wdeclaration-after-statement"
;;
esac
else
@@ -8090,7 +8087,51 @@ else
fi
fi
AC_SUBST(CWARNFLAGS)
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
]) # XORG_CWARNFLAGS
+
+# XORG_STRICT_OPTION
+# -----------------------
+# Minimum version: 1.3.0
+#
+# Add configure option to enable strict compilation
+AC_DEFUN([XORG_STRICT_OPTION], [
+AC_REQUIRE([AC_PROG_CC])
+AC_REQUIRE([AC_PROG_CC_C99])
+AC_REQUIRE([XORG_CWARNFLAGS])
+
+AC_ARG_ENABLE(strict-compilation,
+ AS_HELP_STRING([--enable-strict-compilation],
+ [Enable all warnings from compiler and make them errors (default: disabled)]),
+ [STRICT_COMPILE=$enableval], [STRICT_COMPILE=no])
+if test "x$STRICT_COMPILE" = "xyes"; then
+ AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
+ AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
+ if test "x$GCC" = xyes ; then
+ STRICT_CFLAGS="-pedantic -Werror"
+ elif test "x$SUNCC" = "xyes"; then
+ STRICT_CFLAGS="-errwarn"
+ elif test "x$INTELCC" = "xyes"; then
+ STRICT_CFLAGS="-Werror"
+ fi
+fi
+CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
+AC_SUBST([CWARNFLAGS])
+]) # XORG_STRICT_OPTION
+
+# XORG_DEFAULT_OPTIONS
+# --------------------
+# Minimum version: 1.3.0
+#
+# Defines default options for X.Org modules.
+#
+AC_DEFUN([XORG_DEFAULT_OPTIONS], [
+XORG_CWARNFLAGS
+XORG_STRICT_OPTION
+XORG_RELEASE_VERSION
+XORG_CHANGELOG
+XORG_MANPAGE_SECTIONS
+]) # XORG_DEFAULT_OPTIONS
dnl Copyright 2005 Red Hat, Inc
dnl
dnl Permission to use, copy, modify, distribute, and sell this software and its
@@ -8125,7 +8166,7 @@ dnl
AC_DEFUN([XORG_RELEASE_VERSION],[
AC_ARG_WITH(release-version,
- AC_HELP_STRING([--with-release-version=STRING],
+ AS_HELP_STRING([--with-release-version=STRING],
[Use release version string in package name]),
[RELEASE_VERSION="$withval"],
[RELEASE_VERSION=""])
@@ -8219,3 +8260,4 @@ AC_DEFUN([XORG_DRIVER_CHECK_EXT],[
fi
])
+m4_include([acinclude.m4])
diff --git a/driver/xf86-video-radeonhd/config.h.in b/driver/xf86-video-radeonhd/config.h.in
index 8153772df..5db70bdc7 100644
--- a/driver/xf86-video-radeonhd/config.h.in
+++ b/driver/xf86-video-radeonhd/config.h.in
@@ -27,6 +27,9 @@
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
+/* Have pci_device_enable prototype */
+#undef HAVE_PCI_DEVICE_ENABLE
+
/* Define to 1 if you have <pci/pci.h>. */
#undef HAVE_PCI_PCI_H
@@ -51,6 +54,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* xextproto 7.1 available */
+#undef HAVE_XEXTPROTO_71
+
/* Define to 1 if you have <${sdkdir}/xf86_ansic.h>. */
#undef HAVE_XF86_ANSIC_H
diff --git a/driver/xf86-video-radeonhd/configure b/driver/xf86-video-radeonhd/configure
index 3c9370561..c001684d2 100644
--- a/driver/xf86-video-radeonhd/configure
+++ b/driver/xf86-video-radeonhd/configure
@@ -1,27 +1,84 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for xf86-video-radeonhd 1.2.5.
+# Generated by GNU Autoconf 2.62 for xf86-video-radeonhd 1.3.0.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/radeonhd>.
#
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
fi
-DUALCASE=1; export DUALCASE # for MKS sh
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
@@ -31,33 +88,60 @@ else
fi
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
@@ -65,157 +149,391 @@ fi
# Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+# CDPATH.
+$as_unset CDPATH
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
fi
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
+ case $as_dir in
/*)
- if ("$as_dir/$as_base" -c '
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
as_lineno_1=$LINENO
as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell bug-autoconf@gnu.org about your system,
+ echo including any error possibly output before this message.
+ echo This can help us improve future autoconf versions.
+ echo Configuration will now proceed without shell functions.
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
# uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
+ s/-\n.*//
' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
-if expr a : '\(a\)' >/dev/null 2>&1; then
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
@@ -224,7 +542,28 @@ else
as_mkdir_p=false
fi
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -233,15 +572,6 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
# Check that we are running under the correct shell.
@@ -397,80 +727,287 @@ tagnames=${tagnames+${tagnames},}CXX
tagnames=${tagnames+${tagnames},}F77
+exec 7<&0 </dev/null 6>&1
+
# Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-exec 6>&1
-
#
# Initializations.
#
ac_default_prefix=/usr/local
+ac_clean_files=
ac_config_libobj_dir=.
+LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
# Identity of this package.
PACKAGE_NAME='xf86-video-radeonhd'
PACKAGE_TARNAME='xf86-video-radeonhd'
-PACKAGE_VERSION='1.2.5'
-PACKAGE_STRING='xf86-video-radeonhd 1.2.5'
+PACKAGE_VERSION='1.3.0'
+PACKAGE_STRING='xf86-video-radeonhd 1.3.0'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/radeonhd'
ac_unique_file="Makefile.am"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
-#if HAVE_SYS_TYPES_H
+#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
-#if HAVE_SYS_STAT_H
+#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
-#if STDC_HEADERS
+#ifdef STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
-# if HAVE_STDLIB_H
+# ifdef HAVE_STDLIB_H
# include <stdlib.h>
# endif
#endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# include <memory.h>
# endif
# include <string.h>
#endif
-#if HAVE_STRINGS_H
+#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
-#if HAVE_INTTYPES_H
+#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-# include <stdint.h>
-# endif
#endif
-#if HAVE_UNISTD_H
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE SED HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE HAVE_SED_WITH_REASONABLE_SUBSTITUTION_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB DSYMUTIL ac_ct_DSYMUTIL NMEDIT ac_ct_NMEDIT CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL PKG_CONFIG ac_pt_PKG_CONFIG XORG_CFLAGS XORG_LIBS PCIUTILS_CFLAGS PCIUTILS_LIBS HAVE_PCI_PCI_H_TRUE HAVE_PCI_PCI_H_FALSE PCIACCESS_CFLAGS PCIACCESS_LIBS XSERVER_LIBPCIACCESS_TRUE XSERVER_LIBPCIACCESS_FALSE USE_EXA_TRUE USE_EXA_FALSE DRI_CFLAGS DRI_LIBS USE_DRI_TRUE USE_DRI_FALSE HAVE_XF86_ANSIC_H_TRUE HAVE_XF86_ANSIC_H_FALSE ATOM_BIOS_TRUE ATOM_BIOS_FALSE ATOM_BIOS_PARSER_TRUE ATOM_BIOS_PARSER_FALSE HAVE_ZLIB_TRUE HAVE_ZLIB_FALSE WARN_CFLAGS PEDANTIC_CFLAGS ATOMBIOS_CFLAGS RANDR_VERSION moduledir DRIVER_NAME APP_MAN_SUFFIX LIB_MAN_SUFFIX FILE_MAN_SUFFIX MISC_MAN_SUFFIX DRIVER_MAN_SUFFIX ADMIN_MAN_SUFFIX APP_MAN_DIR LIB_MAN_DIR FILE_MAN_DIR MISC_MAN_DIR DRIVER_MAN_DIR ADMIN_MAN_DIR LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+CYGPATH_W
+PACKAGE
+VERSION
+ACLOCAL
+AUTOCONF
+AUTOMAKE
+AUTOHEADER
+MAKEINFO
+install_sh
+STRIP
+INSTALL_STRIP_PROGRAM
+mkdir_p
+AWK
+SET_MAKE
+am__leading_dot
+AMTAR
+am__tar
+am__untar
+MAINTAINER_MODE_TRUE
+MAINTAINER_MODE_FALSE
+MAINT
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+DEPDIR
+am__include
+am__quote
+AMDEP_TRUE
+AMDEP_FALSE
+AMDEPBACKSLASH
+CCDEPMODE
+am__fastdepCC_TRUE
+am__fastdepCC_FALSE
+SED
+HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE
+HAVE_SED_WITH_REASONABLE_SUBSTITUTION_FALSE
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+GREP
+EGREP
+LN_S
+ECHO
+AR
+RANLIB
+DSYMUTIL
+NMEDIT
+CPP
+CXX
+CXXFLAGS
+ac_ct_CXX
+CXXDEPMODE
+am__fastdepCXX_TRUE
+am__fastdepCXX_FALSE
+CXXCPP
+F77
+FFLAGS
+ac_ct_F77
+LIBTOOL
+PKG_CONFIG
+XORG_CFLAGS
+XORG_LIBS
+XEXT_CFLAGS
+XEXT_LIBS
+HAVE_XEXTPROTO_71_TRUE
+HAVE_XEXTPROTO_71_FALSE
+PCIUTILS_CFLAGS
+PCIUTILS_LIBS
+HAVE_PCI_PCI_H_TRUE
+HAVE_PCI_PCI_H_FALSE
+PCIACCESS_CFLAGS
+PCIACCESS_LIBS
+XSERVER_LIBPCIACCESS_TRUE
+XSERVER_LIBPCIACCESS_FALSE
+USE_EXA_TRUE
+USE_EXA_FALSE
+DRI_CFLAGS
+DRI_LIBS
+USE_DRI_TRUE
+USE_DRI_FALSE
+HAVE_XF86_ANSIC_H_TRUE
+HAVE_XF86_ANSIC_H_FALSE
+ATOM_BIOS_TRUE
+ATOM_BIOS_FALSE
+ATOM_BIOS_PARSER_TRUE
+ATOM_BIOS_PARSER_FALSE
+HAVE_ZLIB_TRUE
+HAVE_ZLIB_FALSE
+WARN_CFLAGS
+PEDANTIC_CFLAGS
+ATOMBIOS_CFLAGS
+RANDR_VERSION
+moduledir
+DRIVER_NAME
+APP_MAN_SUFFIX
+LIB_MAN_SUFFIX
+FILE_MAN_SUFFIX
+MISC_MAN_SUFFIX
+DRIVER_MAN_SUFFIX
+ADMIN_MAN_SUFFIX
+APP_MAN_DIR
+LIB_MAN_DIR
+FILE_MAN_DIR
+MISC_MAN_DIR
+DRIVER_MAN_DIR
+ADMIN_MAN_DIR
+shavedir
+MAKEFLAGS
+AM_MAKEFLAGS
+FC
+OBJC
+V
+Q
+LIBOBJS
+LTLIBOBJS'
ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_maintainer_mode
+enable_static
+enable_dependency_tracking
+enable_shared
+enable_fast_install
+with_gnu_ld
+enable_libtool_lock
+with_pic
+with_tags
+with_xorg_module_dir
+enable_exa
+enable_dri
+enable_atombios
+enable_atombios_parser
+with_release_version
+enable_shave
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+CXX
+CXXFLAGS
+CCC
+CXXCPP
+F77
+FFLAGS
+PKG_CONFIG
+XORG_CFLAGS
+XORG_LIBS
+XEXT_CFLAGS
+XEXT_LIBS
+PCIUTILS_CFLAGS
+PCIUTILS_LIBS
+PCIACCESS_CFLAGS
+PCIACCESS_LIBS
+DRI_CFLAGS
+DRI_LIBS'
+
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
@@ -493,34 +1030,48 @@ x_libraries=NONE
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
ac_prev=
+ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
+ eval $ac_prev=\$ac_option
ac_prev=
continue
fi
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+ case $ac_option in
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
# Accept the important Cygnus configure options, so we can diagnose typos.
- case $ac_option in
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
@@ -542,33 +1093,61 @@ do
--config-cache | -C)
cache_file=config.cache ;;
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ -datadir | --datadir | --datadi | --datad)
ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
datadir=$ac_optarg ;;
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
-disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
-enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
esac
- eval "enable_$ac_feature='$ac_optarg'" ;;
+ eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -595,6 +1174,12 @@ do
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
@@ -619,13 +1204,16 @@ do
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
-localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
+ | --localstate | --localstat | --localsta | --localst | --locals)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -690,6 +1278,16 @@ do
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
@@ -740,26 +1338,38 @@ do
ac_init_version=: ;;
-with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
esac
- eval "with_$ac_package='$ac_optarg'" ;;
+ eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=no" ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
--x)
# Obsolete; use --with-x.
@@ -779,7 +1389,7 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) { echo "$as_me: error: unrecognized option: $ac_option
+ -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; }
;;
@@ -788,17 +1398,16 @@ Try \`$0 --help' for more information." >&2
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
{ (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
+ eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
: ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
;;
@@ -807,31 +1416,39 @@ done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
+ { $as_echo "$as_me: error: missing argument to $ac_option" >&2
{ (exit 1); exit 1; }; }
fi
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2
+ { (exit 1); exit 1; }; } ;;
+ *) $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
-done
+fi
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
do
- eval ac_val=$`echo $ac_var`
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
+ { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
done
# There might be people who depend on the old broken behavior: `$host'
@@ -845,7 +1462,7 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
@@ -858,130 +1475,76 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { $as_echo "$as_me: error: Working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
+ if test ! -r "$srcdir/$ac_unique_file"; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
{ (exit 1); exit 1; }; }
- fi
fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
{ (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
-ac_env_CXX_set=${CXX+set}
-ac_env_CXX_value=$CXX
-ac_cv_env_CXX_set=${CXX+set}
-ac_cv_env_CXX_value=$CXX
-ac_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_env_CXXFLAGS_value=$CXXFLAGS
-ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_cv_env_CXXFLAGS_value=$CXXFLAGS
-ac_env_CXXCPP_set=${CXXCPP+set}
-ac_env_CXXCPP_value=$CXXCPP
-ac_cv_env_CXXCPP_set=${CXXCPP+set}
-ac_cv_env_CXXCPP_value=$CXXCPP
-ac_env_F77_set=${F77+set}
-ac_env_F77_value=$F77
-ac_cv_env_F77_set=${F77+set}
-ac_cv_env_F77_value=$F77
-ac_env_FFLAGS_set=${FFLAGS+set}
-ac_env_FFLAGS_value=$FFLAGS
-ac_cv_env_FFLAGS_set=${FFLAGS+set}
-ac_cv_env_FFLAGS_value=$FFLAGS
-ac_env_PKG_CONFIG_set=${PKG_CONFIG+set}
-ac_env_PKG_CONFIG_value=$PKG_CONFIG
-ac_cv_env_PKG_CONFIG_set=${PKG_CONFIG+set}
-ac_cv_env_PKG_CONFIG_value=$PKG_CONFIG
-ac_env_XORG_CFLAGS_set=${XORG_CFLAGS+set}
-ac_env_XORG_CFLAGS_value=$XORG_CFLAGS
-ac_cv_env_XORG_CFLAGS_set=${XORG_CFLAGS+set}
-ac_cv_env_XORG_CFLAGS_value=$XORG_CFLAGS
-ac_env_XORG_LIBS_set=${XORG_LIBS+set}
-ac_env_XORG_LIBS_value=$XORG_LIBS
-ac_cv_env_XORG_LIBS_set=${XORG_LIBS+set}
-ac_cv_env_XORG_LIBS_value=$XORG_LIBS
-ac_env_PCIUTILS_CFLAGS_set=${PCIUTILS_CFLAGS+set}
-ac_env_PCIUTILS_CFLAGS_value=$PCIUTILS_CFLAGS
-ac_cv_env_PCIUTILS_CFLAGS_set=${PCIUTILS_CFLAGS+set}
-ac_cv_env_PCIUTILS_CFLAGS_value=$PCIUTILS_CFLAGS
-ac_env_PCIUTILS_LIBS_set=${PCIUTILS_LIBS+set}
-ac_env_PCIUTILS_LIBS_value=$PCIUTILS_LIBS
-ac_cv_env_PCIUTILS_LIBS_set=${PCIUTILS_LIBS+set}
-ac_cv_env_PCIUTILS_LIBS_value=$PCIUTILS_LIBS
-ac_env_PCIACCESS_CFLAGS_set=${PCIACCESS_CFLAGS+set}
-ac_env_PCIACCESS_CFLAGS_value=$PCIACCESS_CFLAGS
-ac_cv_env_PCIACCESS_CFLAGS_set=${PCIACCESS_CFLAGS+set}
-ac_cv_env_PCIACCESS_CFLAGS_value=$PCIACCESS_CFLAGS
-ac_env_PCIACCESS_LIBS_set=${PCIACCESS_LIBS+set}
-ac_env_PCIACCESS_LIBS_value=$PCIACCESS_LIBS
-ac_cv_env_PCIACCESS_LIBS_set=${PCIACCESS_LIBS+set}
-ac_cv_env_PCIACCESS_LIBS_value=$PCIACCESS_LIBS
-ac_env_DRI_CFLAGS_set=${DRI_CFLAGS+set}
-ac_env_DRI_CFLAGS_value=$DRI_CFLAGS
-ac_cv_env_DRI_CFLAGS_set=${DRI_CFLAGS+set}
-ac_cv_env_DRI_CFLAGS_value=$DRI_CFLAGS
-ac_env_DRI_LIBS_set=${DRI_LIBS+set}
-ac_env_DRI_LIBS_value=$DRI_LIBS
-ac_cv_env_DRI_LIBS_set=${DRI_LIBS+set}
-ac_cv_env_DRI_LIBS_value=$DRI_LIBS
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
#
# Report the --help message.
@@ -990,7 +1553,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xf86-video-radeonhd 1.2.5 to adapt to many kinds of systems.
+\`configure' configures xf86-video-radeonhd 1.3.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1010,14 +1573,11 @@ Configuration:
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
-_ACEOF
-
- cat <<_ACEOF
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
+ [$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
+ [PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
@@ -1027,18 +1587,26 @@ for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root
+ [DATAROOTDIR/doc/xf86-video-radeonhd]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
@@ -1056,29 +1624,29 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xf86-video-radeonhd 1.2.5:";;
+ short | recursive ) echo "Configuration of xf86-video-radeonhd 1.3.0:";;
esac
cat <<\_ACEOF
Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-static[=PKGS]
- build static libraries [default=no]
+ --enable-static[=PKGS] build static libraries [default=no]
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
- --enable-shared[=PKGS]
- build shared libraries [default=yes]
+ --enable-shared[=PKGS] build shared libraries [default=yes]
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
- --disable-exa Disable EXA support [default], [enabled]
- --disable-dri Disable DRI support [default], [enabled]
+ --disable-exa Disable EXA support (default enabled)
+ --disable-dri Disable DRI support (default enabled)
--disable-atombios Disable AtomBIOS support [default=no]
--disable-atombios-parser
Disable AtomBIOS parser support [default=no]
+ --enable-shave use shave to make the build pretty [default=yes]
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -1086,11 +1654,10 @@ Optional Packages:
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-pic try to use only PIC/non-PIC objects [default=use
both]
- --with-tags[=TAGS]
- include additional configurations [automatic]
+ --with-tags[=TAGS] include additional configurations [automatic]
--with-xorg-module-dir=DIR
- Default xorg module directory
- [default=$libdir/xorg/modules]
+ Default xorg module directory (default
+ $libdir/xorg/modules)
--with-release-version=STRING
Use release version string in package name
@@ -1099,8 +1666,9 @@ Some influential environment variables:
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
- CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
- headers in a nonstandard directory <include dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
CPP C preprocessor
CXX C++ compiler command
CXXFLAGS C++ compiler flags
@@ -1110,6 +1678,8 @@ Some influential environment variables:
PKG_CONFIG path to pkg-config utility
XORG_CFLAGS C compiler flags for XORG, overriding pkg-config
XORG_LIBS linker flags for XORG, overriding pkg-config
+ XEXT_CFLAGS C compiler flags for XEXT, overriding pkg-config
+ XEXT_LIBS linker flags for XEXT, overriding pkg-config
PCIUTILS_CFLAGS
C compiler flags for PCIUTILS, overriding pkg-config
PCIUTILS_LIBS
@@ -1126,120 +1696,88 @@ it to find libraries and programs with nonstandard names/locations.
Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/radeonhd>.
_ACEOF
+ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
ac_builddir=.
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
case $srcdir in
- .) # No --srcdir option. We are building in place.
+ .) # We are building in place.
ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- echo
- $SHELL $ac_srcdir/configure.gnu --help=recursive
- elif test -f $ac_srcdir/configure; then
- echo
- $SHELL $ac_srcdir/configure --help=recursive
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd $ac_popdir
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
done
fi
-test -n "$ac_init_help" && exit 0
+test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xf86-video-radeonhd configure 1.2.5
-generated by GNU Autoconf 2.59
+xf86-video-radeonhd configure 1.3.0
+generated by GNU Autoconf 2.62
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
- exit 0
+ exit
fi
-exec 5>config.log
-cat >&5 <<_ACEOF
+cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xf86-video-radeonhd $as_me 1.2.5, which was
-generated by GNU Autoconf 2.59. Invocation command line was
+It was created by xf86-video-radeonhd $as_me 1.3.0, which was
+generated by GNU Autoconf 2.62. Invocation command line was
$ $0 $@
_ACEOF
+exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
@@ -1258,7 +1796,7 @@ uname -v = `(uname -v) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
@@ -1270,8 +1808,9 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
+ $as_echo "PATH: $as_dir"
done
+IFS=$as_save_IFS
} >&5
@@ -1293,7 +1832,6 @@ _ACEOF
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
-ac_sep=
ac_must_keep_next=false
for ac_pass in 1 2
do
@@ -1304,8 +1842,8 @@ do
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
@@ -1326,9 +1864,7 @@ do
-* ) ac_must_keep_next=true ;;
esac
fi
- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- # Get rid of the leading space.
- ac_sep=" "
+ ac_configure_args="$ac_configure_args '$ac_arg'"
;;
esac
done
@@ -1339,8 +1875,8 @@ $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
# Save into config.log some information that might help in debugging.
{
@@ -1353,20 +1889,35 @@ trap 'exit_status=$?
_ASBOX
echo
# The following way of writing the cache mishandles newlines in values,
-{
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
(set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
*)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
- esac;
-}
+ esac |
+ sort
+)
echo
cat <<\_ASBOX
@@ -1377,22 +1928,28 @@ _ASBOX
echo
for ac_var in $ac_subst_vars
do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
_ASBOX
echo
for ac_var in $ac_subst_files
do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
@@ -1404,26 +1961,24 @@ _ASBOX
## ----------- ##
_ASBOX
echo
- sed "/^$/d" confdefs.h | sort
+ cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
} >&5
- rm -f core *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
- ' 0
+' 0
for ac_signal in 1 2 13 15; do
trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
+rm -f -r conftest* confdefs.h
# Predefined preprocessor variables.
@@ -1453,18 +2008,24 @@ _ACEOF
# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ ac_site_file1=$CONFIG_SITE
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
+ { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file"
fi
@@ -1474,54 +2035,61 @@ if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special
# files actually), so we avoid doing that.
if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
esac
fi
else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+for ac_var in $ac_precious_vars; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
- eval ac_new_val="\$ac_env_${ac_var}_value"
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
@@ -1531,19 +2099,13 @@ echo "$as_me: current value: $ac_new_val" >&2;}
fi
done
if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
{ (exit 1); exit 1; }; }
fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
@@ -1568,36 +2130,47 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
- ac_config_headers="$ac_config_headers config.h"
+ac_config_headers="$ac_config_headers config.h"
ac_aux_dir=
-for ac_dir in . $srcdir/.; do
- if test -f $ac_dir/install-sh; then
+for ac_dir in . "$srcdir"/.; do
+ if test -f "$ac_dir/install-sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
break
- elif test -f $ac_dir/install.sh; then
+ elif test -f "$ac_dir/install.sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
- elif test -f $ac_dir/shtool; then
+ elif test -f "$ac_dir/shtool"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/shtool install -c"
break
fi
done
if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in . $srcdir/." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in . $srcdir/." >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&5
+$as_echo "$as_me: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&2;}
{ (exit 1); exit 1; }; }
fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
am__api_version="1.9"
@@ -1614,11 +2187,12 @@ am__api_version="1.9"
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -1637,7 +2211,7 @@ case $as_dir/ in
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
@@ -1647,30 +2221,43 @@ case $as_dir/ in
# program-specific install script used by HP pwplus--don't use.
:
else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
fi
fi
done
done
;;
esac
+
done
+IFS=$as_save_IFS
+rm -rf conftest.one conftest.two conftest.dir
fi
if test "${ac_cv_path_install+set}" = set; then
INSTALL=$ac_cv_path_install
else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
# break other packages using the cache if that directory is
- # removed, or if the path is relative.
+ # removed, or if the value is a relative name.
INSTALL=$ac_install_sh
fi
fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
+{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
@@ -1681,17 +2268,14 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
test "$program_prefix" != NONE &&
- program_transform_name="s,^,$program_prefix,;$program_transform_name"
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
- program_transform_name="s,\$,$program_suffix,;$program_transform_name"
-# Double any \ or $. echo might interpret backslashes.
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm conftest.sed
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
@@ -1702,8 +2286,8 @@ if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
else
am_missing_run=
- { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
@@ -1743,10 +2327,10 @@ for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
@@ -1757,54 +2341,58 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
- echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6
+ { $as_echo "$as_me:$LINENO: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
test -n "$AWK" && break
done
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
all:
- @echo 'ac_maketemp="$(MAKE)"'
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
rm -f conftest.make
fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
SET_MAKE=
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
@@ -1820,8 +2408,8 @@ rmdir .tst 2>/dev/null
# test to see if srcdir already configured
if test "`cd $srcdir && pwd`" != "`pwd`" &&
test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -1837,7 +2425,7 @@ fi
# Define the identity of the package.
PACKAGE='xf86-video-radeonhd'
- VERSION='1.2.5'
+ VERSION='1.3.0'
cat >>confdefs.h <<_ACEOF
@@ -1875,10 +2463,10 @@ if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
@@ -1889,34 +2477,36 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
@@ -1927,27 +2517,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
- STRIP=$ac_ct_STRIP
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
else
STRIP="$ac_cv_prog_STRIP"
fi
@@ -1968,17 +2572,17 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+{ $as_echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+ # Check whether --enable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
- enableval="$enable_maintainer_mode"
- USE_MAINTAINER_MODE=$enableval
+ enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
else
USE_MAINTAINER_MODE=no
-fi;
- echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
+fi
+
+ { $as_echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
if test $USE_MAINTAINER_MODE = yes; then
@@ -1993,11 +2597,14 @@ fi
+ac_config_files="$ac_config_files shave shave-libtool"
+
+
+
# Program checks.
-# Check whether --enable-static or --disable-static was given.
+# Check whether --enable-static was given.
if test "${enable_static+set}" = set; then
- enableval="$enable_static"
- p=${PACKAGE-default}
+ enableval=$enable_static; p=${PACKAGE-default}
case $enableval in
yes) enable_static=yes ;;
no) enable_static=no ;;
@@ -2016,7 +2623,8 @@ if test "${enable_static+set}" = set; then
esac
else
enable_static=no
-fi;
+fi
+
ac_ext=c
@@ -2027,10 +2635,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2041,34 +2649,36 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -2079,38 +2689,53 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
- CC=$ac_ct_CC
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2121,76 +2746,36 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
+ fi
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2202,17 +2787,18 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
@@ -2230,24 +2816,25 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
- for ac_prog in cl
+ for ac_prog in cl.exe
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2258,38 +2845,40 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
- for ac_prog in cl
+ for ac_prog in cl.exe
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -2300,58 +2889,92 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
test -n "$ac_ct_CC" && break
done
- CC=$ac_ct_CC
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
fi
fi
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
cat >conftest.$ac_ext <<_ACEOF
@@ -2370,111 +2993,146 @@ main ()
}
_ACEOF
ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
- (eval $ac_link_default) 2>&5
+{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link_default") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- # Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
- ;;
- conftest.$ac_ext )
- # This is the source file.
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool,
- # but it would be cool to find out if it's true. Does anybody
- # maintain Libtool? --akim.
- export ac_cv_exeext
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
break;;
* )
break;;
esac
done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
else
- echo "$as_me: failed program was:" >&5
+ ac_file=''
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+if test -z "$ac_file"; then
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
+$as_echo "$as_me: error: C compiler cannot create executables
See \`config.log' for more details." >&2;}
{ (exit 77); exit 77; }; }
fi
ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
-# Check the compiler produces executables we can run. If not, either
+# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
# If not cross compiling, check that we can run a simple program.
if test "$cross_compiling" != yes; then
if { ac_try='./$ac_file'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+ { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
+$as_echo "$as_me: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
fi
fi
fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run. If not, either
+# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
@@ -2483,32 +3141,31 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
break;;
* ) break;;
esac
done
else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+ { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
fi
rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -2526,39 +3183,46 @@ main ()
}
_ACEOF
rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -2579,50 +3243,54 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-GCC=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
- cat >conftest.$ac_ext <<_ACEOF
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2638,38 +3306,121 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_cc_g=no
+
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
@@ -2685,12 +3436,12 @@ else
CFLAGS=
fi
fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- ac_cv_prog_cc_stdc=no
+ ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -2724,12 +3475,17 @@ static char *f (char * (*g) (char **, int), char **p, ...)
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not '\xHH' hex character constants.
These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std1 is added to get
+ as 'x'. The following induces an error, until -std is added to get
proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std1. */
+ that's true only with -std. */
int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
@@ -2744,205 +3500,58 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
return 0;
}
_ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
-else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_c89=$ac_arg
+else
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext
+
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
done
-rm -f conftest.$ac_ext conftest.$ac_objext
+rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
*)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
esac
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2950,7 +3559,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
DEPDIR="${am__leading_dot}deps"
- ac_config_commands="$ac_config_commands depfiles"
+ac_config_commands="$ac_config_commands depfiles"
am_make=${MAKE-make}
@@ -2960,8 +3569,8 @@ am__doit:
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
-echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
am__include="#"
am__quote=
_am_result=none
@@ -2988,15 +3597,15 @@ if test "$am__include" = "#"; then
fi
-echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6
+{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
rm -f confinc confmf
-# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+# Check whether --enable-dependency-tracking was given.
if test "${enable_dependency_tracking+set}" = set; then
- enableval="$enable_dependency_tracking"
+ enableval=$enable_dependency_tracking;
+fi
-fi;
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
@@ -3016,10 +3625,10 @@ fi
depcc="$CC" am_compiler_list=
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
@@ -3106,8 +3715,8 @@ else
fi
fi
-echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
@@ -3124,22 +3733,91 @@ fi
-SED=${SED-sed}
+{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if test "${ac_cv_path_SED+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ $as_unset ac_script || ac_script=
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_SED_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
-echo "$as_me:$LINENO: checking whether $SED can substitute tabs and newlines for text" >&5
-echo $ECHO_N "checking whether $SED can substitute tabs and newlines for text... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether $SED can substitute tabs and newlines for text" >&5
+$as_echo_n "checking whether $SED can substitute tabs and newlines for text... " >&6; }
cat>sed-test.1<<EOF
y
EOF
echo x | sed 's/x/\ty\n/' > sed-test.2
if cmp -s sed-test.1 sed-test.2; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -3155,10 +3833,9 @@ rm -f sed-test.1 sed-test.2
CXX=no
F77=no
-# Check whether --enable-shared or --disable-shared was given.
+# Check whether --enable-shared was given.
if test "${enable_shared+set}" = set; then
- enableval="$enable_shared"
- p=${PACKAGE-default}
+ enableval=$enable_shared; p=${PACKAGE-default}
case $enableval in
yes) enable_shared=yes ;;
no) enable_shared=no ;;
@@ -3177,12 +3854,12 @@ if test "${enable_shared+set}" = set; then
esac
else
enable_shared=yes
-fi;
+fi
+
-# Check whether --enable-fast-install or --disable-fast-install was given.
+# Check whether --enable-fast-install was given.
if test "${enable_fast_install+set}" = set; then
- enableval="$enable_fast_install"
- p=${PACKAGE-default}
+ enableval=$enable_fast_install; p=${PACKAGE-default}
case $enableval in
yes) enable_fast_install=yes ;;
no) enable_fast_install=no ;;
@@ -3201,66 +3878,96 @@ if test "${enable_fast_install+set}" = set; then
esac
else
enable_fast_install=yes
-fi;
+fi
+
# Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
{ (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
- ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
{ (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+$as_echo "$as_me: error: invalid value of canonical build" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:$LINENO: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
- ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
{ (exit 1); exit 1; }; }
+fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+$as_echo "$as_me: error: invalid value of canonical host" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
if test "${lt_cv_path_SED+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# Loop through the user's path and test for sed and gsed.
# Then use that list of sed's as ones to test for truncation.
@@ -3271,7 +3978,7 @@ do
test -z "$as_dir" && as_dir=.
for lt_ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then
lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
fi
done
@@ -3313,37 +4020,156 @@ fi
SED=$lt_cv_path_SED
-echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6
+{ $as_echo "$as_me:$LINENO: result: $SED" >&5
+$as_echo "$SED" >&6; }
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_GREP=$GREP
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+
+# Check whether --with-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
else
with_gnu_ld=no
-fi;
+fi
+
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -3372,14 +4198,14 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
;;
esac
elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
@@ -3409,19 +4235,19 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
@@ -3433,20 +4259,20 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
-echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
if test "${lt_cv_ld_reload_flag+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_ld_reload_flag='-r'
fi
-echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
reload_flag=$lt_cv_ld_reload_flag
case $reload_flag in
"" | " "*) ;;
@@ -3463,10 +4289,10 @@ case $host_os in
;;
esac
-echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+$as_echo_n "checking for BSD-compatible nm... " >&6; }
if test "${lt_cv_path_NM+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$NM"; then
# Let the user override the test.
@@ -3512,25 +4338,25 @@ else
test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
fi
fi
-echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
NM="$lt_cv_path_NM"
-echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
LN_S=$as_ln_s
if test "$LN_S" = "ln -s"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
else
- echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6
+ { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
fi
-echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
-echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
if test "${lt_cv_deplibs_check_method+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
@@ -3713,8 +4539,8 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
esac
fi
-echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -3732,11 +4558,11 @@ LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
compiler=$CC
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+# Check whether --enable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
+ enableval=$enable_libtool_lock;
+fi
-fi;
test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
# Some flags need to be propagated to the compiler or linker for good
@@ -3748,7 +4574,7 @@ ia64-*-hpux*)
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
case `/usr/bin/file conftest.$ac_objext` in
*ELF-32*)
@@ -3763,11 +4589,11 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 3766 "configure"' > conftest.$ac_ext
+ echo '#line 4592 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
if test "$lt_cv_prog_gnu_ld" = yes; then
case `/usr/bin/file conftest.$ac_objext` in
@@ -3805,7 +4631,7 @@ s390*-*linux*|sparc*-*linux*)
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
case `/usr/bin/file conftest.o` in
*32-bit*)
@@ -3855,10 +4681,10 @@ s390*-*linux*|sparc*-*linux*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
- echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
if test "${lt_cv_cc_needs_belf+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -3882,35 +4708,36 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_cv_cc_needs_belf=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-lt_cv_cc_needs_belf=no
+ lt_cv_cc_needs_belf=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -3919,8 +4746,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS="$SAVE_CFLAGS"
@@ -3932,7 +4759,7 @@ sparc*-*solaris*)
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
case `/usr/bin/file conftest.o` in
*64-bit*)
@@ -3961,15 +4788,15 @@ ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
@@ -3996,35 +4823,35 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -4034,34 +4861,34 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -4079,8 +4906,8 @@ fi
else
ac_cv_prog_CPP=$CPP
fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
@@ -4103,35 +4930,35 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -4141,34 +4968,34 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -4177,9 +5004,9 @@ rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
:
else
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+ { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -4191,10 +5018,10 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -4216,35 +5043,32 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_header_stdc=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_header_stdc=no
+ ac_cv_header_stdc=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
@@ -4300,6 +5124,7 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ctype.h>
+#include <stdlib.h>
#if ((' ' & 0x0FF) == 0x020)
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
@@ -4319,36 +5144,50 @@ main ()
for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i))
|| toupper (i) != TOUPPER (i))
- exit(2);
- exit (0);
+ return 2;
+ return 0;
}
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
:
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_header_stdc=no
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
+
+
fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then
cat >>confdefs.h <<\_ACEOF
@@ -4370,11 +5209,11 @@ fi
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h
do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -4387,41 +5226,41 @@ $ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
eval "$as_ac_Header=yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-eval "$as_ac_Header=no"
+ eval "$as_ac_Header=no"
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test `eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'` = yes; then
cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
fi
@@ -4432,19 +5271,21 @@ done
for ac_header in dlfcn.h
do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
else
# Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -4455,41 +5296,38 @@ $ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_header_compiler=no
+ ac_header_compiler=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -4498,101 +5336,106 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
ac_header_preproc=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
+
rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
ac_header_preproc=yes
;;
no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
## ------------------------------------------------------------------------------------------------ ##
## Report this to https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/radeonhd ##
## ------------------------------------------------------------------------------------------------ ##
_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
+ ) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
else
eval "$as_ac_Header=\$ac_header_preproc"
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'` = yes; then
cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
fi
done
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CXX"; then
ac_cv_prog_CXX="$CXX" # Let the user override the test.
@@ -4603,38 +5446,40 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
- echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6
+ { $as_echo "$as_me:$LINENO: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
test -n "$CXX" && break
done
fi
if test -z "$CXX"; then
ac_ct_CXX=$CXX
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CXX"; then
ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
@@ -4645,57 +5490,91 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
- echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
test -n "$ac_ct_CXX" && break
done
-test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
- CXX=$ac_ct_CXX
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
fi
-
+ fi
+fi
# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
+$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -4716,50 +5595,54 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
-GXX=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
if test "${ac_cv_prog_cxx_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
- cat >conftest.$ac_ext <<_ACEOF
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -4775,160 +5658,137 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_cxx_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
-if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
- if test "$GXX" = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-g"
- fi
-else
- if test "$GXX" = yes; then
- CXXFLAGS="-O2"
- else
- CXXFLAGS=
- fi
-fi
-for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
+ CXXFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
+
int
main ()
{
-exit (42);
+
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-$ac_declaration
+
int
main ()
{
-exit (42);
+
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-ac_ext=cc
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -4936,10 +5796,10 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
depcc="$CXX" am_compiler_list=
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
@@ -5026,8 +5886,8 @@ else
fi
fi
-echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
@@ -5048,16 +5908,16 @@ fi
if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
(test "X$CXX" != "Xg++"))) ; then
- ac_ext=cc
+ ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
if test -z "$CXXCPP"; then
if test "${ac_cv_prog_CXXCPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# Double quotes because CXXCPP needs to be expanded
for CXXCPP in "$CXX -E" "/lib/cpp"
@@ -5084,35 +5944,35 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5122,34 +5982,34 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -5167,8 +6027,8 @@ fi
else
ac_cv_prog_CXXCPP=$CXXCPP
fi
-echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6
+{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
@@ -5191,35 +6051,35 @@ cat >>conftest.$ac_ext <<_ACEOF
#endif
Syntax error
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
+
rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether non-existent headers
+ # OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5229,34 +6089,34 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
ac_preproc_ok=:
break
fi
+
rm -f conftest.err conftest.$ac_ext
done
@@ -5265,14 +6125,14 @@ rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
:
else
- { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+ { { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
See \`config.log' for more details." >&5
-echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+$as_echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
fi
-ac_ext=cc
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -5286,14 +6146,14 @@ ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_f77_compiler_gnu
if test -n "$ac_tool_prefix"; then
- for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+ for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$F77"; then
ac_cv_prog_F77="$F77" # Let the user override the test.
@@ -5304,38 +6164,40 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
F77=$ac_cv_prog_F77
if test -n "$F77"; then
- echo "$as_me:$LINENO: result: $F77" >&5
-echo "${ECHO_T}$F77" >&6
+ { $as_echo "$as_me:$LINENO: result: $F77" >&5
+$as_echo "$F77" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
test -n "$F77" && break
done
fi
if test -z "$F77"; then
ac_ct_F77=$F77
- for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+ for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_F77"; then
ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
@@ -5346,50 +6208,84 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_F77="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
ac_ct_F77=$ac_cv_prog_ac_ct_F77
if test -n "$ac_ct_F77"; then
- echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
-echo "${ECHO_T}$ac_ct_F77" >&6
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
+$as_echo "$ac_ct_F77" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
test -n "$ac_ct_F77" && break
done
- F77=$ac_ct_F77
+ if test "x$ac_ct_F77" = x; then
+ F77=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ F77=$ac_ct_F77
+ fi
fi
# Provide some information about the compiler.
-echo "$as_me:5376:" \
- "checking for Fortran 77 compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
+$as_echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
rm -f a.out
@@ -5397,10 +6293,10 @@ rm -f a.out
# input file. (Note that this only needs to work for GNU compilers.)
ac_save_ext=$ac_ext
ac_ext=F
-echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
+$as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; }
if test "${ac_cv_f77_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
program main
@@ -5411,48 +6307,45 @@ else
end
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_f77_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
+$as_echo "$ac_cv_f77_compiler_gnu" >&6; }
ac_ext=$ac_save_ext
ac_test_FFLAGS=${FFLAGS+set}
ac_save_FFLAGS=$FFLAGS
FFLAGS=
-echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
+$as_echo_n "checking whether $F77 accepts -g... " >&6; }
if test "${ac_cv_prog_f77_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
FFLAGS=-g
cat >conftest.$ac_ext <<_ACEOF
@@ -5461,39 +6354,36 @@ cat >conftest.$ac_ext <<_ACEOF
end
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_prog_f77_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_prog_f77_g=no
+ ac_cv_prog_f77_g=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
+$as_echo "$ac_cv_prog_f77_g" >&6; }
if test "$ac_test_FFLAGS" = set; then
FFLAGS=$ac_save_FFLAGS
elif test $ac_cv_prog_f77_g = yes; then
@@ -5510,7 +6400,11 @@ else
fi
fi
-G77=`test $ac_compiler_gnu = yes && echo yes`
+if test $ac_compiler_gnu = yes; then
+ G77=yes
+else
+ G77=
+fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -5521,10 +6415,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
# find the maximum length of command line arguments
-echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
if test "${lt_cv_sys_max_cmd_len+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
i=0
teststring="ABCD"
@@ -5633,11 +6527,11 @@ else
fi
if test -n $lt_cv_sys_max_cmd_len ; then
- echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
+ { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
else
- echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
+ { $as_echo "$as_me:$LINENO: result: none" >&5
+$as_echo "none" >&6; }
fi
@@ -5645,10 +6539,10 @@ fi
# Check for command to grab the raw symbol name followed by C symbol from nm.
-echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# These are sane defaults that work on at least a few old systems.
@@ -5753,14 +6647,14 @@ EOF
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# Now try to grab the symbols.
nlist=conftest.nm
if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
(eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
@@ -5815,7 +6709,7 @@ EOF
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -5850,17 +6744,17 @@ if test -z "$lt_cv_sys_global_symbol_pipe"; then
lt_cv_sys_global_symbol_to_cdecl=
fi
if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
+ { $as_echo "$as_me:$LINENO: result: failed" >&5
+$as_echo "failed" >&6; }
else
- echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
+ { $as_echo "$as_me:$LINENO: result: ok" >&5
+$as_echo "ok" >&6; }
fi
-echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
if test "${lt_cv_objdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
@@ -5872,8 +6766,8 @@ else
fi
rmdir .libs 2>/dev/null
fi
-echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
objdir=$lt_cv_objdir
@@ -5924,10 +6818,10 @@ with_gnu_ld="$lt_cv_prog_gnu_ld"
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$AR"; then
ac_cv_prog_AR="$AR" # Let the user override the test.
@@ -5938,34 +6832,36 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AR="${ac_tool_prefix}ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
AR=$ac_cv_prog_AR
if test -n "$AR"; then
- echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
+ { $as_echo "$as_me:$LINENO: result: $AR" >&5
+$as_echo "$AR" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_AR"; then
ac_ct_AR=$AR
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_AR"; then
ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
@@ -5976,27 +6872,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_AR="ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false"
fi
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
- echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
- AR=$ac_ct_AR
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
else
AR="$ac_cv_prog_AR"
fi
@@ -6004,10 +6914,10 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
@@ -6018,34 +6928,36 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
RANLIB=$ac_cv_prog_RANLIB
if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
+ { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_RANLIB"; then
ac_ct_RANLIB=$RANLIB
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_RANLIB"; then
ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
@@ -6056,27 +6968,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
fi
fi
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
- RANLIB=$ac_ct_RANLIB
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
else
RANLIB="$ac_cv_prog_RANLIB"
fi
@@ -6084,10 +7010,10 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
@@ -6098,34 +7024,36 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
@@ -6136,27 +7064,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
- STRIP=$ac_ct_STRIP
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
else
STRIP="$ac_cv_prog_STRIP"
fi
@@ -6215,10 +7157,10 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
@@ -6268,19 +7210,19 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
- echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
@@ -6330,11 +7272,11 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
else
@@ -6352,10 +7294,10 @@ esac
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$DSYMUTIL"; then
ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
@@ -6366,34 +7308,36 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
DSYMUTIL=$ac_cv_prog_DSYMUTIL
if test -n "$DSYMUTIL"; then
- echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
-echo "${ECHO_T}$DSYMUTIL" >&6
+ { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_DSYMUTIL"; then
ac_ct_DSYMUTIL=$DSYMUTIL
# Extract the first word of "dsymutil", so it can be a program name with args.
set dummy dsymutil; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_DSYMUTIL"; then
ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
@@ -6404,27 +7348,41 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_DSYMUTIL" && ac_cv_prog_ac_ct_DSYMUTIL=":"
fi
fi
ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
if test -n "$ac_ct_DSYMUTIL"; then
- echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
-echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
- DSYMUTIL=$ac_ct_DSYMUTIL
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
else
DSYMUTIL="$ac_cv_prog_DSYMUTIL"
fi
@@ -6432,10 +7390,10 @@ fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_NMEDIT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$NMEDIT"; then
ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
@@ -6446,34 +7404,36 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
fi
fi
NMEDIT=$ac_cv_prog_NMEDIT
if test -n "$NMEDIT"; then
- echo "$as_me:$LINENO: result: $NMEDIT" >&5
-echo "${ECHO_T}$NMEDIT" >&6
+ { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
fi
if test -z "$ac_cv_prog_NMEDIT"; then
ac_ct_NMEDIT=$NMEDIT
# Extract the first word of "nmedit", so it can be a program name with args.
set dummy nmedit; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_NMEDIT"; then
ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
@@ -6484,36 +7444,50 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_NMEDIT="nmedit"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
- test -z "$ac_cv_prog_ac_ct_NMEDIT" && ac_cv_prog_ac_ct_NMEDIT=":"
fi
fi
ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
if test -n "$ac_ct_NMEDIT"; then
- echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
-echo "${ECHO_T}$ac_ct_NMEDIT" >&6
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
- NMEDIT=$ac_ct_NMEDIT
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ NMEDIT=$ac_ct_NMEDIT
+ fi
else
NMEDIT="$ac_cv_prog_NMEDIT"
fi
- echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
-echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
if test "${lt_cv_apple_cc_single_mod+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_apple_cc_single_mod=no
if test -z "${LT_MULTI_MODULE}"; then
@@ -6531,12 +7505,12 @@ else
rm conftest.c
fi
fi
-echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
-echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6
- echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
-echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_ld_exported_symbols_list=no
save_LDFLAGS=$LDFLAGS
@@ -6558,41 +7532,42 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_cv_ld_exported_symbols_list=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-lt_cv_ld_exported_symbols_list=no
+ lt_cv_ld_exported_symbols_list=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LDFLAGS="$save_LDFLAGS"
fi
-echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
-echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
case $host_os in
rhapsody* | darwin1.[0123])
_lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
@@ -6632,21 +7607,21 @@ echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6
enable_dlopen=no
enable_win32_dll=no
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+# Check whether --enable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
+ enableval=$enable_libtool_lock;
+fi
-fi;
test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-# Check whether --with-pic or --without-pic was given.
+# Check whether --with-pic was given.
if test "${with_pic+set}" = set; then
- withval="$with_pic"
- pic_mode="$withval"
+ withval=$with_pic; pic_mode="$withval"
else
pic_mode=default
-fi;
+fi
+
test -z "$pic_mode" && pic_mode=default
# Use C for the default configuration in the libtool script
@@ -6704,10 +7679,10 @@ if test "$GCC" = yes; then
lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
@@ -6722,11 +7697,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:6725: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7700: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:6729: \$? = $ac_status" >&5
+ echo "$as_me:7704: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -6739,8 +7714,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
@@ -6754,8 +7729,8 @@ lt_prog_compiler_wl=
lt_prog_compiler_pic=
lt_prog_compiler_static=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
@@ -6986,18 +7961,18 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+$as_echo "$lt_prog_compiler_pic" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_pic_works=no
ac_outfile=conftest.$ac_objext
@@ -7012,11 +7987,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7015: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7990: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7019: \$? = $ac_status" >&5
+ echo "$as_me:7994: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7029,8 +8004,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
case $lt_prog_compiler_pic in
@@ -7057,10 +8032,10 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
if test "${lt_cv_prog_compiler_static_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_static_works=no
save_LDFLAGS="$LDFLAGS"
@@ -7085,8 +8060,8 @@ else
LDFLAGS="$save_LDFLAGS"
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
if test x"$lt_cv_prog_compiler_static_works" = xyes; then
:
@@ -7095,10 +8070,10 @@ else
fi
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o=no
$rm -r conftest 2>/dev/null
@@ -7116,11 +8091,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7119: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8094: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7123: \$? = $ac_status" >&5
+ echo "$as_me:8098: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -7142,34 +8117,34 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
runpath_var=
allow_undefined_flag=
@@ -7594,27 +8569,26 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -7629,11 +8603,14 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -7662,27 +8639,26 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -7697,11 +8673,14 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -8152,8 +9131,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
test "$ld_shlibs" = no && can_build_shared=no
#
@@ -8173,15 +9152,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
$rm conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -8199,7 +9178,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
(eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc=no
@@ -8211,16 +9190,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+$as_echo "$archive_cmds_need_lc" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -8821,19 +9800,19 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
fi
sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
fi
@@ -8845,8 +9824,8 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action=
if test -n "$hardcode_libdir_flag_spec" || \
test -n "$runpath_var" || \
@@ -8870,8 +9849,8 @@ else
# directories.
hardcode_action=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
if test "$hardcode_action" = relink; then
# Fast installation is not supported
@@ -8884,13 +9863,13 @@ fi
striplib=
old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
else
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
@@ -8898,16 +9877,16 @@ else
if test -n "$STRIP" ; then
striplib="$STRIP -x"
old_striplib="$STRIP -S"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
;;
*)
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
;;
esac
fi
@@ -8939,10 +9918,10 @@ else
darwin*)
# if libdl is installed we need to link against it
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
@@ -8953,56 +9932,57 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
int
main ()
{
-dlopen ();
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dl_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dl_dlopen=no
+ ac_cv_lib_dl_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
if test $ac_cv_lib_dl_dlopen = yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
@@ -9016,10 +9996,10 @@ fi
;;
*)
- echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
+$as_echo_n "checking for shl_load... " >&6; }
if test "${ac_cv_func_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -9044,75 +10024,70 @@ cat >>conftest.$ac_ext <<_ACEOF
#undef shl_load
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
-{
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char shl_load ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
+#if defined __stub_shl_load || defined __stub___shl_load
choke me
-#else
-char (*f) () = shl_load;
-#endif
-#ifdef __cplusplus
-}
#endif
int
main ()
{
-return f != shl_load;
+return shl_load ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_func_shl_load=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_func_shl_load=no
+ ac_cv_func_shl_load=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+$as_echo "$ac_cv_func_shl_load" >&6; }
if test $ac_cv_func_shl_load = yes; then
lt_cv_dlopen="shl_load"
else
- echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
@@ -9123,63 +10098,64 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char shl_load ();
int
main ()
{
-shl_load ();
+return shl_load ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dld_shl_load=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dld_shl_load=no
+ ac_cv_lib_dld_shl_load=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
if test $ac_cv_lib_dld_shl_load = yes; then
lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
else
- echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
+$as_echo_n "checking for dlopen... " >&6; }
if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -9204,75 +10180,70 @@ cat >>conftest.$ac_ext <<_ACEOF
#undef dlopen
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
-{
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
+#if defined __stub_dlopen || defined __stub___dlopen
choke me
-#else
-char (*f) () = dlopen;
-#endif
-#ifdef __cplusplus
-}
#endif
int
main ()
{
-return f != dlopen;
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_func_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_func_dlopen=no
+ ac_cv_func_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+$as_echo "$ac_cv_func_dlopen" >&6; }
if test $ac_cv_func_dlopen = yes; then
lt_cv_dlopen="dlopen"
else
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
@@ -9283,63 +10254,64 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
int
main ()
{
-dlopen ();
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dl_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dl_dlopen=no
+ ac_cv_lib_dl_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
if test $ac_cv_lib_dl_dlopen = yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
- echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lsvld $LIBS"
@@ -9350,63 +10322,64 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dlopen ();
int
main ()
{
-dlopen ();
+return dlopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_svld_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_svld_dlopen=no
+ ac_cv_lib_svld_dlopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
if test $ac_cv_lib_svld_dlopen = yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
else
- echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
@@ -9417,56 +10390,57 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char dld_link ();
int
main ()
{
-dld_link ();
+return dld_link ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dld_dld_link=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_dld_dld_link=no
+ ac_cv_lib_dld_dld_link=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
if test $ac_cv_lib_dld_dld_link = yes; then
lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
fi
@@ -9506,10 +10480,10 @@ fi
save_LIBS="$LIBS"
LIBS="$lt_cv_dlopen_libs $LIBS"
- echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
lt_cv_dlopen_self=cross
@@ -9517,7 +10491,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9520 "configure"
+#line 10494 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -9583,7 +10557,7 @@ EOF
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
@@ -9601,15 +10575,15 @@ rm -fr conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
if test "x$lt_cv_dlopen_self" = xyes; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
lt_cv_dlopen_self_static=cross
@@ -9617,7 +10591,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 9620 "configure"
+#line 10594 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -9683,7 +10657,7 @@ EOF
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
@@ -9701,8 +10675,8 @@ rm -fr conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
fi
CPPFLAGS="$save_CPPFLAGS"
@@ -9724,13 +10698,13 @@ fi
# Report which library types will actually be built
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
+{ $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
@@ -9750,15 +10724,15 @@ aix[4-9]*)
fi
;;
esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
+{ $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
# Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
+{ $as_echo "$as_me:$LINENO: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
# The else clause should only fire when bootstrapping the
# libtool distribution, otherwise you forgot to ship ltmain.sh
@@ -9851,8 +10825,8 @@ if test -f "$ltmain"; then
cfgfile="${ofile}T"
trap "$rm \"$cfgfile\"; exit 1" 1 2 15
$rm -f "$cfgfile"
- { echo "$as_me:$LINENO: creating $ofile" >&5
-echo "$as_me: creating $ofile" >&6;}
+ { $as_echo "$as_me:$LINENO: creating $ofile" >&5
+$as_echo "$as_me: creating $ofile" >&6;}
cat <<__EOF__ >> "$cfgfile"
#! $SHELL
@@ -10256,26 +11230,26 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
CC="$lt_save_CC"
-# Check whether --with-tags or --without-tags was given.
+# Check whether --with-tags was given.
if test "${with_tags+set}" = set; then
- withval="$with_tags"
- tagnames="$withval"
-fi;
+ withval=$with_tags; tagnames="$withval"
+fi
+
if test -f "$ltmain" && test -n "$tagnames"; then
if test ! -f "${ofile}"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
+$as_echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
fi
if test -z "$LTCC"; then
eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
if test -z "$LTCC"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
+$as_echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
else
- { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
-echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
+$as_echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
fi
fi
if test -z "$LTCFLAGS"; then
@@ -10292,16 +11266,16 @@ echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
# Check whether tagname contains only valid characters
case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
"") ;;
- *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
-echo "$as_me: error: invalid tag name: $tagname" >&2;}
+ *) { { $as_echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
+$as_echo "$as_me: error: invalid tag name: $tagname" >&2;}
{ (exit 1); exit 1; }; }
;;
esac
if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
then
- { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
-echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
+$as_echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -10314,7 +11288,7 @@ echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
(test "X$CXX" != "Xg++"))) ; then
- ac_ext=cc
+ ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -10434,18 +11408,18 @@ if test "$GXX" = yes; then
# Set up default GNU C++ configuration
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
+# Check whether --with-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
else
with_gnu_ld=no
-fi;
+fi
+
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -10474,14 +11448,14 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
;;
esac
elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
@@ -10511,19 +11485,19 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
@@ -10535,8 +11509,8 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
@@ -10586,8 +11560,8 @@ else
fi
# PORTME: fill in a description of your system's C++ link characteristics
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
ld_shlibs_CXX=yes
case $host_os in
aix3*)
@@ -10699,27 +11673,26 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -10734,11 +11707,14 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -10768,27 +11744,26 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -10803,11 +11778,14 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -11536,8 +12514,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
ld_shlibs_CXX=no
;;
esac
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
GCC_CXX="$GXX"
@@ -11556,7 +12534,7 @@ EOF
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# Parse the compiler output and extract the necessary
# objects, libraries and library flags.
@@ -11712,8 +12690,8 @@ lt_prog_compiler_wl_CXX=
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
# C++ specific cases for pic, static, wl, etc.
if test "$GXX" = yes; then
@@ -11996,18 +12974,18 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_CXX"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_pic_works_CXX=no
ac_outfile=conftest.$ac_objext
@@ -12022,11 +13000,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12025: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13003: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12029: \$? = $ac_status" >&5
+ echo "$as_me:13007: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -12039,8 +13017,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_CXX" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
case $lt_prog_compiler_pic_CXX in
@@ -12067,10 +13045,10 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_static_works_CXX=no
save_LDFLAGS="$LDFLAGS"
@@ -12095,8 +13073,8 @@ else
LDFLAGS="$save_LDFLAGS"
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works_CXX" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
:
@@ -12105,10 +13083,10 @@ else
fi
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o_CXX=no
$rm -r conftest 2>/dev/null
@@ -12126,11 +13104,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12129: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13107: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12133: \$? = $ac_status" >&5
+ echo "$as_me:13111: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -12152,34 +13130,34 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
case $host_os in
@@ -12204,8 +13182,8 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
esac
exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
#
@@ -12225,15 +13203,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
$rm conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -12251,7 +13229,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
(eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc_CXX=no
@@ -12263,16 +13241,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+$as_echo "$archive_cmds_need_lc_CXX" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -12821,19 +13799,19 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
fi
sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
fi
@@ -12845,8 +13823,8 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action_CXX=
if test -n "$hardcode_libdir_flag_spec_CXX" || \
test -n "$runpath_var_CXX" || \
@@ -12870,8 +13848,8 @@ else
# directories.
hardcode_action_CXX=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+$as_echo "$hardcode_action_CXX" >&6; }
if test "$hardcode_action_CXX" = relink; then
# Fast installation is not supported
@@ -13409,13 +14387,13 @@ done
cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
+{ $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
@@ -13434,15 +14412,15 @@ aix[4-9]*)
fi
;;
esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
+{ $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
# Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
+{ $as_echo "$as_me:$LINENO: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
GCC_F77="$G77"
LD_F77="$LD"
@@ -13451,8 +14429,8 @@ lt_prog_compiler_wl_F77=
lt_prog_compiler_pic_F77=
lt_prog_compiler_static_F77=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl_F77='-Wl,'
@@ -13683,18 +14661,18 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
+$as_echo "$lt_prog_compiler_pic_F77" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_F77"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; }
if test "${lt_cv_prog_compiler_pic_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_pic_works_F77=no
ac_outfile=conftest.$ac_objext
@@ -13709,11 +14687,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13712: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14690: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:13716: \$? = $ac_status" >&5
+ echo "$as_me:14694: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -13726,8 +14704,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_F77" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_F77" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_F77" >&6; }
if test x"$lt_cv_prog_compiler_pic_works_F77" = xyes; then
case $lt_prog_compiler_pic_F77 in
@@ -13754,10 +14732,10 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
if test "${lt_cv_prog_compiler_static_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_static_works_F77=no
save_LDFLAGS="$LDFLAGS"
@@ -13782,8 +14760,8 @@ else
LDFLAGS="$save_LDFLAGS"
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works_F77" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_F77" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_F77" >&6; }
if test x"$lt_cv_prog_compiler_static_works_F77" = xyes; then
:
@@ -13792,10 +14770,10 @@ else
fi
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o_F77=no
$rm -r conftest 2>/dev/null
@@ -13813,11 +14791,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13816: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14794: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:13820: \$? = $ac_status" >&5
+ echo "$as_me:14798: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -13839,34 +14817,34 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
runpath_var=
allow_undefined_flag_F77=
@@ -14281,27 +15259,26 @@ _LT_EOF
end
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -14316,11 +15293,14 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -14339,27 +15319,26 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
end
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_f77_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -14374,11 +15353,14 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -14829,8 +15811,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
+$as_echo "$ld_shlibs_F77" >&6; }
test "$ld_shlibs_F77" = no && can_build_shared=no
#
@@ -14850,15 +15832,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
$rm conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -14876,7 +15858,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
(eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc_F77=no
@@ -14888,16 +15870,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
+$as_echo "$archive_cmds_need_lc_F77" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -15446,19 +16428,19 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
fi
sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
fi
@@ -15470,8 +16452,8 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action_F77=
if test -n "$hardcode_libdir_flag_spec_F77" || \
test -n "$runpath_var_F77" || \
@@ -15495,8 +16477,8 @@ else
# directories.
hardcode_action_F77=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
+$as_echo "$hardcode_action_F77" >&6; }
if test "$hardcode_action_F77" = relink; then
# Fast installation is not supported
@@ -15939,7 +16921,6 @@ CC="$lt_save_CC"
if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-
# Source file extension for Java test sources.
ac_ext=java
@@ -16007,10 +16988,10 @@ if test "$GCC" = yes; then
lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
@@ -16025,11 +17006,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16028: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17009: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16032: \$? = $ac_status" >&5
+ echo "$as_me:17013: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16042,8 +17023,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
@@ -16057,8 +17038,8 @@ lt_prog_compiler_wl_GCJ=
lt_prog_compiler_pic_GCJ=
lt_prog_compiler_static_GCJ=
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl_GCJ='-Wl,'
@@ -16289,18 +17270,18 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
esac
fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
+$as_echo "$lt_prog_compiler_pic_GCJ" >&6; }
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_GCJ"; then
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; }
if test "${lt_cv_prog_compiler_pic_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_pic_works_GCJ=no
ac_outfile=conftest.$ac_objext
@@ -16315,11 +17296,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16318: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17299: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16322: \$? = $ac_status" >&5
+ echo "$as_me:17303: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16332,8 +17313,8 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_GCJ" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_GCJ" >&6; }
if test x"$lt_cv_prog_compiler_pic_works_GCJ" = xyes; then
case $lt_prog_compiler_pic_GCJ in
@@ -16360,10 +17341,10 @@ esac
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
if test "${lt_cv_prog_compiler_static_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_static_works_GCJ=no
save_LDFLAGS="$LDFLAGS"
@@ -16388,8 +17369,8 @@ else
LDFLAGS="$save_LDFLAGS"
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works_GCJ" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_GCJ" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_GCJ" >&6; }
if test x"$lt_cv_prog_compiler_static_works_GCJ" = xyes; then
:
@@ -16398,10 +17379,10 @@ else
fi
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o_GCJ=no
$rm -r conftest 2>/dev/null
@@ -16419,11 +17400,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16422: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17403: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:16426: \$? = $ac_status" >&5
+ echo "$as_me:17407: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -16445,34 +17426,34 @@ else
$rm conftest*
fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
runpath_var=
allow_undefined_flag_GCJ=
@@ -16897,27 +17878,26 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -16932,11 +17912,14 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -16965,27 +17948,26 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -17000,11 +17982,14 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -17455,8 +18440,8 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
esac
fi
-echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
+$as_echo "$ld_shlibs_GCJ" >&6; }
test "$ld_shlibs_GCJ" = no && can_build_shared=no
#
@@ -17476,15 +18461,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
$rm conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -17502,7 +18487,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
(eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc_GCJ=no
@@ -17514,16 +18499,16 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
cat conftest.err 1>&5
fi
$rm conftest*
- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
+$as_echo "$archive_cmds_need_lc_GCJ" >&6; }
;;
esac
fi
;;
esac
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -18072,19 +19057,19 @@ uts4*)
dynamic_linker=no
;;
esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
fi
sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
fi
@@ -18096,8 +19081,8 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action_GCJ=
if test -n "$hardcode_libdir_flag_spec_GCJ" || \
test -n "$runpath_var_GCJ" || \
@@ -18121,8 +19106,8 @@ else
# directories.
hardcode_action_GCJ=unsupported
fi
-echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+$as_echo "$hardcode_action_GCJ" >&6; }
if test "$hardcode_action_GCJ" = relink; then
# Fast installation is not supported
@@ -18564,7 +19549,6 @@ CC="$lt_save_CC"
RC)
-
# Source file extension for RC test sources.
ac_ext=rc
@@ -19046,8 +20030,8 @@ CC="$lt_save_CC"
;;
*)
- { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
-echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
+$as_echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
{ (exit 1); exit 1; }; }
;;
esac
@@ -19066,8 +20050,8 @@ echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
chmod +x "$ofile"
else
rm -f "${ofile}T"
- { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
-echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
+ { { $as_echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
+$as_echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
{ (exit 1); exit 1; }; }
fi
fi
@@ -19113,29 +20097,29 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-# Check whether --with-xorg-module-dir or --without-xorg-module-dir was given.
+# Check whether --with-xorg-module-dir was given.
if test "${with_xorg_module_dir+set}" = set; then
- withval="$with_xorg_module_dir"
- moduledir="$withval"
+ withval=$with_xorg_module_dir; moduledir="$withval"
else
moduledir="$libdir/xorg/modules"
-fi;
+fi
+
-# Check whether --enable-exa or --disable-exa was given.
+# Check whether --enable-exa was given.
if test "${enable_exa+set}" = set; then
- enableval="$enable_exa"
- EXA="$enableval"
+ enableval=$enable_exa; EXA="$enableval"
else
EXA=yes
-fi;
+fi
+
-# Check whether --enable-dri or --disable-dri was given.
+# Check whether --enable-dri was given.
if test "${enable_dri+set}" = set; then
- enableval="$enable_dri"
- DRI="$enableval"
+ enableval=$enable_dri; DRI="$enableval"
else
DRI=yes
-fi;
+fi
+
# Extensions checks.
@@ -19162,40 +20146,37 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
_EXT_CHECK=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-_EXT_CHECK=no
+ _EXT_CHECK=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$SAVE_CFLAGS"
- echo "$as_me:$LINENO: checking if RANDR is defined" >&5
-echo $ECHO_N "checking if RANDR is defined... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $_EXT_CHECK" >&5
-echo "${ECHO_T}$_EXT_CHECK" >&6
+ { $as_echo "$as_me:$LINENO: checking if RANDR is defined" >&5
+$as_echo_n "checking if RANDR is defined... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: $_EXT_CHECK" >&5
+$as_echo "$_EXT_CHECK" >&6; }
if test "$_EXT_CHECK" != no; then
REQUIRED_MODULES="$REQUIRED_MODULES randrproto"
fi
@@ -19224,40 +20205,37 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
_EXT_CHECK=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-_EXT_CHECK=no
+ _EXT_CHECK=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$SAVE_CFLAGS"
- echo "$as_me:$LINENO: checking if RENDER is defined" >&5
-echo $ECHO_N "checking if RENDER is defined... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $_EXT_CHECK" >&5
-echo "${ECHO_T}$_EXT_CHECK" >&6
+ { $as_echo "$as_me:$LINENO: checking if RENDER is defined" >&5
+$as_echo_n "checking if RENDER is defined... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: $_EXT_CHECK" >&5
+$as_echo "$_EXT_CHECK" >&6; }
if test "$_EXT_CHECK" != no; then
REQUIRED_MODULES="$REQUIRED_MODULES renderproto"
fi
@@ -19286,40 +20264,37 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
_EXT_CHECK=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-_EXT_CHECK=no
+ _EXT_CHECK=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$SAVE_CFLAGS"
- echo "$as_me:$LINENO: checking if XV is defined" >&5
-echo $ECHO_N "checking if XV is defined... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $_EXT_CHECK" >&5
-echo "${ECHO_T}$_EXT_CHECK" >&6
+ { $as_echo "$as_me:$LINENO: checking if XV is defined" >&5
+$as_echo_n "checking if XV is defined... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: $_EXT_CHECK" >&5
+$as_echo "$_EXT_CHECK" >&6; }
if test "$_EXT_CHECK" != no; then
REQUIRED_MODULES="$REQUIRED_MODULES videoproto"
fi
@@ -19348,40 +20323,37 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
_EXT_CHECK=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-_EXT_CHECK=no
+ _EXT_CHECK=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$SAVE_CFLAGS"
- echo "$as_me:$LINENO: checking if DPMSExtension is defined" >&5
-echo $ECHO_N "checking if DPMSExtension is defined... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $_EXT_CHECK" >&5
-echo "${ECHO_T}$_EXT_CHECK" >&6
+ { $as_echo "$as_me:$LINENO: checking if DPMSExtension is defined" >&5
+$as_echo_n "checking if DPMSExtension is defined... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: $_EXT_CHECK" >&5
+$as_echo "$_EXT_CHECK" >&6; }
if test "$_EXT_CHECK" != no; then
REQUIRED_MODULES="$REQUIRED_MODULES xextproto"
fi
@@ -19397,10 +20369,10 @@ if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $PKG_CONFIG in
[\\/]* | ?:[\\/]*)
@@ -19413,36 +20385,37 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
;;
esac
fi
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-
if test -n "$PKG_CONFIG"; then
- echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
-echo "${ECHO_T}$PKG_CONFIG" >&6
+ { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
fi
if test -z "$ac_cv_path_PKG_CONFIG"; then
ac_pt_PKG_CONFIG=$PKG_CONFIG
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $ac_pt_PKG_CONFIG in
[\\/]* | ?:[\\/]*)
@@ -19455,28 +20428,42 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+IFS=$as_save_IFS
;;
esac
fi
ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-
if test -n "$ac_pt_PKG_CONFIG"; then
- echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
-echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6
+ { $as_echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
- PKG_CONFIG=$ac_pt_PKG_CONFIG
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
else
PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
fi
@@ -19484,32 +20471,32 @@ fi
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=0.9.0
- echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
-echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
PKG_CONFIG=""
fi
fi
pkg_failed=no
-echo "$as_me:$LINENO: checking for XORG" >&5
-echo $ECHO_N "checking for XORG... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for XORG" >&5
+$as_echo_n "checking for XORG... " >&6; }
if test -n "$PKG_CONFIG"; then
if test -n "$XORG_CFLAGS"; then
pkg_cv_XORG_CFLAGS="$XORG_CFLAGS"
else
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xorg-server xproto fontsproto \$REQUIRED_MODULES\"") >&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xorg-server xproto fontsproto \$REQUIRED_MODULES\"") >&5
($PKG_CONFIG --exists --print-errors "xorg-server xproto fontsproto $REQUIRED_MODULES") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
pkg_cv_XORG_CFLAGS=`$PKG_CONFIG --cflags "xorg-server xproto fontsproto $REQUIRED_MODULES" 2>/dev/null`
else
@@ -19524,10 +20511,10 @@ if test -n "$PKG_CONFIG"; then
pkg_cv_XORG_LIBS="$XORG_LIBS"
else
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xorg-server xproto fontsproto \$REQUIRED_MODULES\"") >&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xorg-server xproto fontsproto \$REQUIRED_MODULES\"") >&5
($PKG_CONFIG --exists --print-errors "xorg-server xproto fontsproto $REQUIRED_MODULES") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
pkg_cv_XORG_LIBS=`$PKG_CONFIG --libs "xorg-server xproto fontsproto $REQUIRED_MODULES" 2>/dev/null`
else
@@ -19555,7 +20542,7 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$XORG_PKG_ERRORS" >&5
- { { echo "$as_me:$LINENO: error: Package requirements (xorg-server xproto fontsproto $REQUIRED_MODULES) were not met:
+ { { $as_echo "$as_me:$LINENO: error: Package requirements (xorg-server xproto fontsproto $REQUIRED_MODULES) were not met:
$XORG_PKG_ERRORS
@@ -19566,7 +20553,7 @@ Alternatively, you may set the environment variables XORG_CFLAGS
and XORG_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
" >&5
-echo "$as_me: error: Package requirements (xorg-server xproto fontsproto $REQUIRED_MODULES) were not met:
+$as_echo "$as_me: error: Package requirements (xorg-server xproto fontsproto $REQUIRED_MODULES) were not met:
$XORG_PKG_ERRORS
@@ -19579,7 +20566,7 @@ See the pkg-config man page for more details.
" >&2;}
{ (exit 1); exit 1; }; }
elif test $pkg_failed = untried; then
- { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+ { { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
@@ -19589,7 +20576,7 @@ See the pkg-config man page for more details.
To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
See \`config.log' for more details." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+$as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
@@ -19603,18 +20590,103 @@ See \`config.log' for more details." >&2;}
else
XORG_CFLAGS=$pkg_cv_XORG_CFLAGS
XORG_LIBS=$pkg_cv_XORG_LIBS
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
:
fi
+
+pkg_failed=no
+{ $as_echo "$as_me:$LINENO: checking for XEXT" >&5
+$as_echo_n "checking for XEXT... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$XEXT_CFLAGS"; then
+ pkg_cv_XEXT_CFLAGS="$XEXT_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xextproto >= 7.0.99.1\"") >&5
+ ($PKG_CONFIG --exists --print-errors "xextproto >= 7.0.99.1") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_XEXT_CFLAGS=`$PKG_CONFIG --cflags "xextproto >= 7.0.99.1" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$XEXT_LIBS"; then
+ pkg_cv_XEXT_LIBS="$XEXT_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xextproto >= 7.0.99.1\"") >&5
+ ($PKG_CONFIG --exists --print-errors "xextproto >= 7.0.99.1") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_XEXT_LIBS=`$PKG_CONFIG --libs "xextproto >= 7.0.99.1" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ XEXT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xextproto >= 7.0.99.1"`
+ else
+ XEXT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xextproto >= 7.0.99.1"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$XEXT_PKG_ERRORS" >&5
+
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ HAVE_XEXTPROTO_71="no"
+elif test $pkg_failed = untried; then
+ HAVE_XEXTPROTO_71="no"
+else
+ XEXT_CFLAGS=$pkg_cv_XEXT_CFLAGS
+ XEXT_LIBS=$pkg_cv_XEXT_LIBS
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ HAVE_XEXTPROTO_71="yes";
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_XEXTPROTO_71 1
+_ACEOF
+
+fi
+
+
+if test "$HAVE_XEXTPROTO_71" = "yes" ; then
+ HAVE_XEXTPROTO_71_TRUE=
+ HAVE_XEXTPROTO_71_FALSE='#'
+else
+ HAVE_XEXTPROTO_71_TRUE='#'
+ HAVE_XEXTPROTO_71_FALSE=
+fi
+
sdkdir=$(pkg-config --variable=sdkdir xorg-server)
# Header files checks.
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -19636,35 +20708,32 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_header_stdc=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_header_stdc=no
+ ac_cv_header_stdc=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
@@ -19720,6 +20789,7 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ctype.h>
+#include <stdlib.h>
#if ((' ' & 0x0FF) == 0x020)
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
@@ -19739,36 +20809,50 @@ main ()
for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i))
|| toupper (i) != TOUPPER (i))
- exit(2);
- exit (0);
+ return 2;
+ return 0;
}
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
:
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_header_stdc=no
fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
+
+
fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then
cat >>confdefs.h <<\_ACEOF
@@ -19780,18 +20864,18 @@ fi
pkg_failed=no
-echo "$as_me:$LINENO: checking for PCIUTILS" >&5
-echo $ECHO_N "checking for PCIUTILS... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for PCIUTILS" >&5
+$as_echo_n "checking for PCIUTILS... " >&6; }
if test -n "$PKG_CONFIG"; then
if test -n "$PCIUTILS_CFLAGS"; then
pkg_cv_PCIUTILS_CFLAGS="$PCIUTILS_CFLAGS"
else
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libpci\"") >&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libpci\"") >&5
($PKG_CONFIG --exists --print-errors "libpci") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
pkg_cv_PCIUTILS_CFLAGS=`$PKG_CONFIG --cflags "libpci" 2>/dev/null`
else
@@ -19806,10 +20890,10 @@ if test -n "$PKG_CONFIG"; then
pkg_cv_PCIUTILS_LIBS="$PCIUTILS_LIBS"
else
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libpci\"") >&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libpci\"") >&5
($PKG_CONFIG --exists --print-errors "libpci") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
pkg_cv_PCIUTILS_LIBS=`$PKG_CONFIG --libs "libpci" 2>/dev/null`
else
@@ -19837,22 +20921,22 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$PCIUTILS_PKG_ERRORS" >&5
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- { echo "$as_me:$LINENO: WARNING: libpci not registered in pkgconfig, will guess instead" >&5
-echo "$as_me: WARNING: libpci not registered in pkgconfig, will guess instead" >&2;}
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ { $as_echo "$as_me:$LINENO: WARNING: libpci not registered in pkgconfig, will guess instead" >&5
+$as_echo "$as_me: WARNING: libpci not registered in pkgconfig, will guess instead" >&2;}
test "x$PCIUTILS_CFLAGS$PCIUTILS_LIBS" = "x" && PCIUTILS_LIBS="-lpci -lz"
elif test $pkg_failed = untried; then
- { echo "$as_me:$LINENO: WARNING: libpci not registered in pkgconfig, will guess instead" >&5
-echo "$as_me: WARNING: libpci not registered in pkgconfig, will guess instead" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: libpci not registered in pkgconfig, will guess instead" >&5
+$as_echo "$as_me: WARNING: libpci not registered in pkgconfig, will guess instead" >&2;}
test "x$PCIUTILS_CFLAGS$PCIUTILS_LIBS" = "x" && PCIUTILS_LIBS="-lpci -lz"
else
PCIUTILS_CFLAGS=$pkg_cv_PCIUTILS_CFLAGS
PCIUTILS_LIBS=$pkg_cv_PCIUTILS_LIBS
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
:
fi
@@ -19861,17 +20945,17 @@ SAVED_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $PCIUTILS_CFLAGS"
CPPFLAGS="$CPPFLAGS $PCIUTILS_CFLAGS"
if test "${ac_cv_header_pci_pci_h+set}" = set; then
- echo "$as_me:$LINENO: checking for pci/pci.h" >&5
-echo $ECHO_N "checking for pci/pci.h... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for pci/pci.h" >&5
+$as_echo_n "checking for pci/pci.h... " >&6; }
if test "${ac_cv_header_pci_pci_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
fi
-echo "$as_me:$LINENO: result: $ac_cv_header_pci_pci_h" >&5
-echo "${ECHO_T}$ac_cv_header_pci_pci_h" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_pci_pci_h" >&5
+$as_echo "$ac_cv_header_pci_pci_h" >&6; }
else
# Is the header compilable?
-echo "$as_me:$LINENO: checking pci/pci.h usability" >&5
-echo $ECHO_N "checking pci/pci.h usability... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking pci/pci.h usability" >&5
+$as_echo_n "checking pci/pci.h usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -19882,41 +20966,38 @@ $ac_includes_default
#include <pci/pci.h>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_header_compiler=no
+ ac_header_compiler=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
# Is the header present?
-echo "$as_me:$LINENO: checking pci/pci.h presence" >&5
-echo $ECHO_N "checking pci/pci.h presence... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking pci/pci.h presence" >&5
+$as_echo_n "checking pci/pci.h presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -19925,76 +21006,74 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <pci/pci.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
ac_header_preproc=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
+
rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
yes:no: )
- { echo "$as_me:$LINENO: WARNING: pci/pci.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: pci/pci.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: pci/pci.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: pci/pci.h: proceeding with the compiler's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: pci/pci.h: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: pci/pci.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: pci/pci.h: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: pci/pci.h: proceeding with the compiler's result" >&2;}
ac_header_preproc=yes
;;
no:yes:* )
- { echo "$as_me:$LINENO: WARNING: pci/pci.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: pci/pci.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: pci/pci.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: pci/pci.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: pci/pci.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: pci/pci.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: pci/pci.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: pci/pci.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: pci/pci.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: pci/pci.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: pci/pci.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: pci/pci.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
+ { $as_echo "$as_me:$LINENO: WARNING: pci/pci.h: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: pci/pci.h: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: pci/pci.h: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: pci/pci.h: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: pci/pci.h: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: pci/pci.h: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: pci/pci.h: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: pci/pci.h: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: pci/pci.h: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: pci/pci.h: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: pci/pci.h: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: pci/pci.h: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
## ------------------------------------------------------------------------------------------------ ##
## Report this to https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/radeonhd ##
## ------------------------------------------------------------------------------------------------ ##
_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
+ ) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
-echo "$as_me:$LINENO: checking for pci/pci.h" >&5
-echo $ECHO_N "checking for pci/pci.h... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for pci/pci.h" >&5
+$as_echo_n "checking for pci/pci.h... " >&6; }
if test "${ac_cv_header_pci_pci_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_cv_header_pci_pci_h=$ac_header_preproc
fi
-echo "$as_me:$LINENO: result: $ac_cv_header_pci_pci_h" >&5
-echo "${ECHO_T}$ac_cv_header_pci_pci_h" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_pci_pci_h" >&5
+$as_echo "$ac_cv_header_pci_pci_h" >&6; }
fi
if test $ac_cv_header_pci_pci_h = yes; then
@@ -20005,8 +21084,8 @@ _ACEOF
have_pci_pci_h=yes
else
- { echo "$as_me:$LINENO: WARNING: Caution: Will not compile rhd_conntest without pciutils headers." >&5
-echo "$as_me: WARNING: Caution: Will not compile rhd_conntest without pciutils headers." >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: Caution: Will not compile rhd_conntest without pciutils headers." >&5
+$as_echo "$as_me: WARNING: Caution: Will not compile rhd_conntest without pciutils headers." >&2;}
fi
@@ -20025,10 +21104,10 @@ fi
CPPFLAGS="$SAVED_CPPFLAGS $XORG_CFLAGS"
CFLAGS="$SAVED_CFLAGS"
-echo "$as_me:$LINENO: checking whether XSERVER_LIBPCIACCESS is declared" >&5
-echo $ECHO_N "checking whether XSERVER_LIBPCIACCESS is declared... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether XSERVER_LIBPCIACCESS is declared" >&5
+$as_echo_n "checking whether XSERVER_LIBPCIACCESS is declared... " >&6; }
if test "${ac_cv_have_decl_XSERVER_LIBPCIACCESS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -20042,7 +21121,7 @@ int
main ()
{
#ifndef XSERVER_LIBPCIACCESS
- char *p = (char *) XSERVER_LIBPCIACCESS;
+ (void) XSERVER_LIBPCIACCESS;
#endif
;
@@ -20050,38 +21129,35 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_have_decl_XSERVER_LIBPCIACCESS=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_have_decl_XSERVER_LIBPCIACCESS=no
+ ac_cv_have_decl_XSERVER_LIBPCIACCESS=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_XSERVER_LIBPCIACCESS" >&5
-echo "${ECHO_T}$ac_cv_have_decl_XSERVER_LIBPCIACCESS" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_XSERVER_LIBPCIACCESS" >&5
+$as_echo "$ac_cv_have_decl_XSERVER_LIBPCIACCESS" >&6; }
if test $ac_cv_have_decl_XSERVER_LIBPCIACCESS = yes; then
XSERVER_LIBPCIACCESS=yes
else
@@ -20091,18 +21167,18 @@ fi
if test "x$XSERVER_LIBPCIACCESS" = xyes; then
pkg_failed=no
-echo "$as_me:$LINENO: checking for PCIACCESS" >&5
-echo $ECHO_N "checking for PCIACCESS... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for PCIACCESS" >&5
+$as_echo_n "checking for PCIACCESS... " >&6; }
if test -n "$PKG_CONFIG"; then
if test -n "$PCIACCESS_CFLAGS"; then
pkg_cv_PCIACCESS_CFLAGS="$PCIACCESS_CFLAGS"
else
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"pciaccess\"") >&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"pciaccess\"") >&5
($PKG_CONFIG --exists --print-errors "pciaccess") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
pkg_cv_PCIACCESS_CFLAGS=`$PKG_CONFIG --cflags "pciaccess" 2>/dev/null`
else
@@ -20117,10 +21193,10 @@ if test -n "$PKG_CONFIG"; then
pkg_cv_PCIACCESS_LIBS="$PCIACCESS_LIBS"
else
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"pciaccess\"") >&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"pciaccess\"") >&5
($PKG_CONFIG --exists --print-errors "pciaccess") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
pkg_cv_PCIACCESS_LIBS=`$PKG_CONFIG --libs "pciaccess" 2>/dev/null`
else
@@ -20148,7 +21224,7 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$PCIACCESS_PKG_ERRORS" >&5
- { { echo "$as_me:$LINENO: error: Package requirements (pciaccess) were not met:
+ { { $as_echo "$as_me:$LINENO: error: Package requirements (pciaccess) were not met:
$PCIACCESS_PKG_ERRORS
@@ -20159,7 +21235,7 @@ Alternatively, you may set the environment variables PCIACCESS_CFLAGS
and PCIACCESS_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
" >&5
-echo "$as_me: error: Package requirements (pciaccess) were not met:
+$as_echo "$as_me: error: Package requirements (pciaccess) were not met:
$PCIACCESS_PKG_ERRORS
@@ -20172,7 +21248,7 @@ See the pkg-config man page for more details.
" >&2;}
{ (exit 1); exit 1; }; }
elif test $pkg_failed = untried; then
- { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+ { { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
@@ -20182,7 +21258,7 @@ See the pkg-config man page for more details.
To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
See \`config.log' for more details." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+$as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
@@ -20196,8 +21272,8 @@ See \`config.log' for more details." >&2;}
else
PCIACCESS_CFLAGS=$pkg_cv_PCIACCESS_CFLAGS
PCIACCESS_LIBS=$pkg_cv_PCIACCESS_LIBS
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
:
fi
XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
@@ -20214,23 +21290,23 @@ fi
# basic exa check.
-echo "$as_me:$LINENO: checking whether to enable EXA support" >&5
-echo $ECHO_N "checking whether to enable EXA support... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether to enable EXA support" >&5
+$as_echo_n "checking whether to enable EXA support... " >&6; }
if test "x$EXA" = xyes; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
if test "${ac_cv_header_exa_h+set}" = set; then
- echo "$as_me:$LINENO: checking for exa.h" >&5
-echo $ECHO_N "checking for exa.h... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for exa.h" >&5
+$as_echo_n "checking for exa.h... " >&6; }
if test "${ac_cv_header_exa_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
fi
-echo "$as_me:$LINENO: result: $ac_cv_header_exa_h" >&5
-echo "${ECHO_T}$ac_cv_header_exa_h" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_exa_h" >&5
+$as_echo "$ac_cv_header_exa_h" >&6; }
else
# Is the header compilable?
-echo "$as_me:$LINENO: checking exa.h usability" >&5
-echo $ECHO_N "checking exa.h usability... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking exa.h usability" >&5
+$as_echo_n "checking exa.h usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20241,41 +21317,38 @@ $ac_includes_default
#include <exa.h>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_header_compiler=no
+ ac_header_compiler=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
# Is the header present?
-echo "$as_me:$LINENO: checking exa.h presence" >&5
-echo $ECHO_N "checking exa.h presence... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking exa.h presence" >&5
+$as_echo_n "checking exa.h presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20284,76 +21357,74 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <exa.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
ac_header_preproc=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
+
rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
yes:no: )
- { echo "$as_me:$LINENO: WARNING: exa.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: exa.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: exa.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: exa.h: proceeding with the compiler's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: exa.h: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: exa.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: exa.h: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: exa.h: proceeding with the compiler's result" >&2;}
ac_header_preproc=yes
;;
no:yes:* )
- { echo "$as_me:$LINENO: WARNING: exa.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: exa.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: exa.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: exa.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: exa.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: exa.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: exa.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: exa.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: exa.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: exa.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: exa.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: exa.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
+ { $as_echo "$as_me:$LINENO: WARNING: exa.h: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: exa.h: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: exa.h: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: exa.h: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: exa.h: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: exa.h: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: exa.h: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: exa.h: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: exa.h: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: exa.h: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: exa.h: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: exa.h: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
## ------------------------------------------------------------------------------------------------ ##
## Report this to https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/radeonhd ##
## ------------------------------------------------------------------------------------------------ ##
_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
+ ) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
-echo "$as_me:$LINENO: checking for exa.h" >&5
-echo $ECHO_N "checking for exa.h... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for exa.h" >&5
+$as_echo_n "checking for exa.h... " >&6; }
if test "${ac_cv_header_exa_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_cv_header_exa_h=$ac_header_preproc
fi
-echo "$as_me:$LINENO: result: $ac_cv_header_exa_h" >&5
-echo "${ECHO_T}$ac_cv_header_exa_h" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_exa_h" >&5
+$as_echo "$ac_cv_header_exa_h" >&6; }
fi
if test $ac_cv_header_exa_h = yes; then
@@ -20364,14 +21435,14 @@ fi
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
# exa version check.
if test "x$have_exa_h" = xyes; then
- echo "$as_me:$LINENO: checking whether EXA version is at least 2.0.0" >&5
-echo $ECHO_N "checking whether EXA version is at least 2.0.0... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking whether EXA version is at least 2.0.0" >&5
+$as_echo_n "checking whether EXA version is at least 2.0.0... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20392,34 +21463,34 @@ main ()
return 0;
}
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
USE_EXA=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
USE_EXA=no
fi
+
rm -f conftest.err conftest.$ac_ext
- echo "$as_me:$LINENO: result: $USE_EXA" >&5
-echo "${ECHO_T}$USE_EXA" >&6
+ { $as_echo "$as_me:$LINENO: result: $USE_EXA" >&5
+$as_echo "$USE_EXA" >&6; }
if test "x$USE_EXA" = xyes; then
@@ -20442,10 +21513,10 @@ fi
# Handle RandR1.2
-echo "$as_me:$LINENO: checking for xf86RandR12.h" >&5
-echo $ECHO_N "checking for xf86RandR12.h... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for xf86RandR12.h" >&5
+$as_echo_n "checking for xf86RandR12.h... " >&6; }
if test "${ac_cv_header_xf86RandR12_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -20458,38 +21529,35 @@ cat >>conftest.$ac_ext <<_ACEOF
#include <xf86RandR12.h>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_header_xf86RandR12_h=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_header_xf86RandR12_h=no
+ ac_cv_header_xf86RandR12_h=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_header_xf86RandR12_h" >&5
-echo "${ECHO_T}$ac_cv_header_xf86RandR12_h" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_xf86RandR12_h" >&5
+$as_echo "$ac_cv_header_xf86RandR12_h" >&6; }
if test $ac_cv_header_xf86RandR12_h = yes; then
have_randr12="yes"
else
@@ -20505,10 +21573,10 @@ _ACEOF
fi
-echo "$as_me:$LINENO: checking whether to enable RandR1.2 support" >&5
-echo $ECHO_N "checking whether to enable RandR1.2 support... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $have_randr12" >&5
-echo "${ECHO_T}$have_randr12" >&6
+{ $as_echo "$as_me:$LINENO: checking whether to enable RandR1.2 support" >&5
+$as_echo_n "checking whether to enable RandR1.2 support... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $have_randr12" >&5
+$as_echo "$have_randr12" >&6; }
# Handle DRI
CPPFLAGS="$SAVED_CPPFLAGS $XORG_CFLAGS"
@@ -20518,10 +21586,10 @@ CFLAGS="$SAVED_CFLAGS $XORG_CFLAGS"
USE_DRI=no
if test "x$DRI" = xyes; then
USE_DRI="yes"
- echo "$as_me:$LINENO: checking whether XF86DRI is declared" >&5
-echo $ECHO_N "checking whether XF86DRI is declared... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking whether XF86DRI is declared" >&5
+$as_echo_n "checking whether XF86DRI is declared... " >&6; }
if test "${ac_cv_have_decl_XF86DRI+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -20535,7 +21603,7 @@ int
main ()
{
#ifndef XF86DRI
- char *p = (char *) XF86DRI;
+ (void) XF86DRI;
#endif
;
@@ -20543,38 +21611,35 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_have_decl_XF86DRI=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_have_decl_XF86DRI=no
+ ac_cv_have_decl_XF86DRI=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_XF86DRI" >&5
-echo "${ECHO_T}$ac_cv_have_decl_XF86DRI" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_XF86DRI" >&5
+$as_echo "$ac_cv_have_decl_XF86DRI" >&6; }
if test $ac_cv_have_decl_XF86DRI = yes; then
:
else
@@ -20583,18 +21648,18 @@ fi
pkg_failed=no
-echo "$as_me:$LINENO: checking for DRI" >&5
-echo $ECHO_N "checking for DRI... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for DRI" >&5
+$as_echo_n "checking for DRI... " >&6; }
if test -n "$PKG_CONFIG"; then
if test -n "$DRI_CFLAGS"; then
pkg_cv_DRI_CFLAGS="$DRI_CFLAGS"
else
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libdrm >= 2.2 xf86driproto glproto\"") >&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libdrm >= 2.2 xf86driproto glproto\"") >&5
($PKG_CONFIG --exists --print-errors "libdrm >= 2.2 xf86driproto glproto") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
pkg_cv_DRI_CFLAGS=`$PKG_CONFIG --cflags "libdrm >= 2.2 xf86driproto glproto" 2>/dev/null`
else
@@ -20609,10 +21674,10 @@ if test -n "$PKG_CONFIG"; then
pkg_cv_DRI_LIBS="$DRI_LIBS"
else
if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libdrm >= 2.2 xf86driproto glproto\"") >&5
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libdrm >= 2.2 xf86driproto glproto\"") >&5
($PKG_CONFIG --exists --print-errors "libdrm >= 2.2 xf86driproto glproto") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
pkg_cv_DRI_LIBS=`$PKG_CONFIG --libs "libdrm >= 2.2 xf86driproto glproto" 2>/dev/null`
else
@@ -20640,33 +21705,33 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$DRI_PKG_ERRORS" >&5
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
USE_DRI=no
elif test $pkg_failed = untried; then
USE_DRI=no
else
DRI_CFLAGS=$pkg_cv_DRI_CFLAGS
DRI_LIBS=$pkg_cv_DRI_LIBS
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
:
fi
fi
if test "x$USE_DRI" = xyes; then
if test "${ac_cv_header_GL_gl_h+set}" = set; then
- echo "$as_me:$LINENO: checking for GL/gl.h" >&5
-echo $ECHO_N "checking for GL/gl.h... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking for GL/gl.h" >&5
+$as_echo_n "checking for GL/gl.h... " >&6; }
if test "${ac_cv_header_GL_gl_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
fi
-echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5
-echo "${ECHO_T}$ac_cv_header_GL_gl_h" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5
+$as_echo "$ac_cv_header_GL_gl_h" >&6; }
else
# Is the header compilable?
-echo "$as_me:$LINENO: checking GL/gl.h usability" >&5
-echo $ECHO_N "checking GL/gl.h usability... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking GL/gl.h usability" >&5
+$as_echo_n "checking GL/gl.h usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20677,41 +21742,38 @@ $ac_includes_default
#include <GL/gl.h>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_header_compiler=no
+ ac_header_compiler=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
# Is the header present?
-echo "$as_me:$LINENO: checking GL/gl.h presence" >&5
-echo $ECHO_N "checking GL/gl.h presence... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking GL/gl.h presence" >&5
+$as_echo_n "checking GL/gl.h presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20720,76 +21782,74 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <GL/gl.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
ac_header_preproc=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
+
rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
yes:no: )
- { echo "$as_me:$LINENO: WARNING: GL/gl.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: GL/gl.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: GL/gl.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: GL/gl.h: proceeding with the compiler's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: GL/gl.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: GL/gl.h: proceeding with the compiler's result" >&2;}
ac_header_preproc=yes
;;
no:yes:* )
- { echo "$as_me:$LINENO: WARNING: GL/gl.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: GL/gl.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: GL/gl.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: GL/gl.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: GL/gl.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: GL/gl.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: GL/gl.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: GL/gl.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
+ { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: GL/gl.h: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: GL/gl.h: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: GL/gl.h: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: GL/gl.h: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
## ------------------------------------------------------------------------------------------------ ##
## Report this to https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/radeonhd ##
## ------------------------------------------------------------------------------------------------ ##
_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
+ ) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
-echo "$as_me:$LINENO: checking for GL/gl.h" >&5
-echo $ECHO_N "checking for GL/gl.h... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for GL/gl.h" >&5
+$as_echo_n "checking for GL/gl.h... " >&6; }
if test "${ac_cv_header_GL_gl_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_cv_header_GL_gl_h=$ac_header_preproc
fi
-echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5
-echo "${ECHO_T}$ac_cv_header_GL_gl_h" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5
+$as_echo "$ac_cv_header_GL_gl_h" >&6; }
fi
if test $ac_cv_header_GL_gl_h = yes; then
@@ -20801,10 +21861,10 @@ fi
fi
-echo "$as_me:$LINENO: checking whether to enable DRI support" >&5
-echo $ECHO_N "checking whether to enable DRI support... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $USE_DRI" >&5
-echo "${ECHO_T}$USE_DRI" >&6
+{ $as_echo "$as_me:$LINENO: checking whether to enable DRI support" >&5
+$as_echo_n "checking whether to enable DRI support... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $USE_DRI" >&5
+$as_echo "$USE_DRI" >&6; }
test "x$USE_DRI" = xyes &&
cat >>confdefs.h <<\_ACEOF
#define USE_DRI 1
@@ -20821,15 +21881,15 @@ else
fi
-as_ac_File=`echo "ac_cv_file_${sdkdir}/damage.h" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for ${sdkdir}/damage.h" >&5
-echo $ECHO_N "checking for ${sdkdir}/damage.h... $ECHO_C" >&6
-if eval "test \"\${$as_ac_File+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+as_ac_File=`$as_echo "ac_cv_file_${sdkdir}/damage.h" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for ${sdkdir}/damage.h" >&5
+$as_echo_n "checking for ${sdkdir}/damage.h... " >&6; }
+if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
else
test "$cross_compiling" = yes &&
- { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
-echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
+$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
{ (exit 1); exit 1; }; }
if test -r "${sdkdir}/damage.h"; then
eval "$as_ac_File=yes"
@@ -20837,9 +21897,12 @@ else
eval "$as_ac_File=no"
fi
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6
-if test `eval echo '${'$as_ac_File'}'` = yes; then
+ac_res=`eval 'as_val=${'$as_ac_File'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test `eval 'as_val=${'$as_ac_File'}
+ $as_echo "$as_val"'` = yes; then
cat >>confdefs.h <<\_ACEOF
#define DAMAGE 1
@@ -20852,19 +21915,21 @@ fi
CFLAGS="$SAVED_CFLAGS"
CPPFLAGS="$SAVED_CPPFLAGS"
-as_ac_Header=`echo "ac_cv_header_${sdkdir}/xf86_ansic.h" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for ${sdkdir}/xf86_ansic.h" >&5
-echo $ECHO_N "checking for ${sdkdir}/xf86_ansic.h... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+as_ac_Header=`$as_echo "ac_cv_header_${sdkdir}/xf86_ansic.h" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for ${sdkdir}/xf86_ansic.h" >&5
+$as_echo_n "checking for ${sdkdir}/xf86_ansic.h... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
else
# Is the header compilable?
-echo "$as_me:$LINENO: checking ${sdkdir}/xf86_ansic.h usability" >&5
-echo $ECHO_N "checking ${sdkdir}/xf86_ansic.h usability... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking ${sdkdir}/xf86_ansic.h usability" >&5
+$as_echo_n "checking ${sdkdir}/xf86_ansic.h usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20875,41 +21940,38 @@ $ac_includes_default
#include <${sdkdir}/xf86_ansic.h>
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_header_compiler=no
+ ac_header_compiler=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
# Is the header present?
-echo "$as_me:$LINENO: checking ${sdkdir}/xf86_ansic.h presence" >&5
-echo $ECHO_N "checking ${sdkdir}/xf86_ansic.h presence... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking ${sdkdir}/xf86_ansic.h presence" >&5
+$as_echo_n "checking ${sdkdir}/xf86_ansic.h presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -20918,79 +21980,80 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <${sdkdir}/xf86_ansic.h>
_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
ac_header_preproc=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
+
rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
yes:no: )
- { echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: proceeding with the compiler's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: proceeding with the compiler's result" >&2;}
ac_header_preproc=yes
;;
no:yes:* )
- { echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
+ { $as_echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: ${sdkdir}/xf86_ansic.h: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: ${sdkdir}/xf86_ansic.h: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
## ------------------------------------------------------------------------------------------------ ##
## Report this to https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/radeonhd ##
## ------------------------------------------------------------------------------------------------ ##
_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
+ ) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
-echo "$as_me:$LINENO: checking for ${sdkdir}/xf86_ansic.h" >&5
-echo $ECHO_N "checking for ${sdkdir}/xf86_ansic.h... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for ${sdkdir}/xf86_ansic.h" >&5
+$as_echo_n "checking for ${sdkdir}/xf86_ansic.h... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
else
eval "$as_ac_Header=\$ac_header_preproc"
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'` = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_XF86_ANSIC_H 1
@@ -21015,10 +22078,10 @@ SAVED_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $XORG_CFLAGS"
# Check whether MonRec has a reducedblanking member.
-echo "$as_me:$LINENO: checking for MonRec.reducedblanking" >&5
-echo $ECHO_N "checking for MonRec.reducedblanking... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for MonRec.reducedblanking" >&5
+$as_echo_n "checking for MonRec.reducedblanking... " >&6; }
if test "${ac_cv_member_MonRec_reducedblanking+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -21039,33 +22102,29 @@ return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_member_MonRec_reducedblanking=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-cat >conftest.$ac_ext <<_ACEOF
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -21084,40 +22143,38 @@ return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_member_MonRec_reducedblanking=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_member_MonRec_reducedblanking=no
+ ac_cv_member_MonRec_reducedblanking=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_member_MonRec_reducedblanking" >&5
-echo "${ECHO_T}$ac_cv_member_MonRec_reducedblanking" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_MonRec_reducedblanking" >&5
+$as_echo "$ac_cv_member_MonRec_reducedblanking" >&6; }
if test $ac_cv_member_MonRec_reducedblanking = yes; then
MONREC_HAS_REDUCED=yes
else
@@ -21133,10 +22190,10 @@ _ACEOF
fi
# Check whether MonRec has a maxPixClock member.
-echo "$as_me:$LINENO: checking for MonRec.maxPixClock" >&5
-echo $ECHO_N "checking for MonRec.maxPixClock... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for MonRec.maxPixClock" >&5
+$as_echo_n "checking for MonRec.maxPixClock... " >&6; }
if test "${ac_cv_member_MonRec_maxPixClock+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -21157,33 +22214,29 @@ return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_member_MonRec_maxPixClock=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-cat >conftest.$ac_ext <<_ACEOF
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -21202,40 +22255,38 @@ return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_member_MonRec_maxPixClock=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_member_MonRec_maxPixClock=no
+ ac_cv_member_MonRec_maxPixClock=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_member_MonRec_maxPixClock" >&5
-echo "${ECHO_T}$ac_cv_member_MonRec_maxPixClock" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_MonRec_maxPixClock" >&5
+$as_echo "$ac_cv_member_MonRec_maxPixClock" >&6; }
if test $ac_cv_member_MonRec_maxPixClock = yes; then
MONREC_HAS_BANDWIDTH=yes
else
@@ -21251,10 +22302,10 @@ _ACEOF
fi
# Check whether xf86CrtcFuncsRec has a set_mode_major member.
-echo "$as_me:$LINENO: checking for xf86CrtcFuncsRec.set_mode_major" >&5
-echo $ECHO_N "checking for xf86CrtcFuncsRec.set_mode_major... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for xf86CrtcFuncsRec.set_mode_major" >&5
+$as_echo_n "checking for xf86CrtcFuncsRec.set_mode_major... " >&6; }
if test "${ac_cv_member_xf86CrtcFuncsRec_set_mode_major+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -21277,33 +22328,29 @@ return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_member_xf86CrtcFuncsRec_set_mode_major=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-cat >conftest.$ac_ext <<_ACEOF
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -21324,40 +22371,38 @@ return 0;
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_member_xf86CrtcFuncsRec_set_mode_major=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_member_xf86CrtcFuncsRec_set_mode_major=no
+ ac_cv_member_xf86CrtcFuncsRec_set_mode_major=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_member_xf86CrtcFuncsRec_set_mode_major" >&5
-echo "${ECHO_T}$ac_cv_member_xf86CrtcFuncsRec_set_mode_major" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_xf86CrtcFuncsRec_set_mode_major" >&5
+$as_echo "$ac_cv_member_xf86CrtcFuncsRec_set_mode_major" >&6; }
if test $ac_cv_member_xf86CrtcFuncsRec_set_mode_major = yes; then
XF86CRTCFUNCS_HAS_SETMODEMAJOR=yes
else
@@ -21372,10 +22417,10 @@ _ACEOF
fi
-echo "$as_me:$LINENO: checking whether xf86RotateFreeShadow is declared" >&5
-echo $ECHO_N "checking whether xf86RotateFreeShadow is declared... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether xf86RotateFreeShadow is declared" >&5
+$as_echo_n "checking whether xf86RotateFreeShadow is declared... " >&6; }
if test "${ac_cv_have_decl_xf86RotateFreeShadow+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -21391,7 +22436,7 @@ int
main ()
{
#ifndef xf86RotateFreeShadow
- char *p = (char *) xf86RotateFreeShadow;
+ (void) xf86RotateFreeShadow;
#endif
;
@@ -21399,38 +22444,35 @@ main ()
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_have_decl_xf86RotateFreeShadow=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_have_decl_xf86RotateFreeShadow=no
+ ac_cv_have_decl_xf86RotateFreeShadow=no
fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_xf86RotateFreeShadow" >&5
-echo "${ECHO_T}$ac_cv_have_decl_xf86RotateFreeShadow" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_xf86RotateFreeShadow" >&5
+$as_echo "$ac_cv_have_decl_xf86RotateFreeShadow" >&6; }
if test $ac_cv_have_decl_xf86RotateFreeShadow = yes; then
cat >>confdefs.h <<\_ACEOF
@@ -21440,34 +22482,96 @@ _ACEOF
fi
+{ $as_echo "$as_me:$LINENO: checking whether pci_device_enable is declared" >&5
+$as_echo_n "checking whether pci_device_enable is declared... " >&6; }
+if test "${ac_cv_have_decl_pci_device_enable+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <pciaccess.h>
+
+int
+main ()
+{
+#ifndef pci_device_enable
+ (void) pci_device_enable;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_pci_device_enable=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_pci_device_enable=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_pci_device_enable" >&5
+$as_echo "$ac_cv_have_decl_pci_device_enable" >&6; }
+if test $ac_cv_have_decl_pci_device_enable = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_PCI_DEVICE_ENABLE 1
+_ACEOF
+
+fi
+
CFLAGS="$SAVED_CFLAGS"
-# Check whether --enable-atombios or --disable-atombios was given.
+# Check whether --enable-atombios was given.
if test "${enable_atombios+set}" = set; then
- enableval="$enable_atombios"
- do_atombios="$enableval"
+ enableval=$enable_atombios; do_atombios="$enableval"
else
do_atombios=yes
-fi;
+fi
-# Check whether --enable-atombios-parser or --disable-atombios-parser was given.
+
+# Check whether --enable-atombios-parser was given.
if test "${enable_atombios_parser+set}" = set; then
- enableval="$enable_atombios_parser"
- do_atombios_parser="$enableval"
+ enableval=$enable_atombios_parser; do_atombios_parser="$enableval"
else
do_atombios_parser=yes
-fi;
+fi
-as_ac_File=`echo "ac_cv_file_${srcdir}/src/AtomBios/includes/atombios.h" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for ${srcdir}/src/AtomBios/includes/atombios.h" >&5
-echo $ECHO_N "checking for ${srcdir}/src/AtomBios/includes/atombios.h... $ECHO_C" >&6
-if eval "test \"\${$as_ac_File+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+as_ac_File=`$as_echo "ac_cv_file_${srcdir}/src/AtomBios/includes/atombios.h" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for ${srcdir}/src/AtomBios/includes/atombios.h" >&5
+$as_echo_n "checking for ${srcdir}/src/AtomBios/includes/atombios.h... " >&6; }
+if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
else
test "$cross_compiling" = yes &&
- { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
-echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
+$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
{ (exit 1); exit 1; }; }
if test -r "${srcdir}/src/AtomBios/includes/atombios.h"; then
eval "$as_ac_File=yes"
@@ -21475,24 +22579,27 @@ else
eval "$as_ac_File=no"
fi
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6
-if test `eval echo '${'$as_ac_File'}'` = yes; then
+ac_res=`eval 'as_val=${'$as_ac_File'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test `eval 'as_val=${'$as_ac_File'}
+ $as_echo "$as_val"'` = yes; then
have_atombios_h="yes"
else
have_atombios_h="no"
fi
-as_ac_File=`echo "ac_cv_file_${srcdir}/src/AtomBios/includes/Decoder.h" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for ${srcdir}/src/AtomBios/includes/Decoder.h" >&5
-echo $ECHO_N "checking for ${srcdir}/src/AtomBios/includes/Decoder.h... $ECHO_C" >&6
-if eval "test \"\${$as_ac_File+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+as_ac_File=`$as_echo "ac_cv_file_${srcdir}/src/AtomBios/includes/Decoder.h" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for ${srcdir}/src/AtomBios/includes/Decoder.h" >&5
+$as_echo_n "checking for ${srcdir}/src/AtomBios/includes/Decoder.h... " >&6; }
+if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
else
test "$cross_compiling" = yes &&
- { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
-echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
+$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
{ (exit 1); exit 1; }; }
if test -r "${srcdir}/src/AtomBios/includes/Decoder.h"; then
eval "$as_ac_File=yes"
@@ -21500,17 +22607,20 @@ else
eval "$as_ac_File=no"
fi
fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6
-if test `eval echo '${'$as_ac_File'}'` = yes; then
+ac_res=`eval 'as_val=${'$as_ac_File'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test `eval 'as_val=${'$as_ac_File'}
+ $as_echo "$as_val"'` = yes; then
have_atombios_parser="yes"
else
have_atombios_parser="no"
fi
-echo "$as_me:$LINENO: checking whether to include AtomBIOS" >&5
-echo $ECHO_N "checking whether to include AtomBIOS... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether to include AtomBIOS" >&5
+$as_echo_n "checking whether to include AtomBIOS... " >&6; }
if test "$have_atombios_h" = yes -a \
"$do_atombios" = yes; then
support_atombios="yes"
@@ -21523,11 +22633,11 @@ else
support_atombios="no"
fi
-echo "$as_me:$LINENO: result: $support_atombios" >&5
-echo "${ECHO_T}$support_atombios" >&6
+{ $as_echo "$as_me:$LINENO: result: $support_atombios" >&5
+$as_echo "$support_atombios" >&6; }
-echo "$as_me:$LINENO: checking whether to include AtomBIOS parser" >&5
-echo $ECHO_N "checking whether to include AtomBIOS parser... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether to include AtomBIOS parser" >&5
+$as_echo_n "checking whether to include AtomBIOS parser... " >&6; }
if test "$support_atombios" = yes -a \
"$do_atombios_parser" = yes -a \
"$have_atombios_parser" = yes; then
@@ -21541,8 +22651,8 @@ else
support_atombios_parser="no"
fi
-echo "$as_me:$LINENO: result: $support_atombios_parser" >&5
-echo "${ECHO_T}$support_atombios_parser" >&6
+{ $as_echo "$as_me:$LINENO: result: $support_atombios_parser" >&5
+$as_echo "$support_atombios_parser" >&6; }
@@ -21567,10 +22677,10 @@ fi
# libraries checks.
-echo "$as_me:$LINENO: checking for gzopen in -lz" >&5
-echo $ECHO_N "checking for gzopen in -lz... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for gzopen in -lz" >&5
+$as_echo_n "checking for gzopen in -lz... " >&6; }
if test "${ac_cv_lib_z_gzopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lz $LIBS"
@@ -21581,56 +22691,57 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Override any gcc2 internal prototype to avoid an error. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
char gzopen ();
int
main ()
{
-gzopen ();
+return gzopen ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_z_gzopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_z_gzopen=no
+ ac_cv_lib_z_gzopen=no
fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_z_gzopen" >&5
-echo "${ECHO_T}$ac_cv_lib_z_gzopen" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_gzopen" >&5
+$as_echo "$ac_cv_lib_z_gzopen" >&6; }
if test $ac_cv_lib_z_gzopen = yes; then
have_zlib=yes
else
@@ -21664,7 +22775,8 @@ for w in \
-Wpointer-arith -Woverlength-strings -Wvolatile-register-var \
-Winit-self -Wbad-function-cast \
-Wstrict-prototypes -Wold-style-definition \
- -Wnested-externs -Wdisabled-optimization ;
+ -Wnested-externs -Wdisabled-optimization \
+ -Wno-unknown-pragmas ;
do
cat >conftest.$ac_ext <<_ACEOF
@@ -21682,23 +22794,23 @@ main ()
return 0;
}
_ACEOF
- echo "$as_me:$LINENO: checking whether $CC supports $w" >&5
-echo $ECHO_N "checking whether $CC supports $w... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking whether $CC supports $w" >&5
+$as_echo_n "checking whether $CC supports $w... " >&6; }
if $CC $w -c -o /dev/null conftest.c >/dev/null 2>&1 ; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
WARN_CFLAGS="$WARN_CFLAGS $w"
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
done
-# Due to AtomBIOS spitting out too much with -pedantic
+# atombios.h prohibits -std=c99 due to unnamed unions
PEDANTIC_CFLAGS=""
-for w in -pedantic -Wno-long-long -Wno-variadic-macros ; do
+for w in -Wno-long-long -Wno-variadic-macros ; do
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -21715,15 +22827,15 @@ main ()
return 0;
}
_ACEOF
- echo "$as_me:$LINENO: checking whether $CC supports $w" >&5
-echo $ECHO_N "checking whether $CC supports $w... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking whether $CC supports $w" >&5
+$as_echo_n "checking whether $CC supports $w... " >&6; }
if $CC $w -c -o /dev/null conftest.c >/dev/null 2>&1 ; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
PEDANTIC_CFLAGS="$PEDANTIC_CFLAGS $w"
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -21731,7 +22843,7 @@ done
# AtomBios special flags
ATOMBIOS_CFLAGS=""
-for w in -std=c99 -Wno-unknown-pragmas ; do
+for w in -Wno-unknown-pragmas ; do
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -21748,15 +22860,15 @@ main ()
return 0;
}
_ACEOF
- echo "$as_me:$LINENO: checking whether $CC supports $w" >&5
-echo $ECHO_N "checking whether $CC supports $w... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking whether $CC supports $w" >&5
+$as_echo_n "checking whether $CC supports $w... " >&6; }
if $CC $w -c -o /dev/null conftest.c >/dev/null 2>&1 ; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
ATOMBIOS_CFLAGS="$ATOMBIOS_CFLAGS $w"
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -21765,8 +22877,8 @@ done
# Optimizations
case "x$CFLAGS" in
*-O[2-9]*)
- { echo "$as_me:$LINENO: Doing optimized build, checking for additional options" >&5
-echo "$as_me: Doing optimized build, checking for additional options" >&6;}
+ { $as_echo "$as_me:$LINENO: Doing optimized build, checking for additional options" >&5
+$as_echo "$as_me: Doing optimized build, checking for additional options" >&6;}
for w in -finline-functions ; do
cat >conftest.$ac_ext <<_ACEOF
@@ -21784,15 +22896,15 @@ main ()
return 0;
}
_ACEOF
- echo "$as_me:$LINENO: checking whether $CC supports $w" >&5
-echo $ECHO_N "checking whether $CC supports $w... $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking whether $CC supports $w" >&5
+$as_echo_n "checking whether $CC supports $w... " >&6; }
if $CC $w -c -o /dev/null conftest.c >/dev/null 2>&1 ; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
CFLAGS="$CFLAGS -finline-functions"
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -21889,18 +23001,18 @@ fi
-# Check whether --with-release-version or --without-release-version was given.
+# Check whether --with-release-version was given.
if test "${with_release_version+set}" = set; then
- withval="$with_release_version"
- RELEASE_VERSION="$withval"
+ withval=$with_release_version; RELEASE_VERSION="$withval"
else
RELEASE_VERSION=""
-fi;
+fi
+
if test "x$RELEASE_VERSION" != "x"; then
PACKAGE="$PACKAGE-$RELEASE_VERSION"
PACKAGE_TARNAME="$PACKAGE_TARNAME-$RELEASE_VERSION"
- { echo "$as_me:$LINENO: Building with package name set to $PACKAGE" >&5
-echo "$as_me: Building with package name set to $PACKAGE" >&6;}
+ { $as_echo "$as_me:$LINENO: Building with package name set to $PACKAGE" >&5
+$as_echo "$as_me: Building with package name set to $PACKAGE" >&6;}
fi
cat >>confdefs.h <<_ACEOF
@@ -21945,7 +23057,97 @@ _ACEOF
fi
- ac_config_files="$ac_config_files Makefile man/Makefile src/Makefile utils/conntest/Makefile"
+
+
+ # Check whether --enable-shave was given.
+if test "${enable_shave+set}" = set; then
+ enableval=$enable_shave;
+else
+ enable_shave=yes
+
+fi
+
+
+
+ if test x"$enable_shave" = xyes; then
+ shavedir="$ac_pwd/."
+
+
+ MAKEFLAGS=-s
+
+ AM_MAKEFLAGS='`test -z $V && echo -s`'
+
+
+ # Extract the first word of "sed", so it can be a program name with args.
+set dummy sed; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_SED+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$SED"; then
+ ac_cv_prog_SED="$SED" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_SED="sed"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_prog_SED" && ac_cv_prog_SED="false"
+fi
+fi
+SED=$ac_cv_prog_SED
+if test -n "$SED"; then
+ { $as_echo "$as_me:$LINENO: result: $SED" >&5
+$as_echo "$SED" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+ SHAVE_SAVED_LIBTOOL=$LIBTOOL
+ LIBTOOL="${SHELL} ${shavedir}/shave-libtool '${SHAVE_SAVED_LIBTOOL}'"
+
+
+ SHAVE_SAVED_CC=$CC
+ SHAVE_SAVED_CXX=$CXX
+ SHAVE_SAVED_FC=$FC
+ SHAVE_SAVED_F77=$F77
+ SHAVE_SAVED_OBJC=$OBJC
+ CC="${SHELL} ${shavedir}/shave cc ${SHAVE_SAVED_CC}"
+ CXX="${SHELL} ${shavedir}/shave cxx ${SHAVE_SAVED_CXX}"
+ FC="${SHELL} ${shavedir}/shave fc ${SHAVE_SAVED_FC}"
+ F77="${SHELL} ${shavedir}/shave f77 ${SHAVE_SAVED_F77}"
+ OBJC="${SHELL} ${shavedir}/shave objc ${SHAVE_SAVED_OBJC}"
+
+
+
+
+
+
+ V=@
+ else
+ V=1
+ fi
+ Q='$(V:1=)'
+
+
+
+
+ac_config_files="$ac_config_files Makefile man/Makefile src/Makefile utils/conntest/Makefile"
+
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
@@ -21964,39 +23166,59 @@ _ACEOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+
(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote
# substitution turns \\\\ into \\, and sed turns \\ into \).
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
+ ;; #(
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
- esac;
-} |
+ esac |
+ sort
+) |
sed '
+ /^ac_cv_env_/b end
t clear
- : clear
+ :clear
s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ test "x$cache_file" != "x/dev/null" &&
+ { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
cat confcache >$cache_file
else
- echo "not updating unwritable cache $cache_file"
+ { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
@@ -22005,32 +23227,18 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
DEFS=-DHAVE_CONFIG_H
ac_libobjs=
ac_ltlibobjs=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
- ac_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
- # 2. Add them.
- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
@@ -22038,103 +23246,111 @@ LTLIBOBJS=$ac_ltlibobjs
if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+$as_echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
+$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE}" && test -z "${HAVE_SED_WITH_REASONABLE_SUBSTITUTION_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"HAVE_SED_WITH_REASONABLE_SUBSTITUTION\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_SED_WITH_REASONABLE_SUBSTITUTION\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"HAVE_SED_WITH_REASONABLE_SUBSTITUTION\" was never defined.
+$as_echo "$as_me: error: conditional \"HAVE_SED_WITH_REASONABLE_SUBSTITUTION\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_XEXTPROTO_71_TRUE}" && test -z "${HAVE_XEXTPROTO_71_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_XEXTPROTO_71\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_XEXTPROTO_71\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${HAVE_PCI_PCI_H_TRUE}" && test -z "${HAVE_PCI_PCI_H_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"HAVE_PCI_PCI_H\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_PCI_PCI_H\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"HAVE_PCI_PCI_H\" was never defined.
+$as_echo "$as_me: error: conditional \"HAVE_PCI_PCI_H\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${XSERVER_LIBPCIACCESS_TRUE}" && test -z "${XSERVER_LIBPCIACCESS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"XSERVER_LIBPCIACCESS\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"XSERVER_LIBPCIACCESS\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"XSERVER_LIBPCIACCESS\" was never defined.
+$as_echo "$as_me: error: conditional \"XSERVER_LIBPCIACCESS\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${USE_EXA_TRUE}" && test -z "${USE_EXA_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"USE_EXA\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"USE_EXA\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"USE_EXA\" was never defined.
+$as_echo "$as_me: error: conditional \"USE_EXA\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${USE_DRI_TRUE}" && test -z "${USE_DRI_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"USE_DRI\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"USE_DRI\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"USE_DRI\" was never defined.
+$as_echo "$as_me: error: conditional \"USE_DRI\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${HAVE_XF86_ANSIC_H_TRUE}" && test -z "${HAVE_XF86_ANSIC_H_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"HAVE_XF86_ANSIC_H\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_XF86_ANSIC_H\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"HAVE_XF86_ANSIC_H\" was never defined.
+$as_echo "$as_me: error: conditional \"HAVE_XF86_ANSIC_H\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${ATOM_BIOS_TRUE}" && test -z "${ATOM_BIOS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ATOM_BIOS\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"ATOM_BIOS\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ATOM_BIOS\" was never defined.
+$as_echo "$as_me: error: conditional \"ATOM_BIOS\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${ATOM_BIOS_PARSER_TRUE}" && test -z "${ATOM_BIOS_PARSER_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ATOM_BIOS_PARSER\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"ATOM_BIOS_PARSER\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ATOM_BIOS_PARSER\" was never defined.
+$as_echo "$as_me: error: conditional \"ATOM_BIOS_PARSER\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${HAVE_ZLIB_TRUE}" && test -z "${HAVE_ZLIB_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"HAVE_ZLIB\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_ZLIB\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"HAVE_ZLIB\" was never defined.
+$as_echo "$as_me: error: conditional \"HAVE_ZLIB\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
+{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
@@ -22147,22 +23363,78 @@ ac_cs_silent=false
SHELL=\${CONFIG_SHELL-$SHELL}
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
fi
-DUALCASE=1; export DUALCASE # for MKS sh
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
@@ -22172,33 +23444,60 @@ else
fi
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
@@ -22206,159 +23505,122 @@ fi
# Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+# CDPATH.
+$as_unset CDPATH
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
as_lineno_1=$LINENO
as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
# uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
+ s/-\n.*//
' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
-if expr a : '\(a\)' >/dev/null 2>&1; then
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
@@ -22367,7 +23629,28 @@ else
as_mkdir_p=false
fi
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -22376,31 +23659,14 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
exec 6>&1
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# Save the log message, to keep $[0] and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by xf86-video-radeonhd $as_me 1.2.5, which was
-generated by GNU Autoconf 2.59. Invocation command line was
+# values after options handling.
+ac_log="
+This file was extended by xf86-video-radeonhd $as_me 1.3.0, which was
+generated by GNU Autoconf 2.62. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -22408,30 +23674,20 @@ generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $0 $@
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.
@@ -22439,14 +23695,14 @@ current configuration.
Usage: $0 [OPTIONS] [FILE]...
-h, --help print this help, then exit
- -V, --version print version number, then exit
+ -V, --version print version number and configuration settings, then exit
-q, --quiet do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
--file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
+ instantiate the configuration file FILE
--header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
+ instantiate the configuration header FILE
Configuration files:
$config_files
@@ -22458,83 +23714,83 @@ Configuration commands:
$config_commands
Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-xf86-video-radeonhd config.status 1.2.5
-configured by $0, generated by GNU Autoconf 2.59,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+xf86-video-radeonhd config.status 1.3.0
+configured by $0, generated by GNU Autoconf 2.62,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 2008 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
case $1 in
--*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
- -*)
+ *)
ac_option=$1
ac_optarg=$2
ac_shift=shift
;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
esac
case $ac_option in
# Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
ac_need_defaults=false;;
--header | --heade | --head | --hea )
$ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ { $as_echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
+ -*) { $as_echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; } ;;
- *) ac_config_targets="$ac_config_targets $1" ;;
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
esac
shift
@@ -22548,42 +23804,58 @@ if $ac_cs_silent; then
fi
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
fi
_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
-cat >>$CONFIG_STATUS <<_ACEOF
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
-# INIT-COMMANDS section.
+# INIT-COMMANDS
#
-
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF
+# Handling of arguments.
for ac_config_target in $ac_config_targets
do
- case "$ac_config_target" in
- # Handling of arguments.
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "man/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
- "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
- "utils/conntest/Makefile" ) CONFIG_FILES="$CONFIG_FILES utils/conntest/Makefile" ;;
- "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ case $ac_config_target in
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "shave") CONFIG_FILES="$CONFIG_FILES shave" ;;
+ "shave-libtool") CONFIG_FILES="$CONFIG_FILES shave-libtool" ;;
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
+ "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "utils/conntest/Makefile") CONFIG_FILES="$CONFIG_FILES utils/conntest/Makefile" ;;
+
+ *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
done
+
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
@@ -22595,793 +23867,634 @@ if $ac_need_defaults; then
fi
# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
+# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
trap '{ (exit 1); exit 1; }' 1 2 13 15
}
-
# Create a (secure) tmp directory for tmp files.
{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
test -n "$tmp" && test -d "$tmp"
} ||
{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
} ||
{
- echo "$me: cannot create a temporary directory in ." >&2
+ $as_echo "$as_me: cannot create a temporary directory in ." >&2
{ (exit 1); exit 1; }
}
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=' '
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-#
-# CONFIG_FILES section.
-#
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-s,@CYGPATH_W@,$CYGPATH_W,;t t
-s,@PACKAGE@,$PACKAGE,;t t
-s,@VERSION@,$VERSION,;t t
-s,@ACLOCAL@,$ACLOCAL,;t t
-s,@AUTOCONF@,$AUTOCONF,;t t
-s,@AUTOMAKE@,$AUTOMAKE,;t t
-s,@AUTOHEADER@,$AUTOHEADER,;t t
-s,@MAKEINFO@,$MAKEINFO,;t t
-s,@install_sh@,$install_sh,;t t
-s,@STRIP@,$STRIP,;t t
-s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
-s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
-s,@mkdir_p@,$mkdir_p,;t t
-s,@AWK@,$AWK,;t t
-s,@SET_MAKE@,$SET_MAKE,;t t
-s,@am__leading_dot@,$am__leading_dot,;t t
-s,@AMTAR@,$AMTAR,;t t
-s,@am__tar@,$am__tar,;t t
-s,@am__untar@,$am__untar,;t t
-s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
-s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
-s,@MAINT@,$MAINT,;t t
-s,@CC@,$CC,;t t
-s,@CFLAGS@,$CFLAGS,;t t
-s,@LDFLAGS@,$LDFLAGS,;t t
-s,@CPPFLAGS@,$CPPFLAGS,;t t
-s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
-s,@DEPDIR@,$DEPDIR,;t t
-s,@am__include@,$am__include,;t t
-s,@am__quote@,$am__quote,;t t
-s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
-s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
-s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
-s,@CCDEPMODE@,$CCDEPMODE,;t t
-s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
-s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
-s,@SED@,$SED,;t t
-s,@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@,$HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE,;t t
-s,@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_FALSE@,$HAVE_SED_WITH_REASONABLE_SUBSTITUTION_FALSE,;t t
-s,@build@,$build,;t t
-s,@build_cpu@,$build_cpu,;t t
-s,@build_vendor@,$build_vendor,;t t
-s,@build_os@,$build_os,;t t
-s,@host@,$host,;t t
-s,@host_cpu@,$host_cpu,;t t
-s,@host_vendor@,$host_vendor,;t t
-s,@host_os@,$host_os,;t t
-s,@EGREP@,$EGREP,;t t
-s,@LN_S@,$LN_S,;t t
-s,@ECHO@,$ECHO,;t t
-s,@AR@,$AR,;t t
-s,@ac_ct_AR@,$ac_ct_AR,;t t
-s,@RANLIB@,$RANLIB,;t t
-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s,@DSYMUTIL@,$DSYMUTIL,;t t
-s,@ac_ct_DSYMUTIL@,$ac_ct_DSYMUTIL,;t t
-s,@NMEDIT@,$NMEDIT,;t t
-s,@ac_ct_NMEDIT@,$ac_ct_NMEDIT,;t t
-s,@CPP@,$CPP,;t t
-s,@CXX@,$CXX,;t t
-s,@CXXFLAGS@,$CXXFLAGS,;t t
-s,@ac_ct_CXX@,$ac_ct_CXX,;t t
-s,@CXXDEPMODE@,$CXXDEPMODE,;t t
-s,@am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t
-s,@am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t
-s,@CXXCPP@,$CXXCPP,;t t
-s,@F77@,$F77,;t t
-s,@FFLAGS@,$FFLAGS,;t t
-s,@ac_ct_F77@,$ac_ct_F77,;t t
-s,@LIBTOOL@,$LIBTOOL,;t t
-s,@PKG_CONFIG@,$PKG_CONFIG,;t t
-s,@ac_pt_PKG_CONFIG@,$ac_pt_PKG_CONFIG,;t t
-s,@XORG_CFLAGS@,$XORG_CFLAGS,;t t
-s,@XORG_LIBS@,$XORG_LIBS,;t t
-s,@PCIUTILS_CFLAGS@,$PCIUTILS_CFLAGS,;t t
-s,@PCIUTILS_LIBS@,$PCIUTILS_LIBS,;t t
-s,@HAVE_PCI_PCI_H_TRUE@,$HAVE_PCI_PCI_H_TRUE,;t t
-s,@HAVE_PCI_PCI_H_FALSE@,$HAVE_PCI_PCI_H_FALSE,;t t
-s,@PCIACCESS_CFLAGS@,$PCIACCESS_CFLAGS,;t t
-s,@PCIACCESS_LIBS@,$PCIACCESS_LIBS,;t t
-s,@XSERVER_LIBPCIACCESS_TRUE@,$XSERVER_LIBPCIACCESS_TRUE,;t t
-s,@XSERVER_LIBPCIACCESS_FALSE@,$XSERVER_LIBPCIACCESS_FALSE,;t t
-s,@USE_EXA_TRUE@,$USE_EXA_TRUE,;t t
-s,@USE_EXA_FALSE@,$USE_EXA_FALSE,;t t
-s,@DRI_CFLAGS@,$DRI_CFLAGS,;t t
-s,@DRI_LIBS@,$DRI_LIBS,;t t
-s,@USE_DRI_TRUE@,$USE_DRI_TRUE,;t t
-s,@USE_DRI_FALSE@,$USE_DRI_FALSE,;t t
-s,@HAVE_XF86_ANSIC_H_TRUE@,$HAVE_XF86_ANSIC_H_TRUE,;t t
-s,@HAVE_XF86_ANSIC_H_FALSE@,$HAVE_XF86_ANSIC_H_FALSE,;t t
-s,@ATOM_BIOS_TRUE@,$ATOM_BIOS_TRUE,;t t
-s,@ATOM_BIOS_FALSE@,$ATOM_BIOS_FALSE,;t t
-s,@ATOM_BIOS_PARSER_TRUE@,$ATOM_BIOS_PARSER_TRUE,;t t
-s,@ATOM_BIOS_PARSER_FALSE@,$ATOM_BIOS_PARSER_FALSE,;t t
-s,@HAVE_ZLIB_TRUE@,$HAVE_ZLIB_TRUE,;t t
-s,@HAVE_ZLIB_FALSE@,$HAVE_ZLIB_FALSE,;t t
-s,@WARN_CFLAGS@,$WARN_CFLAGS,;t t
-s,@PEDANTIC_CFLAGS@,$PEDANTIC_CFLAGS,;t t
-s,@ATOMBIOS_CFLAGS@,$ATOMBIOS_CFLAGS,;t t
-s,@RANDR_VERSION@,$RANDR_VERSION,;t t
-s,@moduledir@,$moduledir,;t t
-s,@DRIVER_NAME@,$DRIVER_NAME,;t t
-s,@APP_MAN_SUFFIX@,$APP_MAN_SUFFIX,;t t
-s,@LIB_MAN_SUFFIX@,$LIB_MAN_SUFFIX,;t t
-s,@FILE_MAN_SUFFIX@,$FILE_MAN_SUFFIX,;t t
-s,@MISC_MAN_SUFFIX@,$MISC_MAN_SUFFIX,;t t
-s,@DRIVER_MAN_SUFFIX@,$DRIVER_MAN_SUFFIX,;t t
-s,@ADMIN_MAN_SUFFIX@,$ADMIN_MAN_SUFFIX,;t t
-s,@APP_MAN_DIR@,$APP_MAN_DIR,;t t
-s,@LIB_MAN_DIR@,$LIB_MAN_DIR,;t t
-s,@FILE_MAN_DIR@,$FILE_MAN_DIR,;t t
-s,@MISC_MAN_DIR@,$MISC_MAN_DIR,;t t
-s,@DRIVER_MAN_DIR@,$DRIVER_MAN_DIR,;t t
-s,@ADMIN_MAN_DIR@,$ADMIN_MAN_DIR,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\).*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\).*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
+ { (exit 1); exit 1; }; }
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_t"; then
+ break
+ elif $ac_last_try; then
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", line, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
+$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
+ { (exit 1); exit 1; }; }
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ ac_file_inputs="$ac_file_inputs '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
-
ac_builddir=.
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
case $srcdir in
- .) # No --srcdir option. We are building in place.
+ .) # We are building in place.
ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
case $INSTALL in
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
esac
+_ACEOF
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
-#
-# CONFIG_HEADER section.
-#
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ rm -f "$tmp/stdin"
case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- # Do quote $f, to prevent DOS paths from being IFS'd.
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
+ -) cat "$tmp/out" && rm -f "$tmp/out";;
+ *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ esac \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
{ (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- # Remove the trailing spaces.
- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
-
-_ACEOF
-
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h. The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status. Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless. Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo ' :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
-do
- # Write a limited-size here document to $tmp/defines.sed.
- echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#define' lines.
- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines
-echo ' fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
- # Write a limited-size here document to $tmp/undefs.sed.
- echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#undef'
- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
- rm -f conftest.undefs
- mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
-
-cat >>$CONFIG_STATUS <<\_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- echo "/* Generated by configure. */" >$tmp/config.h
- else
- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
- cat $tmp/in >>$tmp/config.h
- rm -f $tmp/in
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
if test x"$ac_file" != x-; then
- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+ } >"$tmp/config.h" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- rm -f $ac_file
- mv $tmp/config.h $ac_file
+ rm -f "$ac_file"
+ mv "$tmp/config.h" "$ac_file" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
fi
else
- cat $tmp/config.h
- rm -f $tmp/config.h
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
+$as_echo "$as_me: error: could not create -" >&2;}
+ { (exit 1); exit 1; }; }
fi
-# Compute $ac_file's index in $config_headers.
+# Compute "$ac_file"'s index in $config_headers.
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
- $ac_file | $ac_file:* )
+ "$ac_file" | "$ac_file":* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
-echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X$ac_file : 'X\(//\)[^/]' \| \
- X$ac_file : 'X\(//\)$' \| \
- X$ac_file : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X$ac_file |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`/stamp-h$_am_stamp_count
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_dest" : 'X\(//\)[^/]' \| \
- X"$ac_dest" : 'X\(//\)$' \| \
- X"$ac_dest" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
+echo "timestamp for "$ac_file"" >`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
+ :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
- case $ac_dest in
- depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
@@ -23391,18 +24504,29 @@ echo "$as_me: executing $ac_dest commands" >&6;}
# each Makefile.in and add a new line on top of each file to say so.
# So let's grep whole file.
if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`(dirname "$mf") 2>/dev/null ||
+ dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
else
continue
fi
@@ -23424,59 +24548,90 @@ echo X"$mf" |
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
- fdir=`(dirname "$file") 2>/dev/null ||
+ fdir=`$as_dirname -- "$file" ||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p $dirpart/$fdir
- else
- as_dir=$dirpart/$fdir
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir=$dirpart/$fdir
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
-echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
-
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
done
;;
+
esac
-done
-_ACEOF
+done # for ac_tag
-cat >>$CONFIG_STATUS <<\_ACEOF
{ (exit 0); exit 0; }
_ACEOF
chmod +x $CONFIG_STATUS
ac_clean_files=$ac_clean_files_save
+test $ac_write_fail = 0 ||
+ { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
@@ -23498,6 +24653,10 @@ if test "$no_create" != yes; then
# would make configure fail if this is the last instruction.
$ac_cs_success || { (exit 1); exit 1; }
fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
if test "x$USE_DRI" != xyes ; then
echo ""
diff --git a/driver/xf86-video-radeonhd/configure.ac b/driver/xf86-video-radeonhd/configure.ac
index c31f10adc..3615a9b81 100644
--- a/driver/xf86-video-radeonhd/configure.ac
+++ b/driver/xf86-video-radeonhd/configure.ac
@@ -2,7 +2,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-radeonhd],
- 1.2.5,
+ 1.3.0,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/radeonhd],
xf86-video-radeonhd)
@@ -14,6 +14,9 @@ AM_INIT_AUTOMAKE([dist-bzip2])
AM_MAINTAINER_MODE
+AC_CONFIG_FILES([shave shave-libtool])
+
+
# Program checks.
AC_DISABLE_STATIC
AC_PROG_CC
@@ -48,19 +51,19 @@ AH_BOTTOM([#endif])
AC_ARG_WITH(xorg-module-dir,
AC_HELP_STRING([--with-xorg-module-dir=DIR],
- [Default xorg module directory [[default=$libdir/xorg/modules]]]),
+ [Default xorg module directory (default $libdir/xorg/modules)]),
[moduledir="$withval"],
[moduledir="$libdir/xorg/modules"])
AC_ARG_ENABLE(exa,
AC_HELP_STRING([--disable-exa],
- [Disable EXA support [[default enabled]]]),
+ [Disable EXA support (default enabled)]),
[EXA="$enableval"],
[EXA=yes])
AC_ARG_ENABLE(dri,
AC_HELP_STRING([--disable-dri],
- [Disable DRI support [[default enabled]]]),
+ [Disable DRI support (default enabled)]),
[DRI="$enableval"],
[DRI=yes])
@@ -76,6 +79,10 @@ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
# @@@@ need to check for the right server version once RandR 1.2 is in.
# @@@ do we really need fontsproto here?
PKG_CHECK_MODULES(XORG, [xorg-server xproto fontsproto $REQUIRED_MODULES])
+PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
+ HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
+ HAVE_XEXTPROTO_71="no")
+AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ])
sdkdir=$(pkg-config --variable=sdkdir xorg-server)
@@ -220,6 +227,10 @@ AC_CHECK_DECL(xf86RotateFreeShadow,
#include <windowstr.h>
#include <xf86Crtc.h>])
+AC_CHECK_DECL(pci_device_enable,
+ [AC_DEFINE(HAVE_PCI_DEVICE_ENABLE, 1, [Have pci_device_enable prototype])],
+ [],
+ [#include <pciaccess.h>])
CFLAGS="$SAVED_CFLAGS"
@@ -297,20 +308,21 @@ for w in \
-Wpointer-arith -Woverlength-strings -Wvolatile-register-var \
-Winit-self -Wbad-function-cast \
-Wstrict-prototypes -Wold-style-definition \
- -Wnested-externs -Wdisabled-optimization ;
+ -Wnested-externs -Wdisabled-optimization \
+ -Wno-unknown-pragmas ;
do
AC_PROG_CC_FLAG($w,[WARN_CFLAGS="$WARN_CFLAGS $w"],)
done
-# Due to AtomBIOS spitting out too much with -pedantic
+# atombios.h prohibits -std=c99 due to unnamed unions
PEDANTIC_CFLAGS=""
-for w in -pedantic -Wno-long-long -Wno-variadic-macros ; do
+for w in -Wno-long-long -Wno-variadic-macros ; do
AC_PROG_CC_FLAG($w,[PEDANTIC_CFLAGS="$PEDANTIC_CFLAGS $w"],)
done
# AtomBios special flags
ATOMBIOS_CFLAGS=""
-for w in -std=c99 -Wno-unknown-pragmas ; do
+for w in -Wno-unknown-pragmas ; do
AC_PROG_CC_FLAG($w,[ATOMBIOS_CFLAGS="$ATOMBIOS_CFLAGS $w"],)
done
@@ -360,6 +372,8 @@ AC_DEFINE_UNQUOTED([PACKAGE_VERSION_PATCHLEVEL],
[Patchlevel Version])
fi
+SHAVE_INIT(.,enable)
+
AC_OUTPUT([
Makefile
man/Makefile
diff --git a/driver/xf86-video-radeonhd/man/Makefile.in b/driver/xf86-video-radeonhd/man/Makefile.in
index 25c1e7efa..9ef9ca9c2 100644
--- a/driver/xf86-video-radeonhd/man/Makefile.in
+++ b/driver/xf86-video-radeonhd/man/Makefile.in
@@ -14,7 +14,7 @@
@SET_MAKE@
-# $Id: Makefile.in,v 1.9 2009/04/26 13:59:41 matthieu Exp $
+# $Id: Makefile.in,v 1.10 2009/11/24 16:57:34 matthieu Exp $
#
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
#
@@ -66,7 +66,8 @@ host_triplet = @host@
subdir = man
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(install_sh) -d
@@ -90,6 +91,7 @@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_MAKEFLAGS = @AM_MAKEFLAGS@
APP_MAN_DIR = @APP_MAN_DIR@
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
AR = @AR@
@@ -127,13 +129,17 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
+FC = @FC@
FFLAGS = @FFLAGS@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
+GREP = @GREP@
HAVE_PCI_PCI_H_FALSE = @HAVE_PCI_PCI_H_FALSE@
HAVE_PCI_PCI_H_TRUE = @HAVE_PCI_PCI_H_TRUE@
HAVE_SED_WITH_REASONABLE_SUBSTITUTION_FALSE = @HAVE_SED_WITH_REASONABLE_SUBSTITUTION_FALSE@
HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE = @HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@
+HAVE_XEXTPROTO_71_FALSE = @HAVE_XEXTPROTO_71_FALSE@
+HAVE_XEXTPROTO_71_TRUE = @HAVE_XEXTPROTO_71_TRUE@
HAVE_XF86_ANSIC_H_FALSE = @HAVE_XF86_ANSIC_H_FALSE@
HAVE_XF86_ANSIC_H_TRUE = @HAVE_XF86_ANSIC_H_TRUE@
HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@
@@ -153,10 +159,12 @@ LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEFLAGS = @MAKEFLAGS@
MAKEINFO = @MAKEINFO@
MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
NMEDIT = @NMEDIT@
+OBJC = @OBJC@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -171,6 +179,7 @@ PCIUTILS_CFLAGS = @PCIUTILS_CFLAGS@
PCIUTILS_LIBS = @PCIUTILS_LIBS@
PEDANTIC_CFLAGS = @PEDANTIC_CFLAGS@
PKG_CONFIG = @PKG_CONFIG@
+Q = @Q@
RANDR_VERSION = @RANDR_VERSION@
RANLIB = @RANLIB@
SED = @SED@
@@ -181,21 +190,18 @@ USE_DRI_FALSE = @USE_DRI_FALSE@
USE_DRI_TRUE = @USE_DRI_TRUE@
USE_EXA_FALSE = @USE_EXA_FALSE@
USE_EXA_TRUE = @USE_EXA_TRUE@
+V = @V@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XEXT_CFLAGS = @XEXT_CFLAGS@
+XEXT_LIBS = @XEXT_LIBS@
XORG_CFLAGS = @XORG_CFLAGS@
XORG_LIBS = @XORG_LIBS@
XSERVER_LIBPCIACCESS_FALSE = @XSERVER_LIBPCIACCESS_FALSE@
XSERVER_LIBPCIACCESS_TRUE = @XSERVER_LIBPCIACCESS_TRUE@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DSYMUTIL = @ac_ct_DSYMUTIL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_NMEDIT = @ac_ct_NMEDIT@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -212,26 +218,34 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
moduledir = @moduledir@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+shavedir = @shavedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
drivermandir = $(DRIVER_MAN_DIR)
diff --git a/driver/xf86-video-radeonhd/man/radeonhd.man b/driver/xf86-video-radeonhd/man/radeonhd.man
index e7a4d9914..7a1641a1f 100644
--- a/driver/xf86-video-radeonhd/man/radeonhd.man
+++ b/driver/xf86-video-radeonhd/man/radeonhd.man
@@ -30,7 +30,8 @@ has the following limitations:
.\".TP "\w'\fB\(bu\fR'u+1n"
.TP 2
\(bu
-Support for hardware-based 2D acceleration and Xvideo needs more testing on R6xx and R7xx based cards.
+Support for hardware-based 2D acceleration and Xvideo needs more testing on
+R6xx and R7xx based cards.
.TP
\(bu
No TV and Component connector support so far.
@@ -166,23 +167,38 @@ RS740, RS740M
.B RS780
Radeon HD 3100/3200/3300 Series
.TP 8
-.B RV770
-Radeon HD 4800 Series; Everest, K2, Denali ATI FirePro
-.TP 8
.B R700
Radeon R700
.TP 8
-.B M98
-Radeon M98 Mobility
+.B RV710
+Radeon HD4570, HD4350
.TP 8
.B RV730
Radeon HD4670, HD4650
.TP 8
+.B RV740
+Radeon HD4770. EXPERIMENTAL AND UNTESTED
+.TP 8
+.B RV770
+Radeon HD 4800 Series; Everest, K2, Denali ATI FirePro
+.TP 8
+.B RV790
+Radeon HD 4890
+.TP 8
+.B M92
+Mobility Radeon HD4330, HD4530, HD4570. EXPERIMENTAL
+.TP 8
+.B M93
+Mobility Radeon M93. EXPERIMENTAL AND UNTESTED
+.TP 8
.B M96
-Radeon M96 Mobility
+Mobility Radeon HD4600
.TP 8
-.B RV710
-Radeon HD4570, HD4350
+.B M97
+Mobility Radeon HD4860. EXPERIMENTAL AND UNTESTED
+.TP 8
+.B M98
+Mobility Radeon HD4850, HD4870
.\" END_DEVICE_LIST marker - do not delete
.PD
.\"
@@ -220,21 +236,22 @@ is the newer but more experimental hardware-based acceleration technique.
.RS
.PD
.PP
-The default is
-.BR "depending on the chipset" ,
-driver version, and state of acceleration techniques and tries to give the best
-user experience.
-.br
+Default value
+.B depends on the chipset
+and the acceleration techniques available for that chipset, and is chosen to
+give the best user experience.
+.PP
+Note that R600 and above require
+.BR DRI
+to be enabled for "exa".
+.PP
Rotation isn't supported for the AccelMethods \*qnone\*q and \*qshadowfb\*q.
.RE
.TP
.BI "Option \*qDRI\*q"
Use this option to enable 3D and Xv acceleration using DRI.
-Currently, the default is
-.B on
-on R5xx and RS6xx chips, and
-.B off
-on all others.
+Default is
+.B on.
.TP
.BI "Option \*qOffscreenSize\*q \*q" <integer>M|<integer>% \*q
Specify the amount of framebuffer memory used for offscreen pixmaps, in
@@ -400,25 +417,26 @@ mailing list.
.TP
.BI "Option \*qAudio\*q \*q" boolean \*q
This option enables the audio hardware, which is responsible for delivering audio data
-to the different HDMI capable conntectors and used to communicate with the audio
+to the different HDMI capable connectors and used to communicate with the audio
driver of the operation system. The default is
.BR off .
.TP
.BI "Option \*qHDMI\*q \*q" string \*q
Possible values are "DVI-I_0", "DVI-I_1"..,"DVI-D_0","DVI-I_1",.., "all".
This option enables HDMI-Audio and HDMI-Info packets on the specified connector.
-This is the only way enabling HDMI at the moment, since decoding E-EDID data to check if monitor supports HDMI is not implemented (yet).
+This is the only way enabling HDMI at the moment, since decoding E-EDID data
+to check if monitor supports HDMI is not implemented (yet).
.TP
.BI "Option \*qCoherent\*q \*q" string \*q
There are two different ways to program the TMDS encoder in an output
-for best signal quality for the transmitter chip used inside a digital
-monitor. This option may be used to set the programming for each output
+for best signal quality for the transmitter chip used inside a digital
+monitor. This option may be used to set the programming for each output
individually. The string is a space separated list of
-.B <output_transmitter>=on|off.
-Possible values for
-.B <output_transmitter>
-are:
-.B TMDS_A,
+.B <output_transmitter>=on|off.
+Possible values for
+.B <output_transmitter>
+are:
+.B TMDS_A,
.B TMDS_B,
.B UNIPHY_A,
.B UNIPHY_B,
@@ -426,14 +444,14 @@ are:
.B AtomOutputLVTMA,
.B AtomOutputKldskpLvtma,
.B AtomOutputUniphyA,
-.B AtomOutputUniphyB.
-The log file should be consulted
+.B AtomOutputUniphyB.
+The log file should be consulted
on which ones to use. The line:
.B "Option \*qCoherent\*q \*qTMDS_A=off TMDS_B=on\*q"
-will set coherent mode to
-.B off
-for TMDS A and to
-.B on
+will set coherent mode to
+.B off
+for TMDS A and to
+.B on
for TMDS B.
The default for all outputs is
.BR off .
@@ -470,6 +488,16 @@ This option isn't implemented yet and has no effect.
.RE
.PP
.PD
+.TP
+.BI "Option \*qForceLowPowerMode\*q \*q" boolean \*q
+Enable to statically set GPU engine clock to a lower than default value. This
+can help reduce power consumption. The default is
+.B off.
+.TP
+.BI "Option \*qLowPowerModeEngineClock\*q \*q" integer \*q
+Engine clock frequency to use when ForceLowPowerMode is enabled, in Hz. If not
+set, the minimum known working frequency is used. If integer is negative,
+validation is skipped, and the absolute value is used for the engine clock.
.\"
.\"
.SH RANDR OUTPUT PROPERTIES
@@ -591,7 +619,7 @@ panning, which is included in Xserver 1.6. It is considerable more flexible,
and should support rotated pans.
.RE
.TP
-.B _Backlight
+.B Backlight
.RS
.TP 16
.PD 0
@@ -604,7 +632,7 @@ int32
.RS
.PD
.PP
-Specifies the backlight intensity on laptop panels, if controlable by the driver.
+Specifies the backlight intensity on laptop panels, if controllable by the driver.
.RE
.TP
.B _Coherent
@@ -625,6 +653,31 @@ Sets the coherent flag for TMDS signals. See also
.IR "Coherent" .
.\"
.\"
+.SH XVIDEO ATTRIBUTES
+On R600 and above, the following XVideo attributes are supported.
+Use
+.B xvattr
+to query and set these values at runtime.
+.TP
+.B XV_COLORSPACE
+Select the Y'CbCr color space of the source video. Accepted values
+are 'auto-detect'(0), 'Rec.601'(1), and 'Rec.709'(2).
+.RS
+.PP
+Rec.709 is the standard which applies to high-definition television
+broadcasting and "HD" digital video in general; Rec.601 applies to all
+other digital video.
+When 'auto-detect' is selected, Rec.709 is used for videos encoded
+at least 928px wide, and Rec.601 is used otherwise.
+This cut-off is lower than 720p so that the correct color space can be
+applied to some media with non-standard resolutions that have high-probability
+of having originated from Rec.709 encoded content.
+.PP
+Default is
+.B 'auto-detect'(0).
+.RE
+.\"
+.\"
.SH KNOWN BUGS
As the
.B radeonhd
@@ -677,5 +730,6 @@ Query the bugtracker for radeonhd bugs
.\"
.\"
.SH AUTHORS
-Egbert Eich, Luc Verhaegen, Matthias Hopf, Hans Ulrich Niedermann, Christian Koenig, Alexander Deucher, and others.
+Egbert Eich, Luc Verhaegen, Matthias Hopf, Hans Ulrich Niedermann,
+Christian Koenig, Alexander Deucher, and others.
.\" vim: syntax=nroff
diff --git a/driver/xf86-video-radeonhd/shave-libtool.in b/driver/xf86-video-radeonhd/shave-libtool.in
new file mode 100644
index 000000000..1f3a720c1
--- /dev/null
+++ b/driver/xf86-video-radeonhd/shave-libtool.in
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+# we need sed
+SED=@SED@
+if test -z "$SED" ; then
+SED=sed
+fi
+
+lt_unmangle ()
+{
+ last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_\-\.]*_la-##'`
+}
+
+# the real libtool to use
+LIBTOOL="$1"
+shift
+
+# if 1, don't print anything, the underlaying wrapper will do it
+pass_though=0
+
+# scan the arguments, keep the right ones for libtool, and discover the mode
+preserved_args=
+while test "$#" -gt 0; do
+ opt="$1"
+ shift
+
+ case $opt in
+ --mode=*)
+ mode=`echo $opt | $SED -e 's/[-_a-zA-Z0-9]*=//'`
+ preserved_args="$preserved_args $opt"
+ ;;
+ -o)
+ lt_output="$1"
+ preserved_args="$preserved_args $opt"
+ ;;
+ *)
+ preserved_args="$preserved_args $opt"
+ ;;
+ esac
+done
+
+case "$mode" in
+compile)
+ # shave will be called and print the actual CC/CXX/LINK line
+ preserved_args="$preserved_args --shave-mode=$mode"
+ pass_though=1
+ ;;
+link)
+ preserved_args="$preserved_args --shave-mode=$mode"
+ Q=" LINK "
+ ;;
+*)
+ # let's u
+ # echo "*** libtool: Unimplemented mode: $mode, fill a bug report"
+ ;;
+esac
+
+lt_unmangle "$lt_output"
+output=$last_result
+
+if test -z $V; then
+ if test $pass_though -eq 0; then
+ echo "$Q$output"
+ fi
+ $LIBTOOL --silent $preserved_args
+else
+ echo $LIBTOOL $preserved_args
+ $LIBTOOL $preserved_args
+fi
diff --git a/driver/xf86-video-radeonhd/shave.in b/driver/xf86-video-radeonhd/shave.in
new file mode 100644
index 000000000..5c16f27ae
--- /dev/null
+++ b/driver/xf86-video-radeonhd/shave.in
@@ -0,0 +1,79 @@
+#!/bin/sh
+
+# we need sed
+SED=@SED@
+if test -z "$SED" ; then
+SED=sed
+fi
+
+lt_unmangle ()
+{
+ last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_\-\.]*_la-##'`
+}
+
+# the tool to wrap (cc, cxx, ar, ranlib, ..)
+tool="$1"
+shift
+
+# the reel tool (to call)
+REEL_TOOL="$1"
+shift
+
+pass_through=0
+preserved_args=
+while test "$#" -gt 0; do
+ opt="$1"
+ shift
+
+ case $opt in
+ --shave-mode=*)
+ mode=`echo $opt | $SED -e 's/[-_a-zA-Z0-9]*=//'`
+ ;;
+ -o)
+ lt_output="$1"
+ preserved_args="$preserved_args $opt"
+ ;;
+ *)
+ preserved_args="$preserved_args $opt"
+ ;;
+ esac
+done
+
+# mode=link is handled in the libtool wrapper
+case "$mode,$tool" in
+link,*)
+ pass_through=1
+ ;;
+*,cxx)
+ Q=" CXX "
+ ;;
+*,cc)
+ Q=" CC "
+ ;;
+*,fc)
+ Q=" FC "
+ ;;
+*,f77)
+ Q=" F77 "
+ ;;
+*,objc)
+ Q=" OBJC "
+ ;;
+*,*)
+ # should not happen
+ Q=" CC "
+ ;;
+esac
+
+lt_unmangle "$lt_output"
+output=$last_result
+
+if test -z $V; then
+ if test $pass_through -eq 0; then
+ echo "$Q$output"
+ fi
+ $REEL_TOOL $preserved_args
+else
+ echo $REEL_TOOL $preserved_args
+ $REEL_TOOL $preserved_args
+fi
diff --git a/driver/xf86-video-radeonhd/src/Makefile.am b/driver/xf86-video-radeonhd/src/Makefile.am
index 7156d63bd..49429f915 100644
--- a/driver/xf86-video-radeonhd/src/Makefile.am
+++ b/driver/xf86-video-radeonhd/src/Makefile.am
@@ -18,6 +18,7 @@ radeonhd_drv_la_LIBADD += @PCIACCESS_LIBS@
endif
radeonhd_drv_la_SOURCES = \
+ atombios_rev.h \
r5xx_3dregs.h \
r5xx_accel.c \
r5xx_accel.h \
@@ -76,6 +77,8 @@ radeonhd_drv_la_SOURCES = \
rhd_output.h \
rhd_pll.c \
rhd_pll.h \
+ rhd_pm.c \
+ rhd_pm.h \
rhd_randr.c \
rhd_randr.h \
rhd_regs.h \
@@ -85,7 +88,9 @@ radeonhd_drv_la_SOURCES = \
rhd_vga.c \
rhd_vga.h \
rhd_video.c \
- rhd_video.h
+ rhd_video.h \
+ rhd_acpi.c \
+ rhd_acpi.h
nodist_radeonhd_drv_la_SOURCES = \
git_version.h
@@ -146,8 +151,7 @@ if HAVE_SED_WITH_REASONABLE_SUBSTITUTION
SRCMAN = $(top_srcdir)/man/radeonhd.man
CLEANFILES += radeonhd.man.new
radeonhd.man.new: rhd_id.c $(SRCMAN)
- echo "Generating radeon.man.new..."; \
- ( $(SED) -n '1,/^\.\\" START_DEVICE_LIST marker - do not delete/p' "$(SRCMAN)"; \
+ $(Q)( $(SED) -n '1,/^\.\\" START_DEVICE_LIST marker - do not delete/p' "$(SRCMAN)"; \
$(SED) -e '1,/^[ ]*\/\* START_DEVICE_LIST marker - do not delete \*\/ *$$/d' \
-e '/^[ ]*\/\* END_DEVICE_LIST marker - do not delete \*\/ *$$/,$$d' \
-e '/^[ ]\{1,\}xf86Msg(X_NONE,/d' \
@@ -162,8 +166,7 @@ radeonhd.man.new: rhd_id.c $(SRCMAN)
SRCREADME = $(top_srcdir)/README
CLEANFILES += README.new
README.new: rhd_id.c $(top_srcdir)/README
- echo "Generating README.new..."; \
- ( $(SED) -n '1,/^BEGIN_DEVICE_LIST$$/p' "$(SRCREADME)"; \
+ $(Q)( $(SED) -n '1,/^BEGIN_DEVICE_LIST$$/p' "$(SRCREADME)"; \
$(SED) -e '1,/^[ ]*\/\* START_DEVICE_LIST marker - do not delete \*\/ *$$/d' \
-e '/^[ ]*\/\* END_DEVICE_LIST marker - do not delete \*\/ *$$/,$$d' \
-e '/^[ ]\{1,\}xf86Msg(X_NONE,/d' \
@@ -180,13 +183,13 @@ README.new: rhd_id.c $(top_srcdir)/README
all-local: radeonhd.man.new README.new
@changed=""; \
if diff -u "$(SRCMAN)" radeonhd.man.new; then \
- echo "radeon(4) man page is current."; \
+ if test "x$(Q)" = "x@"; then :; else echo "radeon(4) man page is current."; fi \
else \
changed="$$changed $(SRCMAN)"; \
mv -f radeonhd.man.new "$(SRCMAN)"; \
fi; \
if diff -u "$(SRCREADME)" README.new; then \
- echo "README file is current."; \
+ if test "x$(Q)" = "x@"; then :; else echo "README file is current."; fi \
else \
changed="$$changed $(SRCREADME)"; \
mv -f README.new "$(SRCREADME)"; \
diff --git a/driver/xf86-video-radeonhd/src/Makefile.in b/driver/xf86-video-radeonhd/src/Makefile.in
index 4755d6c12..43a82e0d2 100644
--- a/driver/xf86-video-radeonhd/src/Makefile.in
+++ b/driver/xf86-video-radeonhd/src/Makefile.in
@@ -60,7 +60,8 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ README.new
subdir = src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(install_sh) -d
@@ -97,8 +98,8 @@ am__DEPENDENCIES_1 =
@ATOM_BIOS_PARSER_TRUE@am__DEPENDENCIES_2 = libatom.la
radeonhd_drv_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
-am__radeonhd_drv_la_SOURCES_DIST = r5xx_3dregs.h r5xx_accel.c \
- r5xx_accel.h r5xx_regs.h r5xx_xaa.c r600_reg.h \
+am__radeonhd_drv_la_SOURCES_DIST = atombios_rev.h r5xx_3dregs.h \
+ r5xx_accel.c r5xx_accel.h r5xx_regs.h r5xx_xaa.c r600_reg.h \
r600_reg_auto_r6xx.h r600_reg_r6xx.h r600_reg_r7xx.h \
r600_shader.h r600_shader.c r600_state.h radeon_3d.c \
radeon_textured_videofuncs.c rhd_atombios.c rhd_atombios.h \
@@ -110,9 +111,10 @@ am__radeonhd_drv_la_SOURCES_DIST = r5xx_3dregs.h r5xx_accel.c \
rhd_hdmi.c rhd_hdmi.h rhd_helper.c rhd_i2c.c rhd_i2c.h \
rhd_id.c rhd_lut.c rhd_lut.h rhd_lvtma.c rhd_mc.c rhd_mc.h \
rhd_modes.c rhd_modes.h rhd_monitor.c rhd_monitor.h \
- rhd_output.c rhd_output.h rhd_pll.c rhd_pll.h rhd_randr.c \
- rhd_randr.h rhd_regs.h rhd_shadow.c rhd_shadow.h rhd_tmds.c \
- rhd_vga.c rhd_vga.h rhd_video.c rhd_video.h r5xx_exa.c \
+ rhd_output.c rhd_output.h rhd_pll.c rhd_pll.h rhd_pm.c \
+ rhd_pm.h rhd_randr.c rhd_randr.h rhd_regs.h rhd_shadow.c \
+ rhd_shadow.h rhd_tmds.c rhd_vga.c rhd_vga.h rhd_video.c \
+ rhd_video.h rhd_acpi.c rhd_acpi.h r5xx_exa.c \
radeon_exa_render.c rhd_dri.c rhd_dri.h radeon_dri.h \
radeon_drm.h r6xx_accel.c r6xx_accel.h r600_exa.c \
r600_textured_videofuncs.c AtomBios/includes/atombios.h \
@@ -142,9 +144,10 @@ am_radeonhd_drv_la_OBJECTS = radeonhd_drv_la-r5xx_accel.lo \
radeonhd_drv_la-rhd_lvtma.lo radeonhd_drv_la-rhd_mc.lo \
radeonhd_drv_la-rhd_modes.lo radeonhd_drv_la-rhd_monitor.lo \
radeonhd_drv_la-rhd_output.lo radeonhd_drv_la-rhd_pll.lo \
- radeonhd_drv_la-rhd_randr.lo radeonhd_drv_la-rhd_shadow.lo \
- radeonhd_drv_la-rhd_tmds.lo radeonhd_drv_la-rhd_vga.lo \
- radeonhd_drv_la-rhd_video.lo $(am__objects_1) $(am__objects_2) \
+ radeonhd_drv_la-rhd_pm.lo radeonhd_drv_la-rhd_randr.lo \
+ radeonhd_drv_la-rhd_shadow.lo radeonhd_drv_la-rhd_tmds.lo \
+ radeonhd_drv_la-rhd_vga.lo radeonhd_drv_la-rhd_video.lo \
+ radeonhd_drv_la-rhd_acpi.lo $(am__objects_1) $(am__objects_2) \
$(am__objects_3) $(am__objects_3)
nodist_radeonhd_drv_la_OBJECTS =
radeonhd_drv_la_OBJECTS = $(am_radeonhd_drv_la_OBJECTS) \
@@ -173,6 +176,7 @@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_MAKEFLAGS = @AM_MAKEFLAGS@
APP_MAN_DIR = @APP_MAN_DIR@
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
AR = @AR@
@@ -210,13 +214,17 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
+FC = @FC@
FFLAGS = @FFLAGS@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
+GREP = @GREP@
HAVE_PCI_PCI_H_FALSE = @HAVE_PCI_PCI_H_FALSE@
HAVE_PCI_PCI_H_TRUE = @HAVE_PCI_PCI_H_TRUE@
HAVE_SED_WITH_REASONABLE_SUBSTITUTION_FALSE = @HAVE_SED_WITH_REASONABLE_SUBSTITUTION_FALSE@
HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE = @HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@
+HAVE_XEXTPROTO_71_FALSE = @HAVE_XEXTPROTO_71_FALSE@
+HAVE_XEXTPROTO_71_TRUE = @HAVE_XEXTPROTO_71_TRUE@
HAVE_XF86_ANSIC_H_FALSE = @HAVE_XF86_ANSIC_H_FALSE@
HAVE_XF86_ANSIC_H_TRUE = @HAVE_XF86_ANSIC_H_TRUE@
HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@
@@ -236,10 +244,12 @@ LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEFLAGS = @MAKEFLAGS@
MAKEINFO = @MAKEINFO@
MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
NMEDIT = @NMEDIT@
+OBJC = @OBJC@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -254,6 +264,7 @@ PCIUTILS_CFLAGS = @PCIUTILS_CFLAGS@
PCIUTILS_LIBS = @PCIUTILS_LIBS@
PEDANTIC_CFLAGS = @PEDANTIC_CFLAGS@
PKG_CONFIG = @PKG_CONFIG@
+Q = @Q@
RANDR_VERSION = @RANDR_VERSION@
RANLIB = @RANLIB@
SED = @SED@
@@ -264,21 +275,18 @@ USE_DRI_FALSE = @USE_DRI_FALSE@
USE_DRI_TRUE = @USE_DRI_TRUE@
USE_EXA_FALSE = @USE_EXA_FALSE@
USE_EXA_TRUE = @USE_EXA_TRUE@
+V = @V@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XEXT_CFLAGS = @XEXT_CFLAGS@
+XEXT_LIBS = @XEXT_LIBS@
XORG_CFLAGS = @XORG_CFLAGS@
XORG_LIBS = @XORG_LIBS@
XSERVER_LIBPCIACCESS_FALSE = @XSERVER_LIBPCIACCESS_FALSE@
XSERVER_LIBPCIACCESS_TRUE = @XSERVER_LIBPCIACCESS_TRUE@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DSYMUTIL = @ac_ct_DSYMUTIL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_NMEDIT = @ac_ct_NMEDIT@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -295,26 +303,34 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
moduledir = @moduledir@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+shavedir = @shavedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
@@ -334,23 +350,24 @@ radeonhd_drv_la_LDFLAGS = -module -avoid-version
radeonhd_drv_la_CFLAGS = $(AM_CFLAGS) @PEDANTIC_CFLAGS@
radeonhd_drv_la_LIBADD = $(am__append_1) $(am__append_4) \
$(am__append_7)
-radeonhd_drv_la_SOURCES = r5xx_3dregs.h r5xx_accel.c r5xx_accel.h \
- r5xx_regs.h r5xx_xaa.c r600_reg.h r600_reg_auto_r6xx.h \
- r600_reg_r6xx.h r600_reg_r7xx.h r600_shader.h r600_shader.c \
- r600_state.h radeon_3d.c radeon_textured_videofuncs.c \
- rhd_atombios.c rhd_atombios.h rhd_atomcrtc.c rhd_atomout.c \
- rhd_atomout.h rhd_atompll.c rhd_audio.c rhd_audio.h \
- rhd_biosscratch.c rhd_biosscratch.h rhd_card.h rhd_connector.c \
- rhd_connector.h rhd_crtc.c rhd_crtc.h rhd_cs.c rhd_cs.h \
- rhd_cursor.c rhd_cursor.h rhd_dac.c rhd_ddia.c rhd_dig.c \
- rhd_driver.c rhd_edid.c rhd.h rhd_hdmi.c rhd_hdmi.h \
- rhd_helper.c rhd_i2c.c rhd_i2c.h rhd_id.c rhd_lut.c rhd_lut.h \
- rhd_lvtma.c rhd_mc.c rhd_mc.h rhd_modes.c rhd_modes.h \
- rhd_monitor.c rhd_monitor.h rhd_output.c rhd_output.h \
- rhd_pll.c rhd_pll.h rhd_randr.c rhd_randr.h rhd_regs.h \
- rhd_shadow.c rhd_shadow.h rhd_tmds.c rhd_vga.c rhd_vga.h \
- rhd_video.c rhd_video.h $(am__append_2) $(am__append_3) \
- $(am__append_5) $(am__append_6)
+radeonhd_drv_la_SOURCES = atombios_rev.h r5xx_3dregs.h r5xx_accel.c \
+ r5xx_accel.h r5xx_regs.h r5xx_xaa.c r600_reg.h \
+ r600_reg_auto_r6xx.h r600_reg_r6xx.h r600_reg_r7xx.h \
+ r600_shader.h r600_shader.c r600_state.h radeon_3d.c \
+ radeon_textured_videofuncs.c rhd_atombios.c rhd_atombios.h \
+ rhd_atomcrtc.c rhd_atomout.c rhd_atomout.h rhd_atompll.c \
+ rhd_audio.c rhd_audio.h rhd_biosscratch.c rhd_biosscratch.h \
+ rhd_card.h rhd_connector.c rhd_connector.h rhd_crtc.c \
+ rhd_crtc.h rhd_cs.c rhd_cs.h rhd_cursor.c rhd_cursor.h \
+ rhd_dac.c rhd_ddia.c rhd_dig.c rhd_driver.c rhd_edid.c rhd.h \
+ rhd_hdmi.c rhd_hdmi.h rhd_helper.c rhd_i2c.c rhd_i2c.h \
+ rhd_id.c rhd_lut.c rhd_lut.h rhd_lvtma.c rhd_mc.c rhd_mc.h \
+ rhd_modes.c rhd_modes.h rhd_monitor.c rhd_monitor.h \
+ rhd_output.c rhd_output.h rhd_pll.c rhd_pll.h rhd_pm.c \
+ rhd_pm.h rhd_randr.c rhd_randr.h rhd_regs.h rhd_shadow.c \
+ rhd_shadow.h rhd_tmds.c rhd_vga.c rhd_vga.h rhd_video.c \
+ rhd_video.h rhd_acpi.c rhd_acpi.h $(am__append_2) \
+ $(am__append_3) $(am__append_5) $(am__append_6)
nodist_radeonhd_drv_la_SOURCES = \
git_version.h
@@ -472,6 +489,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radeonhd_drv_la-radeon_3d.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radeonhd_drv_la-radeon_exa_render.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radeonhd_drv_la-radeon_textured_videofuncs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radeonhd_drv_la-rhd_acpi.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radeonhd_drv_la-rhd_atombios.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radeonhd_drv_la-rhd_atomcrtc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radeonhd_drv_la-rhd_atomout.Plo@am__quote@
@@ -499,6 +517,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radeonhd_drv_la-rhd_monitor.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radeonhd_drv_la-rhd_output.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radeonhd_drv_la-rhd_pll.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radeonhd_drv_la-rhd_pm.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radeonhd_drv_la-rhd_randr.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radeonhd_drv_la-rhd_shadow.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radeonhd_drv_la-rhd_tmds.Plo@am__quote@
@@ -771,6 +790,13 @@ radeonhd_drv_la-rhd_pll.lo: rhd_pll.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radeonhd_drv_la_CFLAGS) $(CFLAGS) -c -o radeonhd_drv_la-rhd_pll.lo `test -f 'rhd_pll.c' || echo '$(srcdir)/'`rhd_pll.c
+radeonhd_drv_la-rhd_pm.lo: rhd_pm.c
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radeonhd_drv_la_CFLAGS) $(CFLAGS) -MT radeonhd_drv_la-rhd_pm.lo -MD -MP -MF "$(DEPDIR)/radeonhd_drv_la-rhd_pm.Tpo" -c -o radeonhd_drv_la-rhd_pm.lo `test -f 'rhd_pm.c' || echo '$(srcdir)/'`rhd_pm.c; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/radeonhd_drv_la-rhd_pm.Tpo" "$(DEPDIR)/radeonhd_drv_la-rhd_pm.Plo"; else rm -f "$(DEPDIR)/radeonhd_drv_la-rhd_pm.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rhd_pm.c' object='radeonhd_drv_la-rhd_pm.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radeonhd_drv_la_CFLAGS) $(CFLAGS) -c -o radeonhd_drv_la-rhd_pm.lo `test -f 'rhd_pm.c' || echo '$(srcdir)/'`rhd_pm.c
+
radeonhd_drv_la-rhd_randr.lo: rhd_randr.c
@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radeonhd_drv_la_CFLAGS) $(CFLAGS) -MT radeonhd_drv_la-rhd_randr.lo -MD -MP -MF "$(DEPDIR)/radeonhd_drv_la-rhd_randr.Tpo" -c -o radeonhd_drv_la-rhd_randr.lo `test -f 'rhd_randr.c' || echo '$(srcdir)/'`rhd_randr.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/radeonhd_drv_la-rhd_randr.Tpo" "$(DEPDIR)/radeonhd_drv_la-rhd_randr.Plo"; else rm -f "$(DEPDIR)/radeonhd_drv_la-rhd_randr.Tpo"; exit 1; fi
@@ -806,6 +832,13 @@ radeonhd_drv_la-rhd_video.lo: rhd_video.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radeonhd_drv_la_CFLAGS) $(CFLAGS) -c -o radeonhd_drv_la-rhd_video.lo `test -f 'rhd_video.c' || echo '$(srcdir)/'`rhd_video.c
+radeonhd_drv_la-rhd_acpi.lo: rhd_acpi.c
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radeonhd_drv_la_CFLAGS) $(CFLAGS) -MT radeonhd_drv_la-rhd_acpi.lo -MD -MP -MF "$(DEPDIR)/radeonhd_drv_la-rhd_acpi.Tpo" -c -o radeonhd_drv_la-rhd_acpi.lo `test -f 'rhd_acpi.c' || echo '$(srcdir)/'`rhd_acpi.c; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/radeonhd_drv_la-rhd_acpi.Tpo" "$(DEPDIR)/radeonhd_drv_la-rhd_acpi.Plo"; else rm -f "$(DEPDIR)/radeonhd_drv_la-rhd_acpi.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rhd_acpi.c' object='radeonhd_drv_la-rhd_acpi.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radeonhd_drv_la_CFLAGS) $(CFLAGS) -c -o radeonhd_drv_la-rhd_acpi.lo `test -f 'rhd_acpi.c' || echo '$(srcdir)/'`rhd_acpi.c
+
radeonhd_drv_la-r5xx_exa.lo: r5xx_exa.c
@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(radeonhd_drv_la_CFLAGS) $(CFLAGS) -MT radeonhd_drv_la-r5xx_exa.lo -MD -MP -MF "$(DEPDIR)/radeonhd_drv_la-r5xx_exa.Tpo" -c -o radeonhd_drv_la-r5xx_exa.lo `test -f 'r5xx_exa.c' || echo '$(srcdir)/'`r5xx_exa.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/radeonhd_drv_la-r5xx_exa.Tpo" "$(DEPDIR)/radeonhd_drv_la-r5xx_exa.Plo"; else rm -f "$(DEPDIR)/radeonhd_drv_la-r5xx_exa.Tpo"; exit 1; fi
@@ -1062,8 +1095,7 @@ dist-hook: git_version.stamp
"git_version.h" > "$(distdir)/git_version.h"; \
fi
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@radeonhd.man.new: rhd_id.c $(SRCMAN)
-@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ echo "Generating radeon.man.new..."; \
-@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ ( $(SED) -n '1,/^\.\\" START_DEVICE_LIST marker - do not delete/p' "$(SRCMAN)"; \
+@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ $(Q)( $(SED) -n '1,/^\.\\" START_DEVICE_LIST marker - do not delete/p' "$(SRCMAN)"; \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ $(SED) -e '1,/^[ ]*\/\* START_DEVICE_LIST marker - do not delete \*\/ *$$/d' \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ -e '/^[ ]*\/\* END_DEVICE_LIST marker - do not delete \*\/ *$$/,$$d' \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ -e '/^[ ]\{1,\}xf86Msg(X_NONE,/d' \
@@ -1075,8 +1107,7 @@ dist-hook: git_version.stamp
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ $(SED) -n '/^\.\\" END_DEVICE_LIST marker - do not delete/,$$p' "$(SRCMAN)" \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ ) > radeonhd.man.new
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@README.new: rhd_id.c $(top_srcdir)/README
-@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ echo "Generating README.new..."; \
-@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ ( $(SED) -n '1,/^BEGIN_DEVICE_LIST$$/p' "$(SRCREADME)"; \
+@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ $(Q)( $(SED) -n '1,/^BEGIN_DEVICE_LIST$$/p' "$(SRCREADME)"; \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ $(SED) -e '1,/^[ ]*\/\* START_DEVICE_LIST marker - do not delete \*\/ *$$/d' \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ -e '/^[ ]*\/\* END_DEVICE_LIST marker - do not delete \*\/ *$$/,$$d' \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ -e '/^[ ]\{1,\}xf86Msg(X_NONE,/d' \
@@ -1093,13 +1124,13 @@ dist-hook: git_version.stamp
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@all-local: radeonhd.man.new README.new
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ @changed=""; \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ if diff -u "$(SRCMAN)" radeonhd.man.new; then \
-@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ echo "radeon(4) man page is current."; \
+@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ if test "x$(Q)" = "x@"; then :; else echo "radeon(4) man page is current."; fi \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ else \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ changed="$$changed $(SRCMAN)"; \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ mv -f radeonhd.man.new "$(SRCMAN)"; \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ fi; \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ if diff -u "$(SRCREADME)" README.new; then \
-@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ echo "README file is current."; \
+@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ if test "x$(Q)" = "x@"; then :; else echo "README file is current."; fi \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ else \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ changed="$$changed $(SRCREADME)"; \
@HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@@MAINTAINER_MODE_TRUE@ mv -f README.new "$(SRCREADME)"; \
diff --git a/driver/xf86-video-radeonhd/src/atombios_rev.h b/driver/xf86-video-radeonhd/src/atombios_rev.h
new file mode 100644
index 000000000..cb95ac20b
--- /dev/null
+++ b/driver/xf86-video-radeonhd/src/atombios_rev.h
@@ -0,0 +1,199 @@
+/*
+ * Copyright 2007-2009 Luc Verhaegen <libv@exsuse.de>
+ * Copyright 2007-2009 Matthias Hopf <mhopf@novell.com>
+ * Copyright 2007-2009 Egbert Eich <eich@novell.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/*
+ * Reverse engineered AtomBIOS entries.
+ * Plus addon information for dynamic data tables.
+ */
+
+/*
+ * Dynamic data tables:
+ * Modify table sizes and offset positions by replacing access code
+ * (e.g. &d->asPowerUnknownInfo[i]) by custom code.
+ * d is the current data structure, data as a char *,
+ * start the main data structure as char *, i is counter.
+ *
+ * #pragma count ATOM_POWERPLAY_INFO_V4 asPowerIndexInfo (d->NumPowerIndexEntries)
+ * #pragma offset ATOM_POWERPLAY_INFO_V4 asPowerIndexInfo (data + d->OffsetPowerIndexEntries + i*d->SizeOfPowerIndexEntry)
+ * #pragma return ATOM_POWERPLAY_INFO_V4 - (d->OffsetPowerUnknownEntries + ATOM_MAX_NUMBEROF_POWERUNKNOWN_BLOCK_V4*d->SizeOfPowerUnknownEntry)
+ *
+ * Has to be issued *before* the offset is encountered. And outside structures.
+ */
+
+typedef struct
+{
+ unsigned char u[2];
+} U16;
+#define _U16(x) (((x).u[1]<<8)|(x).u[0])
+
+typedef struct
+{
+ unsigned char u[3];
+} U24;
+#define _U24(x) (((x).u[2]<<16)|((x).u[1]<<8)|(x).u[0])
+
+#include <stddef.h> /* offsetof() */
+#define COUNT_REMAINDER(s,m,e) ((((ATOM_COMMON_TABLE_HEADER*)d)->usStructureSize-offsetof(s,m)) / sizeof(e))
+#define RETURN_REMAINDER(s,m,e) (d ? (offsetof(s,m) + COUNT_REMAINDER(s,m,e) * sizeof(e)) : 0)
+#define COUNT_ALL(s,e) ((((ATOM_COMMON_TABLE_HEADER*)d)->usStructureSize-sizeof(ATOM_COMMON_TABLE_HEADER)) / sizeof(e))
+#define RETURN_ALL(s,e) (d ? (sizeof(ATOM_COMMON_TABLE_HEADER) + COUNT_ALL(s,e) * sizeof(e)) : 0)
+
+
+/*
+ * Dynamic additions to generic atombios.h
+ */
+#pragma count ATOM_GPIO_I2C_INFO asGPIO_Info COUNT_ALL (ATOM_GPIO_I2C_INFO, ATOM_GPIO_I2C_ASSIGMENT)
+#pragma return ATOM_GPIO_I2C_INFO asGPIO_Info RETURN_ALL (ATOM_GPIO_I2C_INFO, ATOM_GPIO_I2C_ASSIGMENT)
+
+#pragma count ATOM_GPIO_PIN_LUT asGPIO_Pin COUNT_ALL (ATOM_GPIO_PIN_LUT, ATOM_GPIO_PIN_ASSIGNMENT)
+#pragma return ATOM_GPIO_PIN_LUT asGPIO_Pin RETURN_ALL (ATOM_GPIO_PIN_LUT, ATOM_GPIO_PIN_ASSIGNMENT)
+
+#pragma count ATOM_VESA_TO_INTENAL_MODE_LUT asVESA_ToExtendedModeInfo COUNT_ALL (ATOM_VESA_TO_INTENAL_MODE_LUT, ATOM_VESA_TO_EXTENDED_MODE)
+#pragma return ATOM_VESA_TO_INTENAL_MODE_LUT asVESA_ToExtendedModeInfo RETURN_ALL (ATOM_VESA_TO_INTENAL_MODE_LUT, ATOM_VESA_TO_EXTENDED_MODE)
+
+#pragma count ATOM_COMPONENT_VIDEO_INFO aWbGpioStateBlock (d->ucNumOfWbGpioBlocks)
+#pragma count ATOM_COMPONENT_VIDEO_INFO aModeTimings COUNT_REMAINDER (ATOM_COMPONENT_VIDEO_INFO, aModeTimings[0], ATOM_DTD_FORMAT)
+#pragma return ATOM_COMPONENT_VIDEO_INFO - RETURN_REMAINDER (ATOM_COMPONENT_VIDEO_INFO, aModeTimings[0], ATOM_DTD_FORMAT)
+#pragma count ATOM_COMPONENT_VIDEO_INFO_V21 aWbGpioStateBlock (d->ucNumOfWbGpioBlocks)
+#pragma count ATOM_COMPONENT_VIDEO_INFO_V21 aModeTimings COUNT_REMAINDER (ATOM_COMPONENT_VIDEO_INFO_V21, aModeTimings[0], ATOM_DTD_FORMAT)
+#pragma return ATOM_COMPONENT_VIDEO_INFO_V21 - RETURN_REMAINDER (ATOM_COMPONENT_VIDEO_INFO_V21, aModeTimings[0], ATOM_DTD_FORMAT)
+
+#pragma count INDIRECT_IO_ACCESS IOAccessSequence -1 /* No useful information */
+#pragma return INDIRECT_IO_ACCESS IOAccessSequence RETURN_ALL (ATOM_INDIRECT_IO_ACCESS, UCHAR)
+
+#pragma offset ATOM_VRAM_INFO_V3 aVramInfo *(offset_ATOM_VRAM_INFO_V3_aVramInfo(d,i))
+#pragma count ATOM_VRAM_INFO_V3 aVramInfo (count_ATOM_VRAM_INFO_V3_aVramInfo(d))
+#pragma offset ATOM_VRAM_INFO_V3 asMemPatch *(data + d->usMemClkPatchTblOffset)
+/* Needs more love */
+#pragma return ATOM_VRAM_INFO_V3 - 0
+
+/* Doesn't look completely reasonable, but seems ok... */
+#pragma count ATOM_ASIC_PROFILE_VOLTAGE asLeakVol ((d->usSize - offsetof(ATOM_ASIC_PROFILE_VOLTAGE,asLeakVol)) / sizeof(ATOM_LEAKID_VOLTAGE))
+
+#pragma count ATOM_VOLTAGE_FORMULA ucVIDAdjustEntries (d->ucNumOfVoltageEntries)
+#pragma offset ATOM_VOLTAGE_OBJECT_INFO asVoltageObj *(offset_ATOM_VOLTAGE_OBJECT_INFO_asVoltageObj(d,i))
+#pragma count ATOM_VOLTAGE_OBJECT_INFO asVoltageObj (count_ATOM_VOLTAGE_OBJECT_INFO_asVoltageObj(d))
+#pragma return ATOM_VOLTAGE_OBJECT_INFO - 0
+
+#pragma count ATOM_POWER_SOURCE_INFO asPwrObj COUNT_REMAINDER (ATOM_POWER_SOURCE_INFO, asPwrObj[0], ATOM_POWER_SOURCE_OBJECT)
+#pragma return ATOM_POWER_SOURCE_INFO - RETURN_REMAINDER (ATOM_POWER_SOURCE_INFO, asPwrObj[0], ATOM_POWER_SOURCE_OBJECT)
+
+/*
+ * Generic atombios.h
+ */
+#include "atombios.h"
+
+static inline char *offset_ATOM_VRAM_INFO_V3_aVramInfo(ATOM_VRAM_INFO_V3 *d, int i) {
+ char *r = (char *)&d->aVramInfo[0];
+ while (i-- > 0)
+ r += ((ATOM_VRAM_MODULE_V3 *)r)->usSize;
+ return r;
+}
+static inline int count_ATOM_VRAM_INFO_V3_aVramInfo(ATOM_VRAM_INFO_V3 *d) {
+ int i=0;
+ char *last = 0, *next;
+ while ( (next = offset_ATOM_VRAM_INFO_V3_aVramInfo(d,i)) - (char*)d < d->usMemAdjustTblOffset && next != last) {
+ last = next;
+ i++;
+ }
+ return i;
+}
+static inline char *offset_ATOM_VOLTAGE_OBJECT_INFO_asVoltageObj(ATOM_VOLTAGE_OBJECT_INFO *d, int i) {
+ char *r = (char *)&d->asVoltageObj[0];
+ while (i-- > 0)
+ r += ((ATOM_VOLTAGE_OBJECT *)r)->ucSize;
+ return r;
+}
+static inline int count_ATOM_VOLTAGE_OBJECT_INFO_asVoltageObj(ATOM_VOLTAGE_OBJECT_INFO *d) {
+ int i=0;
+ char *last=0, *next;
+ while ( (next = offset_ATOM_VOLTAGE_OBJECT_INFO_asVoltageObj(d,i)) - (char*)d < d->sHeader.usStructureSize && next != last) {
+ last = next;
+ i++;
+ }
+ return i;
+}
+
+
+/*
+ * Reverse engineered tables
+ */
+
+/* ucTableFormatRevision=4 / ucTableContentRevision=1 */
+
+#pragma count ATOM_POWERINDEX_INFO_V4 Index (((ATOM_POWERPLAY_INFO_V4*)start)->SizeOfPowerIndexEntry-1)
+typedef struct _ATOM_POWERINDEX_INFO_V4
+{
+ UCHAR Type;
+ UCHAR Index[3];
+}ATOM_POWERINDEX_INFO_V4;
+
+typedef struct _ATOM_POWERMODE_INFO_V4
+{
+ U24 engineClock;
+ U24 memoryClock;
+ U16 voltage;
+ U16 unknown8;
+ U16 unknown10;
+ U16 unknown12Flags;
+ U16 unknown14;
+}ATOM_POWERMODE_INFO_V4;
+
+#pragma count ATOM_POWERUNKNOWN_INFO_V4 unknown (((ATOM_POWERPLAY_INFO_V4*)start)->SizeOfPowerUnknownEntry)
+typedef struct _ATOM_POWERUNKNOWN_INFO_V4
+{
+ UCHAR unknown[12];
+}ATOM_POWERUNKNOWN_INFO_V4;
+
+#pragma count ATOM_POWERPLAY_INFO_V4 asPowerIndexInfo (d->NumPowerIndexEntries)
+#pragma offset ATOM_POWERPLAY_INFO_V4 asPowerIndexInfo *(data + _U16(d->OffsetPowerIndexEntries) + i*d->SizeOfPowerIndexEntry)
+#pragma count ATOM_POWERPLAY_INFO_V4 asPowerModeInfo ((_U16(d->OffsetPowerUnknownEntries) - _U16(d->OffsetPowerModeEntries)) / d->SizeOfPowerModeEntry)
+#pragma offset ATOM_POWERPLAY_INFO_V4 asPowerModeInfo *(data + _U16(d->OffsetPowerModeEntries) + i*d->SizeOfPowerModeEntry)
+#pragma count ATOM_POWERPLAY_INFO_V4 asPowerUnknownInfo ((d->sHeader.usStructureSize - _U16(d->OffsetPowerUnknownEntries)) / d->SizeOfPowerUnknownEntry)
+#pragma offset ATOM_POWERPLAY_INFO_V4 asPowerUnknownInfo *(data + _U16(d->OffsetPowerUnknownEntries) + i*d->SizeOfPowerUnknownEntry)
+#pragma return ATOM_POWERPLAY_INFO_V4 - (d ? (_U16(d->OffsetPowerUnknownEntries) + ((d->sHeader.usStructureSize - _U16(d->OffsetPowerUnknownEntries)) / d->SizeOfPowerUnknownEntry)*d->SizeOfPowerUnknownEntry) : 0)
+
+typedef struct _ATOM_POWERPLAY_INFO_V4
+{
+ ATOM_COMMON_TABLE_HEADER sHeader;
+ UCHAR unknown4;
+ UCHAR NumPowerIndexEntries;
+ UCHAR SizeOfPowerIndexEntry;
+ UCHAR SizeOfPowerModeEntry;
+ UCHAR SizeOfPowerUnknownEntry;
+ U16 OffsetPowerIndexEntries;
+ U16 OffsetPowerModeEntries;
+ U16 OffsetPowerUnknownEntries;
+ U16 unknown15[3];
+ U16 unknownFlags;
+ U16 unknown23[5];
+ U16 OffsetPowerModeEntries2;
+ U16 OffsetPowerUnknownEntries2;
+ UCHAR unknown37[3]; /* Only on some BIOSes (e.g. RV770) */
+ ATOM_POWERINDEX_INFO_V4 asPowerIndexInfo[4];
+ ATOM_POWERMODE_INFO_V4 asPowerModeInfo[10];
+ ATOM_POWERUNKNOWN_INFO_V4 asPowerUnknownInfo[4];
+}ATOM_POWERPLAY_INFO_V4;
+
+
diff --git a/driver/xf86-video-radeonhd/src/git_version.h b/driver/xf86-video-radeonhd/src/git_version.h
index a98f5f5d6..86048a2c4 100644
--- a/driver/xf86-video-radeonhd/src/git_version.h
+++ b/driver/xf86-video-radeonhd/src/git_version.h
@@ -20,7 +20,7 @@
#define GIT_REPO 1
/* Git SHA ID of last commit */
-#define GIT_SHAID "cb54f48b"
+#define GIT_SHAID "8cbff7bf"
/* Branch this tree is on */
#define GIT_BRANCH "master"
diff --git a/driver/xf86-video-radeonhd/src/r5xx_accel.h b/driver/xf86-video-radeonhd/src/r5xx_accel.h
index 50e44b3a9..3e642bec9 100644
--- a/driver/xf86-video-radeonhd/src/r5xx_accel.h
+++ b/driver/xf86-video-radeonhd/src/r5xx_accel.h
@@ -82,7 +82,7 @@ struct R5xx3D {
unsigned short texH[2];
Bool is_transform[2];
- struct _PictTransform *transform[2];
+ struct pixman_transform *transform[2];
Bool has_mask;
/* Whether we are tiling horizontally and vertically */
Bool need_src_tile_x;
diff --git a/driver/xf86-video-radeonhd/src/r600_exa.c b/driver/xf86-video-radeonhd/src/r600_exa.c
index 86da7af2f..e68195b4a 100644
--- a/driver/xf86-video-radeonhd/src/r600_exa.c
+++ b/driver/xf86-video-radeonhd/src/r600_exa.c
@@ -316,6 +316,7 @@ R600DoneSolid(PixmapPtr pPix)
(rhdPtr->ChipSet == RHD_M74) ||
(rhdPtr->ChipSet == RHD_M82) ||
(rhdPtr->ChipSet == RHD_RS780) ||
+ (rhdPtr->ChipSet == RHD_RS880) ||
(rhdPtr->ChipSet == RHD_RV710))
cp_set_surface_sync(pScrn, accel_state->ib, TC_ACTION_ENA_bit,
accel_state->vb_size, accel_state->vb_mc_addr);
@@ -559,6 +560,7 @@ R600DoCopy(ScrnInfoPtr pScrn)
(rhdPtr->ChipSet == RHD_M74) ||
(rhdPtr->ChipSet == RHD_M82) ||
(rhdPtr->ChipSet == RHD_RS780) ||
+ (rhdPtr->ChipSet == RHD_RS880) ||
(rhdPtr->ChipSet == RHD_RV710))
cp_set_surface_sync(pScrn, accel_state->ib, TC_ACTION_ENA_bit,
accel_state->vb_size, accel_state->vb_mc_addr);
@@ -1391,6 +1393,11 @@ static Bool R600PrepareComposite(int op, PicturePtr pSrcPicture,
cb_config_t cb_conf;
shader_config_t vs_conf, ps_conf;
+ /* RV740 seems to be particularly problematic */
+ /* if ((rhdPtr->ChipSet == RHD_RV740) && (w < 32 || h < 32)) */
+ if (rhdPtr->ChipSet == RHD_RV740)
+ return FALSE;
+
/* return FALSE; */
if (pMask) {
@@ -1723,6 +1730,7 @@ static void R600DoneComposite(PixmapPtr pDst)
(rhdPtr->ChipSet == RHD_M74) ||
(rhdPtr->ChipSet == RHD_M82) ||
(rhdPtr->ChipSet == RHD_RS780) ||
+ (rhdPtr->ChipSet == RHD_RS880) ||
(rhdPtr->ChipSet == RHD_RV710))
cp_set_surface_sync(pScrn, accel_state->ib, TC_ACTION_ENA_bit,
accel_state->vb_size, accel_state->vb_mc_addr);
@@ -1853,6 +1861,12 @@ R600DownloadFromScreen(PixmapPtr pSrc, int x, int y, int w, int h,
int wpass = w * (bpp/8);
drmBufPtr scratch;
+ /* RV740 seems to be particularly problematic with small xfers */
+ /* if ((rhdPtr->ChipSet == RHD_RV740) && (w < 32 || h < 32)) */
+ /* Composite in software with DFS partially active breaks badly */
+ if (rhdPtr->ChipSet == RHD_RV740)
+ return FALSE;
+
if (src_pitch & 7)
return FALSE;
diff --git a/driver/xf86-video-radeonhd/src/r600_reg.h b/driver/xf86-video-radeonhd/src/r600_reg.h
index 66dba68f0..3c27c7f72 100644
--- a/driver/xf86-video-radeonhd/src/r600_reg.h
+++ b/driver/xf86-video-radeonhd/src/r600_reg.h
@@ -51,7 +51,7 @@ enum {
SET_LOOP_CONST_offset = 0x0003e200,
SET_LOOP_CONST_end = 0x0003e380,
SET_BOOL_CONST_offset = 0x0003e380,
- SET_BOOL_CONST_end = 0x0003e38c,
+ SET_BOOL_CONST_end = 0x0003e38c
};
/* packet3 IT_SURFACE_BASE_UPDATE bits */
@@ -87,14 +87,6 @@ enum {
WAIT_MEM = (1<<4)
};
-/* CP packet types */
-enum {
- RADEON_CP_PACKET0 = 0x00000000,
- RADEON_CP_PACKET1 = 0x40000000,
- RADEON_CP_PACKET2 = 0x80000000,
- RADEON_CP_PACKET3 = 0xC0000000
-};
-
/* Packet3 commands */
enum {
IT_NOP = 0x10,
diff --git a/driver/xf86-video-radeonhd/src/r600_reg_auto_r6xx.h b/driver/xf86-video-radeonhd/src/r600_reg_auto_r6xx.h
index 9d5aa3c7e..fbbd45201 100644
--- a/driver/xf86-video-radeonhd/src/r600_reg_auto_r6xx.h
+++ b/driver/xf86-video-radeonhd/src/r600_reg_auto_r6xx.h
@@ -3079,7 +3079,7 @@ enum {
INC_mask = 0xff << 24,
INC_shift = 24,
SQ_BOOL_CONST_0 = 0x0003e380,
- SQ_BOOL_CONST_0_num = 3,
+ SQ_BOOL_CONST_0_num = 3
} ;
diff --git a/driver/xf86-video-radeonhd/src/r600_reg_r6xx.h b/driver/xf86-video-radeonhd/src/r600_reg_r6xx.h
index 425bee4b1..0a09074e8 100644
--- a/driver/xf86-video-radeonhd/src/r600_reg_r6xx.h
+++ b/driver/xf86-video-radeonhd/src/r600_reg_r6xx.h
@@ -34,7 +34,7 @@ enum {
MM_INDEX = 0x0000,
MM_DATA = 0x0004,
- /*SRBM_STATUS = 0x0e50, */
+ SRBM_STATUS = 0x0e50,
RLC_RQ_PENDING_bit = 1 << 3,
RCU_RQ_PENDING_bit = 1 << 4,
GRBM_RQ_PENDING_bit = 1 << 5,
@@ -401,19 +401,19 @@ enum {
IB1_INT_STAT_bit = 1 << 30,
RB_INT_STAT_bit = 1 << 31,
-// SX_ALPHA_TEST_CONTROL = 0x00028410,
+/* SX_ALPHA_TEST_CONTROL = 0x00028410, */
ALPHA_FUNC__REF_NEVER = 0,
ALPHA_FUNC__REF_ALWAYS = 7,
-// DB_SHADER_CONTROL = 0x0002880c,
+/* DB_SHADER_CONTROL = 0x0002880c, */
Z_ORDER__EARLY_Z_THEN_LATE_Z = 2,
-// PA_SU_SC_MODE_CNTL = 0x00028814,
-// POLY_MODE_mask = 0x03 << 3,
+/* PA_SU_SC_MODE_CNTL = 0x00028814, */
+/* POLY_MODE_mask = 0x03 << 3, */
POLY_MODE__TRIANGLES = 0, POLY_MODE__DUAL_MODE,
-// POLYMODE_FRONT_PTYPE_mask = 0x07 << 5,
+/* POLYMODE_FRONT_PTYPE_mask = 0x07 << 5, */
POLYMODE_PTYPE__POINTS = 0, POLYMODE_PTYPE__LINES, POLYMODE_PTYPE__TRIANGLES,
PA_SC_AA_SAMPLE_LOCS_8S_WD1_M = 0x00028c20,
DB_SRESULTS_COMPARE_STATE0 = 0x00028d28, /* See autoregs: DB_SRESULTS_COMPARE_STATE1 */
-// DB_SRESULTS_COMPARE_STATE1 = 0x00028d2c,
+/* DB_SRESULTS_COMPARE_STATE1 = 0x00028d2c, */
DB_ALPHA_TO_MASK = 0x00028d44,
ALPHA_TO_MASK_ENABLE = 1 << 0,
ALPHA_TO_MASK_OFFSET0_mask = 0x03 << 8,
@@ -425,8 +425,8 @@ enum {
ALPHA_TO_MASK_OFFSET3_mask = 0x03 << 8,
ALPHA_TO_MASK_OFFSET3_shift = 14,
-// SQ_VTX_CONSTANT_WORD2_0 = 0x00038008,
-// SQ_VTX_CONSTANT_WORD2_0__DATA_FORMAT_mask = 0x3f << 20,
+/* SQ_VTX_CONSTANT_WORD2_0 = 0x00038008, */
+/* SQ_VTX_CONSTANT_WORD2_0__DATA_FORMAT_mask = 0x3f << 20, */
FMT_INVALID=0, FMT_8, FMT_4_4, FMT_3_3_2,
FMT_16=5, FMT_16_FLOAT, FMT_8_8,
FMT_5_6_5, FMT_6_5_5, FMT_1_5_5_5, FMT_4_4_4_4,
@@ -441,7 +441,7 @@ enum {
FMT_8_8_8, FMT_16_16_16, FMT_16_16_16_FLOAT, FMT_32_32_32,
FMT_32_32_32_FLOAT=48,
-// High level register file lengths
+/* High level register file lengths */
SQ_ALU_CONSTANT = SQ_ALU_CONSTANT0_0, /* 256 PS, 256 VS */
SQ_ALU_CONSTANT_ps_num = 256,
SQ_ALU_CONSTANT_vs_num = 256,
@@ -497,7 +497,7 @@ enum {
SQ_BOOL_CONST_offset = 4,
SQ_BOOL_CONST_ps = 0,
SQ_BOOL_CONST_vs = SQ_BOOL_CONST_ps + SQ_BOOL_CONST_ps_num,
- SQ_BOOL_CONST_gs = SQ_BOOL_CONST_vs + SQ_BOOL_CONST_vs_num,
+ SQ_BOOL_CONST_gs = SQ_BOOL_CONST_vs + SQ_BOOL_CONST_vs_num
};
diff --git a/driver/xf86-video-radeonhd/src/r600_reg_r7xx.h b/driver/xf86-video-radeonhd/src/r600_reg_r7xx.h
index f3e796281..f9c2b661f 100644
--- a/driver/xf86-video-radeonhd/src/r600_reg_r7xx.h
+++ b/driver/xf86-video-radeonhd/src/r600_reg_r7xx.h
@@ -33,7 +33,7 @@ enum {
/* R7XX_MC_VM_FB_LOCATION = 0x00002024, */
-// GRBM_STATUS = 0x00008010,
+/* GRBM_STATUS = 0x00008010, */
R7XX_TA_BUSY_bit = 1 << 14,
R7xx_SQ_DYN_GPR_CNTL_PS_FLUSH_REQ = 0x00008d8c,
@@ -43,14 +43,14 @@ enum {
ISOLATE_GS_ENABLE_bit = 1 << 13,
VS_PC_LIMIT_ENABLE_bit = 1 << 14,
-// SQ_ALU_WORD0 = 0x00008dfc,
-// SRC0_SEL_mask = 0x1ff << 0,
-// SRC1_SEL_mask = 0x1ff << 13,
+/* SQ_ALU_WORD0 = 0x00008dfc, */
+/* SRC0_SEL_mask = 0x1ff << 0, */
+/* SRC1_SEL_mask = 0x1ff << 13, */
R7xx_SQ_ALU_SRC_1_DBL_L = 0xf4,
R7xx_SQ_ALU_SRC_1_DBL_M = 0xf5,
R7xx_SQ_ALU_SRC_0_5_DBL_L = 0xf6,
R7xx_SQ_ALU_SRC_0_5_DBL_M = 0xf7,
-// INDEX_MODE_mask = 0x07 << 26,
+/* INDEX_MODE_mask = 0x07 << 26, */
R7xx_SQ_INDEX_GLOBAL = 0x05,
R7xx_SQ_INDEX_GLOBAL_AR_X = 0x06,
R6xx_SQ_ALU_WORD1_OP2 = 0x00008dfc,
@@ -74,46 +74,46 @@ enum {
R7xx_SQ_OP2_INST_PRED_SETGT_64 = 0x7c,
R7xx_SQ_OP2_INST_PRED_SETE_64 = 0x7d,
R7xx_SQ_OP2_INST_PRED_SETGE_64 = 0x7e,
-// SQ_ALU_WORD1_OP3 = 0x00008dfc,
-// SRC2_SEL_mask = 0x1ff << 0,
-// R7xx_SQ_ALU_SRC_1_DBL_L = 0xf4,
-// R7xx_SQ_ALU_SRC_1_DBL_M = 0xf5,
-// R7xx_SQ_ALU_SRC_0_5_DBL_L = 0xf6,
-// R7xx_SQ_ALU_SRC_0_5_DBL_M = 0xf7,
-// SQ_ALU_WORD1_OP3__ALU_INST_mask = 0x1f << 13,
+/* SQ_ALU_WORD1_OP3 = 0x00008dfc, */
+/* SRC2_SEL_mask = 0x1ff << 0, */
+/* R7xx_SQ_ALU_SRC_1_DBL_L = 0xf4, */
+/* R7xx_SQ_ALU_SRC_1_DBL_M = 0xf5, */
+/* R7xx_SQ_ALU_SRC_0_5_DBL_L = 0xf6, */
+/* R7xx_SQ_ALU_SRC_0_5_DBL_M = 0xf7, */
+/* SQ_ALU_WORD1_OP3__ALU_INST_mask = 0x1f << 13, */
R7xx_SQ_OP3_INST_MULADD_64 = 0x08,
R7xx_SQ_OP3_INST_MULADD_64_M2 = 0x09,
R7xx_SQ_OP3_INST_MULADD_64_M4 = 0x0a,
R7xx_SQ_OP3_INST_MULADD_64_D2 = 0x0b,
-// SQ_CF_ALU_WORD1 = 0x00008dfc,
+/* SQ_CF_ALU_WORD1 = 0x00008dfc, */
R6xx_USES_WATERFALL_bit = 1 << 25,
R7xx_SQ_CF_ALU_WORD1__ALT_CONST_bit = 1 << 25,
-// SQ_CF_ALLOC_EXPORT_WORD0 = 0x00008dfc,
-// ARRAY_BASE_mask = 0x1fff << 0,
-// TYPE_mask = 0x03 << 13,
-// SQ_EXPORT_PARAM = 0x02,
-// X_UNUSED_FOR_SX_EXPORTS = 0x03,
-// ELEM_SIZE_mask = 0x03 << 30,
-// SQ_CF_ALLOC_EXPORT_WORD1 = 0x00008dfc,
-// SQ_CF_ALLOC_EXPORT_WORD1__CF_INST_mask = 0x7f << 23,
+/* SQ_CF_ALLOC_EXPORT_WORD0 = 0x00008dfc, */
+/* ARRAY_BASE_mask = 0x1fff << 0, */
+/* TYPE_mask = 0x03 << 13, */
+/* SQ_EXPORT_PARAM = 0x02, */
+/* X_UNUSED_FOR_SX_EXPORTS = 0x03, */
+/* ELEM_SIZE_mask = 0x03 << 30, */
+/* SQ_CF_ALLOC_EXPORT_WORD1 = 0x00008dfc, */
+/* SQ_CF_ALLOC_EXPORT_WORD1__CF_INST_mask = 0x7f << 23, */
R7xx_SQ_CF_INST_MEM_EXPORT = 0x3a,
-// SQ_CF_WORD1 = 0x00008dfc,
-// SQ_CF_WORD1__COUNT_mask = 0x07 << 10,
+/* SQ_CF_WORD1 = 0x00008dfc, */
+/* SQ_CF_WORD1__COUNT_mask = 0x07 << 10, */
R7xx_COUNT_3_bit = 1 << 19,
-// SQ_CF_WORD1__CF_INST_mask = 0x7f << 23,
+/* SQ_CF_WORD1__CF_INST_mask = 0x7f << 23, */
R7xx_SQ_CF_INST_END_PROGRAM = 0x19,
R7xx_SQ_CF_INST_WAIT_ACK = 0x1a,
R7xx_SQ_CF_INST_TEX_ACK = 0x1b,
R7xx_SQ_CF_INST_VTX_ACK = 0x1c,
R7xx_SQ_CF_INST_VTX_TC_ACK = 0x1d,
-// SQ_VTX_WORD0 = 0x00008dfc,
-// VTX_INST_mask = 0x1f << 0,
+/* SQ_VTX_WORD0 = 0x00008dfc, */
+/* VTX_INST_mask = 0x1f << 0, */
R7xx_SQ_VTX_INST_MEM = 0x02,
-// SQ_VTX_WORD2 = 0x00008dfc,
+/* SQ_VTX_WORD2 = 0x00008dfc, */
R7xx_SQ_VTX_WORD2__ALT_CONST_bit = 1 << 20,
-// SQ_TEX_WORD0 = 0x00008dfc,
-// TEX_INST_mask = 0x1f << 0,
+/* SQ_TEX_WORD0 = 0x00008dfc, */
+/* TEX_INST_mask = 0x1f << 0, */
R7xx_X_MEMORY_READ = 0x02,
R7xx_SQ_TEX_INST_KEEP_GRADIENTS = 0x0a,
R7xx_X_FETCH4_LOAD4_INSTRUCTION_FOR_DX10_1 = 0x0f,
@@ -138,11 +138,11 @@ enum {
RT5_ENABLE_bit = 1 << 5,
RT6_ENABLE_bit = 1 << 6,
RT7_ENABLE_bit = 1 << 7,
-// DB_ALPHA_TO_MASK = 0x00028d44,
+/* DB_ALPHA_TO_MASK = 0x00028d44, */
R7xx_OFFSET_ROUND_bit = 1 << 16,
-// SQ_TEX_SAMPLER_MISC_0 = 0x0003d03c,
+/* SQ_TEX_SAMPLER_MISC_0 = 0x0003d03c, */
R7xx_TRUNCATE_COORD_bit = 1 << 9,
- R7xx_DISABLE_CUBE_WRAP_bit = 1 << 10,
+ R7xx_DISABLE_CUBE_WRAP_bit = 1 << 10
} ;
diff --git a/driver/xf86-video-radeonhd/src/r600_shader.h b/driver/xf86-video-radeonhd/src/r600_shader.h
index 0ff8671f5..01ec1223e 100644
--- a/driver/xf86-video-radeonhd/src/r600_shader.h
+++ b/driver/xf86-video-radeonhd/src/r600_shader.h
@@ -60,47 +60,47 @@
/* Oder of instructions: All CF, All ALU, All Tex/Vtx fetches */
-// CF insts
-// addr
+/* CF insts */
+/* addr */
#define ADDR(x) (x)
-// pc
+/* pc */
#define POP_COUNT(x) (x)
-// const
+/* const */
#define CF_CONST(x) (x)
-// cond
-#define COND(x) (x) // SQ_COND_*
-// count
+/* cond */
+#define COND(x) (x) /* SQ_COND_* */
+/* count */
#define I_COUNT(x) ((x) ? ((x) - 1) : 0)
-//r7xx
+/*r7xx */
#define COUNT_3(x) (x)
-// call count
+/* call count */
#define CALL_COUNT(x) (x)
-// eop
+/* eop */
#define END_OF_PROGRAM(x) (x)
-// vpm
+/* vpm */
#define VALID_PIXEL_MODE(x) (x)
-// cf inst
-#define CF_INST(x) (x) // SQ_CF_INST_*
+/* cf inst */
+#define CF_INST(x) (x) /* SQ_CF_INST_* */
-// wqm
+/* wqm */
#define WHOLE_QUAD_MODE(x) (x)
-// barrier
+/* barrier */
#define BARRIER(x) (x)
-//kb0
+/*kb0 */
#define KCACHE_BANK0(x) (x)
-//kb1
+/*kb1 */
#define KCACHE_BANK1(x) (x)
-// km0/1
+/* km0/1 */
#define KCACHE_MODE0(x) (x)
-#define KCACHE_MODE1(x) (x) // SQ_CF_KCACHE_*
-//
+#define KCACHE_MODE1(x) (x) /* SQ_CF_KCACHE_* */
+/* */
#define KCACHE_ADDR0(x) (x)
#define KCACHE_ADDR1(x) (x)
-// uw
+/* uw */
#define USES_WATERFALL(x) (x)
#define ARRAY_BASE(x) (x)
-// export pixel
+/* export pixel */
#define CF_PIXEL_MRT0 0
#define CF_PIXEL_MRT1 1
#define CF_PIXEL_MRT2 2
@@ -109,7 +109,7 @@
#define CF_PIXEL_MRT5 5
#define CF_PIXEL_MRT6 6
#define CF_PIXEL_MRT7 7
-// *_FOG: r6xx only
+/* *_FOG: r6xx only */
#define CF_PIXEL_MRT0_FOG 16
#define CF_PIXEL_MRT1_FOG 17
#define CF_PIXEL_MRT2_FOG 18
@@ -119,21 +119,21 @@
#define CF_PIXEL_MRT6_FOG 22
#define CF_PIXEL_MRT7_FOG 23
#define CF_PIXEL_Z 61
-// export pos
+/* export pos */
#define CF_POS0 60
#define CF_POS1 61
#define CF_POS2 62
#define CF_POS3 63
-// export param
-// 0...31
-#define TYPE(x) (x) // SQ_EXPORT_*
+/* export param */
+/* 0...31 */
+#define TYPE(x) (x) /* SQ_EXPORT_* */
#if 0
-// type export
+/* type export */
#define SQ_EXPORT_PIXEL 0
#define SQ_EXPORT_POS 1
#define SQ_EXPORT_PARAM 2
-// reserved 3
-// type mem
+/* reserved 3 */
+/* type mem */
#define SQ_EXPORT_WRITE 0
#define SQ_EXPORT_WRITE_IND 1
#define SQ_EXPORT_WRITE_ACK 2
@@ -150,16 +150,16 @@
#define R6xx_ELEM_LOOP(x) (x)
#define BURST_COUNT(x) (x ? (x - 1) : 0)
-// swiz
-#define SRC_SEL_X(x) (x) // SQ_SEL_* each
+/* swiz */
+#define SRC_SEL_X(x) (x) /* SQ_SEL_* each */
#define SRC_SEL_Y(x) (x)
#define SRC_SEL_Z(x) (x)
#define SRC_SEL_W(x) (x)
#define CF_DWORD0(addr) (addr)
-// R7xx has another entry (COUNT3), but that is only used for adding a bit to count.
-// We allow one more bit for count in the argument of the macro on R7xx instead.
-// R6xx: [0,7] R7xx: [1,16]
+/* R7xx has another entry (COUNT3), but that is only used for adding a bit to count. */
+/* We allow one more bit for count in the argument of the macro on R7xx instead. */
+/* R6xx: [0,7] R7xx: [1,16] */
#define CF_DWORD1(pc, cf_const, cond, count, call_count, eop, vpm, cf_inst, wqm, b) \
(((pc) << 0) | ((cf_const) << 3) | ((cond) << 8) | (((count) & 7) << 10) | (((count) >> 3) << 19) | \
((call_count) << 13) | ((eop) << 21) | ((vpm) << 22) | ((cf_inst) << 23) | ((wqm) << 30) | ((b) << 31))
@@ -172,9 +172,9 @@
#define CF_ALLOC_IMP_EXP_DWORD0(array_base, type, rw_gpr, rr, index_gpr, es) \
(((array_base) << 0) | ((type) << 13) | ((rw_gpr) << 15) | ((rr) << 22) | ((index_gpr) << 23) | \
((es) << 30))
-// R7xx apparently doesn't have the ELEM_LOOP entry any more
-// We still expose it, but ELEM_LOOP is explicitely R6xx now.
-// TODO: is this just forgotten in the docs, or really not available any more?
+/* R7xx apparently doesn't have the ELEM_LOOP entry any more */
+/* We still expose it, but ELEM_LOOP is explicitely R6xx now. */
+/* TODO: is this just forgotten in the docs, or really not available any more? */
#define CF_ALLOC_IMP_EXP_DWORD1_BUF(array_size, comp_mask, el, bc, eop, vpm, cf_inst, wqm, b) \
(((array_size) << 0) | ((comp_mask) << 12) | ((el) << 16) | ((bc) << 17) | \
((eop) << 21) | ((vpm) << 22) | ((cf_inst) << 23) | ((wqm) << 30) | ((b) << 31))
@@ -183,20 +183,20 @@
((bc) << 17) | ((eop) << 21) | ((vpm) << 22) | ((cf_inst) << 23) | \
((wqm) << 30) | ((b) << 31))
-// ALU clause insts
+/* ALU clause insts */
#define SRC0_SEL(x) (x)
#define SRC1_SEL(x) (x)
#define SRC2_SEL(x) (x)
-// src[0-2]_sel
-// 0-127 GPR
-// 128-159 kcache constants bank 0
-// 160-191 kcache constants bank 1
-// 248-255 special SQ_ALU_SRC_* (0, 1, etc.)
+/* src[0-2]_sel */
+/* 0-127 GPR */
+/* 128-159 kcache constants bank 0 */
+/* 160-191 kcache constants bank 1 */
+/* 248-255 special SQ_ALU_SRC_* (0, 1, etc.) */
#define SRC0_REL(x) (x)
#define SRC1_REL(x) (x)
#define SRC2_REL(x) (x)
-// elem
+/* elem */
#define SRC0_ELEM(x) (x)
#define SRC1_ELEM(x) (x)
#define SRC2_ELEM(x) (x)
@@ -204,33 +204,33 @@
#define ELEM_Y 1
#define ELEM_Z 2
#define ELEM_W 3
-// neg
+/* neg */
#define SRC0_NEG(x) (x)
#define SRC1_NEG(x) (x)
#define SRC2_NEG(x) (x)
-// im
-#define INDEX_MODE(x) (x) // SQ_INDEX_*
-// ps
-#define PRED_SEL(x) (x) // SQ_PRED_SEL_*
-// last
+/* im */
+#define INDEX_MODE(x) (x) /* SQ_INDEX_* */
+/* ps */
+#define PRED_SEL(x) (x) /* SQ_PRED_SEL_* */
+/* last */
#define LAST(x) (x)
-// abs
+/* abs */
#define SRC0_ABS(x) (x)
#define SRC1_ABS(x) (x)
-// uem
+/* uem */
#define UPDATE_EXECUTE_MASK(x) (x)
-// up
+/* up */
#define UPDATE_PRED(x) (x)
-// wm
+/* wm */
#define WRITE_MASK(x) (x)
-// fm
+/* fm */
#define FOG_MERGE(x) (x)
-// omod
-#define OMOD(x) (x) // SQ_ALU_OMOD_*
-// alu inst
-#define ALU_INST(x) (x) // SQ_ALU_INST_*
-//bs
-#define BANK_SWIZZLE(x) (x) // SQ_ALU_VEC_*
+/* omod */
+#define OMOD(x) (x) /* SQ_ALU_OMOD_* */
+/* alu inst */
+#define ALU_INST(x) (x) /* SQ_ALU_INST_* */
+/*bs */
+#define BANK_SWIZZLE(x) (x) /* SQ_ALU_VEC_* */
#define DST_GPR(x) (x)
#define DST_REL(x) (x)
#define DST_ELEM(x) (x)
@@ -240,7 +240,7 @@
(((src0_sel) << 0) | ((s0r) << 9) | ((s0e) << 10) | ((s0n) << 12) | \
((src1_sel) << 13) | ((s1r) << 22) | ((s1e) << 23) | ((s1n) << 25) | \
((im) << 26) | ((ps) << 29) | ((last) << 31))
-// R7xx has alu_inst at a different slot, and no fog merge any more (no fix function fog any more)
+/* R7xx has alu_inst at a different slot, and no fog merge any more (no fix function fog any more) */
#define R6xx_ALU_DWORD1_OP2(s0a, s1a, uem, up, wm, fm, omod, alu_inst, bs, dst_gpr, dr, de, clamp) \
(((s0a) << 0) | ((s1a) << 1) | ((uem) << 2) | ((up) << 3) | ((wm) << 4) | \
((fm) << 5) | ((omod) << 6) | ((alu_inst) << 8) | ((bs) << 18) | ((dst_gpr) << 21) | \
@@ -249,8 +249,8 @@
(((s0a) << 0) | ((s1a) << 1) | ((uem) << 2) | ((up) << 3) | ((wm) << 4) | \
((omod) << 5) | ((alu_inst) << 7) | ((bs) << 18) | ((dst_gpr) << 21) | \
((dr) << 28) | ((de) << 29) | ((clamp) << 31))
-// This is a general chipset macro, but due to selection by chipid typically not usable in static arrays
-// Fog is NOT USED on R7xx, even if specified.
+/* This is a general chipset macro, but due to selection by chipid typically not usable in static arrays */
+/* Fog is NOT USED on R7xx, even if specified. */
#define ALU_DWORD1_OP2(chipid, s0a, s1a, uem, up, wm, fm, omod, alu_inst, bs, dst_gpr, dr, de, clamp) \
((chipid) < RHD_RV770 ? \
R6xx_ALU_DWORD1_OP2(s0a, s1a, uem, up, wm, fm, omod, alu_inst, bs, dst_gpr, dr, de, clamp) : \
@@ -260,12 +260,12 @@
((alu_inst) << 13) | ((bs) << 18) | ((dst_gpr) << 21) | ((dr) << 28) | \
((de) << 29) | ((clamp) << 31))
-// VTX clause insts
-// vxt insts
-#define VTX_INST(x) (x) // SQ_VTX_INST_*
+/* VTX clause insts */
+/* vxt insts */
+#define VTX_INST(x) (x) /* SQ_VTX_INST_* */
-// fetch type
-#define FETCH_TYPE(x) (x) // SQ_VTX_FETCH_*
+/* fetch type */
+#define FETCH_TYPE(x) (x) /* SQ_VTX_FETCH_* */
#define FETCH_WHOLE_QUAD(x) (x)
#define BUFFER_ID(x) (x)
@@ -280,19 +280,19 @@
#define DST_SEL_W(x) (x)
#define USE_CONST_FIELDS(x) (x)
#define DATA_FORMAT(x) (x)
-// num format
-#define NUM_FORMAT_ALL(x) (x) // SQ_NUM_FORMAT_*
-// format comp
-#define FORMAT_COMP_ALL(x) (x) // SQ_FORMAT_COMP_*
-// sma
+/* num format */
+#define NUM_FORMAT_ALL(x) (x) /* SQ_NUM_FORMAT_* */
+/* format comp */
+#define FORMAT_COMP_ALL(x) (x) /* SQ_FORMAT_COMP_* */
+/* sma */
#define SRF_MODE_ALL(x) (x)
#define SRF_MODE_ZERO_CLAMP_MINUS_ONE 0
#define SRF_MODE_NO_ZERO 1
#define OFFSET(x) (x)
-// endian swap
-#define ENDIAN_SWAP(x) (x) // SQ_ENDIAN_*
+/* endian swap */
+#define ENDIAN_SWAP(x) (x) /* SQ_ENDIAN_* */
#define CONST_BUF_NO_STRIDE(x) (x)
-// mf
+/* mf */
#define MEGA_FETCH(x) (x)
#define VTX_DWORD0(vtx_inst, ft, fwq, buffer_id, src_gpr, sr, ssx, mfc) \
@@ -308,9 +308,9 @@
(((offset) << 0) | ((es) << 16) | ((cbns) << 18) | ((mf) << 19))
#define VTX_DWORD_PAD 0x00000000
-// TEX clause insts
-// tex insts
-#define TEX_INST(x) (x) // SQ_TEX_INST_*
+/* TEX clause insts */
+/* tex insts */
+#define TEX_INST(x) (x) /* SQ_TEX_INST_* */
#define BC_FRAC_MODE(x) (x)
#define FETCH_WHOLE_QUAD(x) (x)
@@ -318,7 +318,7 @@
#define R7xx_ALT_CONST(x) (x)
#define LOD_BIAS(x) (x)
-//ct
+/*ct */
#define COORD_TYPE_X(x) (x)
#define COORD_TYPE_Y(x) (x)
#define COORD_TYPE_Z(x) (x)
@@ -330,7 +330,7 @@
#define OFFSET_Z(x) (((int)(x) * 2) & 0x1f)
#define SAMPLER_ID(x) (x)
-// R7xx has an additional parameter ALT_CONST. We always expose it, but ALT_CONST is R7xx only
+/* R7xx has an additional parameter ALT_CONST. We always expose it, but ALT_CONST is R7xx only */
#define TEX_DWORD0(tex_inst, bfm, fwq, resource_id, src_gpr, sr, ac) \
(((tex_inst) << 0) | ((bfm) << 5) | ((fwq) << 7) | ((resource_id) << 8) | \
((src_gpr) << 16) | ((sr) << 23) | ((ac) << 24))
diff --git a/driver/xf86-video-radeonhd/src/r600_state.h b/driver/xf86-video-radeonhd/src/r600_state.h
index 77b852f31..4339665fa 100644
--- a/driver/xf86-video-radeonhd/src/r600_state.h
+++ b/driver/xf86-video-radeonhd/src/r600_state.h
@@ -40,7 +40,7 @@ typedef struct {
uint64_t base;
int format;
int endian;
- int array_mode; // tiling
+ int array_mode; /* tiling */
int number_type;
int read_size;
int comp_swap;
@@ -62,7 +62,7 @@ typedef struct {
uint64_t base;
int format;
int read_size;
- int array_mode; // tiling
+ int array_mode; /* tiling */
int tile_surface_en;
int tile_compact;
int zrange_precision;
diff --git a/driver/xf86-video-radeonhd/src/r600_textured_videofuncs.c b/driver/xf86-video-radeonhd/src/r600_textured_videofuncs.c
index 96f5885f5..44d2d775c 100644
--- a/driver/xf86-video-radeonhd/src/r600_textured_videofuncs.c
+++ b/driver/xf86-video-radeonhd/src/r600_textured_videofuncs.c
@@ -79,6 +79,7 @@ R600DoneTexturedVideo(ScrnInfoPtr pScrn)
(rhdPtr->ChipSet == RHD_M74) ||
(rhdPtr->ChipSet == RHD_M82) ||
(rhdPtr->ChipSet == RHD_RS780) ||
+ (rhdPtr->ChipSet == RHD_RS880) ||
(rhdPtr->ChipSet == RHD_RV710))
cp_set_surface_sync(pScrn, accel_state->ib, TC_ACTION_ENA_bit,
accel_state->vb_size, accel_state->vb_mc_addr);
@@ -126,19 +127,45 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
shader_config_t vs_conf, ps_conf;
int uv_offset;
- static float ps_alu_consts[] = {
- 1.0, 0.0, 1.4020, 0, // r - c[0]
- 1.0, -0.34414, -0.71414, 0, // g - c[1]
- 1.0, 1.7720, 0.0, 0, // b - c[2]
+ /* Constants for Rec.709 */
+ static float ps_alu_consts_rec709[] = {
+ 1.0, 0.0, 1.5748, 0, /* r - c[0] */
+ 1.0, -0.18732, -0.46812, 0, /* g - c[1] */
+ 1.0, 1.8556, 0.0, 0, /* b - c[2] */
/* Constants for undoing Y'CbCr scaling
* - Y' is scaled from 16:235
* - Cb/Cr are scaled from 16:240
* Unscaled value N' = N * N_mul + N_shift (N' in range [-0.5, 0.5])
* Vector is [Y_mul, Y_shfit, C_mul, C_shift]
*/
- 256.0/219.0, -16.0/219.0, 256.0/224.0, -128.0/224.0,
+ 255.0/219.0, -16.0/219.0, 255.0/224.0, -128.0/224.0,
};
+ /* Constants for Rec.601
+ * Same structure as above */
+ static float ps_alu_consts_rec601[] = {
+ 1.0, 0.0, 1.4020, 0, /* r - c[0] */
+ 1.0, -0.34414, -0.71414, 0, /* g - c[1] */
+ 1.0, 1.7720, 0.0, 0, /* b - c[2] */
+ 255.0/219.0, -16.0/219.0, 255.0/224.0, -128.0/224.0,
+ };
+
+ float *ps_alu_consts;
+
+ /* Pick Y'CbCr color space to use
+ * For video with _encoded_ width of 928 or above, choose Rec. 709. This should cover
+ * 720p and 1080i/p, as well as most videos with non-standard resolutions that most likely
+ * came from such a source.
+ * The exact value of the cutoff is aribrary as there is no standarization of resolution
+ * between "EDTV" and 720p HD content.
+ * */
+ if ((pPriv->color_space == RHD_XV_COLOR_SPACE_REC709) ||
+ (pPriv->color_space == RHD_XV_COLOR_SPACE_AUTODETECT && pPriv->src_w >= 928)) {
+ ps_alu_consts = ps_alu_consts_rec709;
+ } else {
+ ps_alu_consts = ps_alu_consts_rec601;
+ }
+
CLEAR (cb_conf);
CLEAR (tex_res);
CLEAR (tex_samp);
@@ -148,7 +175,7 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
accel_state->dst_pitch = exaGetPixmapPitch(pPixmap) / (pPixmap->drawable.bitsPerPixel / 8);
accel_state->src_pitch[0] = pPriv->BufferPitch;
- // bad pitch
+ /* bad pitch */
if (accel_state->src_pitch[0] & 7)
return;
if (accel_state->dst_pitch & 7)
@@ -167,7 +194,7 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
/* Init */
start_3d(pScrn, accel_state->ib);
- //cp_set_surface_sync(pScrn, accel_state->ib);
+ /* cp_set_surface_sync(pScrn, accel_state->ib); */
set_default_state(pScrn, accel_state->ib);
@@ -219,8 +246,8 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
ps_conf.export_mode = 2;
ps_setup (pScrn, accel_state->ib, &ps_conf);
- // PS alu constants
- set_alu_consts(pScrn, accel_state->ib, 0, sizeof(ps_alu_consts) / SQ_ALU_CONSTANT_offset, ps_alu_consts);
+ /* PS alu constants */
+ set_alu_consts(pScrn, accel_state->ib, 0, sizeof(ps_alu_consts_rec709) / SQ_ALU_CONSTANT_offset, ps_alu_consts);
/* Texture */
switch(pPriv->id) {
@@ -233,7 +260,7 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
cp_set_surface_sync(pScrn, accel_state->ib, TC_ACTION_ENA_bit, accel_state->src_size[0],
accel_state->src_mc_addr[0]);
- // Y texture
+ /* Y texture */
tex_res.id = 0;
tex_res.w = pPriv->w;
tex_res.h = pPriv->h;
@@ -244,7 +271,7 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
tex_res.mip_base = accel_state->src_mc_addr[0];
tex_res.format = FMT_8;
- tex_res.dst_sel_x = SQ_SEL_X; //Y
+ tex_res.dst_sel_x = SQ_SEL_X; /* Y */
tex_res.dst_sel_y = SQ_SEL_1;
tex_res.dst_sel_z = SQ_SEL_1;
tex_res.dst_sel_w = SQ_SEL_1;
@@ -256,14 +283,14 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
tex_res.interlaced = 0;
set_tex_resource (pScrn, accel_state->ib, &tex_res);
- // Y sampler
+ /* Y sampler */
tex_samp.id = 0;
tex_samp.clamp_x = SQ_TEX_CLAMP_LAST_TEXEL;
tex_samp.clamp_y = SQ_TEX_CLAMP_LAST_TEXEL;
tex_samp.clamp_z = SQ_TEX_WRAP;
- // UV texture
+ /* UV texture */
uv_offset = accel_state->src_pitch[0] * pPriv->h;
uv_offset = (uv_offset + 255) & ~255;
@@ -276,17 +303,17 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
tex_res.w = pPriv->w >> 1;
tex_res.h = pPriv->h >> 1;
tex_res.pitch = accel_state->src_pitch[0] >> 1;
- tex_res.dst_sel_x = SQ_SEL_X; //V or U
+ tex_res.dst_sel_x = SQ_SEL_X; /* V or U */
tex_res.dst_sel_y = SQ_SEL_1;
tex_res.dst_sel_z = SQ_SEL_1;
tex_res.dst_sel_w = SQ_SEL_1;
tex_res.interlaced = 0;
- // XXX tex bases need to be 256B aligned
+ /* XXX tex bases need to be 256B aligned */
tex_res.base = accel_state->src_mc_addr[0] + uv_offset;
tex_res.mip_base = accel_state->src_mc_addr[0] + uv_offset;
set_tex_resource (pScrn, accel_state->ib, &tex_res);
- // xxx: switch to bicubic
+ /* xxx: switch to bicubic */
tex_samp.xy_mag_filter = SQ_TEX_XY_FILTER_BILINEAR;
tex_samp.xy_min_filter = SQ_TEX_XY_FILTER_BILINEAR;
@@ -294,11 +321,11 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
tex_samp.mip_filter = 0; /* no mipmap */
set_tex_sampler (pScrn, accel_state->ib, &tex_samp);
- // UV sampler
+ /* UV sampler */
tex_samp.id = 1;
set_tex_sampler (pScrn, accel_state->ib, &tex_samp);
- // UV texture
+ /* UV texture */
uv_offset += ((accel_state->src_pitch[0] >> 1) * (pPriv->h >> 1));
uv_offset = (uv_offset + 255) & ~255;
@@ -311,17 +338,17 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
tex_res.w = pPriv->w >> 1;
tex_res.h = pPriv->h >> 1;
tex_res.pitch = accel_state->src_pitch[0] >> 1;
- tex_res.dst_sel_x = SQ_SEL_X; //V or U
+ tex_res.dst_sel_x = SQ_SEL_X; /* V or U */
tex_res.dst_sel_y = SQ_SEL_1;
tex_res.dst_sel_z = SQ_SEL_1;
tex_res.dst_sel_w = SQ_SEL_1;
tex_res.interlaced = 0;
- // XXX tex bases need to be 256B aligned
+ /* XXX tex bases need to be 256B aligned */
tex_res.base = accel_state->src_mc_addr[0] + uv_offset;
tex_res.mip_base = accel_state->src_mc_addr[0] + uv_offset;
set_tex_resource (pScrn, accel_state->ib, &tex_res);
- // xxx: switch to bicubic
+ /* xxx: switch to bicubic */
tex_samp.xy_mag_filter = SQ_TEX_XY_FILTER_BILINEAR;
tex_samp.xy_min_filter = SQ_TEX_XY_FILTER_BILINEAR;
@@ -329,7 +356,7 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
tex_samp.mip_filter = 0; /* no mipmap */
set_tex_sampler (pScrn, accel_state->ib, &tex_samp);
- // UV sampler
+ /* UV sampler */
tex_samp.id = 2;
set_tex_sampler (pScrn, accel_state->ib, &tex_samp);
break;
@@ -343,7 +370,7 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
cp_set_surface_sync(pScrn, accel_state->ib, TC_ACTION_ENA_bit, accel_state->src_size[0],
accel_state->src_mc_addr[0]);
- // Y texture
+ /* Y texture */
tex_res.id = 0;
tex_res.w = pPriv->w;
tex_res.h = pPriv->h;
@@ -355,9 +382,9 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
tex_res.format = FMT_8_8;
if (pPriv->id == FOURCC_UYVY)
- tex_res.dst_sel_x = SQ_SEL_Y; //Y
+ tex_res.dst_sel_x = SQ_SEL_Y; /* Y */
else
- tex_res.dst_sel_x = SQ_SEL_X; //Y
+ tex_res.dst_sel_x = SQ_SEL_X; /* Y */
tex_res.dst_sel_y = SQ_SEL_1;
tex_res.dst_sel_z = SQ_SEL_1;
tex_res.dst_sel_w = SQ_SEL_1;
@@ -369,35 +396,35 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
tex_res.interlaced = 0;
set_tex_resource (pScrn, accel_state->ib, &tex_res);
- // Y sampler
+ /* Y sampler */
tex_samp.id = 0;
tex_samp.clamp_x = SQ_TEX_CLAMP_LAST_TEXEL;
tex_samp.clamp_y = SQ_TEX_CLAMP_LAST_TEXEL;
tex_samp.clamp_z = SQ_TEX_WRAP;
- // UV texture
+ /* UV texture */
tex_res.id = 1;
tex_res.format = FMT_8_8_8_8;
tex_res.w = pPriv->w >> 1;
tex_res.h = pPriv->h;
tex_res.pitch = accel_state->src_pitch[0] >> 2;
if (pPriv->id == FOURCC_UYVY) {
- tex_res.dst_sel_x = SQ_SEL_X; //V
- tex_res.dst_sel_y = SQ_SEL_Z; //U
+ tex_res.dst_sel_x = SQ_SEL_X; /* V */
+ tex_res.dst_sel_y = SQ_SEL_Z; /* U */
} else {
- tex_res.dst_sel_x = SQ_SEL_Y; //V
- tex_res.dst_sel_y = SQ_SEL_W; //U
+ tex_res.dst_sel_x = SQ_SEL_Y; /* V */
+ tex_res.dst_sel_y = SQ_SEL_W; /* U */
}
tex_res.dst_sel_z = SQ_SEL_1;
tex_res.dst_sel_w = SQ_SEL_1;
tex_res.interlaced = 0;
- // XXX tex bases need to be 256B aligned
+ /* XXX tex bases need to be 256B aligned */
tex_res.base = accel_state->src_mc_addr[0];
tex_res.mip_base = accel_state->src_mc_addr[0];
set_tex_resource (pScrn, accel_state->ib, &tex_res);
- // xxx: switch to bicubic
+ /* xxx: switch to bicubic */
tex_samp.xy_mag_filter = SQ_TEX_XY_FILTER_BILINEAR;
tex_samp.xy_min_filter = SQ_TEX_XY_FILTER_BILINEAR;
@@ -405,7 +432,7 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
tex_samp.mip_filter = 0; /* no mipmap */
set_tex_sampler (pScrn, accel_state->ib, &tex_samp);
- // UV sampler
+ /* UV sampler */
tex_samp.id = 1;
set_tex_sampler (pScrn, accel_state->ib, &tex_samp);
break;
@@ -428,15 +455,15 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
case 16:
if (pPixmap->drawable.depth == 15) {
cb_conf.format = COLOR_1_5_5_5;
- cb_conf.comp_swap = 1; //ARGB
+ cb_conf.comp_swap = 1; /* ARGB */
} else {
cb_conf.format = COLOR_5_6_5;
- cb_conf.comp_swap = 2; //RGB
+ cb_conf.comp_swap = 2; /* RGB */
}
break;
case 32:
cb_conf.format = COLOR_8_8_8_8;
- cb_conf.comp_swap = 1; //ARGB
+ cb_conf.comp_swap = 1; /* ARGB */
break;
default:
return;
@@ -453,7 +480,7 @@ R600DisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv)
DUAL_EXPORT_ENABLE_bit)); /* Only useful if no depth export */
/* Interpolator setup */
- // export tex coords from VS
+ /* export tex coords from VS */
EREG(accel_state->ib, SPI_VS_OUT_CONFIG, ((1 - 1) << VS_EXPORT_COUNT_shift));
EREG(accel_state->ib, SPI_VS_OUT_ID_0, (0 << SEMANTIC_0_shift));
diff --git a/driver/xf86-video-radeonhd/src/r6xx_accel.c b/driver/xf86-video-radeonhd/src/r6xx_accel.c
index ae9a15c7c..bdbc4058d 100644
--- a/driver/xf86-video-radeonhd/src/r6xx_accel.c
+++ b/driver/xf86-video-radeonhd/src/r6xx_accel.c
@@ -64,7 +64,6 @@
/* Flush the indirect buffer to the kernel for submission to the card */
void R600CPFlushIndirect(ScrnInfoPtr pScrn, drmBufPtr ib)
{
-// RHDPtr rhdPtr = RHDPTR(pScrn);
drmBufPtr buffer = ib;
int start = 0;
drm_radeon_indirect_t indirect;
@@ -72,15 +71,10 @@ void R600CPFlushIndirect(ScrnInfoPtr pScrn, drmBufPtr ib)
if (!buffer) return;
- //xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Flushing buffer %d\n",
- // buffer->idx);
-
while (buffer->used & 0x3c){
E32(buffer, CP_PACKET2()); /* fill up to multiple of 16 dwords */
}
- //ErrorF("buffer bytes: %d\n", buffer->used);
-
indirect.idx = buffer->idx;
indirect.start = start;
indirect.end = buffer->used;
@@ -102,12 +96,11 @@ void R600IBDiscard(ScrnInfoPtr pScrn, drmBufPtr ib)
void
wait_3d_idle_clean(ScrnInfoPtr pScrn, drmBufPtr ib)
{
-// RHDPtr rhdPtr = RHDPTR(pScrn);
- //flush caches, don't generate timestamp
+ /* flush caches, don't generate timestamp */
PACK3(ib, IT_EVENT_WRITE, 1);
E32(ib, CACHE_FLUSH_AND_INV_EVENT);
- // wait for 3D idle clean
+ /* wait for 3D idle clean */
EREG(ib, WAIT_UNTIL, (WAIT_3D_IDLE_bit |
WAIT_3D_IDLECLEAN_bit));
}
@@ -115,10 +108,7 @@ wait_3d_idle_clean(ScrnInfoPtr pScrn, drmBufPtr ib)
void
wait_3d_idle(ScrnInfoPtr pScrn, drmBufPtr ib)
{
-// RHDPtr rhdPtr = RHDPTR(pScrn);
-
EREG(ib, WAIT_UNTIL, WAIT_3D_IDLE_bit);
-
}
/*
@@ -161,16 +151,15 @@ wait_vline_range(ScrnInfoPtr pScrn, drmBufPtr ib, int crtc, int start, int stop)
else
E32(ib, D2MODE_VLINE_STATUS >> 2);
E32(ib, 0);
- E32(ib, 0); // Ref value
- E32(ib, 0x1000); // Mask
- E32(ib, 10); // Wait interval
+ E32(ib, 0); /* Ref value */
+ E32(ib, 0x1000); /* Mask */
+ E32(ib, 10); /* Wait interval */
}
static void
reset_cb(ScrnInfoPtr pScrn, drmBufPtr ib)
{
int i;
-// RHDPtr rhdPtr = RHDPTR(pScrn);
PACK0(ib, CB_COLOR0_INFO, 8);
for (i = 0; i < 8; i++)
@@ -181,7 +170,6 @@ static void
reset_td_samplers(ScrnInfoPtr pScrn, drmBufPtr ib)
{
int i;
-// RHDPtr rhdPtr = RHDPTR(pScrn);
wait_3d_idle(pScrn, ib);
@@ -199,7 +187,6 @@ static void
reset_sampler_const (ScrnInfoPtr pScrn, drmBufPtr ib)
{
int i;
-// RHDPtr rhdPtr = RHDPTR(pScrn);
for (i = 0; i < SQ_TEX_SAMPLER_WORD_all_num; i++) {
PACK0 (ib, SQ_TEX_SAMPLER_WORD + i * SQ_TEX_SAMPLER_WORD_offset, 3);
@@ -213,7 +200,6 @@ static void
reset_dx9_alu_consts(ScrnInfoPtr pScrn, drmBufPtr ib)
{
int i;
-// RHDPtr rhdPtr = RHDPTR(pScrn);
const int count = SQ_ALU_CONSTANT_all_num * (SQ_ALU_CONSTANT_offset >> 2);
@@ -226,7 +212,6 @@ static void
reset_bool_loop_const(ScrnInfoPtr pScrn, drmBufPtr ib)
{
int i;
-// RHDPtr rhdPtr = RHDPTR(pScrn);
PACK0(ib, SQ_BOOL_CONST, SQ_BOOL_CONST_all_num);
for (i = 0; i < SQ_BOOL_CONST_all_num; i++)
@@ -260,7 +245,7 @@ start_3d(ScrnInfoPtr pScrn, drmBufPtr ib)
* Setup of functional groups
*/
-// asic stack/thread/gpr limits - need to query the drm
+/* asic stack/thread/gpr limits - need to query the drm */
static void
sq_setup(ScrnInfoPtr pScrn, drmBufPtr ib, sq_config_t *sq_conf)
{
@@ -274,8 +259,9 @@ sq_setup(ScrnInfoPtr pScrn, drmBufPtr ib, sq_config_t *sq_conf)
(rhdPtr->ChipSet == RHD_M74) ||
(rhdPtr->ChipSet == RHD_M82) ||
(rhdPtr->ChipSet == RHD_RS780) ||
+ (rhdPtr->ChipSet == RHD_RS880) ||
(rhdPtr->ChipSet == RHD_RV710))
- sq_config = 0; // no VC
+ sq_config = 0; /* no VC */
else
sq_config = VC_ENABLE_bit;
@@ -351,21 +337,21 @@ set_render_target(ScrnInfoPtr pScrn, drmBufPtr ib, cb_config_t *cb_conf)
EREG(ib, (CB_COLOR0_BASE + (4 * cb_conf->id)), (cb_conf->base >> 8));
- // rv6xx workaround
+ /* rv6xx workaround */
if ((rhdPtr->ChipSet > RHD_R600) &&
(rhdPtr->ChipSet < RHD_RV770)) {
PACK3(ib, IT_SURFACE_BASE_UPDATE, 1);
E32(ib, (2 << cb_conf->id));
}
- // pitch only for ARRAY_LINEAR_GENERAL, other tiling modes require addrlib
+ /* pitch only for ARRAY_LINEAR_GENERAL, other tiling modes require addrlib */
EREG(ib, (CB_COLOR0_SIZE + (4 * cb_conf->id)), ((pitch << PITCH_TILE_MAX_shift) |
(slice << SLICE_TILE_MAX_shift)));
EREG(ib, (CB_COLOR0_VIEW + (4 * cb_conf->id)), ((0 << SLICE_START_shift) |
(0 << SLICE_MAX_shift)));
EREG(ib, (CB_COLOR0_INFO + (4 * cb_conf->id)), cb_color_info);
- EREG(ib, (CB_COLOR0_TILE + (4 * cb_conf->id)), (0 >> 8)); // CMASK per-tile data base/256
- EREG(ib, (CB_COLOR0_FRAG + (4 * cb_conf->id)), (0 >> 8)); // FMASK per-tile data base/256
+ EREG(ib, (CB_COLOR0_TILE + (4 * cb_conf->id)), (0 >> 8)); /* CMASK per-tile data base/256 */
+ EREG(ib, (CB_COLOR0_FRAG + (4 * cb_conf->id)), (0 >> 8)); /* FMASK per-tile data base/256 */
EREG(ib, (CB_COLOR0_MASK + (4 * cb_conf->id)), ((0 << CMASK_BLOCK_MAX_shift) |
(0 << FMASK_TILE_MAX_shift)));
}
@@ -373,8 +359,6 @@ set_render_target(ScrnInfoPtr pScrn, drmBufPtr ib, cb_config_t *cb_conf)
void
cp_set_surface_sync(ScrnInfoPtr pScrn, drmBufPtr ib, uint32_t sync_type, uint32_t size, uint64_t mc_addr)
{
-// RHDPtr rhdPtr = RHDPTR(pScrn);
-
uint32_t cp_coher_size;
if (size == 0xffffffff)
cp_coher_size = 0xffffffff;
@@ -392,7 +376,6 @@ void
fs_setup(ScrnInfoPtr pScrn, drmBufPtr ib, shader_config_t *fs_conf)
{
uint32_t sq_pgm_resources;
-// RHDPtr rhdPtr = RHDPTR(pScrn);
sq_pgm_resources = ((fs_conf->num_gprs << NUM_GPRS_shift) |
(fs_conf->stack_size << STACK_SIZE_shift));
@@ -409,7 +392,6 @@ void
vs_setup(ScrnInfoPtr pScrn, drmBufPtr ib, shader_config_t *vs_conf)
{
uint32_t sq_pgm_resources;
-// RHDPtr rhdPtr = RHDPTR(pScrn);
sq_pgm_resources = ((vs_conf->num_gprs << NUM_GPRS_shift) |
(vs_conf->stack_size << STACK_SIZE_shift));
@@ -430,7 +412,6 @@ void
ps_setup(ScrnInfoPtr pScrn, drmBufPtr ib, shader_config_t *ps_conf)
{
uint32_t sq_pgm_resources;
-// RHDPtr rhdPtr = RHDPTR(pScrn);
sq_pgm_resources = ((ps_conf->num_gprs << NUM_GPRS_shift) |
(ps_conf->stack_size << STACK_SIZE_shift));
@@ -455,7 +436,6 @@ set_alu_consts(ScrnInfoPtr pScrn, drmBufPtr ib, int offset, int count, float *co
{
int i;
const int countreg = count * (SQ_ALU_CONSTANT_offset >> 2);
-// RHDPtr rhdPtr = RHDPTR(pScrn);
PACK0(ib, SQ_ALU_CONSTANT + offset * SQ_ALU_CONSTANT_offset, countreg);
for (i = 0; i < countreg; i++)
@@ -475,7 +455,6 @@ void
set_vtx_resource(ScrnInfoPtr pScrn, drmBufPtr ib, vtx_resource_t *res)
{
uint32_t sq_vtx_constant_word2;
-// RHDPtr rhdPtr = RHDPTR(pScrn);
sq_vtx_constant_word2 = ((((res->vb_addr) >> 32) & BASE_ADDRESS_HI_mask) |
((res->vtx_size_dw << 2) << SQ_VTX_CONSTANT_WORD2_0__STRIDE_shift) |
@@ -492,13 +471,13 @@ set_vtx_resource(ScrnInfoPtr pScrn, drmBufPtr ib, vtx_resource_t *res)
sq_vtx_constant_word2 |= SQ_VTX_CONSTANT_WORD2_0__SRF_MODE_ALL_bit;
PACK0(ib, SQ_VTX_RESOURCE + res->id * SQ_VTX_RESOURCE_offset, 7);
- E32(ib, res->vb_addr & 0xffffffff); // 0: BASE_ADDRESS
- E32(ib, (res->vtx_num_entries << 2) - 1); // 1: SIZE
- E32(ib, sq_vtx_constant_word2); // 2: BASE_HI, STRIDE, CLAMP, FORMAT, ENDIAN
- E32(ib, res->mem_req_size << MEM_REQUEST_SIZE_shift); // 3: MEM_REQUEST_SIZE ?!?
- E32(ib, 0); // 4: n/a
- E32(ib, 0); // 5: n/a
- E32(ib, SQ_TEX_VTX_VALID_BUFFER << SQ_VTX_CONSTANT_WORD6_0__TYPE_shift); // 6: TYPE
+ E32(ib, res->vb_addr & 0xffffffff); /* 0: BASE_ADDRESS */
+ E32(ib, (res->vtx_num_entries << 2) - 1); /* 1: SIZE */
+ E32(ib, sq_vtx_constant_word2); /* 2: BASE_HI, STRIDE, CLAMP, FORMAT, ENDIAN */
+ E32(ib, res->mem_req_size << MEM_REQUEST_SIZE_shift); /* 3: MEM_REQUEST_SIZE ?!? */
+ E32(ib, 0); /* 4: n/a */
+ E32(ib, 0); /* 5: n/a */
+ E32(ib, SQ_TEX_VTX_VALID_BUFFER << SQ_VTX_CONSTANT_WORD6_0__TYPE_shift); /* 6: TYPE */
}
void
@@ -506,7 +485,6 @@ set_tex_resource(ScrnInfoPtr pScrn, drmBufPtr ib, tex_resource_t *tex_res)
{
uint32_t sq_tex_resource_word0, sq_tex_resource_word1, sq_tex_resource_word4;
uint32_t sq_tex_resource_word5, sq_tex_resource_word6;
-// RHDPtr rhdPtr = RHDPTR(pScrn);
sq_tex_resource_word0 = ((tex_res->dim << DIM_shift) |
(tex_res->tile_mode << SQ_TEX_RESOURCE_WORD0_0__TILE_MODE_shift));
@@ -568,7 +546,6 @@ void
set_tex_sampler (ScrnInfoPtr pScrn, drmBufPtr ib, tex_sampler_t *s)
{
uint32_t sq_tex_sampler_word0, sq_tex_sampler_word1, sq_tex_sampler_word2;
-// RHDPtr rhdPtr = RHDPTR(pScrn);
sq_tex_sampler_word0 = ((s->clamp_x << SQ_TEX_SAMPLER_WORD0_0__CLAMP_X_shift) |
(s->clamp_y << CLAMP_Y_shift) |
@@ -613,11 +590,10 @@ set_tex_sampler (ScrnInfoPtr pScrn, drmBufPtr ib, tex_sampler_t *s)
E32(ib, sq_tex_sampler_word2);
}
-//XXX deal with clip offsets in clip setup
+/* XXX deal with clip offsets in clip setup */
void
set_screen_scissor(ScrnInfoPtr pScrn, drmBufPtr ib, int x1, int y1, int x2, int y2)
{
-// RHDPtr rhdPtr = RHDPTR(pScrn);
EREG(ib, PA_SC_SCREEN_SCISSOR_TL, ((x1 << PA_SC_SCREEN_SCISSOR_TL__TL_X_shift) |
(y1 << PA_SC_SCREEN_SCISSOR_TL__TL_Y_shift)));
@@ -628,8 +604,6 @@ set_screen_scissor(ScrnInfoPtr pScrn, drmBufPtr ib, int x1, int y1, int x2, int
void
set_vport_scissor(ScrnInfoPtr pScrn, drmBufPtr ib, int id, int x1, int y1, int x2, int y2)
{
-// RHDPtr rhdPtr = RHDPTR(pScrn);
-
EREG(ib, PA_SC_VPORT_SCISSOR_0_TL +
id * PA_SC_VPORT_SCISSOR_0_TL_offset, ((x1 << PA_SC_VPORT_SCISSOR_0_TL__TL_X_shift) |
(y1 << PA_SC_VPORT_SCISSOR_0_TL__TL_Y_shift) |
@@ -642,8 +616,6 @@ set_vport_scissor(ScrnInfoPtr pScrn, drmBufPtr ib, int id, int x1, int y1, int x
void
set_generic_scissor(ScrnInfoPtr pScrn, drmBufPtr ib, int x1, int y1, int x2, int y2)
{
-// RHDPtr rhdPtr = RHDPTR(pScrn);
-
EREG(ib, PA_SC_GENERIC_SCISSOR_TL, ((x1 << PA_SC_GENERIC_SCISSOR_TL__TL_X_shift) |
(y1 << PA_SC_GENERIC_SCISSOR_TL__TL_Y_shift) |
WINDOW_OFFSET_DISABLE_bit));
@@ -654,8 +626,6 @@ set_generic_scissor(ScrnInfoPtr pScrn, drmBufPtr ib, int x1, int y1, int x2, int
void
set_window_scissor(ScrnInfoPtr pScrn, drmBufPtr ib, int x1, int y1, int x2, int y2)
{
-// RHDPtr rhdPtr = RHDPTR(pScrn);
-
EREG(ib, PA_SC_WINDOW_SCISSOR_TL, ((x1 << PA_SC_WINDOW_SCISSOR_TL__TL_X_shift) |
(y1 << PA_SC_WINDOW_SCISSOR_TL__TL_Y_shift) |
WINDOW_OFFSET_DISABLE_bit));
@@ -666,8 +636,6 @@ set_window_scissor(ScrnInfoPtr pScrn, drmBufPtr ib, int x1, int y1, int x2, int
void
set_clip_rect(ScrnInfoPtr pScrn, drmBufPtr ib, int id, int x1, int y1, int x2, int y2)
{
-// RHDPtr rhdPtr = RHDPTR(pScrn);
-
EREG(ib, PA_SC_CLIPRECT_0_TL +
id * PA_SC_CLIPRECT_0_TL_offset, ((x1 << PA_SC_CLIPRECT_0_TL__TL_X_shift) |
(y1 << PA_SC_CLIPRECT_0_TL__TL_Y_shift)));
@@ -687,7 +655,7 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
shader_config_t fs_conf;
sq_config_t sq_conf;
int i;
-// uint32_t reg;
+
RHDPtr rhdPtr = RHDPTR(pScrn);
struct r6xx_accel_state *accel_state = rhdPtr->TwoDPrivate;
@@ -703,7 +671,7 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
wait_3d_idle(pScrn, ib);
- // ASIC specific setup, see drm
+ /* ASIC specific setup, see drm */
if (rhdPtr->ChipSet < RHD_RV770) {
EREG(ib, TA_CNTL_AUX, (( 3 << GRADIENT_CREDIT_shift) |
(28 << TD_FIFO_CREDIT_shift)));
@@ -735,14 +703,15 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
reset_bool_loop_const (pScrn, ib);
reset_sampler_const (pScrn, ib);
- // SQ
+ /* SQ */
sq_conf.ps_prio = 0;
sq_conf.vs_prio = 1;
sq_conf.gs_prio = 2;
sq_conf.es_prio = 3;
- // need to set stack/thread/gpr limits based on the asic
- // for now just set them low enough so any card will work
- // see r600_cp.c in the drm
+ /* need to set stack/thread/gpr limits based on the asic
+ * for now just set them low enough so any card will work
+ * see r600_cp.c in the drm
+ */
switch (rhdPtr->ChipSet) {
case RHD_R600:
sq_conf.num_ps_gprs = 192;
@@ -783,6 +752,7 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
case RHD_M82:
case RHD_RV620:
case RHD_RS780:
+ case RHD_RS880:
default:
sq_conf.num_ps_gprs = 84;
sq_conf.num_vs_gprs = 36;
@@ -815,6 +785,7 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
sq_conf.num_es_stack_entries = 16;
break;
case RHD_RV770:
+ case RHD_RV790:
case RHD_M98:
sq_conf.num_ps_gprs = 192;
sq_conf.num_vs_gprs = 56;
@@ -831,6 +802,7 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
sq_conf.num_es_stack_entries = 0;
break;
case RHD_RV730:
+ case RHD_RV740:
case RHD_M96:
sq_conf.num_ps_gprs = 84;
sq_conf.num_vs_gprs = 36;
@@ -869,17 +841,17 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
EREG(ib, SQ_VTX_START_INST_LOC, 0);
PACK0(ib, SQ_ESGS_RING_ITEMSIZE, 9);
- E32(ib, 0); // SQ_ESGS_RING_ITEMSIZE
- E32(ib, 0); // SQ_GSVS_RING_ITEMSIZE
- E32(ib, 0); // SQ_ESTMP_RING_ITEMSIZE
- E32(ib, 0); // SQ_GSTMP_RING_ITEMSIZE
- E32(ib, 0); // SQ_VSTMP_RING_ITEMSIZE
- E32(ib, 0); // SQ_PSTMP_RING_ITEMSIZE
- E32(ib, 0); // SQ_FBUF_RING_ITEMSIZE
- E32(ib, 0); // SQ_REDUC_RING_ITEMSIZE
- E32(ib, 0); // SQ_GS_VERT_ITEMSIZE
-
- // DB
+ E32(ib, 0); /* SQ_ESGS_RING_ITEMSIZE */
+ E32(ib, 0); /* SQ_GSVS_RING_ITEMSIZE */
+ E32(ib, 0); /* SQ_ESTMP_RING_ITEMSIZE */
+ E32(ib, 0); /* SQ_GSTMP_RING_ITEMSIZE */
+ E32(ib, 0); /* SQ_VSTMP_RING_ITEMSIZE */
+ E32(ib, 0); /* SQ_PSTMP_RING_ITEMSIZE */
+ E32(ib, 0); /* SQ_FBUF_RING_ITEMSIZE */
+ E32(ib, 0); /* SQ_REDUC_RING_ITEMSIZE */
+ E32(ib, 0); /* SQ_GS_VERT_ITEMSIZE */
+
+ /* DB */
EREG(ib, DB_DEPTH_INFO, 0);
EREG(ib, DB_STENCIL_CLEAR, 0);
EREG(ib, DB_DEPTH_CLEAR, 0);
@@ -896,11 +868,11 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
(2 << ALPHA_TO_MASK_OFFSET2_shift) |
(2 << ALPHA_TO_MASK_OFFSET3_shift)));
- // SX
+ /* SX */
EREG(ib, SX_ALPHA_TEST_CONTROL, 0);
EREG(ib, SX_ALPHA_REF, 0);
- // CB
+ /* CB */
reset_cb(pScrn, ib);
PACK0(ib, CB_BLEND_RED, 4);
@@ -910,7 +882,7 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
E32(ib, 0x00000000);
/* CB_COLOR_CONTROL.PER_MRT_BLEND is off */
- // RV6xx+ have per-MRT blend
+ /* RV6xx+ have per-MRT blend */
if (rhdPtr->ChipSet > RHD_R600) {
PACK0(ib, CB_BLEND0_CONTROL, CB_BLEND0_CONTROL_num);
for (i = 0; i < CB_BLEND0_CONTROL_num; i++)
@@ -928,10 +900,10 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
EREG(ib, CB_COLOR_CONTROL, 0);
PACK0(ib, CB_CLRCMP_CONTROL, 4);
- E32(ib, 1 << CLRCMP_FCN_SEL_shift); // CB_CLRCMP_CONTROL: use CLRCMP_FCN_SRC
- E32(ib, 0); // CB_CLRCMP_SRC
- E32(ib, 0); // CB_CLRCMP_DST
- E32(ib, 0); // CB_CLRCMP_MSK
+ E32(ib, 1 << CLRCMP_FCN_SEL_shift); /* CB_CLRCMP_CONTROL: use CLRCMP_FCN_SRC */
+ E32(ib, 0); /* CB_CLRCMP_SRC */
+ E32(ib, 0); /* CB_CLRCMP_DST */
+ E32(ib, 0); /* CB_CLRCMP_MSK */
if (rhdPtr->ChipSet < RHD_RV770) {
@@ -943,7 +915,7 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
}
EREG(ib, CB_TARGET_MASK, (0x0f << TARGET0_ENABLE_shift));
- // SC
+ /* SC */
set_generic_scissor(pScrn, ib, 0, 0, 8192, 8192);
set_screen_scissor (pScrn, ib, 0, 0, 8192, 8192);
EREG(ib, PA_SC_WINDOW_OFFSET, ((0 << WINDOW_X_OFFSET_shift) |
@@ -978,7 +950,7 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
EREG(ib, PA_SC_AA_CONFIG, 0);
EREG(ib, PA_SC_AA_MASK, 0xFFFFFFFF);
- //XXX: double check this
+ /* XXX: double check this */
if (rhdPtr->ChipSet > RHD_R600) {
EREG(ib, PA_SC_AA_SAMPLE_LOCS_MCTX, 0);
EREG(ib, PA_SC_AA_SAMPLE_LOCS_8S_WD1_M, 0);
@@ -987,30 +959,30 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
EREG(ib, PA_SC_LINE_STIPPLE, 0);
EREG(ib, PA_SC_MPASS_PS_CNTL, 0);
- // CL
+ /* CL */
PACK0(ib, PA_CL_VPORT_XSCALE_0, 6);
- EFLOAT(ib, 0.0f); // PA_CL_VPORT_XSCALE
- EFLOAT(ib, 0.0f); // PA_CL_VPORT_XOFFSET
- EFLOAT(ib, 0.0f); // PA_CL_VPORT_YSCALE
- EFLOAT(ib, 0.0f); // PA_CL_VPORT_YOFFSET
- EFLOAT(ib, 0.0f); // PA_CL_VPORT_ZSCALE
- EFLOAT(ib, 0.0f); // PA_CL_VPORT_ZOFFSET
+ EFLOAT(ib, 0.0f); /* PA_CL_VPORT_XSCALE */
+ EFLOAT(ib, 0.0f); /* PA_CL_VPORT_XOFFSET */
+ EFLOAT(ib, 0.0f); /* PA_CL_VPORT_YSCALE */
+ EFLOAT(ib, 0.0f); /* PA_CL_VPORT_YOFFSET */
+ EFLOAT(ib, 0.0f); /* PA_CL_VPORT_ZSCALE */
+ EFLOAT(ib, 0.0f); /* PA_CL_VPORT_ZOFFSET */
EREG(ib, PA_CL_CLIP_CNTL, (CLIP_DISABLE_bit | DX_CLIP_SPACE_DEF_bit));
EREG(ib, PA_CL_VTE_CNTL, 0);
EREG(ib, PA_CL_VS_OUT_CNTL, 0);
EREG(ib, PA_CL_NANINF_CNTL, 0);
PACK0(ib, PA_CL_GB_VERT_CLIP_ADJ, 4);
- EFLOAT(ib, 1.0); // PA_CL_GB_VERT_CLIP_ADJ
- EFLOAT(ib, 1.0); // PA_CL_GB_VERT_DISC_ADJ
- EFLOAT(ib, 1.0); // PA_CL_GB_HORZ_CLIP_ADJ
- EFLOAT(ib, 1.0); // PA_CL_GB_HORZ_DISC_ADJ
+ EFLOAT(ib, 1.0); /* PA_CL_GB_VERT_CLIP_ADJ */
+ EFLOAT(ib, 1.0); /* PA_CL_GB_VERT_DISC_ADJ */
+ EFLOAT(ib, 1.0); /* PA_CL_GB_HORZ_CLIP_ADJ */
+ EFLOAT(ib, 1.0); /* PA_CL_GB_HORZ_DISC_ADJ */
/* user clipping planes are disabled by default */
PACK0(ib, PA_CL_UCP_0_X, 24);
for (i = 0; i < 24; i++)
EFLOAT(ib, 0.0);
- // SU
+ /* SU */
EREG(ib, PA_SU_SC_MODE_CNTL, FACE_bit);
EREG(ib, PA_SU_POINT_SIZE, 0);
EREG(ib, PA_SU_POINT_MINMAX, 0);
@@ -1021,11 +993,11 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
EREG(ib, PA_SU_POLY_OFFSET_FRONT_OFFSET, 0);
EREG(ib, PA_SU_LINE_CNTL, (8 << PA_SU_LINE_CNTL__WIDTH_shift)); /* Line width 1 pixel */
- EREG(ib, PA_SU_VTX_CNTL, ((2 << PA_SU_VTX_CNTL__ROUND_MODE_shift) |
+ EREG(ib, PA_SU_VTX_CNTL, ((2 << PA_SU_VTX_CNTL__ROUND_MODE_shift) | PIX_CENTER_bit |
(5 << QUANT_MODE_shift))); /* Round to Even, fixed point 1/256 */
EREG(ib, PA_SU_POLY_OFFSET_CLAMP, 0);
- // SPI
+ /* SPI */
if (rhdPtr->ChipSet < RHD_RV770)
EREG(ib, R7xx_SPI_THREAD_GROUPING, 0);
else
@@ -1045,10 +1017,10 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
E32(ib, 0x03020100 + i*0x04040404);
EREG(ib, SPI_VS_OUT_CONFIG, 0);
- // clear FS
+ /* clear FS */
fs_setup(pScrn, ib, &fs_conf);
- // VGT
+ /* VGT */
EREG(ib, VGT_MAX_VTX_INDX, 2048); /* XXX set to a reasonably large number of indices */
EREG(ib, VGT_MIN_VTX_INDX, 0);
EREG(ib, VGT_INDX_OFFSET, 0);
@@ -1076,19 +1048,19 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
EREG(ib, VGT_VTX_CNT_EN, 0);
EREG(ib, VGT_STRMOUT_BUFFER_EN, 0);
- // clear tex resources - PS
+ /* clear tex resources - PS */
for (i = 0; i < 16; i++) {
tex_res.id = i;
set_tex_resource(pScrn, ib, &tex_res);
}
- // clear tex resources - VS
+ /* clear tex resources - VS */
for (i = 160; i < 164; i++) {
tex_res.id = i;
set_tex_resource(pScrn, ib, &tex_res);
}
- // clear tex resources - FS
+ /* clear tex resources - FS */
for (i = 320; i < 335; i++) {
tex_res.id = i;
set_tex_resource(pScrn, ib, &tex_res);
@@ -1105,7 +1077,6 @@ void
draw_immd(ScrnInfoPtr pScrn, drmBufPtr ib, draw_config_t *draw_conf, uint32_t *indices)
{
uint32_t i, count;
-// RHDPtr rhdPtr = RHDPTR(pScrn);
EREG(ib, VGT_PRIMITIVE_TYPE, draw_conf->prim_type);
PACK3(ib, IT_INDEX_TYPE, 1);
@@ -1113,7 +1084,7 @@ draw_immd(ScrnInfoPtr pScrn, drmBufPtr ib, draw_config_t *draw_conf, uint32_t *i
PACK3(ib, IT_NUM_INSTANCES, 1);
E32(ib, draw_conf->num_instances);
- // calculate num of packets
+ /* calculate num of packets */
count = 2;
if (draw_conf->index_type == DI_INDEX_SIZE_16_BIT)
count += (draw_conf->num_indices + 1) / 2;
@@ -1140,8 +1111,6 @@ draw_immd(ScrnInfoPtr pScrn, drmBufPtr ib, draw_config_t *draw_conf, uint32_t *i
void
draw_auto(ScrnInfoPtr pScrn, drmBufPtr ib, draw_config_t *draw_conf)
{
-// RHDPtr rhdPtr = RHDPTR(pScrn);
-
EREG(ib, VGT_PRIMITIVE_TYPE, draw_conf->prim_type);
PACK3(ib, IT_INDEX_TYPE, 1);
E32(ib, draw_conf->index_type);
diff --git a/driver/xf86-video-radeonhd/src/r6xx_accel.h b/driver/xf86-video-radeonhd/src/r6xx_accel.h
index b86f9b3f0..b96501d22 100644
--- a/driver/xf86-video-radeonhd/src/r6xx_accel.h
+++ b/driver/xf86-video-radeonhd/src/r6xx_accel.h
@@ -37,7 +37,7 @@ struct r6xx_accel_state {
drmBufPtr ib;
int vb_index;
- // shader storage
+ /* shader storage */
ExaOffscreenArea *shaders;
uint32_t solid_vs_offset;
uint32_t solid_ps_offset;
@@ -49,7 +49,7 @@ struct r6xx_accel_state {
uint32_t xv_vs_offset;
uint32_t xv_ps_offset;
- //size/addr stuff
+ /*size/addr stuff */
uint32_t src_size[2];
uint64_t src_mc_addr[2];
uint32_t src_pitch[2];
@@ -68,20 +68,20 @@ struct r6xx_accel_state {
uint32_t vb_size;
uint64_t vb_mc_addr;
- // UTS/DFS
+ /* UTS/DFS */
drmBufPtr scratch;
- // copy
+ /* copy */
ExaOffscreenArea *copy_area;
Bool same_surface;
int rop;
uint32_t planemask;
- //comp
+ /*comp */
unsigned short texW[2];
unsigned short texH[2];
Bool is_transform[2];
- struct _PictTransform *transform[2];
+ struct pixman_transform *transform[2];
Bool has_mask;
Bool component_alpha;
Bool src_alpha;
diff --git a/driver/xf86-video-radeonhd/src/radeon_3d.c b/driver/xf86-video-radeonhd/src/radeon_3d.c
index 6f6dce584..d70052a70 100644
--- a/driver/xf86-video-radeonhd/src/radeon_3d.c
+++ b/driver/xf86-video-radeonhd/src/radeon_3d.c
@@ -251,7 +251,7 @@ R5xx3DSetup(int scrnIndex)
if (IS_R500_3D)
R5XXPowerPipes(pScrn);
- gb_tile_config = (R300_ENABLE_TILING | R300_TILE_SIZE_16 | R300_SUBPIXEL_1_16);
+ gb_tile_config = (R300_ENABLE_TILING | R300_TILE_SIZE_16);
switch(num_gb_pipes) {
case 2: gb_tile_config |= R300_PIPE_COUNT_R300; break;
@@ -287,21 +287,21 @@ R5xx3DSetup(int scrnIndex)
OUT_ACCEL_REG(R300_GB_AA_CONFIG, 0);
OUT_ACCEL_REG(R300_RB3D_DSTCACHE_CTLSTAT, R300_DC_FLUSH_3D | R300_DC_FREE_3D);
OUT_ACCEL_REG(R300_RB3D_ZCACHE_CTLSTAT, R300_ZC_FLUSH | R300_ZC_FREE);
- OUT_ACCEL_REG(R300_GB_MSPOS0, ((8 << R300_MS_X0_SHIFT) |
- (8 << R300_MS_Y0_SHIFT) |
- (8 << R300_MS_X1_SHIFT) |
- (8 << R300_MS_Y1_SHIFT) |
- (8 << R300_MS_X2_SHIFT) |
- (8 << R300_MS_Y2_SHIFT) |
- (8 << R300_MSBD0_Y_SHIFT) |
- (7 << R300_MSBD0_X_SHIFT)));
- OUT_ACCEL_REG(R300_GB_MSPOS1, ((8 << R300_MS_X3_SHIFT) |
- (8 << R300_MS_Y3_SHIFT) |
- (8 << R300_MS_X4_SHIFT) |
- (8 << R300_MS_Y4_SHIFT) |
- (8 << R300_MS_X5_SHIFT) |
- (8 << R300_MS_Y5_SHIFT) |
- (8 << R300_MSBD1_SHIFT)));
+ OUT_ACCEL_REG(R300_GB_MSPOS0, ((6 << R300_MS_X0_SHIFT) |
+ (6 << R300_MS_Y0_SHIFT) |
+ (6 << R300_MS_X1_SHIFT) |
+ (6 << R300_MS_Y1_SHIFT) |
+ (6 << R300_MS_X2_SHIFT) |
+ (6 << R300_MS_Y2_SHIFT) |
+ (6 << R300_MSBD0_Y_SHIFT) |
+ (6 << R300_MSBD0_X_SHIFT)));
+ OUT_ACCEL_REG(R300_GB_MSPOS1, ((6 << R300_MS_X3_SHIFT) |
+ (6 << R300_MS_Y3_SHIFT) |
+ (6 << R300_MS_X4_SHIFT) |
+ (6 << R300_MS_Y4_SHIFT) |
+ (6 << R300_MS_X5_SHIFT) |
+ (6 << R300_MS_Y5_SHIFT) |
+ (6 << R300_MSBD1_SHIFT)));
FINISH_ACCEL();
BEGIN_ACCEL(5);
@@ -756,18 +756,22 @@ R5xx3DSetup(int scrnIndex)
BEGIN_ACCEL(7);
OUT_ACCEL_REG(R300_SC_EDGERULE, 0xA5294A5);
- OUT_ACCEL_REG(R300_SC_SCISSOR0, ((0 << R300_SCISSOR_X_SHIFT) |
- (0 << R300_SCISSOR_Y_SHIFT)));
- OUT_ACCEL_REG(R300_SC_SCISSOR1, ((8191 << R300_SCISSOR_X_SHIFT) |
- (8191 << R300_SCISSOR_Y_SHIFT)));
if (IS_R300_3D) {
/* clip has offset 1440 */
- OUT_ACCEL_REG(R300_SC_CLIP_0_A, ((1088 << R300_CLIP_X_SHIFT) |
- (1088 << R300_CLIP_Y_SHIFT)));
- OUT_ACCEL_REG(R300_SC_CLIP_0_B, (((1080 + 2920) << R300_CLIP_X_SHIFT) |
- ((1080 + 2920) << R300_CLIP_Y_SHIFT)));
+ OUT_ACCEL_REG(R300_SC_SCISSOR0, ((1440 << R300_SCISSOR_X_SHIFT) |
+ (1440 << R300_SCISSOR_Y_SHIFT)));
+ OUT_ACCEL_REG(R300_SC_SCISSOR1, ((8191 << R300_SCISSOR_X_SHIFT) |
+ (8191 << R300_SCISSOR_Y_SHIFT)));
+ OUT_ACCEL_REG(R300_SC_CLIP_0_A, ((1440 << R300_CLIP_X_SHIFT) |
+ (1440 << R300_CLIP_Y_SHIFT)));
+ OUT_ACCEL_REG(R300_SC_CLIP_0_B, ((4080 << R300_CLIP_X_SHIFT) |
+ (4080 << R300_CLIP_Y_SHIFT)));
} else {
+ OUT_ACCEL_REG(R300_SC_SCISSOR0, ((0 << R300_SCISSOR_X_SHIFT) |
+ (0 << R300_SCISSOR_Y_SHIFT)));
+ OUT_ACCEL_REG(R300_SC_SCISSOR1, ((8191 << R300_SCISSOR_X_SHIFT) |
+ (8191 << R300_SCISSOR_Y_SHIFT)));
OUT_ACCEL_REG(R300_SC_CLIP_0_A, ((0 << R300_CLIP_X_SHIFT) |
(0 << R300_CLIP_Y_SHIFT)));
OUT_ACCEL_REG(R300_SC_CLIP_0_B, ((4080 << R300_CLIP_X_SHIFT) |
diff --git a/driver/xf86-video-radeonhd/src/radeon_drm.h b/driver/xf86-video-radeonhd/src/radeon_drm.h
index c0d566cde..2199ecff6 100644
--- a/driver/xf86-video-radeonhd/src/radeon_drm.h
+++ b/driver/xf86-video-radeonhd/src/radeon_drm.h
@@ -528,7 +528,7 @@ typedef struct drm_radeon_init {
RADEON_CLEANUP_CP = 0x02,
RADEON_INIT_R200_CP = 0x03,
RADEON_INIT_R300_CP = 0x04,
- RADEON_INIT_R600_CP = 0x05,
+ RADEON_INIT_R600_CP = 0x05
} func;
unsigned long sarea_priv_offset;
int is_pci; /* for overriding only */
diff --git a/driver/xf86-video-radeonhd/src/radeon_exa_render.c b/driver/xf86-video-radeonhd/src/radeon_exa_render.c
index ef0f810e4..252e7b0d2 100644
--- a/driver/xf86-video-radeonhd/src/radeon_exa_render.c
+++ b/driver/xf86-video-radeonhd/src/radeon_exa_render.c
@@ -463,6 +463,11 @@ static Bool R100CheckCompositeTexture(PicturePtr pPict, int unit)
RADEON_FALLBACK(("Unsupported filter 0x%x\n", pPict->filter));
}
+ if (pPict->repeat && pPict->repeatType != RepeatNormal)
+ {
+ RADEON_FALLBACK(("Unsupported repeat type %d\n", pPict->repeat));
+ }
+
return TRUE;
}
# endif ONLY_ONCE
@@ -767,6 +772,11 @@ static Bool R200CheckCompositeTexture(PicturePtr pPict, int unit)
pPict->filter != PictFilterBilinear)
RADEON_FALLBACK(("Unsupported filter 0x%x\n", pPict->filter));
+ if (pPict->repeat && pPict->repeatType != RepeatNormal)
+ {
+ RADEON_FALLBACK(("Unsupported repeat type %d\n", pPict->repeat));
+ }
+
return TRUE;
}
# endif /* ONLY_ONCE */
@@ -1100,6 +1110,11 @@ static Bool R300CheckCompositeTexture(PicturePtr pPict,
RADEON_FALLBACK(("REPEAT_NONE unsupported for transformed xRGB source\n"));
}
+ if (pPict->repeat && pPict->repeatType != RepeatNormal)
+ {
+ RADEON_FALLBACK(("Unsupported repeat type %d\n", pPict->repeat));
+ }
+
return TRUE;
}
@@ -1539,7 +1554,7 @@ static Bool FUNC_NAME(R300PrepareComposite)(int op, PicturePtr pSrcPicture,
R300_RS_COUNT_HIRES_EN));
/* R300_INST_COUNT_RS - highest RS instruction used */
- OUT_ACCEL_REG(R300_RS_INST_COUNT, R300_INST_COUNT_RS(1) | R300_TX_OFFSET_RS(6));
+ OUT_ACCEL_REG(R300_RS_INST_COUNT, R300_INST_COUNT_RS(1));
OUT_ACCEL_REG(R300_US_CODE_OFFSET, (R300_ALU_CODE_OFFSET(0) |
R300_ALU_CODE_SIZE(0) |
@@ -1558,7 +1573,7 @@ static Bool FUNC_NAME(R300PrepareComposite)(int op, PicturePtr pSrcPicture,
((2 << R300_RS_COUNT_IT_COUNT_SHIFT) |
R300_RS_COUNT_HIRES_EN));
- OUT_ACCEL_REG(R300_RS_INST_COUNT, R300_INST_COUNT_RS(0) | R300_TX_OFFSET_RS(6));
+ OUT_ACCEL_REG(R300_RS_INST_COUNT, R300_INST_COUNT_RS(0));
OUT_ACCEL_REG(R300_US_CODE_OFFSET, (R300_ALU_CODE_OFFSET(0) |
R300_ALU_CODE_SIZE(0) |
@@ -1753,7 +1768,7 @@ static Bool FUNC_NAME(R300PrepareComposite)(int op, PicturePtr pSrcPicture,
R300_RS_COUNT_HIRES_EN));
/* 2 RS instructions: 1 for tex0 (src), 1 for tex1 (mask) */
- OUT_ACCEL_REG(R300_RS_INST_COUNT, R300_INST_COUNT_RS(1) | R300_TX_OFFSET_RS(6));
+ OUT_ACCEL_REG(R300_RS_INST_COUNT, R300_INST_COUNT_RS(1));
OUT_ACCEL_REG(R500_US_CODE_ADDR, (R500_US_CODE_START_ADDR(0) |
R500_US_CODE_END_ADDR(2)));
@@ -1765,7 +1780,7 @@ static Bool FUNC_NAME(R300PrepareComposite)(int op, PicturePtr pSrcPicture,
((2 << R300_RS_COUNT_IT_COUNT_SHIFT) |
R300_RS_COUNT_HIRES_EN));
- OUT_ACCEL_REG(R300_RS_INST_COUNT, R300_INST_COUNT_RS(0) | R300_TX_OFFSET_RS(6));
+ OUT_ACCEL_REG(R300_RS_INST_COUNT, R300_INST_COUNT_RS(0));
OUT_ACCEL_REG(R500_US_CODE_ADDR, (R500_US_CODE_START_ADDR(0) |
R500_US_CODE_END_ADDR(1)));
diff --git a/driver/xf86-video-radeonhd/src/radeon_textured_videofuncs.c b/driver/xf86-video-radeonhd/src/radeon_textured_videofuncs.c
index 247f7c2bb..b51e14573 100644
--- a/driver/xf86-video-radeonhd/src/radeon_textured_videofuncs.c
+++ b/driver/xf86-video-radeonhd/src/radeon_textured_videofuncs.c
@@ -391,7 +391,7 @@ FUNC_NAME(RADEONDisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv
((2 << R300_RS_COUNT_IT_COUNT_SHIFT) |
R300_RS_COUNT_HIRES_EN));
/* R300_INST_COUNT_RS - highest RS instruction used */
- OUT_VIDEO_REG(R300_RS_INST_COUNT, R300_INST_COUNT_RS(0) | R300_TX_OFFSET_RS(6));
+ OUT_VIDEO_REG(R300_RS_INST_COUNT, R300_INST_COUNT_RS(0));
OUT_VIDEO_REG(R300_US_CODE_OFFSET,
(R300_ALU_CODE_OFFSET(0) |
@@ -457,7 +457,7 @@ FUNC_NAME(RADEONDisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv
R300_RS_COUNT_HIRES_EN));
/* R300_INST_COUNT_RS - highest RS instruction used */
- OUT_VIDEO_REG(R300_RS_INST_COUNT, R300_INST_COUNT_RS(0) | R300_TX_OFFSET_RS(6));
+ OUT_VIDEO_REG(R300_RS_INST_COUNT, R300_INST_COUNT_RS(0));
OUT_VIDEO_REG(R500_US_CODE_ADDR, (R500_US_CODE_START_ADDR(0) |
R500_US_CODE_END_ADDR(1)));
diff --git a/driver/xf86-video-radeonhd/src/rhd.h b/driver/xf86-video-radeonhd/src/rhd.h
index e58689cdb..efa6bc26e 100644
--- a/driver/xf86-video-radeonhd/src/rhd.h
+++ b/driver/xf86-video-radeonhd/src/rhd.h
@@ -1,7 +1,7 @@
/*
- * Copyright 2007, 2008 Luc Verhaegen <libv@exsuse.de>
- * Copyright 2007, 2008 Matthias Hopf <mhopf@novell.com>
- * Copyright 2007, 2008 Egbert Eich <eich@novell.com>
+ * Copyright 2007 - 2009 Luc Verhaegen <libv@exsuse.de>
+ * Copyright 2007 - 2009 Matthias Hopf <mhopf@novell.com>
+ * Copyright 2007 - 2009 Egbert Eich <eich@novell.com>
* Copyright 2007, 2008 Advanced Micro Devices, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
@@ -81,7 +81,7 @@ enum RHD_CHIPSETS {
RHD_M72,
RHD_M74,
RHD_M76,
- /* RV670 came into existence after RV6x0 and M7x */
+ /* R600 second batch - RV670 came into existence after RV6x0 and M7x */
RHD_RV670,
RHD_M88,
RHD_R680,
@@ -92,11 +92,17 @@ enum RHD_CHIPSETS {
RHD_RS780,
RHD_RS880,
RHD_RV770,
+ /* R700 */
RHD_R700,
RHD_M98,
RHD_RV730,
RHD_M96,
RHD_RV710,
+ RHD_M92,
+ RHD_M93,
+ RHD_M97,
+ RHD_RV790,
+ RHD_RV740,
RHD_CHIP_END
};
@@ -136,6 +142,8 @@ union rhdPropertyData
Bool Bool;
};
+#define RHD_BACKLIGHT_PROPERTY_MAX 255
+
#define RHD_CONNECTORS_MAX 6
/* Just define where which PCI BAR lives for now. Will deal with different
@@ -239,8 +247,12 @@ typedef struct RHDRec {
RHDOpt scaleTypeOpt;
RHDOpt unverifiedFeatures;
RHDOpt audio;
+ RHDOpt audioWorkaround;
RHDOpt hdmi;
RHDOpt coherent;
+ RHDOpt lowPowerMode;
+ RHDOpt lowPowerModeEngineClock;
+ RHDOpt lowPowerModeMemoryClock;
enum RHD_HPD_USAGE hpdUsage;
unsigned int FbMapSize;
pointer FbBase; /* map base of fb */
@@ -336,6 +348,8 @@ typedef struct RHDRec {
RHDOpt UseAtomBIOS;
CARD32 UseAtomFlags;
+ struct rhdPm *Pm;
+
struct rhdOutput *DigEncoderOutput[2];
# define RHD_CHECKDEBUGFLAG(rhdPtr, FLAG) (rhdPtr->DebugFlags & (1 << FLAG))
#ifndef NO_ASSERT
@@ -371,6 +385,14 @@ enum rhdOptStatus {
RHD_OPTION_ON
};
+struct rhdPowerState {
+ /* All entries: 0 means unknown / unspecified / dontchange */
+ /* Clocks in kHz, Voltage in mV */
+ CARD32 EngineClock;
+ CARD32 MemoryClock;
+ CARD32 VDDCVoltage;
+};
+
/* rhd_driver.c */
/* Some handy functions that makes life so much more readable */
extern unsigned int RHDReadPCIBios(RHDPtr rhdPtr, unsigned char **prt);
diff --git a/driver/xf86-video-radeonhd/src/rhd_acpi.c b/driver/xf86-video-radeonhd/src/rhd_acpi.c
new file mode 100644
index 000000000..38319255c
--- /dev/null
+++ b/driver/xf86-video-radeonhd/src/rhd_acpi.c
@@ -0,0 +1,150 @@
+/*
+ * Copyright 2009 Luc Verhaegen <libv@exsuse.de>
+ * Copyright 2009 Matthias Hopf <mhopf@novell.com>
+ * Copyright 2009 Egbert Eich <eich@novell.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#if HAVE_XF86_ANSIC_H
+# include "xf86_ansic.h"
+#else
+# include <unistd.h>
+# include <sys/types.h>
+# include <dirent.h>
+# include <sys/stat.h>
+# include <fcntl.h>
+# include <stdio.h>
+# include <string.h>
+# include <errno.h>
+#endif
+
+#include "xf86.h"
+
+#include "rhd.h"
+#include "rhd_connector.h"
+#include "rhd_output.h"
+#include "rhd_acpi.h"
+
+
+#define ACPI_PATH "/sys/class/backlight"
+
+/*
+ *
+ */
+static Bool
+rhdDoBacklight(struct rhdOutput *Output, Bool do_write, int *val)
+{
+ DIR *dir = opendir(ACPI_PATH);
+ struct dirent *dirent;
+ char buf[10];
+ RHDFUNC(Output);
+
+ if (!dir)
+ return -1;
+
+ while ((dirent = readdir(dir)) != NULL) {
+ char path[PATH_MAX];
+ int fd_max;
+
+ snprintf(path,PATH_MAX,"%s/%s/max_brightness",ACPI_PATH,dirent->d_name);
+ if ((fd_max = open(path, O_RDONLY)) > 0) {
+ int max_val;
+
+ while ((read(fd_max,buf,9) == -1)
+ && (errno == EINTR || errno == EAGAIN)) {};
+ close (fd_max);
+
+ if (sscanf(buf,"%i\n",&max_val) == 1) {
+ int fd;
+
+ snprintf(path,PATH_MAX,"%s/%s/%s",ACPI_PATH,dirent->d_name,
+ do_write ? "brightness" : "actual_brightness");
+ if ((fd = open(path, do_write ? O_WRONLY : O_RDONLY)) > 0) {
+
+ if (do_write) {
+
+ snprintf(buf,10,"%i\n",(*val * max_val) / RHD_BACKLIGHT_PROPERTY_MAX);
+ while ((write(fd,buf,strlen(buf)) <= 0)
+ && (errno == EINTR || errno == EAGAIN)) {};
+
+ close (fd);
+ closedir (dir);
+ RHDDebug(Output->scrnIndex,"%s: Wrote value %i to %s\n",
+ __func__,*val,path);
+
+ return TRUE;
+ } else {
+ memset(buf,0,10);
+
+ while ((read(fd,buf,9) == -1)
+ && (errno == EINTR || errno == EAGAIN)) {};
+
+ if (sscanf(buf,"%i\n",val) == 1) {
+ *val = (*val * RHD_BACKLIGHT_PROPERTY_MAX) / max_val;
+
+ close(fd);
+ closedir(dir);
+ RHDDebug(Output->scrnIndex,"%s: Read value %i from %s\n",
+ __func__,*val,path);
+
+ return TRUE;
+ }
+ }
+ close (fd);
+ }
+ }
+ }
+ }
+ closedir(dir);
+
+ return FALSE;
+}
+
+/*
+ * RhdACPIGetBacklightControl(): return backlight value in range 0..255;
+ * -1 means no ACPI BL support.
+ */
+int
+RhdACPIGetBacklightControl(struct rhdOutput *Output)
+{
+#ifdef __linux__
+ int ret;
+ RHDFUNC(Output);
+ if (rhdDoBacklight(Output, FALSE, &ret))
+ return ret;
+#endif
+ return -1;
+}
+
+/*
+ *
+ */
+void
+RhdACPISetBacklightControl(struct rhdOutput *Output, int val)
+{
+ RHDFUNC(Output);
+#ifdef __linux__
+ rhdDoBacklight(Output, TRUE, &val);
+#endif
+}
diff --git a/driver/xf86-video-radeonhd/src/rhd_acpi.h b/driver/xf86-video-radeonhd/src/rhd_acpi.h
new file mode 100644
index 000000000..d76af4136
--- /dev/null
+++ b/driver/xf86-video-radeonhd/src/rhd_acpi.h
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2009 Luc Verhaegen <libv@exsuse.de>
+ * Copyright 2009 Matthias Hopf <mhopf@novell.com>
+ * Copyright 2009 Egbert Eich <eich@novell.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef RHD_ACPI_H
+# define RHD_ACPI_H
+
+int RhdACPIGetBacklightControl(struct rhdOutput *Output);
+void RhdACPISetBacklightControl(struct rhdOutput *Output, int val);
+
+#endif
diff --git a/driver/xf86-video-radeonhd/src/rhd_atombios.c b/driver/xf86-video-radeonhd/src/rhd_atombios.c
index a285e48bb..26e32fcab 100644
--- a/driver/xf86-video-radeonhd/src/rhd_atombios.c
+++ b/driver/xf86-video-radeonhd/src/rhd_atombios.c
@@ -74,7 +74,7 @@ typedef unsigned short USHORT;
# endif
# endif
-# include "atombios.h"
+# include "atombios_rev.h"
# include "ObjectID.h"
typedef AtomBiosResult (*AtomBiosRequestFunc)(atomBiosHandlePtr handle,
@@ -126,6 +126,21 @@ atomSetRegisterListLocation(atomBiosHandlePtr handle, AtomBiosRequestID func, At
static AtomBiosResult
atomRestoreRegisters(atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosArgPtr data);
+static AtomBiosResult
+rhdAtomSetClock(atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosArgPtr data);
+static AtomBiosResult
+rhdAtomGetClock(atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosArgPtr data);
+static AtomBiosResult
+rhdAtomPmSetup(atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosArgPtr data);
+static AtomBiosResult
+rhdAtomChipLimits(atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosArgPtr data);
+static AtomBiosResult
+rhdAtomGetVoltage(atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosArgPtr data);
+static AtomBiosResult
+rhdAtomSetVoltage(atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosArgPtr data);
+static AtomBiosResult
+rhdAtomChipConfigs(atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosArgPtr data);
+
enum msgDataFormat {
MSG_FORMAT_NONE,
@@ -146,45 +161,45 @@ struct atomBIOSRequests {
char *message;
enum msgDataFormat message_format;
} AtomBiosRequestList [] = {
- {ATOMBIOS_INIT, rhdAtomInit,
+ {ATOM_INIT, rhdAtomInit,
"AtomBIOS Init", MSG_FORMAT_NONE},
- {ATOMBIOS_TEARDOWN, rhdAtomTearDown,
+ {ATOM_TEARDOWN, rhdAtomTearDown,
"AtomBIOS Teardown", MSG_FORMAT_NONE},
# ifdef ATOM_BIOS_PARSER
- {ATOMBIOS_EXEC, rhdAtomExec,
+ {ATOM_EXEC, rhdAtomExec,
"AtomBIOS Exec", MSG_FORMAT_NONE},
#endif
- {ATOMBIOS_ALLOCATE_FB_SCRATCH, rhdAtomAllocateFbScratch,
+ {ATOM_ALLOCATE_FB_SCRATCH, rhdAtomAllocateFbScratch,
"AtomBIOS Set FB Space", MSG_FORMAT_NONE},
- {ATOMBIOS_GET_CONNECTORS, rhdAtomConnectorInfo,
+ {ATOM_GET_CONNECTORS, rhdAtomConnectorInfo,
"AtomBIOS Get Connectors", MSG_FORMAT_NONE},
- {ATOMBIOS_GET_OUTPUT_DEVICE_LIST, rhdAtomOutputDeviceList,
+ {ATOM_GET_OUTPUT_DEVICE_LIST, rhdAtomOutputDeviceList,
"AtomBIOS Get Output Info", MSG_FORMAT_NONE},
- {ATOMBIOS_GET_PANEL_MODE, rhdAtomLvdsGetTimings,
+ {ATOM_GET_PANEL_MODE, rhdAtomLvdsGetTimings,
"AtomBIOS Get Panel Mode", MSG_FORMAT_NONE},
- {ATOMBIOS_GET_PANEL_EDID, rhdAtomLvdsGetTimings,
+ {ATOM_GET_PANEL_EDID, rhdAtomLvdsGetTimings,
"AtomBIOS Get Panel EDID", MSG_FORMAT_NONE},
- {ATOMBIOS_GET_CODE_DATA_TABLE, rhdAtomGetDataInCodeTable,
+ {ATOM_GET_CODE_DATA_TABLE, rhdAtomGetDataInCodeTable,
"AtomBIOS Get Datatable from Codetable", MSG_FORMAT_NONE},
- {GET_DEFAULT_ENGINE_CLOCK, rhdAtomFirmwareInfoQuery,
+ {ATOM_GET_DEFAULT_ENGINE_CLOCK, rhdAtomFirmwareInfoQuery,
"Default Engine Clock", MSG_FORMAT_DEC},
- {GET_DEFAULT_MEMORY_CLOCK, rhdAtomFirmwareInfoQuery,
+ {ATOM_GET_DEFAULT_MEMORY_CLOCK, rhdAtomFirmwareInfoQuery,
"Default Memory Clock", MSG_FORMAT_DEC},
- {GET_MAX_PIXEL_CLOCK_PLL_OUTPUT, rhdAtomFirmwareInfoQuery,
+ {ATOM_GET_MAX_PIXEL_CLOCK_PLL_OUTPUT, rhdAtomFirmwareInfoQuery,
"Maximum Pixel ClockPLL Frequency Output", MSG_FORMAT_DEC},
- {GET_MIN_PIXEL_CLOCK_PLL_OUTPUT, rhdAtomFirmwareInfoQuery,
+ {ATOM_GET_MIN_PIXEL_CLOCK_PLL_OUTPUT, rhdAtomFirmwareInfoQuery,
"Minimum Pixel ClockPLL Frequency Output", MSG_FORMAT_DEC},
- {GET_MAX_PIXEL_CLOCK_PLL_INPUT, rhdAtomFirmwareInfoQuery,
+ {ATOM_GET_MAX_PIXEL_CLOCK_PLL_INPUT, rhdAtomFirmwareInfoQuery,
"Maximum Pixel ClockPLL Frequency Input", MSG_FORMAT_DEC},
- {GET_MIN_PIXEL_CLOCK_PLL_INPUT, rhdAtomFirmwareInfoQuery,
+ {ATOM_GET_MIN_PIXEL_CLOCK_PLL_INPUT, rhdAtomFirmwareInfoQuery,
"Minimum Pixel ClockPLL Frequency Input", MSG_FORMAT_DEC},
- {GET_MAX_PIXEL_CLK, rhdAtomFirmwareInfoQuery,
+ {ATOM_GET_MAX_PIXEL_CLK, rhdAtomFirmwareInfoQuery,
"Maximum Pixel Clock", MSG_FORMAT_DEC},
- {GET_REF_CLOCK, rhdAtomFirmwareInfoQuery,
+ {ATOM_GET_REF_CLOCK, rhdAtomFirmwareInfoQuery,
"Reference Clock", MSG_FORMAT_DEC},
- {GET_FW_FB_START, rhdAtomVramInfoQuery,
+ {ATOM_GET_FW_FB_START, rhdAtomVramInfoQuery,
"Start of VRAM area used by Firmware", MSG_FORMAT_HEX},
- {GET_FW_FB_SIZE, rhdAtomVramInfoQuery,
+ {ATOM_GET_FW_FB_SIZE, rhdAtomVramInfoQuery,
"Framebuffer space used by Firmware (kb)", MSG_FORMAT_DEC},
{ATOM_TMDS_MAX_FREQUENCY, rhdAtomTmdsInfoQuery,
"TMDS Max Frequency", MSG_FORMAT_DEC},
@@ -270,7 +285,27 @@ struct atomBIOSRequests {
"Register List Location", MSG_FORMAT_NONE},
{ATOM_RESTORE_REGISTERS, atomRestoreRegisters,
"Restore Registers", MSG_FORMAT_NONE},
- {FUNC_END, NULL,
+ {ATOM_GET_ENGINE_CLOCK, rhdAtomGetClock,
+ "Current Engine Clock", MSG_FORMAT_DEC},
+ {ATOM_GET_MEMORY_CLOCK, rhdAtomGetClock,
+ "Current Memory Clock", MSG_FORMAT_DEC},
+ {ATOM_SET_ENGINE_CLOCK, rhdAtomSetClock,
+ "Set Engine Clock", MSG_FORMAT_NONE},
+ {ATOM_SET_MEMORY_CLOCK, rhdAtomSetClock,
+ "Set Memory Clock", MSG_FORMAT_NONE},
+ {ATOM_PM_SETUP, rhdAtomPmSetup,
+ "Set Power Management", MSG_FORMAT_NONE},
+ {ATOM_PM_CLOCKGATING_SETUP, rhdAtomPmSetup,
+ "Set Dynamic Clock Gating", MSG_FORMAT_NONE},
+ {ATOM_GET_CHIP_LIMITS, rhdAtomChipLimits,
+ "Get Chip Limits", MSG_FORMAT_NONE},
+ {ATOM_GET_VOLTAGE, rhdAtomGetVoltage,
+ "Current Chip Voltage", MSG_FORMAT_DEC},
+ {ATOM_SET_VOLTAGE, rhdAtomSetVoltage,
+ "Set Chip Voltage", MSG_FORMAT_NONE},
+ {ATOM_GET_CHIP_CONFIGS, rhdAtomChipConfigs,
+ "Get Chip Configs", MSG_FORMAT_NONE},
+ {ATOM_FUNC_END, NULL,
NULL, MSG_FORMAT_NONE}
};
@@ -325,7 +360,13 @@ typedef struct _atomDataTables
ATOM_COMPONENT_VIDEO_INFO *ComponentVideoInfo;
ATOM_COMPONENT_VIDEO_INFO_V21 *ComponentVideoInfo_v21;
} ComponentVideoInfo;
-/**/unsigned char *PowerPlayInfo;
+ union {
+ void *base;
+ ATOM_POWERPLAY_INFO *PowerPlayInfo;
+ ATOM_POWERPLAY_INFO_V2 *PowerPlayInfo_V_2_1;
+ ATOM_POWERPLAY_INFO_V3 *PowerPlayInfo_V_3_1;
+ ATOM_POWERPLAY_INFO_V4 *PowerPlayInfo_V_4_1;
+ } PowerPlayInfo;
COMPASSIONATE_DATA *CompassionateData;
ATOM_DISPLAY_DEVICE_PRIORITY_INFO *SaveRestoreInfo;
/**/unsigned char *PPLL_SS_Info;
@@ -423,6 +464,92 @@ CailDebug(int scrnIndex, const char *format, ...)
# endif
+static int
+rhdAtomBIOSGetArg(CARD32 *val, char *ptr)
+{
+ int cnt = 0;
+ if (isspace(*ptr) || *ptr == '=') {
+ ptr++;
+ cnt++;
+ }
+ if (!strncasecmp("off",ptr,3)) {
+ *val = RHD_ATOMBIOS_OFF;
+ return cnt + 3;
+ } else if (!strncasecmp("on",ptr,2)) {
+ *val = RHD_ATOMBIOS_ON;
+ return cnt + 2;
+ } else if (!strncasecmp("force_off",ptr,9)) {
+ *val = RHD_ATOMBIOS_OFF | RHD_ATOMBIOS_FORCE;
+ return cnt + 9;
+ } else if (!strncasecmp("force_on",ptr,8)) {
+ *val = RHD_ATOMBIOS_ON | RHD_ATOMBIOS_FORCE;
+ return cnt + 8;
+ } else
+ return 0;
+}
+
+int
+rhdUpdateAtomBIOSUsage(RHDPtr rhdPtr, char *string)
+{
+ char *ptr = string;
+ CARD32 val;
+
+ while (*ptr != '\0') {
+ int c;
+ while (isspace(*ptr))
+ ptr++;
+ if (*ptr == '\0')
+ break;
+
+ if (!strncasecmp("crtc",ptr,4)) {
+ ptr += 4;
+ if (!(c = rhdAtomBIOSGetArg(&val,ptr)))
+ return FALSE;
+ ptr += c;
+ rhdPtr->UseAtomFlags &= ~((RHD_ATOMBIOS_FORCE | RHD_ATOMBIOS_ON | RHD_ATOMBIOS_OFF) << RHD_ATOMBIOS_CRTC);
+ rhdPtr->UseAtomFlags |= (val << RHD_ATOMBIOS_CRTC);
+ }
+ else if (!strncasecmp("output",ptr,6)) {
+ ptr += 6;
+ if (!(c = rhdAtomBIOSGetArg(&val,ptr)))
+ return FALSE;
+ ptr += c;
+ rhdPtr->UseAtomFlags &= ~((RHD_ATOMBIOS_FORCE | RHD_ATOMBIOS_ON | RHD_ATOMBIOS_OFF) << RHD_ATOMBIOS_OUTPUT);
+ rhdPtr->UseAtomFlags |= (val << RHD_ATOMBIOS_OUTPUT);
+ }
+ else if (!strncasecmp("pll",ptr,3)) {
+ ptr += 3;
+ if (!(c = rhdAtomBIOSGetArg(&val,ptr)))
+ return FALSE;
+ ptr += c;
+ rhdPtr->UseAtomFlags &= ~((RHD_ATOMBIOS_FORCE | RHD_ATOMBIOS_ON | RHD_ATOMBIOS_OFF) << RHD_ATOMBIOS_PLL);
+ rhdPtr->UseAtomFlags |= (val << RHD_ATOMBIOS_PLL);
+ } else
+ return FALSE;
+ }
+ return TRUE;
+}
+
+char *
+rhdReturnAtomBIOSUsage(RHDPtr rhdPtr)
+{
+ char *type[] = { "crtc", "output", "pll", NULL };
+ int shift[] = { RHD_ATOMBIOS_CRTC, RHD_ATOMBIOS_OUTPUT, RHD_ATOMBIOS_PLL };
+ char *vals[] = { "", "on", "off", "unknown", "unknown", "force_on", "force_off", "unknown" };
+ int i;
+ char buf[40];
+ char *p = buf;
+
+ for (i = 0; type[i]; i++) {
+ int val = (rhdPtr->UseAtomFlags >> shift[i]) & 0x07;
+ if (val)
+ p += sprintf (p, "%s=%s ", type[i], vals[val]);
+ }
+ if (p != buf)
+ *--p = 0;
+ return strdup(buf);
+}
+
# define DEBUG_VERSION(index, handle, version) \
xf86DrvMsgVerb(handle->scrnIndex, X_INFO, 3, "%s returned version %i for index 0x%x\n" ,__func__,version.cref,index)
# define DEBUG_VERSION_NAME(index, handle, name, version) \
@@ -630,7 +757,7 @@ rhdAtomGetFbBaseAndSize(atomBiosHandlePtr handle, unsigned int *base,
unsigned int *size)
{
AtomBiosArgRec data;
- if (RHDAtomBiosFunc(handle->scrnIndex, handle, GET_FW_FB_SIZE, &data)
+ if (RHDAtomBiosFunc(handle->scrnIndex, handle, ATOM_GET_FW_FB_SIZE, &data)
== ATOM_SUCCESS) {
if (data.val == 0) {
xf86DrvMsg(handle->scrnIndex, X_WARNING, "%s: AtomBIOS specified VRAM "
@@ -641,7 +768,7 @@ rhdAtomGetFbBaseAndSize(atomBiosHandlePtr handle, unsigned int *base,
*size = (int)data.val;
} else
return FALSE;
- if (RHDAtomBiosFunc(handle->scrnIndex, handle, GET_FW_FB_START, &data)
+ if (RHDAtomBiosFunc(handle->scrnIndex, handle, ATOM_GET_FW_FB_START, &data)
== ATOM_SUCCESS) {
if (data.val == 0)
return FALSE;
@@ -722,11 +849,11 @@ rhdAtomASICInit(atomBiosHandlePtr handle)
RHDFUNC(handle);
RHDAtomBiosFunc(handle->scrnIndex, handle,
- GET_DEFAULT_ENGINE_CLOCK,
+ ATOM_GET_DEFAULT_ENGINE_CLOCK,
&data);
asicInit.sASICInitClocks.ulDefaultEngineClock = data.val / 10;/*in 10 Khz*/
RHDAtomBiosFunc(handle->scrnIndex, handle,
- GET_DEFAULT_MEMORY_CLOCK,
+ ATOM_GET_DEFAULT_MEMORY_CLOCK,
&data);
asicInit.sASICInitClocks.ulDefaultMemoryClock = data.val / 10;/*in 10 Khz*/
data.exec.dataSpace = NULL;
@@ -736,7 +863,7 @@ rhdAtomASICInit(atomBiosHandlePtr handle)
xf86DrvMsg(handle->scrnIndex, X_INFO, "Calling ASIC Init\n");
atomDebugPrintPspace(handle, &data, sizeof(asicInit));
if (RHDAtomBiosFunc(handle->scrnIndex, handle,
- ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
+ ATOM_EXEC, &data) == ATOM_SUCCESS) {
xf86DrvMsg(handle->scrnIndex, X_INFO, "ASIC_INIT Successful\n");
return TRUE;
}
@@ -797,7 +924,7 @@ rhdAtomSetScaler(atomBiosHandlePtr handle, enum atomScaler scalerID, enum atomSc
atomDebugPrintPspace(handle, &data, sizeof(scaler));
xf86DrvMsg(handle->scrnIndex, X_INFO, "Calling EnableScaler\n");
if (RHDAtomBiosFunc(handle->scrnIndex, handle,
- ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
+ ATOM_EXEC, &data) == ATOM_SUCCESS) {
xf86DrvMsg(handle->scrnIndex, X_INFO, "EnableScaler Successful\n");
return TRUE;
}
@@ -838,7 +965,7 @@ rhdAtomSetTVEncoder(atomBiosHandlePtr handle, Bool enable, int mode)
xf86DrvMsg(handle->scrnIndex, X_INFO, "Calling SetTVEncoder\n");
atomDebugPrintPspace(handle, &data, sizeof(tvEncoder));
if (RHDAtomBiosFunc(handle->scrnIndex, handle,
- ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
+ ATOM_EXEC, &data) == ATOM_SUCCESS) {
xf86DrvMsg(handle->scrnIndex, X_INFO, "SetTVEncoder Successful\n");
return TRUE;
}
@@ -1052,7 +1179,7 @@ rhdAtomDigTransmitterControl(atomBiosHandlePtr handle, enum atomTransmitter id,
xf86DrvMsg(handle->scrnIndex, X_INFO, "Calling %s\n",name);
atomDebugPrintPspace(handle, &data, sizeof(Transmitter));
if (RHDAtomBiosFunc(handle->scrnIndex, handle,
- ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
+ ATOM_EXEC, &data) == ATOM_SUCCESS) {
xf86DrvMsg(handle->scrnIndex, X_INFO, "%s Successful\n",name);
return TRUE;
}
@@ -1205,7 +1332,7 @@ rhdAtomOutputControl(atomBiosHandlePtr handle, enum atomOutput OutputId, enum at
xf86DrvMsg(handle->scrnIndex, X_INFO, "Calling %s\n",name);
atomDebugPrintPspace(handle, &data, sizeof(ps));
if (RHDAtomBiosFunc(handle->scrnIndex, handle,
- ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
+ ATOM_EXEC, &data) == ATOM_SUCCESS) {
xf86DrvMsg(handle->scrnIndex, X_INFO, "%s Successful\n",name);
return TRUE;
}
@@ -1330,7 +1457,7 @@ AtomDACLoadDetection(atomBiosHandlePtr handle, enum atomDevice Device, enum atom
xf86DrvMsg(handle->scrnIndex, X_INFO, "Calling DAC_LoadDetection\n");
atomDebugPrintPspace(handle, &data, sizeof(ps));
if (RHDAtomBiosFunc(handle->scrnIndex, handle,
- ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
+ ATOM_EXEC, &data) == ATOM_SUCCESS) {
xf86DrvMsg(handle->scrnIndex, X_INFO, "DAC_LoadDetection Successful\n");
return TRUE;
}
@@ -1850,7 +1977,7 @@ rhdAtomEncoderControl(atomBiosHandlePtr handle, enum atomEncoder EncoderId,
xf86DrvMsg(handle->scrnIndex, X_INFO, "Calling %s\n",name);
atomDebugPrintPspace(handle, &data, sizeof(ps));
if (RHDAtomBiosFunc(handle->scrnIndex, handle,
- ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
+ ATOM_EXEC, &data) == ATOM_SUCCESS) {
xf86DrvMsg(handle->scrnIndex, X_INFO, "%s Successful\n",name);
return TRUE;
}
@@ -1959,7 +2086,7 @@ rhdAtomUpdateCRTC_DoubleBufferRegisters(atomBiosHandlePtr handle, enum atomCrtc
xf86DrvMsg(handle->scrnIndex, X_INFO, "Calling UpdateCRTC_DoubleBufferRegisters\n");
atomDebugPrintPspace(handle, &data, sizeof(ps));
if (RHDAtomBiosFunc(handle->scrnIndex, handle,
- ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
+ ATOM_EXEC, &data) == ATOM_SUCCESS) {
xf86DrvMsg(handle->scrnIndex, X_INFO, "UpdateCRTC_DoubleBufferRegisters Successful\n");
return TRUE;
}
@@ -2024,7 +2151,7 @@ rhdAtomEnableCrtc(atomBiosHandlePtr handle, enum atomCrtc CrtcId,
xf86DrvMsg(handle->scrnIndex, X_INFO, "Calling EnableCRTC\n");
atomDebugPrintPspace(handle, &data, sizeof(ps));
if (RHDAtomBiosFunc(handle->scrnIndex, handle,
- ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
+ ATOM_EXEC, &data) == ATOM_SUCCESS) {
xf86DrvMsg(handle->scrnIndex, X_INFO, "EnableCRTC Successful\n");
return TRUE;
}
@@ -2089,7 +2216,7 @@ rhdAtomEnableCrtcMemReq(atomBiosHandlePtr handle, enum atomCrtc CrtcId,
xf86DrvMsg(handle->scrnIndex, X_INFO, "Calling EnableCRTCMemReq\n");
atomDebugPrintPspace(handle, &data, sizeof(ps));
if (RHDAtomBiosFunc(handle->scrnIndex, handle,
- ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
+ ATOM_EXEC, &data) == ATOM_SUCCESS) {
xf86DrvMsg(handle->scrnIndex, X_INFO, "EnableCRTCMemReq Successful\n");
return TRUE;
}
@@ -2169,7 +2296,7 @@ rhdAtomSetCRTCTimings(atomBiosHandlePtr handle, enum atomCrtc id, DisplayModePtr
xf86DrvMsg(handle->scrnIndex, X_INFO, "Calling SetCRTC_Timing\n");
atomDebugPrintPspace(handle, &data, sizeof(ps));
if (RHDAtomBiosFunc(handle->scrnIndex, handle,
- ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
+ ATOM_EXEC, &data) == ATOM_SUCCESS) {
xf86DrvMsg(handle->scrnIndex, X_INFO, "SetCRTC_Timing Successful\n");
return TRUE;
}
@@ -2227,7 +2354,7 @@ rhdAtomSetCRTCOverscan(atomBiosHandlePtr handle, enum atomCrtc id, struct atomCr
xf86DrvMsg(handle->scrnIndex, X_INFO, "CallingSetCRTC_OverScan\n");
atomDebugPrintPspace(handle, &data, sizeof(ps));
if (RHDAtomBiosFunc(handle->scrnIndex, handle,
- ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
+ ATOM_EXEC, &data) == ATOM_SUCCESS) {
xf86DrvMsg(handle->scrnIndex, X_INFO, "Set CRTC_OverScan Successful\n");
return TRUE;
}
@@ -2291,7 +2418,7 @@ rhdAtomBlankCRTC(atomBiosHandlePtr handle, enum atomCrtc id, struct atomCrtcBlan
xf86DrvMsg(handle->scrnIndex, X_INFO, "Calling BlankCRTC\n");
atomDebugPrintPspace(handle, &data, sizeof(ps));
if (RHDAtomBiosFunc(handle->scrnIndex, handle,
- ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
+ ATOM_EXEC, &data) == ATOM_SUCCESS) {
xf86DrvMsg(handle->scrnIndex, X_INFO, "BlankCRTC Successful\n");
return TRUE;
}
@@ -2433,13 +2560,14 @@ rhdAtomSetPixelClock(atomBiosHandlePtr handle, enum atomPxclk PCLKId, struct ato
ps.pclk_v2.ucMiscInfo |= (atomGetDevice(handle, Config->u.v2.Device)
<< MISC_DEVICE_INDEX_SHIFT);
RHDDebug(handle->scrnIndex,"%s Device: %i PixelClock: %i RefDiv: 0x%x FbDiv: 0x%x PostDiv: 0x%x "
- "PLL: %i Crtc: %i MiscInfo: 0x%x\n",
+ "FracFbDiv: %i PLL: %i Crtc: %i MiscInfo: 0x%x\n",
__func__,
Config->u.v2.Device,
ps.pclk_v2.usPixelClock,
ps.pclk_v2.usRefDiv,
ps.pclk_v2.usFbDiv,
ps.pclk_v2.ucPostDiv,
+ ps.pclk_v2.ucFracFbDiv,
ps.pclk_v2.ucPpll,
ps.pclk_v2.ucCRTC,
ps.pclk_v2.ucMiscInfo
@@ -2526,13 +2654,14 @@ rhdAtomSetPixelClock(atomBiosHandlePtr handle, enum atomPxclk PCLKId, struct ato
| (Config->u.v3.UsePpll ? PIXEL_CLOCK_MISC_USE_ENGINE_FOR_DISPCLK : 0x0)
| ((Config->Crtc == atomCrtc2) ? PIXEL_CLOCK_MISC_CRTC_SEL_CRTC2 : PIXEL_CLOCK_MISC_CRTC_SEL_CRTC1);
- RHDDebug(handle->scrnIndex,"%s PixelClock: %i RefDiv: 0x%x FbDiv: 0x%x PostDiv: 0x%x PLL: %i OutputType: %x "
- "EncoderMode: %x MiscInfo: 0x%x\n",
+ RHDDebug(handle->scrnIndex,"%s PixelClock: %i RefDiv: 0x%x FbDiv: 0x%x PostDiv: 0x%x FracFbDiv: %i PLL: %i "
+ "OutputType: %x EncoderMode: %x MiscInfo: 0x%x\n",
__func__,
ps.pclk_v3.usPixelClock,
ps.pclk_v3.usRefDiv,
ps.pclk_v3.usFbDiv,
ps.pclk_v3.ucPostDiv,
+ ps.pclk_v3.ucFracFbDiv,
ps.pclk_v3.ucPpll,
ps.pclk_v3.ucTransmitterId,
ps.pclk_v3.ucEncoderMode,
@@ -2549,7 +2678,7 @@ rhdAtomSetPixelClock(atomBiosHandlePtr handle, enum atomPxclk PCLKId, struct ato
xf86DrvMsg(handle->scrnIndex, X_INFO, "Calling SetPixelClock\n");
atomDebugPrintPspace(handle, &data, sizeof(ps));
if (RHDAtomBiosFunc(handle->scrnIndex, handle,
- ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
+ ATOM_EXEC, &data) == ATOM_SUCCESS) {
xf86DrvMsg(handle->scrnIndex, X_INFO, "SetPixelClock Successful\n");
return TRUE;
}
@@ -2730,7 +2859,7 @@ rhdAtomSelectCrtcSource(atomBiosHandlePtr handle, enum atomCrtc CrtcId,
xf86DrvMsg(handle->scrnIndex, X_INFO, "Calling SelectCRTCSource\n");
atomDebugPrintPspace(handle, &data, sizeof(ps));
if (RHDAtomBiosFunc(handle->scrnIndex, handle,
- ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
+ ATOM_EXEC, &data) == ATOM_SUCCESS) {
xf86DrvMsg(handle->scrnIndex, X_INFO, "SelectCRTCSource Successful\n");
return TRUE;
}
@@ -2885,11 +3014,11 @@ rhdAtomVramInfoQuery(atomBiosHandlePtr handle, AtomBiosRequestID func,
atomDataPtr = handle->atomDataPtr;
switch (func) {
- case GET_FW_FB_START:
+ case ATOM_GET_FW_FB_START:
*val = atomDataPtr->VRAM_UsageByFirmware
->asFirmwareVramReserveInfo[0].ulStartAddrUsedByFirmware;
break;
- case GET_FW_FB_SIZE:
+ case ATOM_GET_FW_FB_SIZE:
*val = atomDataPtr->VRAM_UsageByFirmware
->asFirmwareVramReserveInfo[0].usFirmwareUseInKb;
break;
@@ -3085,7 +3214,7 @@ rhdAtomLvdsGetTimings(atomBiosHandlePtr handle, AtomBiosRequestID func,
case 1:
switch (func) {
- case ATOMBIOS_GET_PANEL_MODE:
+ case ATOM_GET_PANEL_MODE:
data->mode = rhdAtomLvdsTimings(handle,
&atomDataPtr->LVDS_Info
.LVDS_Info->sLCDTiming);
@@ -3096,7 +3225,7 @@ rhdAtomLvdsGetTimings(atomBiosHandlePtr handle, AtomBiosRequestID func,
}
case 2:
switch (func) {
- case ATOMBIOS_GET_PANEL_MODE:
+ case ATOM_GET_PANEL_MODE:
data->mode = rhdAtomLvdsTimings(handle,
&atomDataPtr->LVDS_Info
.LVDS_Info_v12->sLCDTiming);
@@ -3104,7 +3233,7 @@ rhdAtomLvdsGetTimings(atomBiosHandlePtr handle, AtomBiosRequestID func,
return ATOM_SUCCESS;
return ATOM_FAILED;
- case ATOMBIOS_GET_PANEL_EDID:
+ case ATOM_GET_PANEL_EDID:
offset = (unsigned long)&atomDataPtr->LVDS_Info.base
- (unsigned long)handle->BIOSBase
+ atomDataPtr->LVDS_Info
@@ -3640,34 +3769,34 @@ rhdAtomFirmwareInfoQuery(atomBiosHandlePtr handle,
switch (crev) {
case 1:
switch (func) {
- case GET_DEFAULT_ENGINE_CLOCK:
+ case ATOM_GET_DEFAULT_ENGINE_CLOCK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo->ulDefaultEngineClock * 10;
break;
- case GET_DEFAULT_MEMORY_CLOCK:
+ case ATOM_GET_DEFAULT_MEMORY_CLOCK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo->ulDefaultMemoryClock * 10;
break;
- case GET_MAX_PIXEL_CLOCK_PLL_OUTPUT:
+ case ATOM_GET_MAX_PIXEL_CLOCK_PLL_OUTPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo->ulMaxPixelClockPLL_Output * 10;
break;
- case GET_MIN_PIXEL_CLOCK_PLL_OUTPUT:
+ case ATOM_GET_MIN_PIXEL_CLOCK_PLL_OUTPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo->usMinPixelClockPLL_Output * 10;
- case GET_MAX_PIXEL_CLOCK_PLL_INPUT:
+ case ATOM_GET_MAX_PIXEL_CLOCK_PLL_INPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo->usMaxPixelClockPLL_Input * 10;
break;
- case GET_MIN_PIXEL_CLOCK_PLL_INPUT:
+ case ATOM_GET_MIN_PIXEL_CLOCK_PLL_INPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo->usMinPixelClockPLL_Input * 10;
break;
- case GET_MAX_PIXEL_CLK:
+ case ATOM_GET_MAX_PIXEL_CLK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo->usMaxPixelClock * 10;
break;
- case GET_REF_CLOCK:
+ case ATOM_GET_REF_CLOCK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo->usReferenceClock * 10;
break;
@@ -3676,35 +3805,35 @@ rhdAtomFirmwareInfoQuery(atomBiosHandlePtr handle,
}
case 2:
switch (func) {
- case GET_DEFAULT_ENGINE_CLOCK:
+ case ATOM_GET_DEFAULT_ENGINE_CLOCK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_2->ulDefaultEngineClock * 10;
break;
- case GET_DEFAULT_MEMORY_CLOCK:
+ case ATOM_GET_DEFAULT_MEMORY_CLOCK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_2->ulDefaultMemoryClock * 10;
break;
- case GET_MAX_PIXEL_CLOCK_PLL_OUTPUT:
+ case ATOM_GET_MAX_PIXEL_CLOCK_PLL_OUTPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_2->ulMaxPixelClockPLL_Output * 10;
break;
- case GET_MIN_PIXEL_CLOCK_PLL_OUTPUT:
+ case ATOM_GET_MIN_PIXEL_CLOCK_PLL_OUTPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_2->usMinPixelClockPLL_Output * 10;
break;
- case GET_MAX_PIXEL_CLOCK_PLL_INPUT:
+ case ATOM_GET_MAX_PIXEL_CLOCK_PLL_INPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_2->usMaxPixelClockPLL_Input * 10;
break;
- case GET_MIN_PIXEL_CLOCK_PLL_INPUT:
+ case ATOM_GET_MIN_PIXEL_CLOCK_PLL_INPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_2->usMinPixelClockPLL_Input * 10;
break;
- case GET_MAX_PIXEL_CLK:
+ case ATOM_GET_MAX_PIXEL_CLK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_2->usMaxPixelClock * 10;
break;
- case GET_REF_CLOCK:
+ case ATOM_GET_REF_CLOCK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_2->usReferenceClock * 10;
break;
@@ -3714,35 +3843,35 @@ rhdAtomFirmwareInfoQuery(atomBiosHandlePtr handle,
break;
case 3:
switch (func) {
- case GET_DEFAULT_ENGINE_CLOCK:
+ case ATOM_GET_DEFAULT_ENGINE_CLOCK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_3->ulDefaultEngineClock * 10;
break;
- case GET_DEFAULT_MEMORY_CLOCK:
+ case ATOM_GET_DEFAULT_MEMORY_CLOCK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_3->ulDefaultMemoryClock * 10;
break;
- case GET_MAX_PIXEL_CLOCK_PLL_OUTPUT:
+ case ATOM_GET_MAX_PIXEL_CLOCK_PLL_OUTPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_3->ulMaxPixelClockPLL_Output * 10;
break;
- case GET_MIN_PIXEL_CLOCK_PLL_OUTPUT:
+ case ATOM_GET_MIN_PIXEL_CLOCK_PLL_OUTPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_3->usMinPixelClockPLL_Output * 10;
break;
- case GET_MAX_PIXEL_CLOCK_PLL_INPUT:
+ case ATOM_GET_MAX_PIXEL_CLOCK_PLL_INPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_3->usMaxPixelClockPLL_Input * 10;
break;
- case GET_MIN_PIXEL_CLOCK_PLL_INPUT:
+ case ATOM_GET_MIN_PIXEL_CLOCK_PLL_INPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_3->usMinPixelClockPLL_Input * 10;
break;
- case GET_MAX_PIXEL_CLK:
+ case ATOM_GET_MAX_PIXEL_CLK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_3->usMaxPixelClock * 10;
break;
- case GET_REF_CLOCK:
+ case ATOM_GET_REF_CLOCK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_3->usReferenceClock * 10;
break;
@@ -3752,35 +3881,35 @@ rhdAtomFirmwareInfoQuery(atomBiosHandlePtr handle,
break;
case 4:
switch (func) {
- case GET_DEFAULT_ENGINE_CLOCK:
+ case ATOM_GET_DEFAULT_ENGINE_CLOCK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_4->ulDefaultEngineClock * 10;
break;
- case GET_DEFAULT_MEMORY_CLOCK:
+ case ATOM_GET_DEFAULT_MEMORY_CLOCK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_4->ulDefaultMemoryClock * 10;
break;
- case GET_MAX_PIXEL_CLOCK_PLL_INPUT:
+ case ATOM_GET_MAX_PIXEL_CLOCK_PLL_INPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_4->usMaxPixelClockPLL_Input * 10;
break;
- case GET_MIN_PIXEL_CLOCK_PLL_INPUT:
+ case ATOM_GET_MIN_PIXEL_CLOCK_PLL_INPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_4->usMinPixelClockPLL_Input * 10;
break;
- case GET_MAX_PIXEL_CLOCK_PLL_OUTPUT:
+ case ATOM_GET_MAX_PIXEL_CLOCK_PLL_OUTPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_4->ulMaxPixelClockPLL_Output * 10;
break;
- case GET_MIN_PIXEL_CLOCK_PLL_OUTPUT:
+ case ATOM_GET_MIN_PIXEL_CLOCK_PLL_OUTPUT:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_4->usMinPixelClockPLL_Output * 10;
break;
- case GET_MAX_PIXEL_CLK:
+ case ATOM_GET_MAX_PIXEL_CLK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_4->usMaxPixelClock * 10;
break;
- case GET_REF_CLOCK:
+ case ATOM_GET_REF_CLOCK:
*val = atomDataPtr->FirmwareInfo
.FirmwareInfo_V_1_4->usReferenceClock * 10;
break;
@@ -4429,6 +4558,7 @@ rhdAtomConnectorInfoFromObjectHeader(atomBiosHandlePtr handle,
}
cp[ncon].Type = rhdAtomGetConnectorID(handle, rhd_connector_objs[obj_id].con, num);
cp[ncon].Name = RhdAppendString(cp[ncon].Name,name);
+ cp[ncon].DDC = RHD_DDC_NONE;
for (j = 0; ((j < SrcDstTable->ucNumberOfSrc) &&
(j < MAX_OUTPUTS_PER_CONNECTOR)); j++) {
@@ -4704,38 +4834,53 @@ rhdAtomConnectorInfoFromSupportedDevices(atomBiosHandlePtr handle,
cp[ncon].Name = xstrdup(devices[n].name);
cp[ncon].Name = RhdAppendString(cp[ncon].Name, devices[n].outputName);
- if (devices[n].dual) {
- if (devices[n].ddc == RHD_DDC_NONE)
+ if (devices[n].ddc == RHD_DDC_NONE) {
+ if (devices[n].dual)
xf86DrvMsg(handle->scrnIndex, X_ERROR,
"No DDC channel for device %s found."
" Cannot find matching device.\n",devices[n].name);
- else {
- for (i = n + 1; i < ATOM_MAX_SUPPORTED_DEVICE; i++) {
-
- if (!devices[i].dual)
- continue;
-
- if (devices[n].ddc != devices[i].ddc)
- continue;
-
- if (((devices[n].ot == RHD_OUTPUT_DACA
- || devices[n].ot == RHD_OUTPUT_DACB)
- && (devices[i].ot == RHD_OUTPUT_LVTMA
- || devices[i].ot == RHD_OUTPUT_TMDSA))
- || ((devices[i].ot == RHD_OUTPUT_DACA
- || devices[i].ot == RHD_OUTPUT_DACB)
- && (devices[n].ot == RHD_OUTPUT_LVTMA
- || devices[n].ot == RHD_OUTPUT_TMDSA))) {
-
- cp[ncon].Output[1] = devices[i].ot;
-
- if (cp[ncon].HPD == RHD_HPD_NONE)
- cp[ncon].HPD = devices[i].hpd;
-
- cp[ncon].Name = RhdAppendString(cp[ncon].Name,
- devices[i].outputName);
- devices[i].ot = RHD_OUTPUT_NONE; /* zero the device */
- }
+ } else {
+ for (i = n + 1; i < ATOM_MAX_SUPPORTED_DEVICE; i++) {
+
+ if (!devices[n].dual && !devices[i].dual)
+ continue;
+
+ if (devices[n].ddc != devices[i].ddc)
+ continue;
+
+ if ((devices[n].ot == RHD_OUTPUT_DACA
+ || devices[n].ot == RHD_OUTPUT_DACB)
+ && (devices[i].ot == RHD_OUTPUT_LVTMA
+ || devices[i].ot == RHD_OUTPUT_TMDSA)) {
+
+ /* If VGA is listed before DVI, swap */
+ cp[ncon].Output[0] = devices[i].ot;
+ cp[ncon].Output[1] = devices[n].ot;
+ cp[ncon].Type = devices[i].con;
+
+ if (cp[ncon].HPD == RHD_HPD_NONE)
+ cp[ncon].HPD = devices[i].hpd;
+
+ xfree (cp[ncon].Name);
+ cp[ncon].Name = xstrdup(devices[i].name);
+ cp[ncon].Name = RhdAppendString(cp[ncon].Name,
+ devices[i].outputName);
+ cp[ncon].Name = RhdAppendString(cp[ncon].Name,
+ devices[n].outputName);
+ devices[i].ot = RHD_OUTPUT_NONE; /* zero the device */
+ } else if ((devices[i].ot == RHD_OUTPUT_DACA
+ || devices[i].ot == RHD_OUTPUT_DACB)
+ && (devices[n].ot == RHD_OUTPUT_LVTMA
+ || devices[n].ot == RHD_OUTPUT_TMDSA)) {
+
+ cp[ncon].Output[1] = devices[i].ot;
+
+ if (cp[ncon].HPD == RHD_HPD_NONE)
+ cp[ncon].HPD = devices[i].hpd;
+
+ cp[ncon].Name = RhdAppendString(cp[ncon].Name,
+ devices[i].outputName);
+ devices[i].ot = RHD_OUTPUT_NONE; /* zero the device */
}
}
}
@@ -4884,6 +5029,7 @@ rhdAtomExec (atomBiosHandlePtr handle,
int idx = data->exec.index;
void *pspace = data->exec.pspace;
pointer *dataSpace = data->exec.dataSpace;
+ unsigned short offset;
RHDFUNCI(handle->scrnIndex);
@@ -4901,6 +5047,15 @@ rhdAtomExec (atomBiosHandlePtr handle,
} else
*dataSpace = (CARD8*)handle->scratchBase;
}
+
+ /* OMFG - ParseTable returns CD_SUCCESS if the command table does not exist */
+ offset = ((USHORT *)&(((ATOM_MASTER_COMMAND_TABLE *)handle->codeTable)
+ ->ListOfCommandTables))[idx];
+ if (! offset) {
+ xf86DrvMsg(handle->scrnIndex, X_WARNING, "AtomBIOS command table %d does not exist\n", idx);
+ return ATOM_NOT_IMPLEMENTED;
+ }
+
ret = ParseTableWrapper(pspace, idx, handle,
handle->BIOSBase,
&msg);
@@ -4925,7 +5080,7 @@ RHDAtomBiosFunc(int scrnIndex, atomBiosHandlePtr handle,
RHDFUNCI(scrnIndex);
- for (i = 0; AtomBiosRequestList[i].id != FUNC_END; i++) {
+ for (i = 0; AtomBiosRequestList[i].id != ATOM_FUNC_END; i++) {
if (id == AtomBiosRequestList[i].id) {
req_func = AtomBiosRequestList[i].request;
msg = AtomBiosRequestList[i].message;
@@ -4939,10 +5094,10 @@ RHDAtomBiosFunc(int scrnIndex, atomBiosHandlePtr handle,
return ATOM_NOT_IMPLEMENTED;
}
/* Hack for now */
- if (id == ATOMBIOS_INIT)
+ if (id == ATOM_INIT)
data->val = scrnIndex;
- if (id == ATOMBIOS_INIT || handle)
+ if (id == ATOM_INIT || handle)
ret = req_func(handle, id, data);
if (ret == ATOM_SUCCESS) {
@@ -5099,6 +5254,356 @@ atomRestoreRegisters(atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosA
return ATOM_SUCCESS;
}
+static AtomBiosResult
+rhdAtomGetClock(atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosArgPtr data)
+{
+ AtomBiosArgRec idx;
+ GET_ENGINE_CLOCK_PARAMETERS eng_p;
+ GET_MEMORY_CLOCK_PARAMETERS mem_p;
+
+ RHDFUNC(handle);
+
+ idx.exec.dataSpace = NULL;
+
+ if (func == ATOM_GET_ENGINE_CLOCK) {
+ idx.exec.index = GetIndexIntoMasterTable(COMMAND, GetEngineClock);
+ idx.exec.pspace = &eng_p;
+ } else if (func == ATOM_GET_MEMORY_CLOCK) {
+ idx.exec.index = GetIndexIntoMasterTable(COMMAND, GetMemoryClock);
+ idx.exec.pspace = &mem_p;
+ } else
+ return ATOM_NOT_IMPLEMENTED;
+
+ if (RHDAtomBiosFunc(handle->scrnIndex, handle,
+ ATOM_EXEC, &idx) == ATOM_SUCCESS) {
+ data->val = (func == ATOM_GET_ENGINE_CLOCK) ?
+ eng_p.ulReturnEngineClock :
+ mem_p.ulReturnMemoryClock;
+ data->val *= 10;
+ return ATOM_SUCCESS;
+ }
+
+ return ATOM_FAILED;
+}
+
+static AtomBiosResult
+rhdAtomSetClock(atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosArgPtr data)
+{
+ AtomBiosArgRec execData;
+ SET_ENGINE_CLOCK_PS_ALLOCATION eng_clock_ps;
+ SET_MEMORY_CLOCK_PS_ALLOCATION mem_clock_ps;
+
+ RHDFUNC(handle);
+ execData.exec.dataSpace = NULL;
+
+ if (func == ATOM_SET_ENGINE_CLOCK) {
+ eng_clock_ps.ulTargetEngineClock = data->clockValue / 10;
+ execData.exec.index = GetIndexIntoMasterTable(COMMAND, SetEngineClock);
+ execData.exec.pspace = &eng_clock_ps;
+ xf86DrvMsg(handle->scrnIndex, X_INFO, "Attempting to set Engine Clock to %lu\n", data->clockValue);
+ } else if (func == ATOM_SET_MEMORY_CLOCK) {
+ mem_clock_ps.ulTargetMemoryClock = data->clockValue / 10;
+ execData.exec.index = GetIndexIntoMasterTable(COMMAND, SetMemoryClock);
+ execData.exec.pspace = &mem_clock_ps;
+ xf86DrvMsg(handle->scrnIndex, X_INFO, "Attempting to set Memory Clock to %lu\n", data->clockValue);
+ } else
+ return ATOM_NOT_IMPLEMENTED;
+
+ if (RHDAtomBiosFunc(handle->scrnIndex, handle,
+ ATOM_EXEC, &execData) == ATOM_SUCCESS) {
+ return ATOM_SUCCESS;
+ }
+
+ xf86DrvMsg(handle->scrnIndex, X_WARNING, "Failed to set %s Clock\n",
+ (func == ATOM_SET_ENGINE_CLOCK) ? "Engine" : "Memory");
+ return ATOM_FAILED;
+}
+
+static AtomBiosResult
+rhdAtomPmSetup(atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosArgPtr data)
+{
+ AtomBiosArgRec execData;
+ ENABLE_ASIC_STATIC_PWR_MGT_PS_ALLOCATION pwrmgt_ps;
+ DYNAMIC_CLOCK_GATING_PS_ALLOCATION dynclk_ps;
+
+ RHDFUNC(handle);
+ execData.exec.dataSpace = NULL;
+
+ if (func == ATOM_PM_SETUP) {
+ pwrmgt_ps.ucEnable = data->val;
+ execData.exec.index = GetIndexIntoMasterTable(COMMAND, EnableASIC_StaticPwrMgt);
+ execData.exec.pspace = &pwrmgt_ps;
+ xf86DrvMsg(handle->scrnIndex, X_INFO, "Attempting to %sable power management\n", data->val ? "en":"dis");
+ } else if (func == ATOM_PM_CLOCKGATING_SETUP) {
+ dynclk_ps.ucEnable = data->val;
+ execData.exec.index = GetIndexIntoMasterTable(COMMAND, DynamicClockGating);
+ execData.exec.pspace = &dynclk_ps;
+ xf86DrvMsg(handle->scrnIndex, X_INFO, "Attempting to %sable clock gating\n", data->val ? "en":"dis");
+ } else
+ return ATOM_NOT_IMPLEMENTED;
+
+ if (RHDAtomBiosFunc(handle->scrnIndex, handle,
+ ATOM_EXEC, &execData) == ATOM_SUCCESS) {
+ return ATOM_SUCCESS;
+ }
+
+ xf86DrvMsg(handle->scrnIndex, X_WARNING, "Failed to set %s\n",
+ (func == ATOM_PM_SETUP) ? "power management" : "dynamic clock gating");
+ return ATOM_FAILED;
+}
+
+static AtomBiosResult
+rhdAtomChipLimits(atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosArgPtr data)
+{
+ atomDataTablesPtr atomDataPtr = handle->atomDataPtr;
+ AtomBiosArgRec execData;
+ ATOM_VOLTAGE_OBJECT_INFO *voltage;
+ AtomChipLimits *lim = &data->chipLimits;
+ CARD8 crev, frev;
+ uint16_t FirmwareInfoRev = 0;
+
+ RHDFUNC(handle);
+ memset (lim, 0, sizeof (*lim));
+
+ if (rhdAtomGetTableRevisionAndSize (
+ (ATOM_COMMON_TABLE_HEADER *)(atomDataPtr->FirmwareInfo.base),
+ &crev,&frev,NULL))
+ FirmwareInfoRev = (frev << 8) | crev;
+
+ xf86DrvMsg (handle->scrnIndex, X_INFO, "FirmwareInfo Revision %04x\n", FirmwareInfoRev);
+ switch (FirmwareInfoRev) {
+ case 0x104:
+ {
+ ATOM_FIRMWARE_INFO_V1_4 *fw = atomDataPtr->FirmwareInfo.FirmwareInfo_V_1_4;
+ lim->Default.VDDCVoltage = fw->usBootUpVDDCVoltage;
+ }
+ case 0x103: /* fall through */
+ {
+ ATOM_FIRMWARE_INFO_V1_3 *fw = atomDataPtr->FirmwareInfo.FirmwareInfo_V_1_3;
+ xf86DrvMsg (handle->scrnIndex, X_INFO, "Unused attribute: ul3DAccelerationEngineClock %lu\n",
+ (unsigned long) fw->ul3DAccelerationEngineClock * 10);
+ }
+ case 0x102: /* fall through */
+ case 0x101: /* fall through */
+ {
+ ATOM_FIRMWARE_INFO *fw = atomDataPtr->FirmwareInfo.FirmwareInfo;
+ lim->Maximum.EngineClock = fw->ulASICMaxEngineClock * 10;
+ lim->Maximum.MemoryClock = fw->ulASICMaxMemoryClock * 10;
+ /* Scary bits: PLL post divider is 2 ?!? Minimum for pixel PLL, so probably here as well */
+ lim->Minimum.EngineClock = fw->usMinEngineClockPLL_Output * 5;
+ lim->Minimum.MemoryClock = fw->usMinMemoryClockPLL_Output * 5;
+ xf86DrvMsg (handle->scrnIndex, X_INFO, "Unused attribute: ulDriverTargetEngineClock %lu\n",
+ (unsigned long) fw->ulDriverTargetEngineClock * 10);
+ xf86DrvMsg (handle->scrnIndex, X_INFO, "Unused attribute: ulDriverTargetMemoryClock %lu\n",
+ (unsigned long) fw->ulDriverTargetMemoryClock * 10);
+ xf86DrvMsg (handle->scrnIndex, X_INFO, "Unused attribute: ucASICMaxTemperature %d\n",
+ (int) fw->ucASICMaxTemperature);
+ xf86DrvMsg (handle->scrnIndex, X_INFO, "Scary bits: Estimated MinEngineClock %d kHz\n",
+ (int) fw->usMinEngineClockPLL_Output * 5);
+ xf86DrvMsg (handle->scrnIndex, X_INFO, "Scary bits: Estimated MinMemoryClock %d kHz\n",
+ (int) fw->usMinMemoryClockPLL_Output * 5);
+ break;
+ }
+ default:
+ xf86DrvMsg(handle->scrnIndex, X_ERROR, "Unusupported FirmwareInfo Revision\n");
+ return ATOM_NOT_IMPLEMENTED;
+ }
+
+ if ( (voltage = atomDataPtr->VoltageObjectInfo) ) {
+ char *last = ((char *) voltage) + voltage->sHeader.usStructureSize;
+ while ((char *) &voltage->asVoltageObj[0].ucVoltageType < last) {
+ if (voltage->asVoltageObj[0].ucVoltageType == SET_VOLTAGE_TYPE_ASIC_VDDC) {
+ lim->Minimum.VDDCVoltage = voltage->asVoltageObj[0].asFormula.usVoltageBaseLevel;
+ lim->Maximum.VDDCVoltage = lim->Minimum.VDDCVoltage +
+ voltage->asVoltageObj[0].asFormula.usVoltageStep *
+ (voltage->asVoltageObj[0].asFormula.ucNumOfVoltageEntries - 1) /
+ (voltage->asVoltageObj[0].asFormula.ucFlag & 0x01 ? 2 : 1);
+ break;
+ }
+ voltage = (ATOM_VOLTAGE_OBJECT_INFO *) (((char *) voltage) + voltage->asVoltageObj[0].ucSize);
+ }
+ } else
+ xf86DrvMsg (handle->scrnIndex, X_INFO, "No VoltageObjectInfo table\n");
+
+ if (RHDAtomBiosFunc (handle->scrnIndex, handle, ATOM_GET_DEFAULT_ENGINE_CLOCK,
+ &execData) == ATOM_SUCCESS)
+ lim->Default.EngineClock = execData.val;
+ if (RHDAtomBiosFunc (handle->scrnIndex, handle, ATOM_GET_DEFAULT_MEMORY_CLOCK,
+ &execData) == ATOM_SUCCESS)
+ lim->Default.MemoryClock = execData.val;
+
+ return ATOM_SUCCESS;
+}
+
+
+static AtomBiosResult
+rhdAtomChipConfigs(atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosArgPtr data)
+{
+ atomDataTablesPtr atomDataPtr = handle->atomDataPtr;
+ AtomChipConfigs *conf = &data->chipConfigs;
+ CARD8 crev, frev;
+ uint16_t PowerPlayInfoRev = 0;
+
+ RHDFUNC(handle);
+ memset (conf, 0, sizeof (*conf));
+
+ if (rhdAtomGetTableRevisionAndSize (
+ (ATOM_COMMON_TABLE_HEADER *)(atomDataPtr->PowerPlayInfo.base),
+ &crev,&frev,NULL))
+ PowerPlayInfoRev = (frev << 8) | crev;
+ xf86DrvMsg (handle->scrnIndex, X_INFO, "PowerPlayInfo Revision %04x\n", PowerPlayInfoRev);
+
+ switch (PowerPlayInfoRev) {
+ case 0x101:
+ case 0x201:
+ case 0x301:
+ xf86DrvMsg (handle->scrnIndex, X_WARNING, "PowerPlayInfo Revision not yet implemented\n");
+ return ATOM_NOT_IMPLEMENTED;
+
+ case 0x401:
+ {
+ ATOM_POWERPLAY_INFO_V4 *pp = atomDataPtr->PowerPlayInfo.PowerPlayInfo_V_4_1;
+ unsigned char *uc = ((unsigned char *)pp) + _U16 (pp->OffsetPowerIndexEntries); /* ATOM_POWERINDEX_INFO_V4 */
+ ATOM_POWERMODE_INFO_V4 *pm = (ATOM_POWERMODE_INFO_V4 *) (((unsigned char *)pp) + _U16 (pp->OffsetPowerModeEntries));
+ ATOM_POWERUNKNOWN_INFO_V4 *pu = (ATOM_POWERUNKNOWN_INFO_V4 *) (((unsigned char *)pp) + _U16 (pp->OffsetPowerUnknownEntries));
+ int i, j, num = 0;
+
+ for (i = 0; i < pp->NumPowerIndexEntries && uc < (unsigned char *) pm; i++) {
+ uc++; /* First entry is index */
+ for (j = 1; j < pp->SizeOfPowerIndexEntry; j++) {
+ if (*uc > num)
+ num = *uc;
+ uc++;
+ }
+ }
+ conf->num = num;
+ if (i < pp->NumPowerIndexEntries)
+ xf86DrvMsg (handle->scrnIndex, X_ERROR,
+ "Expected %d ATOM_POWERINDEX_INFO_V4 entries, got only %d\n", num, i);
+
+ conf->Settings = xnfcalloc (num, sizeof (struct rhdPowerState));
+ for (i = 0; i < num && pm < (ATOM_POWERMODE_INFO_V4 *) pu; i++) {
+ conf->Settings[i].EngineClock = _U24 (pm->engineClock) * 10;
+ conf->Settings[i].MemoryClock = _U24 (pm->memoryClock) * 10;
+ conf->Settings[i].VDDCVoltage = _U16 (pm->voltage);
+ pm++;
+ }
+ if (i < num)
+ xf86DrvMsg (handle->scrnIndex, X_ERROR,
+ "Expected %d ATOM_POWERMODE_INFO_V4 entries, got only %d\n", num, i);
+
+ return ATOM_SUCCESS;
+ }
+
+ default:
+ xf86DrvMsg (handle->scrnIndex, X_ERROR, "Unusupported PowerPlayInfo Revision\n");
+ return ATOM_NOT_IMPLEMENTED;
+ }
+}
+
+#define SET_VOLTAGE_GET_MAX_VOLTAGE 6
+static AtomBiosResult
+rhdAtomGetVoltage (atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosArgPtr data)
+{
+ AtomBiosArgRec execData;
+ CARD8 crev, frev;
+ uint16_t SetVoltageRev = 0;
+ int SetVoltageIdx;
+
+ RHDFUNC(handle);
+
+ SetVoltageIdx = GetIndexIntoMasterTable (COMMAND, SetVoltage);
+ if (rhdAtomGetCommandTableRevisionSize (handle, SetVoltageIdx, &crev, &frev, NULL))
+ SetVoltageRev = (frev << 8) | crev;
+
+ execData.exec.dataSpace = NULL;
+
+ switch (SetVoltageRev) {
+ case 0x0101:
+ {
+ SET_VOLTAGE_PARAMETERS setVolt;
+ xf86DrvMsg (handle->scrnIndex, X_WARNING, "Not supporting SetVoltage V1 yet\n");
+ setVolt.ucVoltageType = SET_VOLTAGE_GET_MAX_VOLTAGE;
+ setVolt.ucVoltageMode = SET_ASIC_VOLTAGE_MODE_ALL_SOURCE;
+ setVolt.ucVoltageIndex = 0;
+ execData.exec.index = SetVoltageIdx;
+ execData.exec.pspace = &setVolt;
+ if (RHDAtomBiosFunc (handle->scrnIndex, handle, ATOM_EXEC, &execData) == ATOM_SUCCESS) {
+ xf86DrvMsg (handle->scrnIndex, X_INFO,
+ "Unused attribute: SET_VOLTAGE_GET_MAX_VOLTAGE: type %d mode %d index %d\n",
+ setVolt.ucVoltageType, setVolt.ucVoltageMode, setVolt.ucVoltageIndex);
+ /* TODO: Map index into voltage */
+ }
+ return ATOM_NOT_IMPLEMENTED;
+ }
+ case 0x0102:
+ {
+ SET_VOLTAGE_PARAMETERS_V2 setVolt2;
+ setVolt2.ucVoltageType = SET_VOLTAGE_GET_MAX_VOLTAGE;
+ setVolt2.ucVoltageMode = SET_ASIC_VOLTAGE_MODE_GET_GPIOVAL;
+ setVolt2.usVoltageLevel = 0;
+ execData.exec.index = SetVoltageIdx;
+ execData.exec.pspace = &setVolt2;
+ if (RHDAtomBiosFunc (handle->scrnIndex, handle, ATOM_EXEC, &execData) == ATOM_SUCCESS) {
+ data->val = setVolt2.usVoltageLevel;
+ return ATOM_SUCCESS;
+ }
+ return ATOM_FAILED;
+ }
+ default:
+ xf86DrvMsg(handle->scrnIndex, X_WARNING, "Unusupported SetVoltage Revision\n");
+ return ATOM_NOT_IMPLEMENTED;
+ }
+}
+
+static AtomBiosResult
+rhdAtomSetVoltage (atomBiosHandlePtr handle, AtomBiosRequestID func, AtomBiosArgPtr data)
+{
+ AtomBiosArgRec execData;
+ CARD8 crev, frev;
+ uint16_t SetVoltageRev = 0;
+ int SetVoltageIdx;
+
+ RHDFUNC(handle);
+
+ SetVoltageIdx = GetIndexIntoMasterTable (COMMAND, SetVoltage);
+ if (rhdAtomGetCommandTableRevisionSize (handle, SetVoltageIdx, &crev, &frev, NULL))
+ SetVoltageRev = (frev << 8) | crev;
+
+ execData.exec.dataSpace = NULL;
+
+ switch (SetVoltageRev) {
+ case 0x0101:
+ {
+#if 0
+ SET_VOLTAGE_PARAMETERS setVolt;
+ setVolt.ucVoltageType = SET_VOLTAGE_TYPE_ASIC_VDDC;
+ setVolt.ucVoltageMode = SET_ASIC_VOLTAGE_MODE_ALL_SOURCE;
+ setVolt.ucVoltageIndex = ###INDEX###;
+ execData.exec.index = SetVoltageIdx;
+ execData.exec.pspace = &setVolt;
+ return RHDAtomBiosFunc (handle->scrnIndex, handle, ATOM_EXEC, &execData);
+#endif
+ xf86DrvMsg (handle->scrnIndex, X_WARNING, "Not supporting SetVoltage V1 yet\n");
+ return ATOM_NOT_IMPLEMENTED;
+ }
+ case 0x0102:
+ {
+ SET_VOLTAGE_PARAMETERS_V2 setVolt2;
+ setVolt2.ucVoltageType = SET_VOLTAGE_TYPE_ASIC_VDDC;
+ setVolt2.ucVoltageMode = SET_ASIC_VOLTAGE_MODE_ALL_SOURCE;
+ setVolt2.usVoltageLevel = data->val;
+ execData.exec.index = SetVoltageIdx;
+ execData.exec.pspace = &setVolt2;
+ return RHDAtomBiosFunc (handle->scrnIndex, handle, ATOM_EXEC, &execData);
+ }
+ default:
+ xf86DrvMsg(handle->scrnIndex, X_WARNING, "Unusupported SetVoltage Revision\n");
+ return ATOM_NOT_IMPLEMENTED;
+ }
+}
+
+
# ifdef ATOM_BIOS_PARSER
#define ALLOC_CNT 25
diff --git a/driver/xf86-video-radeonhd/src/rhd_atombios.h b/driver/xf86-video-radeonhd/src/rhd_atombios.h
index 56e4a3936..16c24f592 100644
--- a/driver/xf86-video-radeonhd/src/rhd_atombios.h
+++ b/driver/xf86-video-radeonhd/src/rhd_atombios.h
@@ -37,27 +37,27 @@
#define RHD_ATOMBIOS_OUTPUT 8
typedef enum _AtomBiosRequestID {
- ATOMBIOS_INIT,
- ATOMBIOS_TEARDOWN,
+ ATOM_INIT,
+ ATOM_TEARDOWN,
# ifdef ATOM_BIOS_PARSER
- ATOMBIOS_EXEC,
+ ATOM_EXEC,
# endif
- ATOMBIOS_ALLOCATE_FB_SCRATCH,
- ATOMBIOS_GET_CONNECTORS,
- ATOMBIOS_GET_OUTPUT_DEVICE_LIST,
- ATOMBIOS_GET_PANEL_MODE,
- ATOMBIOS_GET_PANEL_EDID,
- ATOMBIOS_GET_CODE_DATA_TABLE,
- GET_DEFAULT_ENGINE_CLOCK,
- GET_DEFAULT_MEMORY_CLOCK,
- GET_MAX_PIXEL_CLOCK_PLL_OUTPUT,
- GET_MIN_PIXEL_CLOCK_PLL_OUTPUT,
- GET_MAX_PIXEL_CLOCK_PLL_INPUT,
- GET_MIN_PIXEL_CLOCK_PLL_INPUT,
- GET_MAX_PIXEL_CLK,
- GET_REF_CLOCK,
- GET_FW_FB_START,
- GET_FW_FB_SIZE,
+ ATOM_ALLOCATE_FB_SCRATCH,
+ ATOM_GET_CONNECTORS,
+ ATOM_GET_OUTPUT_DEVICE_LIST,
+ ATOM_GET_PANEL_MODE,
+ ATOM_GET_PANEL_EDID,
+ ATOM_GET_CODE_DATA_TABLE,
+ ATOM_GET_DEFAULT_ENGINE_CLOCK,
+ ATOM_GET_DEFAULT_MEMORY_CLOCK,
+ ATOM_GET_MAX_PIXEL_CLOCK_PLL_OUTPUT,
+ ATOM_GET_MIN_PIXEL_CLOCK_PLL_OUTPUT,
+ ATOM_GET_MAX_PIXEL_CLOCK_PLL_INPUT,
+ ATOM_GET_MIN_PIXEL_CLOCK_PLL_INPUT,
+ ATOM_GET_MAX_PIXEL_CLK,
+ ATOM_GET_REF_CLOCK,
+ ATOM_GET_FW_FB_START,
+ ATOM_GET_FW_FB_SIZE,
ATOM_TMDS_MAX_FREQUENCY,
ATOM_TMDS_PLL_CHARGE_PUMP,
ATOM_TMDS_PLL_DUTY_CYCLE,
@@ -101,7 +101,17 @@ typedef enum _AtomBiosRequestID {
ATOM_GET_PCIE_LANES,
ATOM_SET_REGISTER_LIST_LOCATION,
ATOM_RESTORE_REGISTERS,
- FUNC_END
+ ATOM_GET_ENGINE_CLOCK,
+ ATOM_GET_MEMORY_CLOCK,
+ ATOM_SET_ENGINE_CLOCK,
+ ATOM_SET_MEMORY_CLOCK,
+ ATOM_PM_SETUP,
+ ATOM_PM_CLOCKGATING_SETUP,
+ ATOM_GET_CHIP_LIMITS,
+ ATOM_GET_VOLTAGE,
+ ATOM_SET_VOLTAGE,
+ ATOM_GET_CHIP_CONFIGS,
+ ATOM_FUNC_END
} AtomBiosRequestID;
typedef enum _AtomBiosResult {
@@ -187,6 +197,20 @@ typedef struct AtomGoldenSettings
} AtomGoldenSettings;
+typedef struct AtomChipLimits
+{
+ struct rhdPowerState Minimum;
+ struct rhdPowerState Maximum;
+ struct rhdPowerState Default;
+} AtomChipLimits;
+
+typedef struct AtomChipConfigs
+{
+ int num;
+ struct rhdPowerState *Settings;
+} AtomChipConfigs;
+
+
typedef union AtomBiosArg
{
CARD32 val;
@@ -209,6 +233,9 @@ typedef union AtomBiosArg
AtomExecRec exec;
AtomFbRec fb;
enum RHD_TV_MODE tvMode;
+ unsigned long clockValue;
+ AtomChipLimits chipLimits;
+ AtomChipConfigs chipConfigs;
} AtomBiosArgRec, *AtomBiosArgPtr;
enum atomCrtc {
@@ -485,6 +512,9 @@ struct atomCrtcBlank {
unsigned short r, g, b;
};
+extern int rhdUpdateAtomBIOSUsage(RHDPtr rhdPtr, char *string);
+extern char *rhdReturnAtomBIOSUsage(RHDPtr rhdPtr);
+
extern AtomBiosResult RHDAtomBiosFunc(int scrnIndex, atomBiosHandlePtr handle,
AtomBiosRequestID id, AtomBiosArgPtr data);
diff --git a/driver/xf86-video-radeonhd/src/rhd_atomout.c b/driver/xf86-video-radeonhd/src/rhd_atomout.c
index 1d1662ac9..9d50ade9f 100644
--- a/driver/xf86-video-radeonhd/src/rhd_atomout.c
+++ b/driver/xf86-video-radeonhd/src/rhd_atomout.c
@@ -1,7 +1,7 @@
/*
- * Copyright 2007, 2008 Luc Verhaegen <libv@exsuse.de>
- * Copyright 2007, 2008 Matthias Hopf <mhopf@novell.com>
- * Copyright 2007, 2008 Egbert Eich <eich@novell.com>
+ * Copyright 2007 - 2009 Luc Verhaegen <libv@exsuse.de>
+ * Copyright 2007 - 2009 Matthias Hopf <mhopf@novell.com>
+ * Copyright 2007 - 2009 Egbert Eich <eich@novell.com>
* Copyright 2007, 2008 Advanced Micro Devices, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
@@ -46,6 +46,7 @@
#include "rhd_atomout.h"
#include "rhd_biosscratch.h"
#include "rhd_hdmi.h"
+#include "rhd_acpi.h"
#if defined (ATOM_BIOS) && defined (ATOM_BIOS_PARSER)
struct rhdAtomOutputPrivate {
@@ -81,6 +82,8 @@ struct rhdAtomOutputPrivate {
struct rhdHdmi *Hdmi;
int BlLevel;
+ void (*SetBacklight)(struct rhdOutput *Output, int val);
+ int (*GetBacklight)(struct rhdOutput *Output);
};
#define ERROR_MSG(x) xf86DrvMsg(Output->scrnIndex, X_ERROR, "%s: %s failed.\n", __func__, x)
@@ -278,14 +281,12 @@ atomSetBacklightFromBIOSScratch(struct rhdOutput *Output)
*
*/
static void
-atomSetBacklight(struct rhdOutput *Output)
+atomSetBacklight(struct rhdOutput *Output, int val)
{
RHDPtr rhdPtr = RHDPTRI(Output);
- struct rhdAtomOutputPrivate *Private = (struct rhdAtomOutputPrivate *) Output->Private;
-
RHDFUNC(Output);
- RHDAtomBIOSScratchBlLevel(rhdPtr, rhdBIOSScratchBlSet, &Private->BlLevel);
+ RHDAtomBIOSScratchBlLevel(rhdPtr, rhdBIOSScratchBlSet, &val);
atomSetBacklightFromBIOSScratch(Output);
}
@@ -532,6 +533,7 @@ rhdAtomOutputRestore(struct rhdOutput *Output)
data.Address = &Private->Save;
RHDAtomBiosFunc(Output->scrnIndex, rhdPtr->atomBIOS, ATOM_RESTORE_REGISTERS, &data);
+ /* ??? */
if (Output->Connector && Output->Connector->Type == RHD_CONNECTOR_PANEL)
atomSetBacklightFromBIOSScratch(Output);
RHDHdmiRestore(Private->Hdmi);
@@ -566,13 +568,33 @@ rhdAtomOutputModeValid(struct rhdOutput *Output, DisplayModePtr Mode)
return MODE_OK;
}
+/*
+ *
+ */
+static int
+atomGetBacklight(struct rhdOutput *Output)
+{
+ RHDPtr rhdPtr = RHDPTRI(Output);
+ struct rhdAtomOutputPrivate *Private = (struct rhdAtomOutputPrivate *) Output->Private;
+ int level;
+
+ RHDFUNC(Output);
+
+ if (Private->BlLevel == -1) return -1;
+
+ RHDAtomBIOSScratchBlLevel(rhdPtr, rhdBIOSScratchBlSet, &level);
+
+ return level;
+}
+
/*
*
*/
static Bool
-LVDSInfoRetrieve(RHDPtr rhdPtr, struct rhdAtomOutputPrivate *Private)
+LVDSInfoRetrieve(struct rhdOutput *Output, struct rhdAtomOutputPrivate *Private)
{
+ RHDPtr rhdPtr = RHDPTRI(Output);
AtomBiosArgRec data;
if (RHDAtomBiosFunc(rhdPtr->scrnIndex, rhdPtr->atomBIOS,
@@ -625,7 +647,14 @@ LVDSInfoRetrieve(RHDPtr rhdPtr, struct rhdAtomOutputPrivate *Private)
}
Private->Coherent = FALSE;
- RHDAtomBIOSScratchBlLevel(rhdPtr, rhdBIOSScratchBlGet, &Private->BlLevel);
+ if ((Private->BlLevel = RhdACPIGetBacklightControl(Output)) >= 0) {
+ Private->SetBacklight = RhdACPISetBacklightControl;
+ Private->GetBacklight = RhdACPIGetBacklightControl;
+ } else {
+ RHDAtomBIOSScratchBlLevel(rhdPtr, rhdBIOSScratchBlGet, &Private->BlLevel);
+ Private->SetBacklight = atomSetBacklight;
+ Private->GetBacklight = atomGetBacklight;
+ }
return TRUE;
}
@@ -666,6 +695,7 @@ atomLVDSPropertyControl(struct rhdOutput *Output,
return FALSE;
}
case rhdPropertyGet:
+ Private->BlLevel = Private->GetBacklight(Output);
if (Private->BlLevel < 0)
return FALSE;
switch (Property) {
@@ -690,7 +720,7 @@ atomLVDSPropertyControl(struct rhdOutput *Output,
case rhdPropertyCommit:
switch (Property) {
case RHD_OUTPUT_BACKLIGHT:
- atomSetBacklight(Output);
+ Private->SetBacklight(Output,Private->BlLevel);
return TRUE;
default:
return FALSE;
@@ -715,6 +745,7 @@ atomTMDSPropertyControl(struct rhdOutput *Output,
switch (Property) {
case RHD_OUTPUT_COHERENT:
case RHD_OUTPUT_HDMI:
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
return TRUE;
default:
return FALSE;
@@ -727,6 +758,9 @@ atomTMDSPropertyControl(struct rhdOutput *Output,
case RHD_OUTPUT_HDMI:
val->Bool = atomIsHdmiEnabled(Output);
return TRUE;
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
+ val->Bool = RHDHdmiGetAudioWorkaround(Private->Hdmi);
+ return TRUE;
default:
return FALSE;
}
@@ -739,6 +773,9 @@ atomTMDSPropertyControl(struct rhdOutput *Output,
case RHD_OUTPUT_HDMI:
atomSetHdmiEnabled(Output, val->Bool);
break;
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
+ RHDHdmiSetAudioWorkaround(Private->Hdmi, val->Bool);
+ break;
default:
return FALSE;
}
@@ -750,6 +787,9 @@ atomTMDSPropertyControl(struct rhdOutput *Output,
Output->Mode(Output, Private->Mode);
Output->Power(Output, RHD_POWER_ON);
break;
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
+ RHDHdmiCommitAudioWorkaround(Private->Hdmi);
+ break;
default:
return FALSE;
}
@@ -946,7 +986,7 @@ RHDAtomOutputInit(RHDPtr rhdPtr, rhdConnectorType ConnectorType,
if (OutputType == RHD_OUTPUT_LVTMA) {
if (ConnectorType == RHD_CONNECTOR_PANEL) {
Private->OutputControlId = atomLCDOutput;
- LVDSInfoRetrieve(rhdPtr, Private);
+ LVDSInfoRetrieve(Output, Private);
Private->RunDualLink = Private->DualLink;
Private->EncoderId = atomEncoderLVDS;
} else {
@@ -1051,7 +1091,7 @@ RHDAtomOutputInit(RHDPtr rhdPtr, rhdConnectorType ConnectorType,
if (ConnectorType == RHD_CONNECTOR_PANEL) {
TransmitterConfig->Mode = EncoderConfig->u.dig.EncoderMode = atomLVDS;
- LVDSInfoRetrieve(rhdPtr, Private);
+ LVDSInfoRetrieve(Output, Private);
Private->Hdmi = NULL;
} else {
TransmitterConfig->Mode = EncoderConfig->u.dig.EncoderMode = atomDVI;
@@ -1125,7 +1165,7 @@ RHDAtomOutputInit(RHDPtr rhdPtr, rhdConnectorType ConnectorType,
}
if (ConnectorType == RHD_CONNECTOR_PANEL)
- LVDSInfoRetrieve(rhdPtr, Private);
+ LVDSInfoRetrieve(Output, Private);
else
TMDSInfoRetrieve(rhdPtr, Private);
@@ -1163,7 +1203,7 @@ RHDAtomOutputInit(RHDPtr rhdPtr, rhdConnectorType ConnectorType,
}
if (ConnectorType == RHD_CONNECTOR_PANEL) {
Output->Property = atomLVDSPropertyControl;
- LVDSInfoRetrieve(rhdPtr, Private);
+ LVDSInfoRetrieve(Output, Private);
} else {
Output->Property = atomTMDSPropertyControl;
TMDSInfoRetrieve(rhdPtr, Private);
@@ -1200,13 +1240,13 @@ RhdAtomSetupBacklightControlProperty(struct rhdOutput *Output,
RHDFUNC(Output);
Private = xnfcalloc(sizeof(struct rhdAtomOutputPrivate), 1);
+ TransmitterConfig = &Private->TransmitterConfig;
switch (Output->Id) {
case RHD_OUTPUT_KLDSKP_LVTMA:
case RHD_OUTPUT_UNIPHYE:
case RHD_OUTPUT_UNIPHYF:
/* We set up a those parameters although they may never be needed for BL control */
- TransmitterConfig = &Private->TransmitterConfig;
switch (Output->Id) {
case RHD_OUTPUT_KLDSKP_LVTMA:
Private->TransmitterId = atomTransmitterLVTMA;
@@ -1222,7 +1262,6 @@ RhdAtomSetupBacklightControlProperty(struct rhdOutput *Output,
default:
return 0; /* never get here */
}
- TransmitterConfig = &Private->TransmitterConfig;
TransmitterConfig->Mode = atomLVDS;
if (rhdPtr->DigEncoderOutput[0] == Output)
TransmitterConfig->Encoder = Private->EncoderId = atomEncoderDIG1;
@@ -1230,7 +1269,7 @@ RhdAtomSetupBacklightControlProperty(struct rhdOutput *Output,
TransmitterConfig->Encoder = Private->EncoderId = atomEncoderDIG2;
else
TransmitterConfig->Encoder = Private->EncoderId = atomEncoderNone;
- LVDSInfoRetrieve(rhdPtr, Private);
+ LVDSInfoRetrieve(Output, Private);
Private->PixelClock = 0;
Private->Hdmi = NULL;
break;
@@ -1244,6 +1283,8 @@ RhdAtomSetupBacklightControlProperty(struct rhdOutput *Output,
*PropertyFunc = atomLVDSPropertyControl;
*PrivatePtr = Private;
RHDAtomBIOSScratchBlLevel(rhdPtr, rhdBIOSScratchBlGet, &BlLevel);
+ Private->SetBacklight = atomSetBacklight;
+ Private->GetBacklight = atomGetBacklight;
return BlLevel;
}
diff --git a/driver/xf86-video-radeonhd/src/rhd_audio.c b/driver/xf86-video-radeonhd/src/rhd_audio.c
index 8d8a7d14e..5e3c4e240 100644
--- a/driver/xf86-video-radeonhd/src/rhd_audio.c
+++ b/driver/xf86-video-radeonhd/src/rhd_audio.c
@@ -90,14 +90,16 @@ AudioRate(struct rhdAudio* Audio)
return result;
}
+#if 0
/*
- * something playing ?
+ * something playing ? (not used anymore)
*/
static Bool
AudioPlaying(struct rhdAudio* Audio)
{
return (RHDRegRead(Audio, AUDIO_PLAYING) >> 4) & 1;
}
+#endif
/*
* iec 60958 status bits
@@ -124,35 +126,36 @@ static CARD32
AudioUpdateHdmi(OsTimerPtr timer, CARD32 time, pointer ptr)
{
struct rhdAudio *Audio = (struct rhdAudio*)ptr;
- Bool playing = AudioPlaying(Audio);
int channels = AudioChannels(Audio);
int rate = AudioRate(Audio);
int bps = AudioBitsPerSample(Audio);
CARD8 status_bits = AudioStatusBits(Audio);
CARD8 category_code = AudioCategoryCode(Audio);
+ Bool changes = FALSE;
+
struct rhdHdmi* hdmi;
- if(playing != Audio->SavedPlaying ||
- channels != Audio->SavedChannels ||
- rate != Audio->SavedRate ||
- bps != Audio->SavedBitsPerSample ||
- status_bits != Audio->SavedStatusBits ||
- category_code != Audio->SavedCategoryCode) {
+ changes |= channels != Audio->SavedChannels;
+ changes |= rate != Audio->SavedRate;
+ changes |= bps != Audio->SavedBitsPerSample;
+ changes |= status_bits != Audio->SavedStatusBits;
+ changes |= category_code != Audio->SavedCategoryCode;
- Audio->SavedPlaying = playing;
+ if(changes) {
Audio->SavedChannels = channels;
Audio->SavedRate = rate;
Audio->SavedBitsPerSample = bps;
Audio->SavedStatusBits = status_bits;
Audio->SavedCategoryCode = category_code;
+ }
- for(hdmi=Audio->Registered; hdmi != NULL; hdmi=hdmi->Next)
+ for(hdmi=Audio->Registered; hdmi != NULL; hdmi=hdmi->Next)
+ if(changes || RHDHdmiBufferStatusChanged(hdmi))
RHDHdmiUpdateAudioSettings(
- hdmi, playing, channels,
+ hdmi, channels,
rate, bps, status_bits,
category_code);
- }
return AUDIO_TIMER_INTERVALL;
}
@@ -188,7 +191,7 @@ RHDAudioSetEnable(RHDPtr rhdPtr, Bool Enable)
if (!Audio) return;
RHDFUNC(Audio);
- RHDRegMask(Audio, AUDIO_ENABLE, Enable ? 0x80000000 : 0x0, 0x80000000);
+ RHDRegMask(Audio, AUDIO_ENABLE, Enable ? 0x81000000 : 0x0, 0x81000000);
if(Enable) {
/* the hardware generates an interrupt if audio starts/stops playing,
* but since drm doesn't support this interrupt, we check
@@ -241,28 +244,22 @@ RHDAudioSetClock(RHDPtr rhdPtr, struct rhdOutput* Output, CARD32 Clock)
break;
default:
+ xf86DrvMsg(Audio->scrnIndex, X_ERROR, "%s: unsupported output type\n", __func__);
break;
}
- switch(Output->Id) {
- case RHD_OUTPUT_TMDSA:
- case RHD_OUTPUT_UNIPHYA:
+ switch(RHDOutputTmdsIndex(Output)) {
+ case 0:
RHDRegWrite(Audio, AUDIO_PLL1_MUL, Rate*50);
RHDRegWrite(Audio, AUDIO_PLL1_DIV, Clock*100);
RHDRegWrite(Audio, AUDIO_CLK_SRCSEL, 0);
break;
- case RHD_OUTPUT_LVTMA:
- case RHD_OUTPUT_UNIPHYB:
- case RHD_OUTPUT_KLDSKP_LVTMA:
+ case 1:
RHDRegWrite(Audio, AUDIO_PLL2_MUL, Rate*50);
RHDRegWrite(Audio, AUDIO_PLL2_DIV, Clock*100);
RHDRegWrite(Audio, AUDIO_CLK_SRCSEL, 1);
break;
-
- default:
- xf86DrvMsg(Audio->scrnIndex, X_ERROR, "%s: unsupported output type\n", __func__);
- break;
}
}
@@ -309,6 +306,9 @@ RHDAudioRegisterHdmi(RHDPtr rhdPtr, struct rhdHdmi* rhdHdmi)
if(!rhdHdmi)
return;
+ /* make shure the HDMI interface is not registered */
+ RHDAudioUnregisterHdmi(rhdPtr, rhdHdmi);
+
rhdHdmi->Next = Audio->Registered;
Audio->Registered = rhdHdmi;
}
@@ -324,7 +324,7 @@ void RHDAudioUnregisterHdmi(RHDPtr rhdPtr, struct rhdHdmi* rhdHdmi)
if (!Audio) return;
RHDFUNC(Audio);
- for(hdmiPtr=&Audio->Registered; hdmiPtr!=NULL;hdmiPtr=&(*hdmiPtr)->Next)
+ for(hdmiPtr=&Audio->Registered; *hdmiPtr!=NULL;hdmiPtr=&(*hdmiPtr)->Next)
if(*hdmiPtr == rhdHdmi) {
*hdmiPtr = rhdHdmi->Next;
rhdHdmi->Next = NULL;
@@ -375,7 +375,9 @@ RHDAudioRestore(RHDPtr rhdPtr)
return;
}
- /* shoutdown the audio engine before doing anything else */
+ /*
+ * Shutdown the audio engine before doing anything else.
+ */
RHDAudioSetEnable(rhdPtr, FALSE);
RHDRegWrite(Audio, AUDIO_TIMING, Audio->StoreTiming);
diff --git a/driver/xf86-video-radeonhd/src/rhd_audio.h b/driver/xf86-video-radeonhd/src/rhd_audio.h
index d74016c4e..82932e981 100644
--- a/driver/xf86-video-radeonhd/src/rhd_audio.h
+++ b/driver/xf86-video-radeonhd/src/rhd_audio.h
@@ -34,7 +34,6 @@ struct rhdAudio {
struct rhdHdmi* Registered;
OsTimerPtr Timer;
- Bool SavedPlaying;
int SavedChannels;
int SavedRate;
int SavedBitsPerSample;
diff --git a/driver/xf86-video-radeonhd/src/rhd_biosscratch.c b/driver/xf86-video-radeonhd/src/rhd_biosscratch.c
index d2a905c32..d075e47ca 100644
--- a/driver/xf86-video-radeonhd/src/rhd_biosscratch.c
+++ b/driver/xf86-video-radeonhd/src/rhd_biosscratch.c
@@ -43,8 +43,13 @@
# include <stdio.h>
# endif
+#ifdef HAVE_XEXTPROTO_71
+# include "X11/extensions/dpmsconst.h"
+#else
# define DPMS_SERVER
# include "X11/extensions/dpms.h"
+#endif
+
# include "rhd.h"
@@ -670,7 +675,7 @@ rhdBIOSScratchUpdateBIOSScratchForOutput(struct rhdOutput *Output)
/* connected - enable */
Device = rhdBIOSScratchSetDeviceForOutput(Output);
- if (Device == atomNone && rhdPtr->Card->ConnectorInfo[0].Type != RHD_CONNECTOR_NONE) {
+ if (Device == atomNone && (!rhdPtr->Card || rhdPtr->Card->ConnectorInfo[0].Type != RHD_CONNECTOR_NONE)) {
xf86DrvMsg(Output->scrnIndex, X_WARNING, "%s: AtomBIOS DeviceID unknown\n",__func__);
return Device;
}
diff --git a/driver/xf86-video-radeonhd/src/rhd_connector.c b/driver/xf86-video-radeonhd/src/rhd_connector.c
index 27ecdafbf..45f1fe654 100644
--- a/driver/xf86-video-radeonhd/src/rhd_connector.c
+++ b/driver/xf86-video-radeonhd/src/rhd_connector.c
@@ -231,7 +231,7 @@ RHDConnectorsInit(RHDPtr rhdPtr, struct rhdCard *Card)
data.chipset = rhdPtr->ChipSet;
result = RHDAtomBiosFunc(rhdPtr->scrnIndex, rhdPtr->atomBIOS,
- ATOMBIOS_GET_CONNECTORS, &data);
+ ATOM_GET_CONNECTORS, &data);
if (result == ATOM_SUCCESS) {
ConnectorInfo = data.ConnectorInfo;
InfoAllocated = TRUE;
diff --git a/driver/xf86-video-radeonhd/src/rhd_cs.c b/driver/xf86-video-radeonhd/src/rhd_cs.c
index 5e9fa0237..14cbe684c 100644
--- a/driver/xf86-video-radeonhd/src/rhd_cs.c
+++ b/driver/xf86-video-radeonhd/src/rhd_cs.c
@@ -643,7 +643,7 @@ RHDCSInit(ScrnInfoPtr pScrn)
if (rhdPtr->ChipSet >= RHD_R600) {
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "%s: No CS for R600 and up yet.\n", __func__);
+ "%s: CS for R600 requires DRI.\n", __func__);
xfree(CS);
rhdPtr->CS = NULL;
return;
diff --git a/driver/xf86-video-radeonhd/src/rhd_cursor.c b/driver/xf86-video-radeonhd/src/rhd_cursor.c
index eff990bba..af5c2ef60 100644
--- a/driver/xf86-video-radeonhd/src/rhd_cursor.c
+++ b/driver/xf86-video-radeonhd/src/rhd_cursor.c
@@ -62,13 +62,16 @@
static void
lockCursor(struct rhdCursor *Cursor, Bool Lock)
{
- /* Double Buffering: Set _UPDATE_LOCK bit */
+ /* Locking disables double buffering of HW cursor registers.
+ * Set D*CURSOR_UPDATE_LOCK bit to 1 to lock.
+ * We want *_DISABLE_MULTIPLE_UPDATE to always be 0, and since all other
+ * meaningful bits are read-only for D*CUR_UPDATE registers, it is safe
+ * to use RHDRegWrite() instead of RHDRegMask(); the latter is slower.
+ */
if (Lock)
- RHDRegMask(Cursor, Cursor->RegOffset + D1CUR_UPDATE,
- 0x00010000, 0x00010000);
+ RHDRegWrite(Cursor, Cursor->RegOffset + D1CUR_UPDATE, 0x00010000);
else
- RHDRegMask(Cursor, Cursor->RegOffset + D1CUR_UPDATE,
- 0x00000000, 0x00010000);
+ RHDRegWrite(Cursor, Cursor->RegOffset + D1CUR_UPDATE, 0x00000000);
}
/* RadeonHD has hardware support for hotspots, but doesn't allow negative
@@ -89,13 +92,23 @@ setCursorPos(struct rhdCursor *Cursor, CARD32 x, CARD32 y,
}
static void
+setCursorSize(struct rhdCursor *Cursor, CARD32 width, CARD32 height)
+{
+ ASSERT ((width > 0) && (width <= MAX_CURSOR_WIDTH));
+ ASSERT ((height > 0) && (height <= MAX_CURSOR_HEIGHT));
+ RHDRegWrite(Cursor, Cursor->RegOffset + D1CUR_SIZE,
+ (width - 1) << 16 | (height - 1));
+}
+
+static void
enableCursor(struct rhdCursor *Cursor, Bool Enable)
{
+ /* Make sure mode stays the same even when disabled; bug #13405 */
if (Enable)
/* pre-multiplied ARGB, Enable */
RHDRegWrite(Cursor, Cursor->RegOffset + D1CUR_CONTROL, 0x00000201);
else
- RHDRegWrite(Cursor, Cursor->RegOffset + D1CUR_CONTROL, 0);
+ RHDRegWrite(Cursor, Cursor->RegOffset + D1CUR_CONTROL, 0x00000200);
}
/* Activate already uploaded cursor image. */
@@ -106,10 +119,6 @@ setCursorImage(struct rhdCursor *Cursor)
RHDRegWrite(Cursor, Cursor->RegOffset + D1CUR_SURFACE_ADDRESS,
rhdPtr->FbIntAddress + Cursor->Base);
- ASSERT ((Cursor->Width > 0) && (Cursor->Width <= MAX_CURSOR_WIDTH));
- ASSERT ((Cursor->Height > 0) && (Cursor->Height <= MAX_CURSOR_HEIGHT));
- RHDRegWrite(Cursor, Cursor->RegOffset + D1CUR_SIZE,
- (Cursor->Width - 1) << 16 | (Cursor->Height - 1));
}
/* Upload image.
@@ -121,7 +130,7 @@ uploadCursorImage(struct rhdCursor *Cursor, CARD32 *img)
RHDPtr rhdPtr = RHDPTRI(Cursor);
memcpy(((CARD8 *) rhdPtr->FbBase + Cursor->Base), img,
- MAX_CURSOR_WIDTH * Cursor->Height * 4);
+ MAX_CURSOR_WIDTH * MAX_CURSOR_HEIGHT * 4);
}
static void
@@ -192,6 +201,8 @@ convertBitsToARGB(struct rhd_Cursor_Bits *bits, CARD32 *dest,
CARD8 *mask = src + srcPitch * bits->height;
int x, y;
+ memset(dest, 0, MAX_CURSOR_WIDTH * MAX_CURSOR_HEIGHT * 4);
+
for (y = 0; y < bits->height; y++) {
CARD8 *s = src, *m = mask;
CARD32 *d = dest;
@@ -210,45 +221,27 @@ convertBitsToARGB(struct rhd_Cursor_Bits *bits, CARD32 *dest,
}
}
-/* Enable/disable cursor according to visibility, and set cursor pos */
-static void
-displayCursor(struct rhdCrtc *Crtc)
+/*
+ * Returns if CRTC has a visible cursor
+ */
+static Bool
+hasVisibleCursor(struct rhdCrtc *Crtc, int X, int Y)
{
- struct rhdCursor *Cursor = Crtc->Cursor;
+ if (((X + MAX_CURSOR_WIDTH) < Crtc->X) &&
+ ((Y + MAX_CURSOR_HEIGHT) < Crtc->Y))
+ return FALSE;
- /* Hardware doesn't allow negative cursor pos. Use hardware
- * hotspot support for that. Cannot exceed width, but cursor is
- * not visible in this case. */
-
- /* xorg bug#13405: Cursor corruptions
- * With both CRTC enabled but HW cursor active only on one, the reported
- * corruption is seen. If HW cursor for both CRTC is forced to stay on, then no
- * corruption occurs. */
-#if 0
- if (Cursor->X >= Crtc->X - Cursor->Width &&
- Cursor->X < Crtc->X + Crtc->Width &&
- Cursor->Y >= Crtc->Y - Cursor->Height &&
- Cursor->Y < Crtc->Y + Crtc->Height) {
-#endif
- int X, Y, HotX, HotY;
-
- X = Cursor->X >= 0 ? Cursor->X : 0;
- Y = Cursor->Y >= 0 ? Cursor->Y : 0;
- HotX = Cursor->X >= 0 ? 0 : -Cursor->X;
- HotY = Cursor->Y >= 0 ? 0 : -Cursor->Y;
-
- enableCursor(Cursor, TRUE);
- setCursorPos(Cursor, X, Y, HotX, HotY);
-#if 0
- } else
- enableCursor(Cursor, FALSE);
-#endif
+ if ((X >= (Crtc->X + Crtc->Width)) &&
+ (Y >= (Crtc->Y + Crtc->Height)))
+ return FALSE;
+
+ return TRUE;
}
+
/*
* Internal Driver + Xorg Interface
*/
-
void
rhdShowCursor(ScrnInfoPtr pScrn)
{
@@ -258,13 +251,9 @@ rhdShowCursor(ScrnInfoPtr pScrn)
for (i = 0; i < 2; i++) {
struct rhdCrtc *Crtc = rhdPtr->Crtc[i];
- if (Crtc->Active && Crtc->scrnIndex == pScrn->scrnIndex) {
- struct rhdCursor *Cursor = Crtc->Cursor;
-
- lockCursor (Cursor, TRUE);
- displayCursor(Crtc);
- lockCursor (Cursor, FALSE);
- }
+ if (Crtc->Active && (Crtc->scrnIndex == pScrn->scrnIndex) &&
+ hasVisibleCursor(Crtc, Crtc->Cursor->X, Crtc->Cursor->Y))
+ rhdCrtcShowCursor(Crtc);
}
}
@@ -278,11 +267,7 @@ rhdHideCursor(ScrnInfoPtr pScrn)
struct rhdCrtc *Crtc = rhdPtr->Crtc[i];
if (Crtc->Active && Crtc->scrnIndex == pScrn->scrnIndex) {
- struct rhdCursor *Cursor = Crtc->Cursor;
-
- lockCursor (Cursor, TRUE);
- enableCursor(Cursor, FALSE);
- lockCursor (Cursor, FALSE);
+ rhdCrtcHideCursor(Crtc);
}
}
}
@@ -339,14 +324,7 @@ rhdReloadCursor(ScrnInfoPtr pScrn)
struct rhdCrtc *Crtc = rhdPtr->Crtc[i];
if (Crtc->scrnIndex == pScrn->scrnIndex) {
- struct rhdCursor *Cursor = Crtc->Cursor;
-
- lockCursor (Cursor, TRUE);
- uploadCursorImage(Cursor, rhdPtr->CursorImage);
- setCursorImage (Cursor);
- if (Crtc->Active)
- displayCursor(Crtc);
- lockCursor (Cursor, FALSE);
+ rhdCrtcLoadCursorARGB(Crtc, rhdPtr->CursorImage);
}
}
}
@@ -363,17 +341,10 @@ rhdSetCursorPosition(ScrnInfoPtr pScrn, int x, int y)
for (i = 0; i < 2; i++) {
struct rhdCrtc *Crtc = rhdPtr->Crtc[i];
- if (Crtc->Active && Crtc->scrnIndex == pScrn->scrnIndex) {
- struct rhdCursor *Cursor = Crtc->Cursor;
-
- /* Given cursor pos is always relative to frame - make absolute */
- Cursor->X = x + pScrn->frameX0;
- Cursor->Y = y + pScrn->frameY0;
-
- lockCursor (Cursor, TRUE);
- displayCursor(Crtc);
- lockCursor (Cursor, FALSE);
- }
+ /* Cursor here is relative to frame. */
+ if (Crtc->Active && (Crtc->scrnIndex == pScrn->scrnIndex) &&
+ hasVisibleCursor(Crtc, x + pScrn->frameX0, y + pScrn->frameY0))
+ rhdCrtcSetCursorPosition(Crtc, x + pScrn->frameX0, y + pScrn->frameY0);
}
}
@@ -397,12 +368,7 @@ rhdSetCursorColors(ScrnInfoPtr pScrn, int bg, int fg)
struct rhdCrtc *Crtc = rhdPtr->Crtc[i];
if (Crtc->scrnIndex == pScrn->scrnIndex) {
- struct rhdCursor *Cursor = Crtc->Cursor;
-
- lockCursor (Cursor, TRUE);
- uploadCursorImage(Cursor, rhdPtr->CursorImage);
- setCursorImage (Cursor);
- lockCursor (Cursor, FALSE);
+ rhdCrtcLoadCursorARGB(Crtc, rhdPtr->CursorImage);
}
}
}
@@ -422,15 +388,7 @@ rhdLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *src)
struct rhdCrtc *Crtc = rhdPtr->Crtc[i];
if (Crtc->scrnIndex == pScrn->scrnIndex) {
- struct rhdCursor *Cursor = Crtc->Cursor;
-
- Cursor->Width = bits->width;
- Cursor->Height = bits->height;
-
- lockCursor (Cursor, TRUE);
- uploadCursorImage(Cursor, rhdPtr->CursorImage);
- setCursorImage (Cursor);
- lockCursor (Cursor, FALSE);
+ rhdCrtcLoadCursorARGB(Crtc, rhdPtr->CursorImage);
}
}
}
@@ -455,24 +413,19 @@ rhdLoadCursorARGB(ScrnInfoPtr pScrn, CursorPtr cur)
rhdPtr->CursorBits = NULL;
/* Hardware only supports 64-wide cursor images. */
- for (i = 0; i < cur->bits->height; i++)
- memcpy(rhdPtr->CursorImage + MAX_CURSOR_WIDTH*i,
+ memset(rhdPtr->CursorImage, 0, MAX_CURSOR_WIDTH * MAX_CURSOR_HEIGHT * 4);
+ for (i = 0; i < cur->bits->height; i++) {
+ CARD32 *img = rhdPtr->CursorImage + MAX_CURSOR_WIDTH*i;
+ memcpy(img,
cur->bits->argb + cur->bits->width*i,
cur->bits->width*4);
+ }
for (i = 0; i < 2; i++) {
struct rhdCrtc *Crtc = rhdPtr->Crtc[i];
if (Crtc->scrnIndex == pScrn->scrnIndex) {
- struct rhdCursor *Cursor = Crtc->Cursor;
-
- Cursor->Width = cur->bits->width;
- Cursor->Height = cur->bits->height;
-
- lockCursor (Cursor, TRUE);
- uploadCursorImage(Cursor, rhdPtr->CursorImage);
- setCursorImage (Cursor);
- lockCursor (Cursor, FALSE);
+ rhdCrtcLoadCursorARGB(Crtc, rhdPtr->CursorImage);
}
}
}
@@ -588,10 +541,9 @@ void
rhdCrtcShowCursor(struct rhdCrtc *Crtc)
{
struct rhdCursor *Cursor = Crtc->Cursor;
-
- lockCursor (Cursor, TRUE);
- displayCursor(Crtc);
- lockCursor (Cursor, FALSE);
+ lockCursor (Cursor, TRUE);
+ enableCursor(Cursor, TRUE);
+ lockCursor (Cursor, FALSE);
}
/*
@@ -613,12 +565,58 @@ rhdCrtcHideCursor(struct rhdCrtc *Crtc)
void
rhdCrtcSetCursorPosition(struct rhdCrtc *Crtc, int x, int y)
{
+ RHDPtr rhdPtr = RHDPTRI(Crtc);
struct rhdCursor *Cursor = Crtc->Cursor;
+ int hotx, hoty, width, cursor_end, frame_end;
+
Cursor->X = x;
Cursor->Y = y;
+ hotx = 0;
+ hoty = 0;
+
+ /* Hardware doesn't allow negative cursor pos; compensate using hotspot */
+ if (x < 0) {
+ hotx = -x;
+ x = 0;
+ }
+ if (y < 0) {
+ hoty = -y;
+ y = 0;
+ }
+
lockCursor (Cursor, TRUE);
- displayCursor(Crtc);
+
+ /* Work around rare corruption cases by adjusting cursor size;
+ * related to bug #13405
+ * For dual-screen:
+ * - Cursor's right-edge must not end on multiples of 128px.
+ * - For panning, cursor image cannot horizontally extend past end of viewport.
+ */
+ if (rhdPtr->Crtc[0]->Active && rhdPtr->Crtc[1]->Active) {
+ width = MAX_CURSOR_WIDTH;
+ cursor_end = x + width;
+ frame_end = Crtc->X + Crtc->Width;
+
+ if (cursor_end > frame_end) {
+ width -= cursor_end - frame_end;
+ cursor_end = x + width;
+ }
+ if (! (cursor_end & 0x7f)) {
+ width--;
+ }
+ /* If the cursor is effectively invisible, move it out of visible area */
+ if (width <= 0) {
+ width = 1;
+ x = 0;
+ y = Crtc->Y + Crtc->Height;
+ hotx = 0;
+ hoty = 0;
+ }
+ setCursorSize(Cursor, width, MAX_CURSOR_HEIGHT);
+ }
+
+ setCursorPos (Cursor, x, y, hotx, hoty);
lockCursor (Cursor, FALSE);
}
@@ -642,12 +640,10 @@ rhdCrtcLoadCursorARGB(struct rhdCrtc *Crtc, CARD32 *Image)
{
struct rhdCursor *Cursor = Crtc->Cursor;
- Cursor->Width = MAX_CURSOR_WIDTH;
- Cursor->Height = MAX_CURSOR_HEIGHT;
-
lockCursor (Cursor, TRUE);
uploadCursorImage(Cursor, Image);
setCursorImage (Cursor);
+ setCursorSize (Cursor, MAX_CURSOR_WIDTH, MAX_CURSOR_HEIGHT);
lockCursor (Cursor, FALSE);
}
diff --git a/driver/xf86-video-radeonhd/src/rhd_cursor.h b/driver/xf86-video-radeonhd/src/rhd_cursor.h
index a2347d753..d6970d892 100644
--- a/driver/xf86-video-radeonhd/src/rhd_cursor.h
+++ b/driver/xf86-video-radeonhd/src/rhd_cursor.h
@@ -38,8 +38,6 @@ struct rhdCursor
int RegOffset;
- int Width;
- int Height;
int Base;
int X;
diff --git a/driver/xf86-video-radeonhd/src/rhd_dac.c b/driver/xf86-video-radeonhd/src/rhd_dac.c
index 30e699fab..8d05fe50c 100644
--- a/driver/xf86-video-radeonhd/src/rhd_dac.c
+++ b/driver/xf86-video-radeonhd/src/rhd_dac.c
@@ -290,7 +290,7 @@ DACGetElectrical(RHDPtr rhdPtr, enum outputType type, int dac, CARD8 *bandgap, C
if (atomBiosArg.val = 0x18,
RHDAtomBiosFunc(rhdPtr->scrnIndex, rhdPtr->atomBIOS,
- ATOMBIOS_GET_CODE_DATA_TABLE,
+ ATOM_GET_CODE_DATA_TABLE,
&atomBiosArg) == ATOM_SUCCESS) {
struct AtomDacCodeTableData *data
= (struct AtomDacCodeTableData *)atomBiosArg.CommandDataTable.loc;
@@ -648,7 +648,7 @@ DACSenseRV620(struct rhdOutput *Output, CARD32 offset, Bool TV)
/* enable comparators for R/G/B, disable DDET and SDET reference */
RHDRegMask(Output, offset + RV620_DACA_COMPARATOR_ENABLE, 0x70000, 0x070101);
RHDRegMask(Output, offset + RV620_DACA_AUTODETECT_CONTROL, 0x01, 0xff);
- usleep(32);
+ usleep(50);
ret = RHDRegRead(Output, offset + RV620_DACA_AUTODETECT_STATUS);
RHDRegWrite(Output, offset + RV620_DACA_AUTODETECT_CONTROL, DetectControl);
RHDRegWrite(Output, offset + RV620_DACA_MACRO_CNTL, Control1);
diff --git a/driver/xf86-video-radeonhd/src/rhd_dig.c b/driver/xf86-video-radeonhd/src/rhd_dig.c
index 6cc5521fa..782c8db3a 100644
--- a/driver/xf86-video-radeonhd/src/rhd_dig.c
+++ b/driver/xf86-video-radeonhd/src/rhd_dig.c
@@ -42,6 +42,7 @@
#include "rhd_output.h"
#include "rhd_regs.h"
#include "rhd_hdmi.h"
+#include "rhd_acpi.h"
#ifdef ATOM_BIOS
#include "rhd_atombios.h"
#include "rhd_atomout.h"
@@ -65,11 +66,9 @@ struct transmitter {
void (*Destroy) (struct rhdOutput *Output);
Bool (*Property) (struct rhdOutput *Output,
enum rhdPropertyAction Action, enum rhdOutputProperty Property, union rhdPropertyData *val);
-#ifdef NOT_YET
Bool (*WrappedPropertyCallback) (struct rhdOutput *Output,
enum rhdPropertyAction Action, enum rhdOutputProperty Property, union rhdPropertyData *val);
void *PropertyPrivate;
-#endif
void *Private;
};
@@ -121,6 +120,10 @@ struct DIGPrivate
CARD32 OffDelay;
struct rhdFMTDither FMTDither;
int BlLevel;
+
+ void (*SetBacklight)(struct rhdOutput *Output, int val);
+ int (*GetBacklight)(struct rhdOutput *Output);
+
};
/*
@@ -159,11 +162,8 @@ LVTMATransmitterModeValid(struct rhdOutput *Output, DisplayModePtr Mode)
}
static void
-LVDSSetBacklight(struct rhdOutput *Output)
+LVDSSetBacklight(struct rhdOutput *Output, int level)
{
- struct DIGPrivate *Private = (struct DIGPrivate *) Output->Private;
- int level = Private->BlLevel;
-
RHDFUNC(Output);
RHDRegMask(Output, RV620_LVTMA_PWRSEQ_REF_DIV,
@@ -178,6 +178,20 @@ LVDSSetBacklight(struct rhdOutput *Output)
/*
*
*/
+static int
+LVDSGetBacklight(struct rhdOutput *Output)
+{
+ CARD32 level;
+
+ level = RHDRegRead(Output, RV620_LVTMA_BL_MOD_CNTL);
+ if ((level & 0x01) != 0x01) return -1;
+
+ return (level >> LVTMA_BL_MOD_LEVEL_SHIFT) & 0xFF;
+}
+
+/*
+ *
+ */
static Bool
LVDSTransmitterPropertyControl(struct rhdOutput *Output,
enum rhdPropertyAction Action, enum rhdOutputProperty Property, union rhdPropertyData *val)
@@ -187,19 +201,20 @@ LVDSTransmitterPropertyControl(struct rhdOutput *Output,
RHDFUNC(Output);
switch (Action) {
case rhdPropertyCheck:
- if (Private->BlLevel < 0)
- return FALSE;
switch (Property) {
case RHD_OUTPUT_BACKLIGHT:
- return TRUE;
+ if (Private->BlLevel < 0)
+ return FALSE;
+ return TRUE;
default:
return FALSE;
}
case rhdPropertyGet:
- if (Private->BlLevel < 0)
- return FALSE;
switch (Property) {
case RHD_OUTPUT_BACKLIGHT:
+ Private->BlLevel = Private->GetBacklight(Output);
+ if (Private->BlLevel < 0)
+ return FALSE;
val->integer = Private->BlLevel;
return TRUE;
default:
@@ -207,10 +222,10 @@ LVDSTransmitterPropertyControl(struct rhdOutput *Output,
}
break;
case rhdPropertySet:
- if (Private->BlLevel < 0)
- return FALSE;
switch (Property) {
case RHD_OUTPUT_BACKLIGHT:
+ if (Private->BlLevel < 0)
+ return FALSE;
Private->BlLevel = val->integer;
return TRUE;
default:
@@ -220,7 +235,9 @@ LVDSTransmitterPropertyControl(struct rhdOutput *Output,
case rhdPropertyCommit:
switch (Property) {
case RHD_OUTPUT_BACKLIGHT:
- LVDSSetBacklight(Output);
+ if (Private->BlLevel < 0)
+ return FALSE;
+ Private->SetBacklight(Output, Private->BlLevel);
return TRUE;
default:
return FALSE;
@@ -245,6 +262,7 @@ TMDSTransmitterPropertyControl(struct rhdOutput *Output,
switch (Property) {
case RHD_OUTPUT_COHERENT:
case RHD_OUTPUT_HDMI:
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
return TRUE;
default:
return FALSE;
@@ -257,6 +275,9 @@ TMDSTransmitterPropertyControl(struct rhdOutput *Output,
case RHD_OUTPUT_HDMI:
val->Bool = Private->EncoderMode == TMDS_HDMI;
return TRUE;
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
+ val->Bool = RHDHdmiGetAudioWorkaround(Private->Hdmi);
+ return TRUE;
default:
return FALSE;
}
@@ -269,6 +290,9 @@ TMDSTransmitterPropertyControl(struct rhdOutput *Output,
case RHD_OUTPUT_HDMI:
Private->EncoderMode = val->Bool ? TMDS_HDMI : TMDS_DVI;
break;
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
+ RHDHdmiSetAudioWorkaround(Private->Hdmi, val->Bool);
+ break;
default:
return FALSE;
}
@@ -280,6 +304,9 @@ TMDSTransmitterPropertyControl(struct rhdOutput *Output,
Output->Mode(Output, Private->Mode);
Output->Power(Output, RHD_POWER_ON);
break;
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
+ RHDHdmiCommitAudioWorkaround(Private->Hdmi);
+ break;
default:
return FALSE;
}
@@ -308,7 +335,6 @@ LVTMATransmitterSet(struct rhdOutput *Output, struct rhdCrtc *Crtc, DisplayModeP
RHDRegMask(Output, RV620_LVTMA_TRANSMITTER_CONTROL,
doCoherent ? 0 : RV62_LVTMA_BYPASS_PLL, RV62_LVTMA_BYPASS_PLL);
- Private->Mode = Mode;
#ifdef ATOM_BIOS
RHDDebug(Output->scrnIndex, "%s: SynthClock: %i Hex: %x EncoderMode: %x\n",__func__,
(Mode->SynthClock),(Mode->SynthClock / 10), Private->EncoderMode);
@@ -322,7 +348,7 @@ LVTMATransmitterSet(struct rhdOutput *Output, struct rhdCrtc *Crtc, DisplayModeP
/* Get data from DIG2TransmitterControl table */
data.val = 0x4d;
- if (RHDAtomBiosFunc(rhdPtr->scrnIndex, rhdPtr->atomBIOS, ATOMBIOS_GET_CODE_DATA_TABLE,
+ if (RHDAtomBiosFunc(rhdPtr->scrnIndex, rhdPtr->atomBIOS, ATOM_GET_CODE_DATA_TABLE,
&data) == ATOM_SUCCESS) {
AtomBiosArgRec data1;
CARD32 *d_p = NULL;
@@ -1313,7 +1339,7 @@ GetLVDSInfo(RHDPtr rhdPtr, struct DIGPrivate *Private)
& RV62_LVDS_24BIT_ENABLE) != 0);
tmp = RHDRegRead(rhdPtr, RV620_LVTMA_BL_MOD_CNTL);
- if (tmp & 0x1)
+ if (tmp & LVTMA_BL_MOD_EN)
Private->BlLevel = ( tmp >> LVTMA_BL_MOD_LEVEL_SHIFT ) & 0xff;
else
Private->BlLevel = -1;
@@ -1456,11 +1482,11 @@ DigPropertyControl(struct rhdOutput *Output,
case RHD_OUTPUT_COHERENT:
case RHD_OUTPUT_BACKLIGHT:
case RHD_OUTPUT_HDMI:
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
{
if (!Private->Transmitter.Property)
return FALSE;
- Private->Transmitter.Property(Output, Action, Property, val);
- break;
+ return Private->Transmitter.Property(Output, Action, Property, val);
}
default:
return FALSE;
@@ -1482,6 +1508,8 @@ DigMode(struct rhdOutput *Output, DisplayModePtr Mode)
RHDFUNC(Output);
+ Private->Mode = Mode;
+
/*
* For dual link capable DVI we need to decide from the pix clock if we are dual link.
* Do it here as it is convenient.
@@ -1543,10 +1571,8 @@ DigDestroy(struct rhdOutput *Output)
Encoder->Destroy(Output);
Transmitter->Destroy(Output);
RHDHdmiDestroy(Private->Hdmi);
-#ifdef NOT_YET
if (Transmitter->PropertyPrivate)
RhdAtomDestroyBacklightControlProperty(Output, Transmitter->PropertyPrivate);
-#endif
xfree(Private);
Output->Private = NULL;
}
@@ -1641,7 +1667,6 @@ DigAllocFree(struct rhdOutput *Output, enum rhdOutputAllocation Alloc)
/*
*
*/
-#ifdef NOT_YET
static Bool
digTransmitterPropertyWrapper(struct rhdOutput *Output,
enum rhdPropertyAction Action,
@@ -1660,7 +1685,6 @@ digTransmitterPropertyWrapper(struct rhdOutput *Output,
return ret;
}
-#endif
/*
*
@@ -1830,17 +1854,31 @@ RHDDIGInit(RHDPtr rhdPtr, enum rhdOutputType outputType, CARD8 ConnectorType)
case RHD_CONNECTOR_PANEL:
Private->EncoderMode = LVDS;
GetLVDSInfo(rhdPtr, Private);
+ if (Private->BlLevel >= 0) {
+ Private->SetBacklight = LVDSSetBacklight;
+ Private->GetBacklight = LVDSGetBacklight;
+ xf86DrvMsg(Output->scrnIndex,X_INFO, "Native Backlight Control found.\n");
+ } else {
+ Private->BlLevel = RhdACPIGetBacklightControl(Output);
+ if (Private->BlLevel >= 0) {
+ xf86DrvMsg(Output->scrnIndex,X_INFO, "ACPI Backlight Control found.\n");
+ Private->SetBacklight = RhdACPISetBacklightControl;
+ Private->GetBacklight = RhdACPIGetBacklightControl;
+ }
#ifdef ATOM_BIOS
-#ifdef NOT_YET
- if (Private->BlLevel < 0) {
- Private->BlLevel = RhdAtomSetupBacklightControlProperty(Output,
- &Private->Transmitter.WrappedPropertyCallback,
- &Private->Transmitter.PropertyPrivate);
- if (Private->Transmitter.PropertyPrivate)
- Private->Transmitter.Property = digTransmitterPropertyWrapper;
- }
-#endif
+ else {
+ Private->BlLevel = RhdAtomSetupBacklightControlProperty(
+ Output,
+ &Private->Transmitter.WrappedPropertyCallback,
+ &Private->Transmitter.PropertyPrivate);
+ if (Private->Transmitter.PropertyPrivate)
+ Private->Transmitter.Property = digTransmitterPropertyWrapper;
+ xf86DrvMsg(Output->scrnIndex,X_INFO,
+ "Falling back to AtomBIOS controlled Backlight.\n");
+ }
#endif
+ }
+
Private->Hdmi = NULL;
break;
case RHD_CONNECTOR_DVI:
diff --git a/driver/xf86-video-radeonhd/src/rhd_dri.c b/driver/xf86-video-radeonhd/src/rhd_dri.c
index d06ba4330..27d328b68 100644
--- a/driver/xf86-video-radeonhd/src/rhd_dri.c
+++ b/driver/xf86-video-radeonhd/src/rhd_dri.c
@@ -87,7 +87,7 @@
#define IS_RADEONHD_DRIVER 1
#include "radeon_dri.h"
-#ifdef RANDR_12_SUPPORT // FIXME check / move to rhd_randr.c
+#ifdef RANDR_12_SUPPORT /* FIXME check / move to rhd_randr.c */
# include "xf86i2c.h" /* this is complete BS, stop using unnamed structs! */
# include "xf86Crtc.h"
#endif
@@ -158,7 +158,7 @@ struct rhdDri {
drmAddress ring; /* Map */
int ringSizeLog2QW;
- // TODO: what is r/o ring space for (1 page)
+ /* TODO: what is r/o ring space for (1 page) */
unsigned long ringReadOffset; /* Offset into GART space */
drm_handle_t ringReadPtrHandle; /* Handle from drmAddMap */
drmSize ringReadMapSize; /* Size of map */
@@ -527,10 +527,9 @@ static void RHDDRIInitGARTValues(struct rhdDri * rhdDRI)
}
/* Set AGP transfer mode according to requests and constraints */
-static Bool RHDSetAgpMode(struct rhdDri * rhdDRI, ScreenPtr pScreen)
+static Bool RHDSetAgpMode(struct rhdDri * rhdDRI)
{
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
- RHDPtr rhdPtr = RHDPTR(pScrn);
+ RHDPtr rhdPtr = RHDPTRI(rhdDRI);
unsigned long mode = drmAgpGetMode(rhdDRI->drmFD); /* Default mode */
unsigned int vendor = drmAgpVendorId(rhdDRI->drmFD);
unsigned int device = drmAgpDeviceId(rhdDRI->drmFD);
@@ -553,7 +552,7 @@ static Bool RHDSetAgpMode(struct rhdDri * rhdDRI, ScreenPtr pScreen)
else
rhdDRI->agpMode = 1;
}
- xf86DrvMsg(pScreen->myNum, X_DEFAULT, "Using AGP %dx\n", rhdDRI->agpMode);
+ xf86DrvMsg(rhdDRI->scrnIndex, X_DEFAULT, "Using AGP %dx\n", rhdDRI->agpMode);
mode &= ~AGP_MODE_MASK;
if (is_v3) {
@@ -572,12 +571,12 @@ static Bool RHDSetAgpMode(struct rhdDri * rhdDRI, ScreenPtr pScreen)
} else
rhdDRI->agpMode = 8; /* doesn't matter at this point */
- xf86DrvMsg(pScreen->myNum, X_INFO,
+ xf86DrvMsg(rhdDRI->scrnIndex, X_INFO,
"[agp] Mode 0x%08lx [AGP 0x%04x/0x%04x]\n",
mode, vendor, device);
if (drmAgpEnable(rhdDRI->drmFD, mode) < 0) {
- xf86DrvMsg(pScreen->myNum, X_ERROR, "[agp] AGP not enabled\n");
+ xf86DrvMsg(rhdDRI->scrnIndex, X_ERROR, "[agp] AGP not enabled\n");
drmAgpRelease(rhdDRI->drmFD);
return FALSE;
}
@@ -586,10 +585,9 @@ static Bool RHDSetAgpMode(struct rhdDri * rhdDRI, ScreenPtr pScreen)
}
/* Initialize Radeon's AGP registers */
-static void RHDSetAgpBase(struct rhdDri * rhdDRI, ScreenPtr pScreen)
+static void RHDSetAgpBase(struct rhdDri * rhdDRI)
{
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
- RHDPtr rhdPtr = RHDPTR(pScrn);
+ RHDPtr rhdPtr = RHDPTRI(rhdDRI);
if (rhdPtr->ChipSet < RHD_R600)
RHDRegWrite (rhdDRI, AGP_BASE, drmAgpBase(rhdDRI->drmFD));
@@ -608,7 +606,7 @@ static Bool RHDDRIAgpInit(struct rhdDri * rhdDRI, ScreenPtr pScreen)
return FALSE;
}
- if (!RHDSetAgpMode(rhdDRI, pScreen))
+ if (!RHDSetAgpMode(rhdDRI))
return FALSE;
RHDDRIInitGARTValues(rhdDRI);
@@ -709,7 +707,7 @@ static Bool RHDDRIAgpInit(struct rhdDri * rhdDRI, ScreenPtr pScreen)
"[agp] GART Texture map mapped at 0x%08lx\n",
(unsigned long)rhdDRI->gartTex);
- RHDSetAgpBase(rhdDRI, pScreen);
+ RHDSetAgpBase(rhdDRI);
return TRUE;
}
@@ -892,11 +890,11 @@ static int RHDDRIKernelInit(RHDPtr rhdPtr, ScreenPtr pScreen)
return FALSE;
}
- // FIXME: this is to be moved to rhd_cp
- /* DRM_RADEON_CP_INIT does an engine reset, which resets some engine
- * registers back to their default values, so we need to restore
- * those engine register here. */
-// R5xx2DSetup(pScrn);
+ /* - FIXME: this is to be moved to rhd_cp
+ * - DRM_RADEON_CP_INIT does an engine reset, which resets some engine
+ * registers back to their default values, so we need to restore
+ * those engine register here.
+ * - R5xx2DSetup(pScrn); */
return TRUE;
}
@@ -980,8 +978,8 @@ static void RHDDRIIrqInit(RHDPtr rhdPtr, ScreenPtr pScreen)
"[drm] falling back to irq-free operation\n");
rhdDRI->irq = 0;
} else {
-// FIXME
-// rhdDRI->ModeReg->gen_int_cntl = RHDRegRead (rhdDRI, RADEON_GEN_INT_CNTL );
+/* FIXME
+ rhdDRI->ModeReg->gen_int_cntl = RHDRegRead (rhdDRI, RADEON_GEN_INT_CNTL ); */
}
}
@@ -1118,13 +1116,15 @@ static Bool RHDDRISetVBlankInterrupt(ScrnInfoPtr pScrn, Bool on)
if (rhdDRI->irq) {
if (on) {
-#ifdef RANDR_12_SUPPORT // FIXME check / move to rhd_randr.c
- xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
- if (xf86_config->num_crtc > 1 && xf86_config->crtc[1]->enabled)
- value = DRM_RADEON_VBLANK_CRTC1 | DRM_RADEON_VBLANK_CRTC2;
- else
+ value = DRM_RADEON_VBLANK_CRTC1;
+
+#ifdef RANDR_12_SUPPORT /* FIXME check / move to rhd_randr.c */
+ if (RHDPTR(pScrn)->randr) {
+ xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
+ if (xf86_config->num_crtc > 1 && xf86_config->crtc[1]->enabled)
+ value |= DRM_RADEON_VBLANK_CRTC2;
+ }
#endif
- value = DRM_RADEON_VBLANK_CRTC1;
}
if (RHDDRISetParam(pScrn, RADEON_SETPARAM_VBLANK_CRTC, value)) {
@@ -1163,19 +1163,6 @@ Bool RHDDRIPreInit(ScrnInfoPtr pScrn)
return FALSE;
}
- if (rhdPtr->ChipSet >= RHD_R600) {
- if (rhdPtr->useDRI.set && rhdPtr->useDRI.val.bool) {
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "Direct rendering for R600 and up forced on - "
- "This is NOT officially supported yet "
- "and may cause instability or lockups\n");
- } else {
- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
- "Direct rendering not officially supported on R600 and up\n");
- return FALSE;
- }
- }
-
if (!RHDDRIVersionCheck(rhdPtr)) {
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"%s: Version check failed. Disabling DRI.\n", __func__);
@@ -1624,9 +1611,9 @@ void RHDDRIEnterVT(ScreenPtr pScreen)
return;
if (rhdPtr->cardType == RHD_CARD_AGP) {
- if (!RHDSetAgpMode(rhdDRI, pScreen))
+ if (!RHDSetAgpMode(rhdDRI))
return;
- RHDSetAgpBase(rhdDRI, pScreen);
+ RHDSetAgpBase(rhdDRI);
}
/* TODO: maybe using CP_INIT instead of CP_RESUME is enough, so we wouldn't
@@ -1684,7 +1671,7 @@ Bool RHDDRICloseScreen(ScreenPtr pScreen)
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
RHDPtr rhdPtr = RHDPTR(pScrn);
struct rhdDri *rhdDRI = rhdPtr->dri;
- //drm_radeon_init_t drmInfo;
+ /* drm_radeon_init_t drmInfo; */
drm_radeon_init_t drmInfo;
RHDFUNC(pScrn);
@@ -1693,7 +1680,7 @@ Bool RHDDRICloseScreen(ScreenPtr pScreen)
RHDDRISetVBlankInterrupt (pScrn, FALSE);
drmCtlUninstHandler(rhdDRI->drmFD);
rhdDRI->irq = 0;
-// rhdDRI->ModeReg->gen_int_cntl = 0;
+/* rhdDRI->ModeReg->gen_int_cntl = 0; */
}
/* invalidate GART location for EXA */
@@ -1784,8 +1771,8 @@ static void RHDDRITransitionSingleToMulti3d(ScreenPtr pScreen)
static void RHDDRITransitionMultiToSingle3d(ScreenPtr pScreen)
{
- /* Let the remaining 3d app start page flipping again */
-// RHDEnablePageFlip(pScreen);
+ /* Let the remaining 3d app start page flipping again
+ * RHDEnablePageFlip(pScreen); */
}
static void RHDDRITransitionTo3d(ScreenPtr pScreen)
@@ -1794,8 +1781,8 @@ static void RHDDRITransitionTo3d(ScreenPtr pScreen)
struct rhdDri *rhdDRI = RHDPTR(pScrn)->dri;
rhdDRI->have3Dwindows = TRUE;
-// RHDChangeSurfaces(pScrn); // FIXME needed for tiling
-// RHDEnablePageFlip(pScreen);
+/* RHDChangeSurfaces(pScrn); *//* FIXME needed for tiling */
+/* RHDEnablePageFlip(pScreen); */
RHDDRISetVBlankInterrupt(pScrn, TRUE);
}
@@ -1820,7 +1807,7 @@ static void RHDDRITransitionTo2d(ScreenPtr pScreen)
"[dri] RHDDRITransitionTo2d: "
"kernel failed to unflip buffers.\n");
}
-// RHDChangeSurfaces(pScrn);
+/* RHDChangeSurfaces(pScrn); */
RHDDRISetVBlankInterrupt(pScrn, FALSE);
}
@@ -1927,7 +1914,7 @@ RHDDRMCPBuffer(int scrnIndex)
int ret = drmDMA(Dri->drmFD, &dma);
if (!ret) {
buf = &Dri->buffers->list[indx];
- //xf86DrvMsg(scrnIndex, X_INFO, "%s: index %d, addr %p\n", __func__, buf->idx, buf->address);
+ /* xf86DrvMsg(scrnIndex, X_INFO, "%s: index %d, addr %p\n", __func__, buf->idx, buf->address); */
buf->used = 0;
return buf;
} else if (ret != -16)
diff --git a/driver/xf86-video-radeonhd/src/rhd_driver.c b/driver/xf86-video-radeonhd/src/rhd_driver.c
index f849faa4a..e502c5f76 100644
--- a/driver/xf86-video-radeonhd/src/rhd_driver.c
+++ b/driver/xf86-video-radeonhd/src/rhd_driver.c
@@ -38,7 +38,11 @@
/* For PIO/MMIO */
#include "compiler.h"
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
#include "xf86Resources.h"
+/* Needed by Resources Access Control (RAC) */
+#include "xf86RAC.h"
+#endif
#include "xf86PciInfo.h"
/* do we need to access PCI config space directly? */
@@ -63,11 +67,13 @@
#include "fb.h"
-/* Needed by Resources Access Control (RAC) */
-#include "xf86RAC.h"
-
+#ifdef HAVE_XEXTPROTO_71
+#include "X11/extensions/dpmsconst.h"
+#else
#define DPMS_SERVER
#include "X11/extensions/dpms.h"
+#endif
+
/* int10 - for now at least */
#include "xf86int10.h"
@@ -117,6 +123,7 @@
#include "rhd_randr.h"
#include "rhd_cs.h"
#include "rhd_audio.h"
+#include "rhd_pm.h"
#include "r5xx_accel.h"
#include "rhd_video.h"
@@ -191,6 +198,8 @@ static int pix24bpp = 0;
# define FGLRX_SYS_PATH "/sys/module/fglrx"
#endif
+#if XORG_VERSION_CURRENT >= 6 * 10000000
+
static const char *xaaSymbols[] = {
"XAACreateInfoRec",
"XAADestroyInfoRec",
@@ -198,7 +207,7 @@ static const char *xaaSymbols[] = {
NULL
};
-#ifdef USE_EXA
+# ifdef USE_EXA
static const char *exaSymbols[] = {
"exaDriverAlloc",
"exaDriverFini",
@@ -209,7 +218,8 @@ static const char *exaSymbols[] = {
"exaWaitSync",
NULL
};
-#endif /* USE_EXA */
+# endif /* USE_EXA */
+#endif
_X_EXPORT DriverRec RADEONHD = {
RHD_VERSION,
@@ -251,8 +261,11 @@ typedef enum {
#endif
OPTION_UNVERIFIED_FEAT,
OPTION_AUDIO,
+ OPTION_AUDIO_WORKAROUND,
OPTION_HDMI,
- OPTION_COHERENT
+ OPTION_COHERENT,
+ OPTION_FORCE_LOW_POWER,
+ OPTION_LOW_POWER_CLOCK
} RHDOpts;
static const OptionInfoRec RHDOptions[] = {
@@ -280,8 +293,11 @@ static const OptionInfoRec RHDOptions[] = {
#endif
{ OPTION_UNVERIFIED_FEAT, "UnverifiedFeatures", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_AUDIO, "Audio", OPTV_BOOLEAN, {0}, FALSE },
+ { OPTION_AUDIO_WORKAROUND, "AudioStreamSilence", OPTV_ANYSTR, {0}, FALSE },
{ OPTION_HDMI, "HDMI", OPTV_ANYSTR, {0}, FALSE },
{ OPTION_COHERENT, "COHERENT", OPTV_ANYSTR, {0}, FALSE },
+ { OPTION_FORCE_LOW_POWER, "ForceLowPowerMode", OPTV_BOOLEAN, {0}, FALSE },
+ { OPTION_LOW_POWER_CLOCK, "LowPowerModeEngineClock", OPTV_INTEGER, {0}, FALSE },
{ -1, NULL, OPTV_NONE, {0}, FALSE }
};
@@ -362,7 +378,7 @@ RHDFreeRec(ScrnInfoPtr pScrn)
RHDI2CFunc(pScrn->scrnIndex, rhdPtr->I2C, RHD_I2C_TEARDOWN, NULL);
#ifdef ATOM_BIOS
RHDAtomBiosFunc(pScrn->scrnIndex, rhdPtr->atomBIOS,
- ATOMBIOS_TEARDOWN, NULL);
+ ATOM_TEARDOWN, NULL);
#endif
RHDShadowDestroy(rhdPtr);
if (rhdPtr->CursorInfo)
@@ -527,10 +543,12 @@ RHDPreInit(ScrnInfoPtr pScrn, int flags)
goto error0;
}
+#ifndef XSERVER_LIBPCIACCESS
if (rhdPtr->pEnt->resources) {
xfree(rhdPtr->pEnt);
goto error0;
}
+#endif
pScrn->videoRam = rhdPtr->pEnt->device->videoRam;
rhdPtr->entityIndex = rhdPtr->pEnt->index;
@@ -549,10 +567,12 @@ RHDPreInit(ScrnInfoPtr pScrn, int flags)
pScrn->chipset = (char *)xf86TokenToString(RHDChipsets, rhdPtr->ChipSet);
+#ifndef XSERVER_LIBPCIACCESS
/* We will disable access to VGA legacy resources emulation and
save/restore VGA thru MMIO when necessary */
if (xf86RegisterResources(rhdPtr->entityIndex, NULL, ResNone))
goto error0;
+#endif
#ifndef ATOM_ASIC_INIT
if (xf86LoadSubModule(pScrn, "int10")) {
@@ -631,7 +651,7 @@ RHDPreInit(ScrnInfoPtr pScrn, int flags)
{
AtomBiosArgRec atomBiosArg;
- if (RHDAtomBiosFunc(pScrn->scrnIndex, NULL, ATOMBIOS_INIT, &atomBiosArg)
+ if (RHDAtomBiosFunc(pScrn->scrnIndex, NULL, ATOM_INIT, &atomBiosArg)
== ATOM_SUCCESS) {
rhdPtr->atomBIOS = atomBiosArg.atomhandle;
} else {
@@ -735,36 +755,49 @@ RHDPreInit(ScrnInfoPtr pScrn, int flags)
atomBiosArg.fb.start = rhdPtr->FbFreeStart;
atomBiosArg.fb.size = rhdPtr->FbFreeSize;
- if (RHDAtomBiosFunc(pScrn->scrnIndex, rhdPtr->atomBIOS, ATOMBIOS_ALLOCATE_FB_SCRATCH,
+ if (RHDAtomBiosFunc(pScrn->scrnIndex, rhdPtr->atomBIOS, ATOM_ALLOCATE_FB_SCRATCH,
&atomBiosArg) == ATOM_SUCCESS) {
rhdPtr->FbFreeStart = atomBiosArg.fb.start;
rhdPtr->FbFreeSize = atomBiosArg.fb.size;
}
- RHDAtomBiosFunc(pScrn->scrnIndex, rhdPtr->atomBIOS, GET_DEFAULT_ENGINE_CLOCK,
+ RHDAtomBiosFunc(pScrn->scrnIndex, rhdPtr->atomBIOS, ATOM_GET_DEFAULT_ENGINE_CLOCK,
&atomBiosArg);
- RHDAtomBiosFunc(pScrn->scrnIndex, rhdPtr->atomBIOS, GET_DEFAULT_MEMORY_CLOCK,
+ RHDAtomBiosFunc(pScrn->scrnIndex, rhdPtr->atomBIOS, ATOM_GET_DEFAULT_MEMORY_CLOCK,
&atomBiosArg);
RHDAtomBiosFunc(pScrn->scrnIndex, rhdPtr->atomBIOS,
- GET_MAX_PIXEL_CLOCK_PLL_OUTPUT, &atomBiosArg);
+ ATOM_GET_MAX_PIXEL_CLOCK_PLL_OUTPUT, &atomBiosArg);
RHDAtomBiosFunc(pScrn->scrnIndex, rhdPtr->atomBIOS,
- GET_MIN_PIXEL_CLOCK_PLL_OUTPUT, &atomBiosArg);
+ ATOM_GET_MIN_PIXEL_CLOCK_PLL_OUTPUT, &atomBiosArg);
RHDAtomBiosFunc(pScrn->scrnIndex, rhdPtr->atomBIOS,
- GET_MAX_PIXEL_CLOCK_PLL_INPUT, &atomBiosArg);
+ ATOM_GET_MAX_PIXEL_CLOCK_PLL_INPUT, &atomBiosArg);
RHDAtomBiosFunc(pScrn->scrnIndex, rhdPtr->atomBIOS,
- GET_MIN_PIXEL_CLOCK_PLL_INPUT, &atomBiosArg);
+ ATOM_GET_MIN_PIXEL_CLOCK_PLL_INPUT, &atomBiosArg);
RHDAtomBiosFunc(pScrn->scrnIndex, rhdPtr->atomBIOS,
- GET_MAX_PIXEL_CLK, &atomBiosArg);
+ ATOM_GET_MAX_PIXEL_CLK, &atomBiosArg);
RHDAtomBiosFunc(pScrn->scrnIndex, rhdPtr->atomBIOS,
- GET_REF_CLOCK, &atomBiosArg);
+ ATOM_GET_REF_CLOCK, &atomBiosArg);
}
#endif
+ if (rhdPtr->ChipSet >= RHD_R600 && rhdPtr->AccelMethod == RHD_ACCEL_XAA) {
+ rhdPtr->AccelMethod = RHD_ACCEL_EXA;
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Accel Method XAA not supported on this chipset generation."
+ " Defaulting to EXA\n");
+ }
#ifdef USE_DRI
- RHDDRIPreInit(pScrn);
+ ret = RHDDRIPreInit(pScrn);
+ if (!ret && rhdPtr->ChipSet >= RHD_R600 && rhdPtr->AccelMethod > RHD_ACCEL_SHADOWFB) {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Falling back to ShadowFB acceleration\n");
+ rhdPtr->AccelMethod = RHD_ACCEL_SHADOWFB;
+ }
#else
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"DRI support has been disabled at compile time\n");
+ if (rhdPtr->ChipSet >= RHD_R600 && rhdPtr->AccelMethod == RHD_ACCEL_EXA) {
+ rhdPtr->AccelMethod = RHD_ACCEL_SHADOWFB;
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Accel Method EXA requires DRI on this chip. Falling back to SHADOW_FB.\n");
+ }
#endif
if (rhdPtr->AccelMethod == RHD_ACCEL_FORCE_SHADOWFB)
rhdPtr->AccelMethod = RHD_ACCEL_SHADOWFB;
@@ -799,6 +832,7 @@ RHDPreInit(ScrnInfoPtr pScrn, int flags)
RHDAudioInit(rhdPtr);
RHDLUTsInit(rhdPtr);
RHDCursorsInit(rhdPtr); /* do this irrespective of hw/sw cursor setting */
+ RHDPmInit(rhdPtr);
if (!RHDConnectorsInit(rhdPtr, rhdPtr->Card)) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
@@ -839,7 +873,7 @@ RHDPreInit(ScrnInfoPtr pScrn, int flags)
data.chipset = rhdPtr->ChipSet;
if (RHDAtomBiosFunc(rhdPtr->scrnIndex, rhdPtr->atomBIOS,
- ATOMBIOS_GET_OUTPUT_DEVICE_LIST, &data) == ATOM_SUCCESS)
+ ATOM_GET_OUTPUT_DEVICE_LIST, &data) == ATOM_SUCCESS)
OutputDeviceList = data.OutputDeviceList;
}
@@ -983,8 +1017,14 @@ RHDPreInit(ScrnInfoPtr pScrn, int flags)
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Failed to load XAA module."
" Falling back to ShadowFB.\n");
rhdPtr->AccelMethod = RHD_ACCEL_SHADOWFB;
- } else
+ }
+ /* This is functionally void since 7.0 (old version scheme,
+ * and removed since 1.6.99.1 (new version scheme) */
+ /* Assume anything >= 6.* is old version scheme */
+#if XORG_VERSION_CURRENT >= 6 * 10000000
+ else
xf86LoaderReqSymLists(xaaSymbols, NULL);
+#endif
}
#ifdef USE_EXA
@@ -994,9 +1034,14 @@ RHDPreInit(ScrnInfoPtr pScrn, int flags)
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Failed to load EXA module."
" Falling back to ShadowFB.\n");
rhdPtr->AccelMethod = RHD_ACCEL_SHADOWFB;
- } else {
- xf86LoaderReqSymLists(exaSymbols, NULL);
}
+ /* This is functionally void since 7.0 (old version scheme,
+ * and removed since 1.6.99.1 (new version scheme) */
+ /* Assume anything >= 6.* is old version scheme */
+#if XORG_VERSION_CURRENT >= 6 * 10000000
+ else
+ xf86LoaderReqSymLists(exaSymbols, NULL);
+#endif
}
#endif /* USE_EXA */
@@ -1034,7 +1079,9 @@ RHDScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
ScrnInfoPtr pScrn;
RHDPtr rhdPtr;
VisualPtr visual;
+#ifndef XSERVER_LIBPCIACCESS
unsigned int racflag = 0;
+#endif
#ifdef USE_DRI
Bool DriScreenInited = FALSE;
#endif
@@ -1126,6 +1173,10 @@ RHDScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
fbPictureInit(pScreen, 0, 0);
xf86SetBlackWhitePixels(pScreen);
+ /* Static power management */
+ if (rhdPtr->Pm)
+ rhdPtr->Pm->SelectState (rhdPtr, RHD_PM_IDLE);
+
#ifdef USE_DRI
if (DriScreenInited)
rhdPtr->directRenderingEnabled = RHDDRIFinishScreenInit(pScreen);
@@ -1145,19 +1196,31 @@ RHDScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
break;
case RHD_ACCEL_XAA:
if (rhdPtr->ChipSet < RHD_R600) {
- if (!R5xxXAAInit(pScrn, pScreen))
+ if (!R5xxXAAInit(pScrn, pScreen)) {
rhdPtr->AccelMethod = RHD_ACCEL_NONE;
- } else
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "Failed to initalize XAA; disabling acceleration.\n");
+ }
+ } else {
rhdPtr->AccelMethod = RHD_ACCEL_NONE;
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "XAA is not supported on R600 and above; disabling acceleration.\n");
+ }
break;
#ifdef USE_DRI
case RHD_ACCEL_EXA:
if (rhdPtr->ChipSet < RHD_R600) {
- if (!R5xxEXAInit(pScrn, pScreen))
+ if (!R5xxEXAInit(pScrn, pScreen)) {
rhdPtr->AccelMethod = RHD_ACCEL_NONE;
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "Failed to initalize EXA; disabling acceleration.\n");
+ }
} else {
- if (!R6xxEXAInit(pScrn, pScreen))
+ if (!R6xxEXAInit(pScrn, pScreen)) {
rhdPtr->AccelMethod = RHD_ACCEL_NONE;
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "Failed to initalize EXA; disabling acceleration.\n");
+ }
}
break;
#endif /* USE_DRI */
@@ -1224,7 +1287,9 @@ RHDScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
CMAP_PALETTED_TRUECOLOR | CMAP_RELOAD_ON_MODE_SWITCH))
return FALSE;
+#ifndef XSERVER_LIBPCIACCESS
pScrn->racIoFlags = pScrn->racMemFlags = racflag;
+#endif
/* Function to unblank, so that we don't show an uninitialised FB */
pScreen->SaveScreen = RHDSaveScreen;
@@ -1410,6 +1475,10 @@ RHDEnterVT(int scrnIndex, int flags)
/* enable/disable audio */
RHDAudioSetEnable(rhdPtr, rhdPtr->audio.val.bool);
+ /* Static power management */
+ if (rhdPtr->Pm)
+ rhdPtr->Pm->SelectState (rhdPtr, RHD_PM_IDLE);
+
#ifdef USE_DRI
if (rhdPtr->dri)
RHDDRIEnterVT(pScrn->pScreen);
@@ -1619,13 +1688,70 @@ RHDLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors,
RHDPtr rhdPtr = RHDPTR(pScrn);
struct rhdCrtc *Crtc;
- Crtc = rhdPtr->Crtc[0];
- if ((pScrn->scrnIndex == Crtc->scrnIndex) && Crtc->Active)
- Crtc->LUT->Set(Crtc->LUT, numColors, indices, colors);
+ CARD16 red[256], green[256], blue[256];
+ int i, index, j, n;
+ Bool partial_table = FALSE;
+
+ switch (pScrn->depth) {
+ case 8:
+ case 24:
+ case 32:
+ if (numColors < 256) {
+ partial_table = TRUE;
+ break;
+ }
+ for (i = 0; i < numColors; i++) {
+ index = indices[i];
+ red[index] = colors[index].red << 6;
+ green[index] = colors[index].green << 6;
+ blue[index] = colors[index].blue << 6;
+ }
+ break;
+ case 16:
+ if (numColors < 64) {
+ partial_table = TRUE;
+ break;
+ }
+ /* 6 bits of green, 5 bits of red and blue each */
+ for (i = 0; i < numColors; i++) {
+ index = indices[i];
+ n = index * 4;
+ for (j = 0; j < 4; j++) {
+ red[n + j] = colors[index/2].red << 6;
+ green[n + j] = colors[index].green << 6;
+ blue[n + j] = colors[index/2].blue << 6;
+ }
+ }
+ break;
+ case 15:
+ if (numColors < 32) {
+ partial_table = TRUE;
+ break;
+ }
+ /* 5 bits each */
+ for (i = 0; i < numColors; i++) {
+ int j, n;
+
+ index = indices[i];
+ n = index * 8;
+ for (j = 0; j < 8; j++) {
+ red[n + j] = colors[index].red << 6;
+ green[n + j] = colors[index].green << 6;
+ blue[n+ j] = colors[index].blue << 6;
+ }
+ }
+ break;
+ }
- Crtc = rhdPtr->Crtc[1];
- if ((pScrn->scrnIndex == Crtc->scrnIndex) && Crtc->Active)
- Crtc->LUT->Set(Crtc->LUT, numColors, indices, colors);
+ for (i = 0; i < 2; i++) {
+ Crtc = rhdPtr->Crtc[i];
+ if ((pScrn->scrnIndex == Crtc->scrnIndex) && Crtc->Active) {
+ if (!partial_table)
+ Crtc->LUT->Set(Crtc->LUT, red, green, blue);
+ else
+ Crtc->LUT->SetRows(Crtc->LUT, numColors, indices, colors);
+ }
+ }
}
/*
@@ -1808,7 +1934,7 @@ rhdMapFB(RHDPtr rhdPtr)
option = X_CONFIG;
SetIGPMemory = rhdPtr->unverifiedFeatures.val.bool;
}
- if (SetIGPMemory && RHD_MC_IGP_SideportMemoryPresent(rhdPtr)) {
+ if (SetIGPMemory && ! RHD_MC_IGP_SideportMemoryPresent(rhdPtr)) {
SetIGPMemory = FALSE;
option = X_DEFAULT;
}
@@ -1899,21 +2025,13 @@ rhdUnmapFB(RHDPtr rhdPtr)
if (!rhdPtr->FbBase)
return;
- switch (rhdPtr->ChipSet) {
- case RHD_RS690:
- case RHD_RS740:
- xf86UnMapVidMem(rhdPtr->scrnIndex, (pointer)rhdPtr->FbBase,
- rhdPtr->FbMapSize);
- break;
- default:
#ifdef XSERVER_LIBPCIACCESS
- pci_device_unmap_range(rhdPtr->PciInfo, (pointer)rhdPtr->FbBase,
- rhdPtr->FbMapSize);
+ pci_device_unmap_range(rhdPtr->PciInfo, (pointer)rhdPtr->FbBase,
+ rhdPtr->FbMapSize);
#else
- xf86UnMapVidMem(rhdPtr->scrnIndex, (pointer)rhdPtr->FbBase,
- rhdPtr->FbMapSize);
+ xf86UnMapVidMem(rhdPtr->scrnIndex, (pointer)rhdPtr->FbBase,
+ rhdPtr->FbMapSize);
#endif
- }
rhdPtr->FbBase = NULL;
}
@@ -2446,6 +2564,8 @@ rhdSave(RHDPtr rhdPtr)
RHDCrtcSave(rhdPtr->Crtc[0]);
RHDCrtcSave(rhdPtr->Crtc[1]);
rhdSaveCursor(pScrn);
+
+ RHDPmSave(rhdPtr);
}
/*
@@ -2472,6 +2592,8 @@ rhdRestore(RHDPtr rhdPtr)
RHDCrtcRestore(rhdPtr->Crtc[0]);
RHDCrtcRestore(rhdPtr->Crtc[1]);
+ RHDPmRestore(rhdPtr);
+
RHDOutputsRestore(rhdPtr);
#ifdef ATOM_BIOS
RHDRestoreBiosScratchRegisters(rhdPtr, rhdPtr->BIOSScratch);
@@ -2520,32 +2642,23 @@ CARD32
_RHDReadMC(int scrnIndex, CARD32 addr)
{
RHDPtr rhdPtr = RHDPTR(xf86Screens[scrnIndex]);
- CARD32 ret;
+ CARD32 ret = 0;
if (rhdPtr->ChipSet < RHD_RS600) {
RHDRegWrite(rhdPtr, MC_IND_INDEX, addr);
ret = RHDRegRead(rhdPtr, MC_IND_DATA);
} else if (rhdPtr->ChipSet == RHD_RS600) {
- RHDRegWrite(rhdPtr, RS60_MC_NB_MC_INDEX, addr);
- ret = RHDRegRead(rhdPtr, RS60_MC_NB_MC_DATA);
+ RHDRegWrite(rhdPtr, RS600_MC_INDEX, ((addr & RS600_MC_INDEX_ADDR_MASK) | RS600_MC_INDEX_CITF_ARB0));
+ ret = RHDRegRead(rhdPtr, RS600_MC_DATA);
} else if (rhdPtr->ChipSet == RHD_RS690 || rhdPtr->ChipSet == RHD_RS740) {
-#ifdef XSERVER_LIBPCIACCESS
- CARD32 data = addr & ~RS69_MC_IND_WR_EN;
- pci_device_cfg_write(rhdPtr->NBPciInfo, &(data), RS69_MC_INDEX, 4, NULL);
- pci_device_cfg_read(rhdPtr->NBPciInfo, &ret, RS69_MC_DATA, 4, NULL);
-#else
- pciWriteLong(rhdPtr->NBPciTag, RS69_MC_INDEX, addr & ~RS69_MC_IND_WR_EN);
- ret = pciReadLong(rhdPtr->NBPciTag, RS69_MC_DATA);
-#endif
+ RHDRegWrite(rhdPtr, RS690_MC_INDEX, (addr & RS690_MC_INDEX_ADDR_MASK));
+ ret = RHDRegRead(rhdPtr, RS690_MC_DATA);
+ } else if (rhdPtr->ChipSet == RHD_RS780 || rhdPtr->ChipSet == RHD_RS880) {
+ RHDRegWrite(rhdPtr, RS780_MC_INDEX, (addr & RS780_MC_INDEX_ADDR_MASK));
+ ret = RHDRegRead(rhdPtr, RS780_MC_DATA);
} else {
-#ifdef XSERVER_LIBPCIACCESS
- CARD32 data = addr & ~RS78_MC_IND_WR_EN;
- pci_device_cfg_write(rhdPtr->NBPciInfo, &(data), RS78_NB_MC_IND_INDEX, 4, NULL);
- pci_device_cfg_read(rhdPtr->NBPciInfo, &ret, RS78_NB_MC_IND_DATA, 4, NULL);
-#else
- pciWriteLong(rhdPtr->NBPciTag, RS78_NB_MC_IND_INDEX, (addr & ~RS78_MC_IND_WR_EN));
- ret = pciReadLong(rhdPtr->NBPciTag, RS78_NB_MC_IND_DATA);
-#endif
+ xf86DrvMsg(rhdPtr->scrnIndex, X_ERROR,
+ "%s: shouldn't be here\n", __func__);
}
#ifdef RHD_DEBUG
RHDDebug(scrnIndex,"%s(0x%08X) = 0x%08X\n",__func__,(unsigned int)addr,
@@ -2568,28 +2681,18 @@ _RHDWriteMC(int scrnIndex, CARD32 addr, CARD32 data)
RHDRegWrite(rhdPtr, MC_IND_INDEX, addr | MC_IND_WR_EN);
RHDRegWrite(rhdPtr, MC_IND_DATA, data);
} else if (rhdPtr->ChipSet == RHD_RS600) {
- RHDRegWrite(rhdPtr, RS60_MC_NB_MC_INDEX, addr | RS60_NB_MC_IND_WR_EN);
- RHDRegWrite(rhdPtr, RS60_MC_NB_MC_DATA, data);
+ RHDRegWrite(rhdPtr, RS600_MC_INDEX, ((addr & RS600_MC_INDEX_ADDR_MASK) | RS600_MC_INDEX_CITF_ARB0 | RS600_MC_INDEX_WR_EN));
+ RHDRegWrite(rhdPtr, RS600_MC_DATA, data);
} else if (rhdPtr->ChipSet == RHD_RS690 || rhdPtr->ChipSet == RHD_RS740) {
-#ifdef XSERVER_LIBPCIACCESS
- CARD32 tmp = addr | RS69_MC_IND_WR_EN;
- pci_device_cfg_write(rhdPtr->NBPciInfo, &tmp, RS69_MC_INDEX, 4, NULL);
- pci_device_cfg_write(rhdPtr->NBPciInfo, &data, RS69_MC_DATA, 4, NULL);
-#else
- pciWriteLong(rhdPtr->NBPciTag, RS69_MC_INDEX, addr | RS69_MC_IND_WR_EN);
- pciWriteLong(rhdPtr->NBPciTag, RS69_MC_DATA, data);
-#endif
-
- } else {
-#ifdef XSERVER_LIBPCIACCESS
- CARD32 tmp = addr | RS78_MC_IND_WR_EN;
- pci_device_cfg_write(rhdPtr->NBPciInfo, &tmp, RS78_NB_MC_IND_INDEX, 4, NULL);
- pci_device_cfg_write(rhdPtr->NBPciInfo, &data, RS78_NB_MC_IND_DATA, 4, NULL);
-#else
- pciWriteLong(rhdPtr->NBPciTag, RS78_NB_MC_IND_INDEX, addr | RS78_MC_IND_WR_EN);
- pciWriteLong(rhdPtr->NBPciTag, RS78_NB_MC_IND_DATA, data);
-#endif
-
+ RHDRegWrite(rhdPtr, RS690_MC_INDEX, ((addr & RS690_MC_INDEX_ADDR_MASK) | RS690_MC_INDEX_WR_EN));
+ RHDRegWrite(rhdPtr, RS690_MC_DATA, data);
+ RHDRegWrite(rhdPtr, RS690_MC_INDEX, RS690_MC_INDEX_WR_ACK);
+ } else if (rhdPtr->ChipSet == RHD_RS780 || rhdPtr->ChipSet == RHD_RS880) {
+ RHDRegWrite(rhdPtr, RS780_MC_INDEX, ((addr & RS780_MC_INDEX_ADDR_MASK) | RS780_MC_INDEX_WR_EN));
+ RHDRegWrite(rhdPtr, RS780_MC_DATA, data);
+ } else {
+ xf86DrvMsg(rhdPtr->scrnIndex, X_ERROR,
+ "%s: shouldn't be here\n", __func__);
}
}
@@ -2609,94 +2712,6 @@ _RHDWritePLL(int scrnIndex, CARD16 offset, CARD32 data)
RHDRegWrite(rhdPtr, CLOCK_CNTL_DATA, data);
}
-#ifdef ATOM_BIOS
-
-/*
- *
- */
-static int
-rhdGetArg(ScrnInfoPtr pScrn, CARD32 *val, char *ptr)
-{
- int cnt = 0;
- if (isspace(*ptr) || *ptr == '=') {
- ptr++;
- cnt++;
- }
- if (!strncasecmp("off",ptr,3)) {
- *val = RHD_ATOMBIOS_OFF;
- return cnt + 3;
- } else if (!strncasecmp("on",ptr,2)) {
- *val = RHD_ATOMBIOS_ON;
- return cnt + 2;
- } else if (!strncasecmp("force_off",ptr,9)) {
- *val = RHD_ATOMBIOS_OFF | RHD_ATOMBIOS_FORCE;
- return cnt + 9;
- } else if (!strncasecmp("force_on",ptr,8)) {
- *val = RHD_ATOMBIOS_ON | RHD_ATOMBIOS_FORCE;
- return cnt + 8;
- } else
- return 0;
-}
-
-/*
- *
- */
-static void
-rhdParseAtomBIOSUsage(ScrnInfoPtr pScrn)
-{
- RHDPtr rhdPtr = RHDPTR(pScrn);
- RHDOpt atombios;
-
- RhdGetOptValString(rhdPtr->Options, OPTION_ATOMBIOS,
- &atombios, NULL);
- if (atombios.set) {
- if (atombios.val.string) {
- char *ptr = atombios.val.string;
- CARD32 val;
-
- while (*ptr != '\0') {
- int c;
- while (isspace(*ptr))
- ptr++;
- if (*ptr == '\0')
- break;
-
- if (!strncasecmp("crtc",ptr,4)) {
- ptr += 4;
- if (!(c = rhdGetArg(pScrn,&val,ptr)))
- goto parse_error;
- ptr += c;
- rhdPtr->UseAtomFlags &= ~((RHD_ATOMBIOS_FORCE | RHD_ATOMBIOS_ON | RHD_ATOMBIOS_OFF) << RHD_ATOMBIOS_CRTC);
- rhdPtr->UseAtomFlags |= (val << RHD_ATOMBIOS_CRTC);
- }
- else if (!strncasecmp("output",ptr,6)) {
- ptr += 6;
- if (!(c = rhdGetArg(pScrn,&val,ptr)))
- goto parse_error;
- ptr += c;
- rhdPtr->UseAtomFlags &= ~((RHD_ATOMBIOS_FORCE | RHD_ATOMBIOS_ON | RHD_ATOMBIOS_OFF) << RHD_ATOMBIOS_OUTPUT);
- rhdPtr->UseAtomFlags |= (val << RHD_ATOMBIOS_OUTPUT);
- }
- else if (!strncasecmp("pll",ptr,3)) {
- ptr += 3;
- if (!(c = rhdGetArg(pScrn,&val,ptr)))
- goto parse_error;
- ptr += c;
- rhdPtr->UseAtomFlags &= ~((RHD_ATOMBIOS_FORCE | RHD_ATOMBIOS_ON | RHD_ATOMBIOS_OFF) << RHD_ATOMBIOS_PLL);
- rhdPtr->UseAtomFlags |= (val << RHD_ATOMBIOS_PLL);
- } else goto parse_error;
- }
- }
- }
- return;
-
-parse_error:
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Cannot parse AtomBIOS usage string: %s\n",atombios.val.string);
- rhdPtr->UseAtomFlags = 0;
-}
-
-#endif /* ATOM_BIOS */
-
/*
* Apart from handling the respective option, this also tries to map out
* what method is supported on which chips.
@@ -2737,10 +2752,18 @@ rhdAccelOptionsHandle(ScrnInfoPtr pScrn)
rhdPtr->AccelMethod = RHD_ACCEL_DEFAULT;
if (rhdPtr->AccelMethod == RHD_ACCEL_DEFAULT) {
+#ifdef USE_EXA
+ rhdPtr->AccelMethod = RHD_ACCEL_EXA;
+#else
if (rhdPtr->ChipSet < RHD_R600)
rhdPtr->AccelMethod = RHD_ACCEL_XAA;
else
rhdPtr->AccelMethod = RHD_ACCEL_SHADOWFB;
+#endif /* USE_EXA */
+ /* RV740: EXA is extremely slow due to DFS breaking for <32x32 images
+ * and Composite breaking with partial DFS */
+ if (rhdPtr->ChipSet == RHD_RV740)
+ rhdPtr->AccelMethod = RHD_ACCEL_SHADOWFB;
}
if (noAccel.set && noAccel.val.bool &&
@@ -2749,15 +2772,6 @@ rhdAccelOptionsHandle(ScrnInfoPtr pScrn)
rhdPtr->AccelMethod = RHD_ACCEL_SHADOWFB;
}
-#if 0
- if (rhdPtr->ChipSet >= RHD_R600) {
- if (rhdPtr->AccelMethod > RHD_ACCEL_SHADOWFB) {
- xf86DrvMsg(rhdPtr->scrnIndex, X_WARNING, "%s: HW 2D acceleration is"
- " not implemented yet.\n", pScrn->chipset);
- rhdPtr->AccelMethod = RHD_ACCEL_SHADOWFB;
- }
- }
-#endif
/* Now for some pretty print */
switch (rhdPtr->AccelMethod) {
#ifdef USE_EXA
@@ -2780,6 +2794,14 @@ rhdAccelOptionsHandle(ScrnInfoPtr pScrn)
"All methods of acceleration have been disabled.\n");
break;
}
+
+ /* If shadowfb is explicitely selected AND dri is not explicitely asked
+ * for, disable dri as they don't go along */
+ if (rhdPtr->AccelMethod == RHD_ACCEL_SHADOWFB && ! rhdPtr->useDRI.set) {
+ xf86DrvMsg(rhdPtr->scrnIndex, X_CONFIG,
+ "Disabling DRI by default with AccelMethod shadowfb.\n");
+ rhdPtr->useDRI.val.bool = FALSE;
+ }
}
/*
@@ -2790,6 +2812,10 @@ rhdProcessOptions(ScrnInfoPtr pScrn)
{
RHDPtr rhdPtr = RHDPTR(pScrn);
RHDOpt hpd;
+#ifdef ATOM_BIOS
+ RHDOpt atombios;
+#endif
+
/* Collect all of the relevant option flags (fill in pScrn->options) */
xf86CollectOptions(pScrn, NULL);
rhdPtr->Options = xnfcalloc(sizeof(RHDOptions), 1);
@@ -2818,19 +2844,31 @@ rhdProcessOptions(ScrnInfoPtr pScrn)
&rhdPtr->scaleTypeOpt, "default");
RhdGetOptValBool (rhdPtr->Options, OPTION_UNVERIFIED_FEAT,
&rhdPtr->unverifiedFeatures, FALSE);
-#ifdef ATOM_BIOS
- RhdGetOptValBool (rhdPtr->Options, OPTION_USE_ATOMBIOS,
- &rhdPtr->UseAtomBIOS, FALSE);
-#endif
RhdGetOptValBool (rhdPtr->Options, OPTION_AUDIO,
&rhdPtr->audio, TRUE);
+ RhdGetOptValString (rhdPtr->Options, OPTION_AUDIO_WORKAROUND,
+ &rhdPtr->audioWorkaround, "none");
RhdGetOptValString (rhdPtr->Options, OPTION_HDMI,
&rhdPtr->hdmi, "none");
RhdGetOptValString(rhdPtr->Options, OPTION_COHERENT,
&rhdPtr->coherent, NULL);
+ RhdGetOptValBool (rhdPtr->Options, OPTION_FORCE_LOW_POWER,
+ &rhdPtr->lowPowerMode, FALSE);
+ RhdGetOptValInteger(rhdPtr->Options, OPTION_LOW_POWER_CLOCK,
+ &rhdPtr->lowPowerModeEngineClock, 0);
+
#ifdef ATOM_BIOS
- rhdParseAtomBIOSUsage(pScrn);
+ RhdGetOptValBool (rhdPtr->Options, OPTION_USE_ATOMBIOS,
+ &rhdPtr->UseAtomBIOS, FALSE);
+ RhdGetOptValString (rhdPtr->Options, OPTION_ATOMBIOS,
+ &atombios, NULL);
+ if (atombios.set && atombios.val.string) {
+ if (! rhdUpdateAtomBIOSUsage (rhdPtr, atombios.val.string))
+ xf86DrvMsg(rhdPtr->scrnIndex, X_ERROR, "Cannot parse AtomBIOS usage string: %s\n",
+ atombios.val.string);
+ }
#endif
+
rhdAccelOptionsHandle(pScrn);
rhdPtr->hpdUsage = RHD_HPD_USAGE_AUTO;
diff --git a/driver/xf86-video-radeonhd/src/rhd_hdmi.c b/driver/xf86-video-radeonhd/src/rhd_hdmi.c
index 9a525367c..c786fcd96 100644
--- a/driver/xf86-video-radeonhd/src/rhd_hdmi.c
+++ b/driver/xf86-video-radeonhd/src/rhd_hdmi.c
@@ -229,22 +229,16 @@ HdmiAudioInfoFrame(
}
/*
- * it's unknown what these bits do excatly, but it's indeed quite usefull for debugging
+ * test if audio buffer is filled enough to start playing
*/
-static void
-HdmiAudioDebugWorkaround(struct rhdHdmi* hdmi, Bool Enable)
+static Bool
+IsAudioBufferFilled(struct rhdHdmi *hdmi)
{
- if(Enable) {
- RHDRegMask(hdmi, hdmi->Offset+HDMI_CNTL, 0x1000, 0x1000);
- RHDRegWrite(hdmi, hdmi->Offset+HDMI_AUDIO_DEBUG, 0xffffff);
- } else {
- RHDRegMask(hdmi, hdmi->Offset+HDMI_CNTL, 0, 0x1000);
- }
+ return (RHDRegRead(hdmi, hdmi->Offset+HDMI_STATUS) & 0x10) != 0;
}
/*
* allocate/initialize the HDMI structure
- * and register with audio engine
* output selects which engine is used
*/
struct rhdHdmi*
@@ -253,17 +247,21 @@ RHDHdmiInit(RHDPtr rhdPtr, struct rhdOutput* Output)
struct rhdHdmi *hdmi;
RHDFUNC(rhdPtr);
- if(rhdPtr->ChipSet >= RHD_R600) {
+ if(rhdPtr->ChipSet >= RHD_RS600) {
hdmi = (struct rhdHdmi *) xnfcalloc(sizeof(struct rhdHdmi), 1);
hdmi->scrnIndex = rhdPtr->scrnIndex;
hdmi->Output = Output;
+
switch(Output->Id) {
case RHD_OUTPUT_TMDSA:
hdmi->Offset = HDMI_TMDS;
break;
case RHD_OUTPUT_LVTMA:
- hdmi->Offset = HDMI_LVTMA;
+ if(RHDOutputTmdsIndex(Output) == 0)
+ hdmi->Offset = HDMI_TMDS;
+ else
+ hdmi->Offset = HDMI_LVTMA;
break;
case RHD_OUTPUT_UNIPHYA:
@@ -283,7 +281,6 @@ RHDHdmiInit(RHDPtr rhdPtr, struct rhdOutput* Output)
break;
}
hdmi->Stored = FALSE;
- RHDAudioRegisterHdmi(rhdPtr, hdmi);
return hdmi;
} else
return NULL;
@@ -300,8 +297,6 @@ RHDHdmiSetMode(struct rhdHdmi *hdmi, DisplayModePtr Mode)
RHDAudioSetClock(RHDPTRI(hdmi), hdmi->Output, Mode->Clock);
- HdmiAudioDebugWorkaround(hdmi, FALSE);
-
RHDRegWrite(hdmi, hdmi->Offset+HDMI_UNKNOWN_0, 0x1000);
RHDRegWrite(hdmi, hdmi->Offset+HDMI_UNKNOWN_1, 0x0);
RHDRegWrite(hdmi, hdmi->Offset+HDMI_UNKNOWN_2, 0x1000);
@@ -309,25 +304,51 @@ RHDHdmiSetMode(struct rhdHdmi *hdmi, DisplayModePtr Mode)
HdmiAudioClockRegeneration(hdmi, Mode->Clock);
RHDRegWrite(hdmi, hdmi->Offset+HDMI_VIDEOCNTL, 0x13);
+
RHDRegWrite(hdmi, hdmi->Offset+HDMI_VERSION, 0x202);
HdmiVideoInfoFrame(hdmi, RGB, FALSE, 0, 0, 0,
0, 0, FALSE, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+ /* it's unknown what these bits do excatly, but it's indeed quite usefull for debugging */
+ RHDRegWrite(hdmi, hdmi->Offset+HDMI_AUDIO_DEBUG_0, 0x00FFFFFF);
+ RHDRegWrite(hdmi, hdmi->Offset+HDMI_AUDIO_DEBUG_1, 0x007FFFFF);
+ RHDRegWrite(hdmi, hdmi->Offset+HDMI_AUDIO_DEBUG_2, 0x00000001);
+ RHDRegWrite(hdmi, hdmi->Offset+HDMI_AUDIO_DEBUG_3, 0x00000001);
+
+ RHDHdmiCommitAudioWorkaround(hdmi);
+
/* audio packets per line, does anyone know how to calc this ? */
- RHDRegMask(hdmi, hdmi->Offset+HDMI_CNTL, 0x020000, 0x1F0000);
+ RHDRegMask(hdmi, hdmi->Offset+HDMI_CNTL, 0x00040000, 0x001F0000);
/* update? reset? don't realy know */
RHDRegMask(hdmi, hdmi->Offset+HDMI_CNTL, 0x14000000, 0x14000000);
}
/*
- * update settings whith current parameters from audio engine
+ * have buffer status changed since last call?
+ */
+Bool
+RHDHdmiBufferStatusChanged(struct rhdHdmi* hdmi)
+{
+ Bool status, result;
+
+ if(!hdmi) return FALSE;
+ RHDFUNC(hdmi);
+
+ status = IsAudioBufferFilled(hdmi);
+ result = hdmi->SavedBufferStatus != status;
+ hdmi->SavedBufferStatus = status;
+
+ return result;
+}
+
+/*
+ * update settings with current parameters from audio engine
*/
void
RHDHdmiUpdateAudioSettings(
struct rhdHdmi* hdmi,
- Bool playing,
int channels,
int rate,
int bps,
@@ -342,13 +363,11 @@ RHDHdmiUpdateAudioSettings(
xf86DrvMsg(hdmi->scrnIndex, X_INFO, "%s: %s with "
"%d channels, %d Hz sampling rate, %d bits per sample,\n",
- __func__, playing ? "playing" : "stoped", channels, rate, bps);
+ __func__, IsAudioBufferFilled(hdmi) ? "playing" : "stopped",
+ channels, rate, bps);
xf86DrvMsg(hdmi->scrnIndex, X_INFO, "%s: "
"0x%02x IEC60958 status bits and 0x%02x category code\n",
- __func__, (int)status_bits, (int)category_code);
-
- /* start delivering audio frames */
- RHDRegMask(hdmi, hdmi->Offset+HDMI_CNTL, playing ? 1 : 0, 0x1);
+ __func__, (int)status_bits, (int)category_code);
iec = 0;
if(status_bits & AUDIO_STATUS_PROFESSIONAL) iec |= 1 << 0;
@@ -382,14 +401,19 @@ RHDHdmiUpdateAudioSettings(
RHDRegMask(hdmi, hdmi->Offset+HDMI_IEC60958_2, iec, 0x5000f);
+ /* 0x021 or 0x031 sets the audio frame length */
RHDRegWrite(hdmi, hdmi->Offset+HDMI_AUDIOCNTL, 0x31);
HdmiAudioInfoFrame(hdmi, channels-1, 0, 0, 0, 0, 0, 0, FALSE);
- RHDRegMask(hdmi, hdmi->Offset+HDMI_CNTL, 0x400000, 0x400000);
+ RHDHdmiCommitAudioWorkaround(hdmi);
+
+ /* update? reset? don't realy know */
+ RHDRegMask(hdmi, hdmi->Offset+HDMI_CNTL, 0x04000000, 0x04000000);
}
/*
* enable/disable the HDMI engine
+ * and register with audio engine
*/
void
RHDHdmiEnable(struct rhdHdmi *hdmi, Bool Enable)
@@ -401,18 +425,19 @@ RHDHdmiEnable(struct rhdHdmi *hdmi, Bool Enable)
* so enabling/disabling HDMI was moved here for TMDSA and LVTMA */
switch(hdmi->Output->Id) {
case RHD_OUTPUT_TMDSA:
- RHDRegMask(hdmi, TMDSA_CNTL, Enable ? 0x4 : 0x0, 0x4);
- RHDRegWrite(hdmi, hdmi->Offset+HDMI_ENABLE, Enable ? 0x101 : 0x0);
- break;
+ RHDRegMask(hdmi, TMDSA_CNTL, Enable ? 0x4 : 0x0, 0x4);
+ RHDRegWrite(hdmi, hdmi->Offset+HDMI_ENABLE, Enable ? 0x101 : 0x0);
+ break;
case RHD_OUTPUT_LVTMA:
- RHDRegMask(hdmi, LVTMA_CNTL, Enable ? 0x4 : 0x0, 0x4);
- RHDRegWrite(hdmi, hdmi->Offset+HDMI_ENABLE, Enable ? 0x105 : 0x0);
- break;
+ RHDRegMask(hdmi, LVTMA_CNTL, Enable ? 0x4 : 0x0, 0x4);
+ RHDRegWrite(hdmi, hdmi->Offset+HDMI_ENABLE, Enable ? 0x105 : 0x0);
+ break;
case RHD_OUTPUT_UNIPHYA:
case RHD_OUTPUT_UNIPHYB:
case RHD_OUTPUT_KLDSKP_LVTMA:
+ /* This part is doubtfull in my opinion */
RHDRegWrite(hdmi, hdmi->Offset+HDMI_ENABLE, Enable ? 0x110 : 0x0);
break;
@@ -420,6 +445,57 @@ RHDHdmiEnable(struct rhdHdmi *hdmi, Bool Enable)
xf86DrvMsg(hdmi->scrnIndex, X_ERROR, "%s: unknown HDMI output type\n", __func__);
break;
}
+ if(Enable)
+ RHDAudioRegisterHdmi(RHDPTRI(hdmi), hdmi);
+ else
+ RHDAudioUnregisterHdmi(RHDPTRI(hdmi), hdmi);
+}
+
+/*
+ * enable/disable the audio workaround function
+ */
+void
+RHDHdmiSetAudioWorkaround(struct rhdHdmi* hdmi, Bool Enable)
+{
+ if(!hdmi) return;
+ RHDFUNC(hdmi);
+
+ hdmi->AudioDebugWorkaround = Enable;
+}
+
+/*
+ * get status of the audio workaround function
+ */
+Bool
+RHDHdmiGetAudioWorkaround(struct rhdHdmi* hdmi)
+{
+ if(!hdmi) return FALSE;
+ RHDFUNC(hdmi);
+
+ return hdmi->AudioDebugWorkaround;
+}
+
+/*
+ * commit the audio workaround status to the hardware
+ */
+void
+RHDHdmiCommitAudioWorkaround(struct rhdHdmi* hdmi)
+{
+ if(!hdmi) return;
+ RHDFUNC(hdmi);
+
+ if(IsAudioBufferFilled(hdmi)) {
+ /* disable audio workaround and start delivering of audio frames */
+ RHDRegMask(hdmi, hdmi->Offset+HDMI_CNTL, 0x00000001, 0x00001001);
+
+ } else if(hdmi->AudioDebugWorkaround) {
+ /* enable audio workaround and start delivering of audio frames */
+ RHDRegMask(hdmi, hdmi->Offset+HDMI_CNTL, 0x00001001, 0x00001001);
+
+ } else {
+ /* disable audio workaround and stop delivering of audio frames */
+ RHDRegMask(hdmi, hdmi->Offset+HDMI_CNTL, 0x00000000, 0x00001001);
+ }
}
/*
@@ -433,7 +509,10 @@ RHDHdmiSave(struct rhdHdmi *hdmi)
hdmi->StoreEnable = RHDRegRead(hdmi, hdmi->Offset+HDMI_ENABLE);
hdmi->StoreControl = RHDRegRead(hdmi, hdmi->Offset+HDMI_CNTL);
- hdmi->StoredAudioDebugWorkaround = RHDRegRead(hdmi, hdmi->Offset+HDMI_AUDIO_DEBUG);
+ hdmi->StoredAudioDebugWorkaround[0x0] = RHDRegRead(hdmi, hdmi->Offset+HDMI_AUDIO_DEBUG_0);
+ hdmi->StoredAudioDebugWorkaround[0x1] = RHDRegRead(hdmi, hdmi->Offset+HDMI_AUDIO_DEBUG_1);
+ hdmi->StoredAudioDebugWorkaround[0x2] = RHDRegRead(hdmi, hdmi->Offset+HDMI_AUDIO_DEBUG_2);
+ hdmi->StoredAudioDebugWorkaround[0x3] = RHDRegRead(hdmi, hdmi->Offset+HDMI_AUDIO_DEBUG_3);
hdmi->StoredFrameVersion = RHDRegRead(hdmi, hdmi->Offset+HDMI_VERSION);
@@ -483,7 +562,10 @@ RHDHdmiRestore(struct rhdHdmi *hdmi)
RHDRegWrite(hdmi, hdmi->Offset+HDMI_ENABLE, hdmi->StoreEnable);
RHDRegWrite(hdmi, hdmi->Offset+HDMI_CNTL, hdmi->StoreControl);
- RHDRegWrite(hdmi, hdmi->Offset+HDMI_AUDIO_DEBUG, hdmi->StoredAudioDebugWorkaround);
+ RHDRegWrite(hdmi, hdmi->Offset+HDMI_AUDIO_DEBUG_0, hdmi->StoredAudioDebugWorkaround[0x0]);
+ RHDRegWrite(hdmi, hdmi->Offset+HDMI_AUDIO_DEBUG_1, hdmi->StoredAudioDebugWorkaround[0x1]);
+ RHDRegWrite(hdmi, hdmi->Offset+HDMI_AUDIO_DEBUG_2, hdmi->StoredAudioDebugWorkaround[0x2]);
+ RHDRegWrite(hdmi, hdmi->Offset+HDMI_AUDIO_DEBUG_3, hdmi->StoredAudioDebugWorkaround[0x3]);
RHDRegWrite(hdmi, hdmi->Offset+HDMI_VERSION, hdmi->StoredFrameVersion);
diff --git a/driver/xf86-video-radeonhd/src/rhd_hdmi.h b/driver/xf86-video-radeonhd/src/rhd_hdmi.h
index 42294172b..e86b5e2a9 100644
--- a/driver/xf86-video-radeonhd/src/rhd_hdmi.h
+++ b/driver/xf86-video-radeonhd/src/rhd_hdmi.h
@@ -35,11 +35,14 @@ struct rhdHdmi {
struct rhdOutput* Output;
CARD16 Offset;
+ Bool SavedBufferStatus;
+ Bool AudioDebugWorkaround;
+
Bool Stored;
CARD32 StoreEnable;
CARD32 StoreControl;
CARD32 StoreUnknown[0x3];
- CARD32 StoredAudioDebugWorkaround;
+ CARD32 StoredAudioDebugWorkaround[0x4];
CARD32 StoredFrameVersion;
CARD32 StoredVideoControl;
@@ -63,9 +66,10 @@ struct rhdHdmi* RHDHdmiInit(RHDPtr rhdPtr, struct rhdOutput* Output);
void RHDHdmiSetMode(struct rhdHdmi* rhdHdmi, DisplayModePtr Mode);
void RHDHdmiEnable(struct rhdHdmi* rhdHdmi, Bool Enable);
+
+Bool RHDHdmiBufferStatusChanged(struct rhdHdmi* hdmi);
void RHDHdmiUpdateAudioSettings(
struct rhdHdmi* rhdHdmi,
- Bool playing,
int channels,
int rate,
int bps,
@@ -73,6 +77,10 @@ void RHDHdmiUpdateAudioSettings(
CARD8 catgory_code
);
+void RHDHdmiSetAudioWorkaround(struct rhdHdmi* rhdHdmi, Bool Enabled);
+Bool RHDHdmiGetAudioWorkaround(struct rhdHdmi* rhdHdmi);
+void RHDHdmiCommitAudioWorkaround(struct rhdHdmi* rhdHdmi);
+
void RHDHdmiSave(struct rhdHdmi* rhdHdmi);
void RHDHdmiRestore(struct rhdHdmi* rhdHdmi);
diff --git a/driver/xf86-video-radeonhd/src/rhd_i2c.c b/driver/xf86-video-radeonhd/src/rhd_i2c.c
index 3a45f8c76..d5b698a03 100644
--- a/driver/xf86-video-radeonhd/src/rhd_i2c.c
+++ b/driver/xf86-video-radeonhd/src/rhd_i2c.c
@@ -462,6 +462,7 @@ rhd5xxWriteReadChunk(I2CDevPtr i2cDevPtr, int line, I2CByte *WriteBuffer,
I2CBusPtr I2CPtr = i2cDevPtr->pI2CBus;
rhdI2CPtr I2C = (rhdI2CPtr)(I2CPtr->DriverPrivate.ptr);
int prescale = I2C->prescale;
+ int i;
CARD32 save_I2C_CONTROL1, save_494;
CARD32 tmp32;
Bool ret = TRUE;
@@ -476,8 +477,13 @@ rhd5xxWriteReadChunk(I2CDevPtr i2cDevPtr, int line, I2CByte *WriteBuffer,
R5_DC_I2C_SW_WANTS_TO_USE_I2C,
R5_DC_I2C_SW_WANTS_TO_USE_I2C);
- if (!RHDRegRead(I2CPtr, R5_DC_I2C_ARBITRATION) & R5_DC_I2C_SW_CAN_USE_I2C) {
- RHDDebug(I2CPtr->scrnIndex, "%s SW cannot use I2C line %i\n",__func__,line);
+ for (i = 0; i < 50; i++) {
+ if (RHDRegRead(I2CPtr, R5_DC_I2C_ARBITRATION) & R5_DC_I2C_SW_CAN_USE_I2C)
+ break;
+ usleep(1);
+ }
+ if (i >= 50) {
+ xf86DrvMsg(I2CPtr->scrnIndex,X_ERROR, "%s: SW cannot use I2C line %i\n",__func__,line);
ret = FALSE;
} else {
@@ -1157,7 +1163,7 @@ rhdGetI2CPrescale(RHDPtr rhdPtr)
if (rhdPtr->ChipSet < RHD_R600) {
if (RHDAtomBiosFunc(rhdPtr->scrnIndex, rhdPtr->atomBIOS,
- GET_DEFAULT_ENGINE_CLOCK, &atomBiosArg)
+ ATOM_GET_DEFAULT_ENGINE_CLOCK, &atomBiosArg)
== ATOM_SUCCESS)
return (0x7f << 8)
+ (atomBiosArg.val / (4 * 0x7f * TARGET_HW_I2C_CLOCK));
@@ -1166,13 +1172,13 @@ rhdGetI2CPrescale(RHDPtr rhdPtr)
+ (DEFAULT_ENGINE_CLOCK / (4 * 0x7f * TARGET_HW_I2C_CLOCK));
} else if (rhdPtr->ChipSet < RHD_RV620) {
if (RHDAtomBiosFunc(rhdPtr->scrnIndex, rhdPtr->atomBIOS,
- GET_REF_CLOCK, &atomBiosArg) == ATOM_SUCCESS)
+ ATOM_GET_REF_CLOCK, &atomBiosArg) == ATOM_SUCCESS)
return (atomBiosArg.val / TARGET_HW_I2C_CLOCK);
else
return (DEFAULT_REF_CLOCK / TARGET_HW_I2C_CLOCK);
} else {
if (RHDAtomBiosFunc(rhdPtr->scrnIndex, rhdPtr->atomBIOS,
- GET_REF_CLOCK, &atomBiosArg) == ATOM_SUCCESS)
+ ATOM_GET_REF_CLOCK, &atomBiosArg) == ATOM_SUCCESS)
return (atomBiosArg.val / (4 * TARGET_HW_I2C_CLOCK));
else
return (DEFAULT_REF_CLOCK / (4 * TARGET_HW_I2C_CLOCK));
diff --git a/driver/xf86-video-radeonhd/src/rhd_id.c b/driver/xf86-video-radeonhd/src/rhd_id.c
index 4a162c37b..6dfaa295d 100644
--- a/driver/xf86-video-radeonhd/src/rhd_id.c
+++ b/driver/xf86-video-radeonhd/src/rhd_id.c
@@ -29,7 +29,9 @@
#include "git_version.h"
#include "xf86.h"
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
#include "xf86Resources.h"
+#endif
#include "rhd.h"
#ifdef ATOM_BIOS
@@ -73,23 +75,34 @@ SymTabRec RHDChipsets[] = {
{ RHD_M72, "M72" },
{ RHD_M74, "M74" },
{ RHD_M76, "M76" },
- /* RV670 came into existence after RV6x0 and M7x */
- { RHD_RV670, "RV670" },
- { RHD_M88, "M88" },
- { RHD_R680, "R680" },
+ /* R600 second batch */
{ RHD_RV620, "RV620" },
- { RHD_M82, "M82" },
{ RHD_RV635, "RV635" },
- { RHD_M86, "M86" },
+ { RHD_RV670, "RV670" },
+ { RHD_R680, "R680" },
+ /* R700 Mobility */
+ { RHD_M82, "M82" },
+ { RHD_M88, "M88" },
+ { RHD_M86, "M86" },
+ /* R600 integrated */
{ RHD_RS780, "RS780" },
{ RHD_RS880, "RS880" },
- { RHD_RV770, "RV770" },
- { RHD_RV730, "RV730" },
+ /* R700 */
+ { RHD_R700, "R700" },
{ RHD_RV710, "RV710" },
+ { RHD_RV730, "RV730" },
+ { RHD_RV740, "RV740" },
+ { RHD_RV770, "RV770" },
+ { RHD_RV790, "RV790" },
+ /* R700 Mobility */
+ { RHD_M92, "M92" },
+ { RHD_M93, "M93" },
+ { RHD_M96, "M96" },
+ { RHD_M97, "M97" },
+ { RHD_M98, "M98" },
{ -1, NULL }
};
-resRange res_none[] = { _END };
/*
* This is what people would refer to as "Petite".
@@ -101,6 +114,8 @@ resRange res_none[] = { _END };
# define PCI_ID_LIST struct pci_id_match RHDDeviceMatch[]
# define LIST_END { 0, 0, (~0), (~0), 0, 0, 0 }
#else
+resRange res_none[] = { _END };
+
# define RHD_DEVICE_ENTRY(d, i, r) \
{ (i), (d), r }
# define RHD_DEVICE_MATCH(d, i) \
@@ -225,34 +240,46 @@ const PCI_ID_LIST = {
RHD_DEVICE_MATCH( 0x9440, RHD_RV770 ), /* ATI Radeon 4800 Series */
RHD_DEVICE_MATCH( 0x9441, RHD_RV770 ), /* ATI Radeon 4870 X2 */
RHD_DEVICE_MATCH( 0x9442, RHD_RV770 ), /* ATI Radeon 4800 Series */
-// RHD_DEVICE_MATCH( 0x9443, RHD_R700 ), /* ATI Radeon 4800 Series */
+ RHD_DEVICE_MATCH( 0x9443, RHD_RV770 ), /* ATI Radeon 4850 X2 */
RHD_DEVICE_MATCH( 0x9444, RHD_RV770 ), /* Everest ATI FirePro Graphics Accelerator */
RHD_DEVICE_MATCH( 0x9446, RHD_RV770 ), /* K2 ATI FirePro Graphics Accelerator */
-// RHD_DEVICE_MATCH( 0x9447, RHD_R700 ), /* K2 ATI FirePro Graphics Accelerator */
- RHD_DEVICE_MATCH( 0x944A, RHD_M98 ), /* M98 */
- RHD_DEVICE_MATCH( 0x944B, RHD_M98 ), /* M98 */
- RHD_DEVICE_MATCH( 0x944C, RHD_RV770 ), /* RV770 */
+ RHD_DEVICE_MATCH( 0x9447, RHD_R700 ), /* ATI FirePro V8700 Duo */
+ RHD_DEVICE_MATCH( 0x944A, RHD_M98 ), /* ATI MOBILITY RADEON HD 4850 */
+ RHD_DEVICE_MATCH( 0x944B, RHD_M98 ), /* ATI MOBILITY RADEON HD 4850 X2 */
+ RHD_DEVICE_MATCH( 0x944C, RHD_RV770 ), /* ATI RADEON HD 4800 Series */
RHD_DEVICE_MATCH( 0x944E, RHD_RV770 ), /* RV770 */
-// RHD_DEVICE_MATCH( 0x944F, RHD_R700 ), /* R700 */
+/* RHD_DEVICE_MATCH( 0x944F, RHD_R700 ), *//* R700 */
+ RHD_DEVICE_MATCH( 0x9450, RHD_RV770 ), /* AMD FireStream 9270 */
+ RHD_DEVICE_MATCH( 0x9452, RHD_RV770 ), /* AMD FireStream 9250 */
RHD_DEVICE_MATCH( 0x9456, RHD_RV770 ), /* Denali ATI FirePro Graphics Accelerator */
- RHD_DEVICE_MATCH( 0x945A, RHD_M98 ), /* M98 */
- RHD_DEVICE_MATCH( 0x945B, RHD_M98 ), /* M98 */
- RHD_DEVICE_MATCH( 0x9460, RHD_RV770 ), /* RV790 */
- RHD_DEVICE_MATCH( 0x9462, RHD_RV770 ), /* RV790 */
- RHD_DEVICE_MATCH( 0x946A, RHD_M98 ), /* M98 */
- RHD_DEVICE_MATCH( 0x946B, RHD_M98 ), /* M98 */
- RHD_DEVICE_MATCH( 0x947A, RHD_M98 ), /* M98 */
- RHD_DEVICE_MATCH( 0x947B, RHD_M98 ), /* M96 */
- RHD_DEVICE_MATCH( 0x9480, RHD_M96 ), /* M98 */
+ RHD_DEVICE_MATCH( 0x945A, RHD_M98 ), /* ATI MOBILITY RADEON HD 4870 */
+ RHD_DEVICE_MATCH( 0x945B, RHD_M98 ), /* M98 */
+ RHD_DEVICE_MATCH( 0x9460, RHD_RV790 ), /* RV790 */
+ RHD_DEVICE_MATCH( 0x9462, RHD_RV790 ), /* RV790 */
+ RHD_DEVICE_MATCH( 0x946A, RHD_M98 ), /* M98 */
+ RHD_DEVICE_MATCH( 0x946B, RHD_M98 ), /* M98 */
+ RHD_DEVICE_MATCH( 0x947A, RHD_M98 ), /* M98 */
+ RHD_DEVICE_MATCH( 0x947B, RHD_M98 ), /* M98 */
+ RHD_DEVICE_MATCH( 0x9480, RHD_M96 ), /* ATI MOBILITY RADEON HD 4650 */
RHD_DEVICE_MATCH( 0x9487, RHD_RV730 ), /* RV730 */
- RHD_DEVICE_MATCH( 0x9488, RHD_M96 ), /* M96 */
- RHD_DEVICE_MATCH( 0x9489, RHD_M96 ), /* M96M GL */
+ RHD_DEVICE_MATCH( 0x9488, RHD_M96 ), /* ATI MOBILITY RADEON HD 4670 */
+ RHD_DEVICE_MATCH( 0x9489, RHD_M96 ), /* M96M GL */
RHD_DEVICE_MATCH( 0x948F, RHD_RV730 ), /* RV730 */
- RHD_DEVICE_MATCH( 0x9487, RHD_RV730 ), /* RV730 */
- RHD_DEVICE_MATCH( 0x9490, RHD_RV730 ), /* RV730 */
- RHD_DEVICE_MATCH( 0x9498, RHD_RV730 ), /* RV730 */
- RHD_DEVICE_MATCH( 0x949E, RHD_RV730 ), /* RV730 */
- RHD_DEVICE_MATCH( 0x949F, RHD_RV730 ), /* RV730 */
+ RHD_DEVICE_MATCH( 0x9490, RHD_RV730 ), /* ATI RADEON HD 4670 */
+ RHD_DEVICE_MATCH( 0x9491, RHD_RV730 ), /* ATI RADEON E4600 */
+ RHD_DEVICE_MATCH( 0x9495, RHD_RV730 ), /* ATI Radeon HD 4600 Series */
+ RHD_DEVICE_MATCH( 0x9498, RHD_RV730 ), /* ATI RADEON HD 4650 */
+ RHD_DEVICE_MATCH( 0x949C, RHD_RV730 ), /* ATI FirePro V7750 */
+ RHD_DEVICE_MATCH( 0x949E, RHD_RV730 ), /* ATI FirePro V5700 */
+ RHD_DEVICE_MATCH( 0x949F, RHD_RV730 ), /* ATI FirePro V3750 */
+ RHD_DEVICE_MATCH( 0x94A0, RHD_M97 ), /* Mobility Radeon HD 4830 */
+ RHD_DEVICE_MATCH( 0x94A1, RHD_M97 ), /* Mobility Radeon HD 4850 */
+ RHD_DEVICE_MATCH( 0x94A3, RHD_M97 ), /* ATI FirePro M7740 */
+ RHD_DEVICE_MATCH( 0x94B1, RHD_RV740 ), /* RV740 */
+ RHD_DEVICE_MATCH( 0x94B3, RHD_RV740 ), /* Radeon HD 4770 */
+ RHD_DEVICE_MATCH( 0x94B4, RHD_RV740 ), /* Radeon HD 4700 Series */
+ RHD_DEVICE_MATCH( 0x94B5, RHD_RV740 ), /* Radeon HD 4770 */
+ RHD_DEVICE_MATCH( 0x94B9, RHD_M97 ), /* ATI FirePro M5750 */
RHD_DEVICE_MATCH( 0x94C0, RHD_RV610 ), /* RV610 */
RHD_DEVICE_MATCH( 0x94C1, RHD_RV610 ), /* Radeon HD 2400 XT */
RHD_DEVICE_MATCH( 0x94C3, RHD_RV610 ), /* Radeon HD 2400 Pro */
@@ -264,24 +291,30 @@ const PCI_ID_LIST = {
RHD_DEVICE_MATCH( 0x94C9, RHD_M72 ), /* Mobility Radeon HD 2400 */
RHD_DEVICE_MATCH( 0x94CB, RHD_M72 ), /* ATI RADEON E2400 */
RHD_DEVICE_MATCH( 0x94CC, RHD_RV610 ), /* ATI Radeon HD 2400 */
+ RHD_DEVICE_MATCH( 0x94CD, RHD_RV610 ), /* ATI FireMV 2260 */
RHD_DEVICE_MATCH( 0x9500, RHD_RV670 ), /* RV670 */
RHD_DEVICE_MATCH( 0x9501, RHD_RV670 ), /* ATI Radeon HD3870 */
- RHD_DEVICE_MATCH( 0x9504, RHD_M88 ), /* ATI Mobility Radeon HD 3850 */
+ RHD_DEVICE_MATCH( 0x9504, RHD_M88 ), /* ATI Mobility Radeon HD 3850 */
RHD_DEVICE_MATCH( 0x9505, RHD_RV670 ), /* ATI Radeon HD3850 */
- RHD_DEVICE_MATCH( 0x9506, RHD_M88 ), /* ATI Mobility Radeon HD 3850 X2 */
- RHD_DEVICE_MATCH( 0x9507, RHD_RV670 ), /* RV670 */
- RHD_DEVICE_MATCH( 0x9508, RHD_M88 ), /* ATI Mobility Radeon HD 3870 */
- RHD_DEVICE_MATCH( 0x9509, RHD_M88 ), /* ATI Mobility Radeon HD 3870 X2 */
+ RHD_DEVICE_MATCH( 0x9506, RHD_M88 ), /* ATI Mobility Radeon HD 3850 X2 */
+ RHD_DEVICE_MATCH( 0x9507, RHD_RV670 ), /* ATI RADEON HD 3830 */
+ RHD_DEVICE_MATCH( 0x9508, RHD_M88 ), /* ATI Mobility Radeon HD 3870 */
+ RHD_DEVICE_MATCH( 0x9509, RHD_M88 ), /* ATI Mobility Radeon HD 3870 X2 */
RHD_DEVICE_MATCH( 0x950F, RHD_R680 ), /* ATI Radeon HD3870 X2 */
RHD_DEVICE_MATCH( 0x9511, RHD_RV670 ), /* ATI FireGL V7700 */
+ RHD_DEVICE_MATCH( 0x9513, RHD_R680 ), /* ATI RADEON HD 3850 X2 */
RHD_DEVICE_MATCH( 0x9515, RHD_RV670 ), /* ATI Radeon HD 3850 AGP */
RHD_DEVICE_MATCH( 0x9517, RHD_RV670 ), /* ATI Radeon HD 3960 */
RHD_DEVICE_MATCH( 0x9519, RHD_RV670 ), /* FireStream 9170 */
- RHD_DEVICE_MATCH( 0x9540, RHD_RV710 ), /* */
+ RHD_DEVICE_MATCH( 0x9540, RHD_RV710 ), /* ATI RADEON HD 4550 */
RHD_DEVICE_MATCH( 0x9541, RHD_RV710 ), /* */
RHD_DEVICE_MATCH( 0x9542, RHD_RV710 ), /* */
RHD_DEVICE_MATCH( 0x954E, RHD_RV710 ), /* */
- RHD_DEVICE_MATCH( 0x954f, RHD_RV710 ), /* */
+ RHD_DEVICE_MATCH( 0x954F, RHD_RV710 ), /* ATI RADEON HD 4350 */
+ RHD_DEVICE_MATCH( 0x9552, RHD_M92 ), /* Mobility Radeon HD 4300 Series */
+ RHD_DEVICE_MATCH( 0x9553, RHD_M92 ), /* Mobility Radeon HD 4500 Series */
+ RHD_DEVICE_MATCH( 0x9555, RHD_M93 ), /* Mobility Radeon M93 */
+ RHD_DEVICE_MATCH( 0x9557, RHD_M93 ), /* ATI FirePro RG220 */
RHD_DEVICE_MATCH( 0x9580, RHD_RV630 ), /* RV630 */
RHD_DEVICE_MATCH( 0x9581, RHD_M76 ), /* Mobility Radeon HD 2600 */
RHD_DEVICE_MATCH( 0x9583, RHD_M76 ), /* Mobility Radeon HD 2600 XT */
@@ -297,26 +330,28 @@ const PCI_ID_LIST = {
RHD_DEVICE_MATCH( 0x958F, RHD_M76 ), /* ATI Mobility FireGL Graphics Processor */
RHD_DEVICE_MATCH( 0x9590, RHD_RV635 ), /* ATI Radeon HD 3600 Series */
RHD_DEVICE_MATCH( 0x9591, RHD_M86 ), /* Mobility Radeon HD 3650 */
+ RHD_DEVICE_MATCH( 0x9592, RHD_RV710 ), /* */
RHD_DEVICE_MATCH( 0x9593, RHD_M86 ), /* Mobility Radeon HD 3670 */
RHD_DEVICE_MATCH( 0x9595, RHD_M86 ), /* Mobility FireGL V5700 */
RHD_DEVICE_MATCH( 0x9596, RHD_RV635 ), /* ATI Radeon HD 3650 AGP */
RHD_DEVICE_MATCH( 0x9597, RHD_RV635 ), /* ATI Radeon HD 3600 Series */
RHD_DEVICE_MATCH( 0x9598, RHD_RV635 ), /* ATI Radeon HD 3670 */
RHD_DEVICE_MATCH( 0x9599, RHD_RV635 ), /* ATI Radeon HD 3600 Series */
- RHD_DEVICE_MATCH( 0x959B, RHD_M86 ), /* Mobility FireGL Graphics Processor */
+ RHD_DEVICE_MATCH( 0x959B, RHD_M86 ), /* ATI Mobility FireGL V5725 */
RHD_DEVICE_MATCH( 0x95C0, RHD_RV620 ), /* ATI Radeon HD 3470 */
RHD_DEVICE_MATCH( 0x95C2, RHD_M82 ), /* ATI Mobility Radeon HD 3430 (M82) */
RHD_DEVICE_MATCH( 0x95C4, RHD_M82 ), /* Mobility Radeon HD 3400 Series (M82) */
RHD_DEVICE_MATCH( 0x95C5, RHD_RV620 ), /* ATI Radeon HD 3450 */
RHD_DEVICE_MATCH( 0x95C6, RHD_RV620 ), /* ATI Radeon HD 3450 */
RHD_DEVICE_MATCH( 0x95C7, RHD_RV620 ), /* ATI Radeon HD 3430 */
+ RHD_DEVICE_MATCH( 0x95C9, RHD_RV620 ), /* ATI Radeon HD 3450 */
RHD_DEVICE_MATCH( 0x95CC, RHD_RV620 ), /* Fire PRO Professional Graphics ASIC */
RHD_DEVICE_MATCH( 0x95CD, RHD_RV620 ), /* ATI FireMV 2450 */
RHD_DEVICE_MATCH( 0x95CE, RHD_RV620 ), /* ATI FireMV 2260 */
RHD_DEVICE_MATCH( 0x95CF, RHD_RV620 ), /* ATI FireMV 2260 */
RHD_DEVICE_MATCH( 0x9610, RHD_RS780 ), /* ATI Radeon HD 3200 Graphics */
RHD_DEVICE_MATCH( 0x9611, RHD_RS780 ), /* ATI Radeon 3100 Graphics */
- RHD_DEVICE_MATCH( 0x9612, RHD_RS780 ), /* ATI Radeon HD 3200 Graphics */
+ RHD_DEVICE_MATCH( 0x9612, RHD_RS780 ), /* ATI Radeon HD 3200 Graphics */
RHD_DEVICE_MATCH( 0x9613, RHD_RS780 ), /* ATI Radeon 3100 Graphics */
RHD_DEVICE_MATCH( 0x9614, RHD_RS780 ), /* ATI Radeon HD 3300 Graphics */
RHD_DEVICE_MATCH( 0x9615, RHD_RS780 ), /* ATI Radeon HD 3200 Graphics */
@@ -380,22 +415,29 @@ RHDIdentify(int flags)
"\tM72 : Mobility Radeon HD 2400; Radeon E2400.\n"
"\tM74 : Mobility Radeon HD 2400 XT.\n"
"\tM76 : Mobility Radeon HD 2600;\n"
- "\t\t(Gemini ATI) Mobility Radeon HD 2600 XT.\n"
- "\tM82 : Mobility Radeon HD 3400.\n");
+ "\t\t(Gemini ATI) Mobility Radeon HD 2600 XT.\n");
xf86Msg(X_NONE,
+ "\tM82 : Mobility Radeon HD 3400.\n"
"\tM86 : Mobility Radeon HD 3650, HD 3670, Mobility FireGL V5700.\n"
- "\tM88 : Mobility Radeon HD 3850, HD 3850 X2, HD 3870, HD3870 X2.\n"
+ "\tM88 : Mobility Radeon HD 3850, HD 3850 X2, HD 3870, HD3870 X2.\n");
+ xf86Msg(X_NONE,
"\tRS600 : Radeon Xpress 1200, Xpress 1250.\n"
"\tRS690 : Radeon X1200, X1250, X1270.\n"
"\tRS740 : RS740, RS740M.\n"
- "\tRS780 : Radeon HD 3100/3200/3300 Series.\n"
- "\tRV770 : Radeon HD 4800 Series; Everest, K2, Denali ATI FirePro.\n");
+ "\tRS780 : Radeon HD 3100/3200/3300 Series.\n");
xf86Msg(X_NONE,
"\tR700 : Radeon R700.\n"
- "\tM98 : Radeon M98 Mobility.\n"
+ "\tRV710 : Radeon HD4570, HD4350.\n"
"\tRV730 : Radeon HD4670, HD4650.\n"
- "\tM96 : Radeon M96 Mobility.\n"
- "\tRV710 : Radeon HD4570, HD4350.\n");
+ "\tRV740 : Radeon HD4770. EXPERIMENTAL AND UNTESTED.\n"
+ "\tRV770 : Radeon HD 4800 Series; Everest, K2, Denali ATI FirePro.\n"
+ "\tRV790 : Radeon HD 4890.\n");
+ xf86Msg(X_NONE,
+ "\tM92 : Mobility Radeon HD4330, HD4530, HD4570. EXPERIMENTAL.\n"
+ "\tM93 : Mobility Radeon M93. EXPERIMENTAL AND UNTESTED.\n"
+ "\tM96 : Mobility Radeon HD4600.\n"
+ "\tM97 : Mobility Radeon HD4860. EXPERIMENTAL AND UNTESTED.\n"
+ "\tM98 : Mobility Radeon HD4850, HD4870.\n");
/* END_DEVICE_LIST marker - do not delete */
xf86Msg(X_NONE, "\n");
@@ -531,6 +573,23 @@ RHDIsIGP(enum RHD_CHIPSETS chipset)
{RHD_CONNECTOR_DVI, "DVI-I", RHD_DDC_1, RHD_HPD_0, \
{ RHD_OUTPUT_TMDSA, RHD_OUTPUT_DACB } } }
+/* Wyse R-Class broke connector table info (DDC) in later BIOSes */
+#define DVI_AB2_DVI_C3 \
+ { {RHD_CONNECTOR_DVI, "DVI-I DFP3 CRT1", RHD_DDC_2, RHD_HPD_NONE, \
+ { RHD_OUTPUT_LVTMA, RHD_OUTPUT_DACA }}, \
+ {RHD_CONNECTOR_DVI, "DVI-D DFP2", RHD_DDC_3, RHD_HPD_NONE, \
+ { RHD_OUTPUT_DVO, RHD_OUTPUT_NONE }}}
+
+/* HIS Excalibur Radeon XT1650 Pro IceQ 256 */
+#define VGA_A0_DVI_AB1 \
+{ {RHD_CONNECTOR_DVI, "DVI-I DFP3 CRT1", RHD_DDC_0, RHD_HPD_NONE, \
+ { RHD_OUTPUT_NONE, RHD_OUTPUT_DACA }}, \
+ {RHD_CONNECTOR_TV, "COMPOSITE TV1", RHD_DDC_NONE, RHD_HPD_NONE, \
+ {RHD_OUTPUT_DACB, RHD_OUTPUT_NONE }}, \
+ {RHD_CONNECTOR_DVI, "VGA DFP1 CRT2", RHD_DDC_1, RHD_HPD_NONE, \
+ { RHD_OUTPUT_TMDSA, RHD_OUTPUT_DACB }} }
+
+
#if defined(USE_ID_CONNECTORS) || !defined(ATOM_BIOS)
@@ -672,6 +731,7 @@ rhdCards[] =
{ 0x7140, 0x1787, 0x3000, "PowerColor X1550", RHD_CARD_FLAG_HPDSWAP, ID_CONNECTORINFO_EMPTY, DEVINFO_EMPTY },
/* 0x7141 : RV505 : RV505 */
/* 0x7142 : RV515 : Radeon X1300/X1550 */
+ { 0x7142, 0x1787, 0x3000, "ATI Radeon X1550", RHD_CARD_FLAG_HPDOFF, ID_CONNECTORINFO_EMPTY, DEVINFO_EMPTY },
/* 0x7143 : RV505 : Radeon X1550 */
{ 0x7143, 0x17AF, 0x204E, "HIS Radeon X1550 PCI", RHD_CARD_FLAG_NONE, VGA_A0_TV_B_DVI_BA10, DEVINFO_EMPTY },
/* 0x7144 : M54 : M54-GL */
@@ -686,6 +746,7 @@ rhdCards[] =
/* 0x7146 : RV515 : Radeon X1300/X1550 */
{ 0x7146, 0x174B, 0x0470, "Sapphire X1300", RHD_CARD_FLAG_NONE, VGA_B1_DVI_AB01, DEVINFO_EMPTY },
{ 0x7146, 0x174B, 0x0920, "Sapphire X1300", RHD_CARD_FLAG_HPDSWAP, ID_CONNECTORINFO_EMPTY, DEVINFO_EMPTY },
+ { 0x7146, 0x174B, 0x0940, "X1300 HM", RHD_CARD_FLAG_HPDSWAP, ID_CONNECTORINFO_EMPTY, DEVINFO_EMPTY },
{ 0x7146, 0x1545, 0x2350, "Visiontek C1550", RHD_CARD_FLAG_NONE, VGA_A0_TV_B_DVI_BB10, DEVINFO_EMPTY },
/* 0x7147 : RV505 : Radeon X1550 64-bit */
{ 0x7147, 0x174B, 0x0840, "Sapphire X1550", RHD_CARD_FLAG_HPDSWAP, ID_CONNECTORINFO_EMPTY, DEVINFO_EMPTY },
@@ -716,6 +777,7 @@ rhdCards[] =
{ 0x7187, 0x1545, 0x1930, "RV516 : Radeon X1300", RHD_CARD_FLAG_NONE, VGA_A0_TV_B_DVI_XB11, DEVINFO_EMPTY },
/* 0x7188 : M64 : Mobility Radeon X2300 */
/* 0x718A : M64 : Mobility Radeon X2300 */
+ { 0x718A, 0x1043, 0x1449, "Asus F3JR", RHD_CARD_FLAG_HPDOFF, ID_CONNECTORINFO_EMPTY, DEVINFO_EMPTY },
/* 0x718B : M62 : Mobility Radeon X1350 */
/* 0x718C : M62 : Mobility Radeon X1350 */
/* 0x718D : M64 : Mobility Radeon X1450 */
@@ -742,6 +804,7 @@ rhdCards[] =
/* 0x71C6 : RV530 : Radeon X1650 */
{ 0x71C6, 0x174B, 0x0850, "Sapphire X1650 Pro AGP", RHD_CARD_FLAG_NONE, VGA_A0_DVI_BA10, DEVINFO_EMPTY },
{ 0x71C6, 0x1462, 0x0400, "MSI RX1650 Pro", RHD_CARD_FLAG_NONE, DVI_BA10_DVI_AB01, DEVINFO_EMPTY },
+ { 0x71C6, 0x17AF, 0x206A, "HIS Excalibur Radeon XT1650 Pro IceQ 256M", RHD_CARD_FLAG_NONE, VGA_A0_DVI_AB1, DEVINFO_EMPTY },
/* 0x71C7 : RV535 : Radeon X1650 */
{ 0x71C7, 0x1043, 0x01B6, "Asus EAX1650 Silent", RHD_CARD_FLAG_NONE, VGA_A0_DVI_BB10, DEVINFO_EMPTY },
{ 0x71C7, 0x1787, 0x2227, "Diamond Viper X1650 Pro", RHD_CARD_FLAG_HPDSWAP, ID_CONNECTORINFO_EMPTY, DEVINFO_EMPTY },
@@ -796,6 +859,7 @@ rhdCards[] =
/* 0x791E : RS690 : Radeon X1200 */
{ 0x791E, 0x1043, 0x826D, "Asus M2A-VM", RHD_CARD_FLAG_NONE, ID_CONNECTORINFO_EMPTY, DEVINFO_EMPTY },
/* 0x791F : RS690 : Radeon X1200 */
+ { 0x791F, 0x1002, 0x053A, "Wyse R-Class", RHD_CARD_FLAG_NONE, DVI_AB2_DVI_C3, DEVINFO_EMPTY },
{ 0x791F, 0x103C, 0x30C2, "HP/Compaq 6715b", RHD_CARD_FLAG_NONE, ID_CONNECTORINFO_EMPTY, DEVINFO_EMPTY },
/* 0x793F : RS600 : Radeon Xpress 1200 */
/* 0x7941 : RS600 : Radeon Xpress 1200 */
@@ -851,7 +915,8 @@ rhdCards[] =
/* 0x958C : RV630 : ATI FireGL V5600 */
/* 0x958D : RV630 : ATI FireGL V3600 */
/* 0x958E : RV630 : ATI Radeon HD 2600 LE */
- { 0x95c5, 0x1787, 0x2252, "PowerColor HD 3450", RHD_CARD_FLAG_HPDOFF, ID_CONNECTORINFO_EMPTY, DEVINFO_EMPTY },
+ { 0x95C5, 0x1043, 0x01F4, "ASUS EAH3450", RHD_CARD_FLAG_HPDOFF, ID_CONNECTORINFO_EMPTY, DEVINFO_EMPTY },
+ { 0x95C5, 0x1787, 0x2252, "PowerColor HD 3450", RHD_CARD_FLAG_HPDOFF, ID_CONNECTORINFO_EMPTY, DEVINFO_EMPTY },
{ 0x9610, 0x105B, 0x0E0F, "Foxconn A7GM-S (RS780)", RHD_CARD_FLAG_HPDOFF, ID_CONNECTORINFO_EMPTY, DEVINFO_EMPTY },
{ 0, 0, 0, NULL, 0, ID_CONNECTORINFO_EMPTY, DEVINFO_EMPTY } /* KEEP THIS: End marker. */
};
@@ -884,10 +949,10 @@ RHDCardIdentify(ScrnInfoPtr pScrn)
(rhdCards[i].card_device == subDeviceID))
return rhdCards + i;
+#ifdef ATOM_BIOS
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
- "Unknown card detected: 0x%04X:0x%04X:0x%04X.\n",
+ "Card not in database: 0x%04X:0x%04X:0x%04X; using generic modesetting.\n",
deviceID, subVendorID, subDeviceID);
-#ifdef ATOM_BIOS
xf86Msg(X_NONE, "\t"
"If - and only if - your card does not work or does not work optimally\n\t"
"please contact radeonhd@opensuse.org to help rectify this.\n\t"
@@ -896,6 +961,9 @@ RHDCardIdentify(ScrnInfoPtr pScrn)
"in your message.\n",
deviceID, subVendorID, subDeviceID);
#else
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Unknown card detected: 0x%04X:0x%04X:0x%04X.\n",
+ deviceID, subVendorID, subDeviceID);
xf86Msg(X_NONE, "\t"
"Your card might not work or might not work optimally.\n\t"
"To rectify this, please contact radeonhd@opensuse.org.\n\t"
diff --git a/driver/xf86-video-radeonhd/src/rhd_lut.c b/driver/xf86-video-radeonhd/src/rhd_lut.c
index 848ec137c..ea5596201 100644
--- a/driver/xf86-video-radeonhd/src/rhd_lut.c
+++ b/driver/xf86-video-radeonhd/src/rhd_lut.c
@@ -69,8 +69,8 @@ LUTxSave(struct rhdLUT *LUT)
RHDRegWrite(LUT, DC_LUT_READ_PIPE_SELECT, 1);
RHDRegWrite(LUT, DC_LUT_RW_INDEX, 0);
- for (i = 0; i < 0x300; i++)
- LUT->StoreEntry[i] = RHDRegRead(LUT, DC_LUT_SEQ_COLOR);
+ for (i = 0; i < 256; i++)
+ LUT->StoreEntry[i] = RHDRegRead(LUT, DC_LUT_30_COLOR);
LUT->Stored = TRUE;
}
@@ -112,21 +112,23 @@ LUTxRestore(struct rhdLUT *LUT)
RHDRegWrite(LUT, DC_LUT_RW_MODE, 0); /* Table */
RHDRegWrite(LUT, DC_LUT_WRITE_EN_MASK, 0x0000003F);
RHDRegWrite(LUT, DC_LUT_RW_INDEX, 0);
- for (i = 0; i < 0x300; i++)
- RHDRegWrite(LUT, DC_LUT_SEQ_COLOR, LUT->StoreEntry[i]);
+ for (i = 0; i < 256; i++)
+ RHDRegWrite(LUT, DC_LUT_30_COLOR, LUT->StoreEntry[i]);
RHDRegWrite(LUT, RegOff + DC_LUTA_CONTROL, LUT->StoreControl);
}
/*
+ * Load a new LUT
*
+ * Assumes 256 rows of input. It's up to the caller to ensure there are exactly
+ * 256 rows of data, as that's what the hardware exepcts.
*/
static void
-LUTxSet(struct rhdLUT *LUT, int numColors, int *indices, LOCO *colors)
+rhdLUTSet(struct rhdLUT *LUT, CARD16 *red, CARD16 *green, CARD16 *blue)
{
- ScrnInfoPtr pScrn = xf86Screens[LUT->scrnIndex];
CARD16 RegOff;
- int i, index, hw_index;
+ int i;
LUT->Initialised = TRUE; /* thank you RandR */
@@ -153,66 +155,43 @@ LUTxSet(struct rhdLUT *LUT, int numColors, int *indices, LOCO *colors)
RHDRegWrite(LUT, DC_LUT_RW_MODE, 0); /* table */
RHDRegWrite(LUT, DC_LUT_WRITE_EN_MASK, 0x0000003F);
- /* DC_LUT_RW_INDEX is incremented automatically when DC_LUT_30_COLOR
- * is accessed; hw_index is used to track the value of DC_LUT_RW_INDEX
- * so that we can properly handle the very unlikely case that the input
- * table indexes are not monotonically increasing
- */
- switch (pScrn->depth) {
- case 8:
- case 24:
- case 32:
- RHDRegWrite(LUT, DC_LUT_RW_INDEX, 0);
- hw_index = 0;
- for (i = 0; i < numColors; i++) {
- index = indices[i];
- if (hw_index != index) {
- RHDRegWrite(LUT, DC_LUT_RW_INDEX, index);
- hw_index = index;
- }
- RHDRegWrite(LUT, DC_LUT_30_COLOR, (colors[index].red << 20) |
- (colors[index].green << 10) | (colors[index].blue));
- hw_index++;
- }
- break;
- case 16:
- RHDRegWrite(LUT, DC_LUT_RW_INDEX, 0);
- hw_index = 0;
- for (i = 0; i < numColors; i++) {
- int j;
-
- index = indices[i];
- if (hw_index != 4 * index) {
- RHDRegWrite(LUT, DC_LUT_RW_INDEX, 4 * index);
- hw_index = 4 * index;
- }
-
- for (j = 0; j < 4; j++) {
- RHDRegWrite(LUT, DC_LUT_30_COLOR, (colors[index/2].red << 20) |
- (colors[index].green << 10) | (colors[index/2].blue));
- hw_index++;
- }
- }
- break;
- case 15:
- RHDRegWrite(LUT, DC_LUT_RW_INDEX, 0);
- hw_index = 0;
- for (i = 0; i < numColors; i++) {
- int j;
-
- index = indices[i];
- if (hw_index != 8 * index) {
- RHDRegWrite(LUT, DC_LUT_RW_INDEX, 8 * index);
- hw_index = 8 * index;
- }
-
- for (j = 0; j < 8; j++) {
- RHDRegWrite(LUT, DC_LUT_30_COLOR, (colors[index].red << 20) |
- (colors[index].green << 10) | (colors[index].blue));
- hw_index++;
- }
- }
- break;
+ RHDRegWrite(LUT, DC_LUT_RW_INDEX, 0);
+ for (i = 0; i < 256; i++) {
+ RHDRegWrite(LUT, DC_LUT_30_COLOR,
+ ((red[i] & 0xFFC0) << 14) | ((green[i] & 0xFFC0) << 4) | (blue[i] >> 6));
+ }
+}
+
+/*
+ * Set specific rows of the LUT
+ *
+ * Assumes LUTs are already initialized to a sane state, and will only update
+ * specific rows. Use ONLY when just specific rows need to be updated.
+ */
+static void
+rhdLUTSetRows(struct rhdLUT *LUT, int numColors, int *indices, LOCO *colors)
+{
+ CARD16 RegOff;
+ int i, index;
+
+ if (LUT->Id == RHD_LUT_A)
+ RegOff = RHD_REGOFFSET_LUTA;
+ else
+ RegOff = RHD_REGOFFSET_LUTB;
+
+ if (LUT->Id == RHD_LUT_A)
+ RHDRegWrite(LUT, DC_LUT_RW_SELECT, 0);
+ else
+ RHDRegWrite(LUT, DC_LUT_RW_SELECT, 1);
+
+ RHDRegWrite(LUT, DC_LUT_RW_MODE, 0); /* table */
+ RHDRegWrite(LUT, DC_LUT_WRITE_EN_MASK, 0x0000003F);
+
+ for (i = 0; i < numColors; i++) {
+ index = indices[i];
+ RHDRegWrite(LUT, DC_LUT_RW_INDEX, index);
+ RHDRegWrite(LUT, DC_LUT_30_COLOR,
+ (colors[index].red << 20) | (colors[index].green << 10) | (colors[index].blue));
}
}
@@ -234,7 +213,8 @@ RHDLUTsInit(RHDPtr rhdPtr)
LUT->Save = LUTxSave;
LUT->Restore = LUTxRestore;
- LUT->Set = LUTxSet;
+ LUT->Set = rhdLUTSet;
+ LUT->SetRows = rhdLUTSetRows;
rhdPtr->LUT[0] = LUT;
@@ -246,7 +226,8 @@ RHDLUTsInit(RHDPtr rhdPtr)
LUT->Save = LUTxSave;
LUT->Restore = LUTxRestore;
- LUT->Set = LUTxSet;
+ LUT->Set = rhdLUTSet;
+ LUT->SetRows = rhdLUTSetRows;
rhdPtr->LUT[1] = LUT;
}
@@ -335,8 +316,7 @@ RHDLUTsDestroy(RHDPtr rhdPtr)
void
RHDLUTCopyForRR(struct rhdLUT *LUT)
{
- int indices[0x100];
- LOCO colors[0x100];
+ CARD16 red[256], green[256], blue[256];
CARD32 entry;
int i;
@@ -349,50 +329,12 @@ RHDLUTCopyForRR(struct rhdLUT *LUT)
else
RHDRegWrite(LUT, DC_LUT_READ_PIPE_SELECT, 0);
- switch (xf86Screens[LUT->scrnIndex]->depth) {
- case 8:
- case 24:
- case 32:
- RHDRegWrite(LUT, DC_LUT_RW_INDEX, 0);
-
- for (i = 0; i < 0x100; i++) {
- indices[i] = i;
-
- entry = RHDRegRead(LUT, DC_LUT_30_COLOR);
-
- colors[i].red = (entry >> 20) & 0x3FF;
- colors[i].green = (entry >> 10) & 0x3FF;
- colors[i].blue = (entry) & 0x3FF;
- }
- LUT->Set(LUT, 0x100, indices, colors);
- break;
- case 16:
- for (i = 0; i < 0x40; i++) {
- indices[i] = i;
-
- RHDRegWrite(LUT, DC_LUT_RW_INDEX, 4 * i);
-
- entry = RHDRegRead(LUT, DC_LUT_30_COLOR);
-
- colors[i / 2].red = (entry >> 20) & 0x3FF;
- colors[i].green = (entry >> 10) & 0x3FF;
- colors[i / 2].blue = (entry) & 0x3FF;
- }
- LUT->Set(LUT, 0x40, indices, colors);
- break;
- case 15:
- for (i = 0; i < 0x20; i++) {
- indices[i] = i;
-
- RHDRegWrite(LUT, DC_LUT_RW_INDEX, 8 * i);
-
- entry = RHDRegRead(LUT, DC_LUT_30_COLOR);
-
- colors[i].red = (entry >> 20) & 0x3FF;
- colors[i].green = (entry >> 10) & 0x3FF;
- colors[i].blue = (entry) & 0x3FF;
- }
- LUT->Set(LUT, 0x20, indices, colors);
- break;
+ for (i = 0; i < 256; i++) {
+ entry = RHDRegRead(LUT, DC_LUT_30_COLOR);
+ red[i] = (entry >> 14) & 0xFFC0;
+ green[i] = (entry >> 4) & 0xFFC0;
+ blue[i] = (entry << 6) & 0xFFC0;
}
+
+ rhdLUTSet(LUT, red, green, blue);
}
diff --git a/driver/xf86-video-radeonhd/src/rhd_lut.h b/driver/xf86-video-radeonhd/src/rhd_lut.h
index 6684210d7..640ee6321 100644
--- a/driver/xf86-video-radeonhd/src/rhd_lut.h
+++ b/driver/xf86-video-radeonhd/src/rhd_lut.h
@@ -36,7 +36,8 @@ struct rhdLUT {
void (*Save) (struct rhdLUT *LUT);
void (*Restore) (struct rhdLUT *LUT);
- void (*Set) (struct rhdLUT *LUT, int numColors, int *indices, LOCO *colors);
+ void (*Set) (struct rhdLUT *LUT, CARD16 *red, CARD16 *green, CARD16 *blue);
+ void (*SetRows) (struct rhdLUT *LUT, int numColors, int *indices, LOCO *colors);
/* because RandR does not specifically initialise a gamma ramp when
setting up a CRTC */
@@ -54,7 +55,7 @@ struct rhdLUT {
CARD32 StoreWhiteGreen;
CARD32 StoreWhiteBlue;
- CARD16 StoreEntry[0x300];
+ CARD32 StoreEntry[256];
};
void RHDLUTsInit(RHDPtr rhdPtr);
diff --git a/driver/xf86-video-radeonhd/src/rhd_lvtma.c b/driver/xf86-video-radeonhd/src/rhd_lvtma.c
index 6603b05e2..a4aeb9e41 100644
--- a/driver/xf86-video-radeonhd/src/rhd_lvtma.c
+++ b/driver/xf86-video-radeonhd/src/rhd_lvtma.c
@@ -48,6 +48,7 @@
#include "rhd_output.h"
#include "rhd_regs.h"
#include "rhd_hdmi.h"
+#include "rhd_acpi.h"
#ifdef ATOM_BIOS
#include "rhd_atombios.h"
#include "rhd_atomout.h"
@@ -138,12 +139,13 @@ struct LVDSPrivate {
CARD32 StoreMacroControl;
CARD32 StoreTXControl;
CARD32 StoreBlModCntl;
-#ifdef NOT_YET
+
+ void (*SetBacklight)(struct rhdOutput *Output, int val);
+ int (*GetBacklight)(struct rhdOutput *Output);
/* to hook in AtomBIOS property callback */
Bool (*WrappedPropertyCallback) (struct rhdOutput *Output,
enum rhdPropertyAction Action, enum rhdOutputProperty Property, union rhdPropertyData *val);
void *PropertyPrivate;
-#endif
};
/*
@@ -203,10 +205,8 @@ LVDSDebugBacklight(struct rhdOutput *Output)
*
*/
static void
-LVDSSetBacklight(struct rhdOutput *Output)
+LVDSSetBacklight(struct rhdOutput *Output, int level)
{
- struct LVDSPrivate *Private = (struct LVDSPrivate *) Output->Private;
- int level = Private->BlLevel;
RHDPtr rhdPtr = RHDPTRI(Output);
xf86DrvMsg(rhdPtr->scrnIndex, X_INFO,
@@ -231,6 +231,28 @@ LVDSSetBacklight(struct rhdOutput *Output)
/*
*
*/
+static int
+LVDSGetBacklight(struct rhdOutput *Output)
+{
+ RHDPtr rhdPtr = RHDPTRI(Output);
+ CARD32 level;
+
+ if (rhdPtr->ChipSet >= RHD_RS600)
+ level = RHDRegRead(rhdPtr, LVTMA_BL_MOD_CNTL);
+ else
+ level = RHDRegRead(rhdPtr, LVTMA_BL_MOD_CNTL);
+
+ if ((level & 0x01) != 0x01)
+ return -1;
+
+ RHDDebug(Output->scrnIndex, "%s: Backlight %i\n",__func__,(level >> 8) & 0xFF);
+
+ return (level >> 8) & 0xFF;
+}
+
+/*
+ *
+ */
static Bool
LVDSPropertyControl(struct rhdOutput *Output, enum rhdPropertyAction Action,
enum rhdOutputProperty Property, union rhdPropertyData *val)
@@ -240,9 +262,9 @@ LVDSPropertyControl(struct rhdOutput *Output, enum rhdPropertyAction Action,
switch (Action) {
case rhdPropertyCheck:
switch (Property) {
- if (Private->BlLevel < 0)
- return FALSE;
case RHD_OUTPUT_BACKLIGHT:
+ if (Private->BlLevel < 0)
+ return FALSE;
return TRUE;
default:
return FALSE;
@@ -250,6 +272,7 @@ LVDSPropertyControl(struct rhdOutput *Output, enum rhdPropertyAction Action,
case rhdPropertyGet:
switch (Property) {
case RHD_OUTPUT_BACKLIGHT:
+ Private->BlLevel = Private->GetBacklight(Output);
if (Private->BlLevel < 0)
return FALSE;
val->integer = Private->BlLevel;
@@ -274,7 +297,7 @@ LVDSPropertyControl(struct rhdOutput *Output, enum rhdPropertyAction Action,
case RHD_OUTPUT_BACKLIGHT:
if (Private->BlLevel < 0)
return FALSE;
- LVDSSetBacklight(Output);
+ Private->SetBacklight(Output, Private->BlLevel);
break;
default:
return FALSE;
@@ -430,7 +453,7 @@ LVDSEnable(struct rhdOutput *Output)
__func__, i, (int) tmp);
}
if (Private->BlLevel >= 0) {
- LVDSSetBacklight(Output);
+ Private->SetBacklight(Output, Private->BlLevel);
}
}
@@ -719,10 +742,8 @@ LVDSDestroy(struct rhdOutput *Output)
if (!Private)
return;
-#ifdef NOT_YET
if (Private->PropertyPrivate)
RhdAtomDestroyBacklightControlProperty(Output, Private->PropertyPrivate);
-#endif
xfree(Private);
Output->Private = NULL;
}
@@ -1048,6 +1069,7 @@ TMDSBPropertyControl(struct rhdOutput *Output,
switch (Property) {
case RHD_OUTPUT_COHERENT:
case RHD_OUTPUT_HDMI:
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
return TRUE;
default:
return FALSE;
@@ -1060,6 +1082,9 @@ TMDSBPropertyControl(struct rhdOutput *Output,
case RHD_OUTPUT_HDMI:
val->Bool = Private->HdmiEnabled;
return TRUE;
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
+ val->Bool = RHDHdmiGetAudioWorkaround(Private->Hdmi);
+ return TRUE;
default:
return FALSE;
}
@@ -1072,6 +1097,9 @@ TMDSBPropertyControl(struct rhdOutput *Output,
case RHD_OUTPUT_HDMI:
Private->HdmiEnabled = val->Bool;
break;
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
+ RHDHdmiSetAudioWorkaround(Private->Hdmi, val->Bool);
+ break;
default:
return FALSE;
}
@@ -1083,6 +1111,9 @@ TMDSBPropertyControl(struct rhdOutput *Output,
Output->Mode(Output, Private->Mode);
Output->Power(Output, RHD_POWER_ON);
break;
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
+ RHDHdmiCommitAudioWorkaround(Private->Hdmi);
+ break;
default:
return FALSE;
}
@@ -1308,7 +1339,6 @@ TMDSBDestroy(struct rhdOutput *Output)
Output->Private = NULL;
}
-#ifdef NOT_YET
static Bool
LVDSPropertyWrapper(struct rhdOutput *Output,
enum rhdPropertyAction Action,
@@ -1327,7 +1357,6 @@ LVDSPropertyWrapper(struct rhdOutput *Output,
return ret;
}
-#endif
/*
*
@@ -1367,17 +1396,33 @@ RHDLVTMAInit(RHDPtr rhdPtr, CARD8 Type)
Output->Property = LVDSPropertyControl;
Output->Destroy = LVDSDestroy;
Output->Private = Private = LVDSInfoRetrieve(rhdPtr);
-#ifdef NOT_YET
- if (Private->BlLevel < 0) {
- Private->BlLevel = RhdAtomSetupBacklightControlProperty(Output, &Private->WrappedPropertyCallback,
- &Private->PropertyPrivate);
- if (Private->PropertyPrivate)
- Output->Property = LVDSPropertyWrapper;
- } else
-#else
- if (Private->BlLevel >= 0)
-#endif
+
+ if (Private->BlLevel >= 0) {
+ Private->SetBacklight = LVDSSetBacklight;
+ Private->GetBacklight = LVDSGetBacklight;
LVDSDebugBacklight(Output);
+ xf86DrvMsg(Output->scrnIndex,X_INFO, "Native Backlight Control found.\n");
+ } else {
+ Private->BlLevel = RhdACPIGetBacklightControl(Output);
+ if (Private->BlLevel >= 0) {
+ xf86DrvMsg(Output->scrnIndex,X_INFO, "ACPI Backlight Control found.\n");
+ Private->SetBacklight = RhdACPISetBacklightControl;
+ Private->GetBacklight = RhdACPIGetBacklightControl;
+ }
+#ifdef ATOM_BIOS
+ else {
+ Private->BlLevel = RhdAtomSetupBacklightControlProperty(
+ Output,
+ &Private->WrappedPropertyCallback,
+ &Private->PropertyPrivate);
+ if (Private->PropertyPrivate)
+ Output->Property = LVDSPropertyWrapper;
+ xf86DrvMsg(Output->scrnIndex,X_INFO,
+ "Falling back to AtomBIOS controlled Backlight.\n");
+ }
+#endif
+ }
+
} else {
struct rhdTMDSBPrivate *Private = xnfcalloc(sizeof(struct rhdTMDSBPrivate), 1);
diff --git a/driver/xf86-video-radeonhd/src/rhd_mc.c b/driver/xf86-video-radeonhd/src/rhd_mc.c
index 540594592..def871b96 100644
--- a/driver/xf86-video-radeonhd/src/rhd_mc.c
+++ b/driver/xf86-video-radeonhd/src/rhd_mc.c
@@ -61,9 +61,13 @@
#include "xf86.h"
#include "rhd.h"
+#include "rhd_mc.h"
#include "rhd_regs.h"
#include "rhd_crtc.h" /* for definition of Crtc->Id */
+#include "r600_reg_auto_r6xx.h"
+#include "r600_reg_r6xx.h"
+
struct rhdMC {
int scrnIndex;
@@ -319,7 +323,7 @@ RS690MCRestore(struct rhdMC *MC)
static Bool
RS690MCWaitIdle(struct rhdMC *MC)
{
- if (RHDReadMC(MC, RS69_MC_SYSTEM_STATUS) & RS6X_MC_SEQUENCER_IDLE)
+ if (RHDReadMC(MC, RS69_MC_SYSTEM_STATUS) & RS6X_MC_SYSTEM_IDLE)
return TRUE;
return FALSE;
}
@@ -391,7 +395,9 @@ R600MCRestore(struct rhdMC *MC)
static Bool
R600MCWaitIdle(struct rhdMC *MC)
{
- if (!(RHDRegRead(MC, SRBM_STATUS) & 0x3f00))
+ if (!(RHDRegRead(MC, SRBM_STATUS) &
+ (VMC_BUSY_bit | MCB_BUSY_bit |
+ MCDZ_BUSY_bit | MCDY_BUSY_bit | MCDX_BUSY_bit | MCDW_BUSY_bit)))
return TRUE;
return FALSE;
}
diff --git a/driver/xf86-video-radeonhd/src/rhd_mc.h b/driver/xf86-video-radeonhd/src/rhd_mc.h
index 2d2bd18bf..b66aa4ad5 100644
--- a/driver/xf86-video-radeonhd/src/rhd_mc.h
+++ b/driver/xf86-video-radeonhd/src/rhd_mc.h
@@ -25,6 +25,10 @@
#ifndef RHD_MC_H
# define RHD_MC_H
+/* to be fixed for good !@#$ */
+#include <stdint.h>
+#define CARD64 uint64_t
+
extern void RHDMCInit(RHDPtr rhdPtr);
extern void RHDMCDestroy(RHDPtr rhdPtr);
extern void RHDMCSave(RHDPtr rhdPtr);
diff --git a/driver/xf86-video-radeonhd/src/rhd_monitor.c b/driver/xf86-video-radeonhd/src/rhd_monitor.c
index 5234c7b43..03448e857 100644
--- a/driver/xf86-video-radeonhd/src/rhd_monitor.c
+++ b/driver/xf86-video-radeonhd/src/rhd_monitor.c
@@ -331,7 +331,7 @@ rhdMonitorPanel(struct rhdConnector *Connector)
AtomBiosResult Result;
Result = RHDAtomBiosFunc(Connector->scrnIndex, rhdPtr->atomBIOS,
- ATOMBIOS_GET_PANEL_MODE, &data);
+ ATOM_GET_PANEL_MODE, &data);
if (Result == ATOM_SUCCESS) {
Mode = data.mode;
Mode->type |= M_T_PREFERRED;
@@ -339,7 +339,7 @@ rhdMonitorPanel(struct rhdConnector *Connector)
if (!EDID) {
Result = RHDAtomBiosFunc(Connector->scrnIndex,
rhdPtr->atomBIOS,
- ATOMBIOS_GET_PANEL_EDID, &data);
+ ATOM_GET_PANEL_EDID, &data);
if (Result == ATOM_SUCCESS)
EDID = xf86InterpretEDID(Connector->scrnIndex,
data.EDIDBlock);
@@ -382,6 +382,21 @@ rhdMonitorPanel(struct rhdConnector *Connector)
return NULL;
}
+ /* Fixup some broken modes - if we can do so, otherwise we might have no
+ * chance of driving the panel at all */
+ if (Monitor->NativeMode) {
+
+ /* Some Panels have H or VSyncEnd values greater than H or VTotal. */
+ if (Monitor->NativeMode->HTotal <= Monitor->NativeMode->HSyncEnd)
+ Monitor->NativeMode->HTotal = Monitor->NativeMode->CrtcHTotal = Monitor->NativeMode->HSyncEnd + 1;
+ if (Monitor->NativeMode->VTotal <= Monitor->NativeMode->VSyncEnd)
+ Monitor->NativeMode->VTotal = Monitor->NativeMode->CrtcVTotal = Monitor->NativeMode->VSyncEnd + 1;
+ if (Monitor->NativeMode->CrtcHBlankEnd <= Monitor->NativeMode->CrtcHSyncEnd)
+ Monitor->NativeMode->CrtcHBlankEnd = Monitor->NativeMode->CrtcHSyncEnd + 1;
+ if (Monitor->NativeMode->CrtcVBlankEnd <= Monitor->NativeMode->CrtcVSyncEnd)
+ Monitor->NativeMode->CrtcVBlankEnd = Monitor->NativeMode->CrtcVSyncEnd + 1;
+ }
+
/* panel should be driven at native resolution only. */
Monitor->UseFixedModes = TRUE;
Monitor->ReducedAllowed = TRUE;
diff --git a/driver/xf86-video-radeonhd/src/rhd_output.c b/driver/xf86-video-radeonhd/src/rhd_output.c
index 7fe2ee9d4..0e33d4e87 100644
--- a/driver/xf86-video-radeonhd/src/rhd_output.c
+++ b/driver/xf86-video-radeonhd/src/rhd_output.c
@@ -215,11 +215,11 @@ RHDOutputAttachConnector(struct rhdOutput *Output, struct rhdConnector *Connecto
RHDPtr rhdPtr = RHDPTRI(Output);
if(Output->Connector == Connector)
- return; /* output is allready attached to this connector -> nothing todo */
+ return; /* output is already attached to this connector -> nothing todo */
Output->Connector = Connector;
- if(!Output->Property) /* property controll available? */
+ if(!Output->Property) /* property control available? */
return; /* no -> we are done here */
/* yes -> check if we need to set any properties */
@@ -260,4 +260,61 @@ RHDOutputAttachConnector(struct rhdOutput *Output, struct rhdConnector *Connecto
if(!Output->Property(Output, rhdPropertySet, RHD_OUTPUT_HDMI, &val))
xf86DrvMsg(rhdPtr->scrnIndex, X_WARNING, "Failed to %s HDMI on %s\n", val.Bool ? "disable" : "enable", Output->Name);
}
+
+ /* check config option if we should enable audio workaround */
+ if (Output->Property(Output, rhdPropertyCheck, RHD_OUTPUT_AUDIO_WORKAROUND, NULL)) {
+ union rhdPropertyData val;
+ switch(RhdParseBooleanOption(&rhdPtr->audioWorkaround, Connector->Name)) {
+ case RHD_OPTION_NOT_SET:
+ case RHD_OPTION_OFF:
+ val.Bool = FALSE;
+ break;
+ case RHD_OPTION_ON:
+ case RHD_OPTION_DEFAULT:
+ val.Bool = TRUE;
+ break;
+ }
+ if(!Output->Property(Output, rhdPropertySet, RHD_OUTPUT_AUDIO_WORKAROUND, &val))
+ xf86DrvMsg(rhdPtr->scrnIndex, X_WARNING,
+ "Failed to %s audio workaorund on %s\n",
+ val.Bool ? "disable" : "enable", Output->Name);
+ }
+}
+
+/*
+ * Returns the TMDS index of the given output, important for HDMI/Audio setup
+ */
+int
+RHDOutputTmdsIndex(struct rhdOutput *Output)
+{
+ struct rhdOutput *i = RHDPTRI(Output)->Outputs;
+ int index;
+
+ switch(Output->Id) {
+ case RHD_OUTPUT_TMDSA:
+ case RHD_OUTPUT_UNIPHYA:
+ index=0;
+ break;
+
+ case RHD_OUTPUT_LVTMA:
+ /* special case check if an TMDSA is present */
+ index=0;
+ while(i) {
+ if(i->Id==RHD_OUTPUT_TMDSA)
+ index++;
+ i = i->Next;
+ }
+ break;
+
+ case RHD_OUTPUT_UNIPHYB:
+ case RHD_OUTPUT_KLDSKP_LVTMA:
+ index=1;
+ break;
+
+ default:
+ xf86DrvMsg(Output->scrnIndex, X_ERROR, "%s: unsupported output type\n", __func__);
+ index=-1;
+ break;
+ }
+ return index;
}
diff --git a/driver/xf86-video-radeonhd/src/rhd_output.h b/driver/xf86-video-radeonhd/src/rhd_output.h
index 22edfe9d0..4862478f7 100644
--- a/driver/xf86-video-radeonhd/src/rhd_output.h
+++ b/driver/xf86-video-radeonhd/src/rhd_output.h
@@ -59,7 +59,8 @@ typedef enum rhdSensedOutput {
enum rhdOutputProperty {
RHD_OUTPUT_BACKLIGHT,
RHD_OUTPUT_COHERENT,
- RHD_OUTPUT_HDMI
+ RHD_OUTPUT_HDMI,
+ RHD_OUTPUT_AUDIO_WORKAROUND
};
enum rhdOutputAllocation {
@@ -115,6 +116,7 @@ void RHDOutputsRestore(RHDPtr rhdPtr);
void RHDOutputsDestroy(RHDPtr rhdPtr);
void RHDOutputPrintSensedType(struct rhdOutput *Output);
void RHDOutputAttachConnector(struct rhdOutput *Output, struct rhdConnector *Connector);
+int RHDOutputTmdsIndex(struct rhdOutput *Output);
/* output local functions. */
struct rhdOutput *RHDDACAInit(RHDPtr rhdPtr);
@@ -123,6 +125,6 @@ struct rhdOutput *RHDTMDSAInit(RHDPtr rhdPtr);
struct rhdOutput *RHDLVTMAInit(RHDPtr rhdPtr, CARD8 Type);
struct rhdOutput *RHDDIGInit(RHDPtr rhdPtr, enum rhdOutputType outputType, CARD8 ConnectorType);
struct rhdOutput *RHDDDIAInit(RHDPtr rhdPtr);
-struct rhdOutput *RHDAtomOutputInit(RHDPtr rhdPtr, rhdConnectorType ConnectorType, rhdOutputType OutputType);
+struct rhdOutput *RHDAtomOutputInit(RHDPtr rhdPtr, enum rhdConnectorType ConnectorType, enum rhdOutputType OutputType);
#endif /* _RHD_OUTPUT_H */
diff --git a/driver/xf86-video-radeonhd/src/rhd_pll.c b/driver/xf86-video-radeonhd/src/rhd_pll.c
index 45ab03ad5..6200dda0d 100644
--- a/driver/xf86-video-radeonhd/src/rhd_pll.c
+++ b/driver/xf86-video-radeonhd/src/rhd_pll.c
@@ -732,9 +732,15 @@ RV620PLL1Power(struct rhdPLL *PLL, int Power)
RHDRegMask(PLL, P1PLL_CNTL, 0x01, 0x01); /* Reset */
usleep(2);
- RHDRegMask(PLL, P1PLL_CNTL, 0x02, 0x02); /* Power down */
+ /* Sometimes we have to keep unused PLL running, see bug #18016 */
+ if ((RHDRegRead(PLL, RV620_EXT1_DIFF_POST_DIV_CNTL) & RV62_EXT1_DIFF_DRIVER_ENABLE) == 0)
+ RHDRegMask(PLL, P1PLL_CNTL, 0x02, 0x02); /* Power down */
+ else
+ xf86DrvMsg(PLL->scrnIndex, X_WARNING, "PHYA differential clock driver not disabled\n");
usleep(200);
+ RHDRegMask(PLL, P1PLL_CNTL, 0x2000, 0x2000); /* reset anti-glitch */
+
return;
}
}
@@ -781,9 +787,15 @@ RV620PLL2Power(struct rhdPLL *PLL, int Power)
RHDRegMask(PLL, P2PLL_CNTL, 0x01, 0x01); /* Reset */
usleep(2);
- RHDRegMask(PLL, P2PLL_CNTL, 0x02, 0x02); /* Power down */
+ /* Sometimes we have to keep unused PLL running, see bug #18016 */
+ if ((RHDRegRead(PLL, RV620_EXT2_DIFF_POST_DIV_CNTL) & RV62_EXT2_DIFF_DRIVER_ENABLE) == 0)
+ RHDRegMask(PLL, P2PLL_CNTL, 0x02, 0x02); /* Power down */
+ else
+ xf86DrvMsg(PLL->scrnIndex, X_WARNING, "PHYB differential clock driver not disabled\n");
usleep(200);
+ RHDRegMask(PLL, P2PLL_CNTL, 0x2000, 0x2000); /* reset anti-glitch */
+
return;
}
}
@@ -1231,13 +1243,13 @@ RHDSetupLimits(RHDPtr rhdPtr, CARD32 *RefClock,
*PixMax = RHD_PLL_MAX_DEFAULT;
#ifdef ATOM_BIOS
- getPLLValuesFromAtomBIOS(rhdPtr, GET_MIN_PIXEL_CLOCK_PLL_OUTPUT, "minimum PLL output",
+ getPLLValuesFromAtomBIOS(rhdPtr, ATOM_GET_MIN_PIXEL_CLOCK_PLL_OUTPUT, "minimum PLL output",
IntMin, PLL_MIN);
- getPLLValuesFromAtomBIOS(rhdPtr, GET_MAX_PIXEL_CLOCK_PLL_OUTPUT, "maximum PLL output",
+ getPLLValuesFromAtomBIOS(rhdPtr, ATOM_GET_MAX_PIXEL_CLOCK_PLL_OUTPUT, "maximum PLL output",
IntMax, PLL_MAX);
- getPLLValuesFromAtomBIOS(rhdPtr, GET_MAX_PIXEL_CLK, "Pixel Clock",
+ getPLLValuesFromAtomBIOS(rhdPtr, ATOM_GET_MAX_PIXEL_CLK, "Pixel Clock",
PixMax, PLL_MAX);
- getPLLValuesFromAtomBIOS(rhdPtr, GET_REF_CLOCK, "reference clock",
+ getPLLValuesFromAtomBIOS(rhdPtr, ATOM_GET_REF_CLOCK, "reference clock",
RefClock, PLL_NONE);
if (*IntMax == 0) {
if (rhdPtr->ChipSet < RHD_RV620)
diff --git a/driver/xf86-video-radeonhd/src/rhd_pm.c b/driver/xf86-video-radeonhd/src/rhd_pm.c
new file mode 100644
index 000000000..26433aa87
--- /dev/null
+++ b/driver/xf86-video-radeonhd/src/rhd_pm.c
@@ -0,0 +1,475 @@
+/*
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation on the rights to use, copy, modify, merge,
+ * publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial
+ * portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON-INFRINGEMENT. IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR
+ * THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+/*
+ * Authors:
+ * Yang Zhao <yang@yangman.ca>
+ * Matthias Hopf <mhopf@suse.de>
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "xf86.h"
+
+#include "rhd.h"
+#include "rhd_pm.h"
+
+#include "rhd_atombios.h"
+
+#ifdef ATOM_BIOS
+
+#define COMPARE_MIN_ENGINE_CLOCK 100000
+#define SAVE_MIN_ENGINE_CLOCK 200000
+#define COMPARE_MAX_ENGINE_CLOCK 3000000
+#define COMPARE_MIN_MEMORY_CLOCK 100000
+#define SAVE_MIN_MEMORY_CLOCK 200000
+#define COMPARE_MAX_MEMORY_CLOCK 3000000
+#define COMPARE_MIN_VOLTAGE 500
+#define COMPARE_MAX_VOLTAGE 2000
+
+static char *PmLevels[] = {
+ "Off", "Idle", "Slow2D", "Fast2D", "Slow3D", "Fast3D", "Max3D", "User"
+} ;
+
+
+static void
+rhdPmPrint (struct rhdPm *Pm, char *name, struct rhdPowerState *state)
+{
+ xf86DrvMsg(Pm->scrnIndex, X_INFO, " %-8s %8d kHz / %8d kHz / %6.3f V\n",
+ name, (int) state->EngineClock, (int) state->MemoryClock,
+ state->VDDCVoltage / 1000.0);
+}
+
+/* Certain clocks require certain voltage settings */
+/* TODO: So far we only know few safe points. Interpolate? */
+static void rhdPmValidateSetting (struct rhdPm *Pm, struct rhdPowerState *setting, int forceVoltage)
+{
+ /* CARD32 compare = setting->VDDCVoltage ? setting->VDDCVoltage : Pm->Current.VDDCVoltage; */
+ if (! setting->EngineClock)
+ setting->EngineClock = Pm->Current.EngineClock;
+ if (setting->EngineClock < Pm->Minimum.EngineClock)
+ setting->EngineClock = Pm->Minimum.EngineClock;
+ if (setting->EngineClock < COMPARE_MIN_ENGINE_CLOCK)
+ setting->EngineClock = SAVE_MIN_ENGINE_CLOCK;
+ if (setting->EngineClock > Pm->Maximum.EngineClock && Pm->Maximum.EngineClock)
+ setting->EngineClock = Pm->Maximum.EngineClock;
+ if (setting->EngineClock > COMPARE_MAX_ENGINE_CLOCK)
+ setting->EngineClock = Pm->Default.EngineClock;
+ if (setting->EngineClock > COMPARE_MAX_ENGINE_CLOCK)
+ setting->EngineClock = 0;
+ if (! setting->MemoryClock)
+ setting->MemoryClock = Pm->Current.MemoryClock;
+ if (setting->MemoryClock < Pm->Minimum.MemoryClock)
+ setting->MemoryClock = Pm->Minimum.MemoryClock;
+ if (setting->MemoryClock < COMPARE_MIN_MEMORY_CLOCK)
+ setting->MemoryClock = SAVE_MIN_MEMORY_CLOCK;
+ if (setting->MemoryClock > Pm->Maximum.MemoryClock && Pm->Maximum.MemoryClock)
+ setting->MemoryClock = Pm->Maximum.MemoryClock;
+ if (setting->MemoryClock > COMPARE_MAX_MEMORY_CLOCK)
+ setting->MemoryClock = Pm->Default.MemoryClock;
+ if (setting->MemoryClock > COMPARE_MAX_MEMORY_CLOCK)
+ setting->MemoryClock = 0;
+ if (! setting->VDDCVoltage)
+ setting->VDDCVoltage = Pm->Current.VDDCVoltage;
+ if (setting->VDDCVoltage < Pm->Minimum.VDDCVoltage)
+ setting->VDDCVoltage = Pm->Minimum.VDDCVoltage;
+ if (setting->VDDCVoltage < COMPARE_MIN_VOLTAGE)
+ setting->VDDCVoltage = Pm->Current.VDDCVoltage;
+ if (setting->VDDCVoltage < COMPARE_MIN_VOLTAGE)
+ setting->VDDCVoltage = 0;
+ if (setting->VDDCVoltage > Pm->Maximum.VDDCVoltage && Pm->Maximum.VDDCVoltage)
+ setting->VDDCVoltage = Pm->Maximum.VDDCVoltage;
+ if (setting->VDDCVoltage > COMPARE_MAX_VOLTAGE)
+ setting->VDDCVoltage = Pm->Default.VDDCVoltage;
+ if (setting->VDDCVoltage > COMPARE_MAX_VOLTAGE)
+ setting->VDDCVoltage = 0;
+ /* TODO: voltage adaption logic missing */
+ /* Only set to lower Voltages than compare if 0 */
+}
+
+static void rhdPmValidateMinMax (struct rhdPm *Pm)
+{
+ if (Pm->Maximum.EngineClock < Pm->Default.EngineClock)
+ Pm->Maximum.EngineClock = Pm->Default.EngineClock;
+ if (Pm->Maximum.MemoryClock < Pm->Default.MemoryClock)
+ Pm->Maximum.MemoryClock = Pm->Default.MemoryClock;
+ if (Pm->Maximum.VDDCVoltage < Pm->Default.VDDCVoltage)
+ Pm->Maximum.VDDCVoltage = Pm->Default.VDDCVoltage;
+ if (Pm->Maximum.EngineClock < Pm->Current.EngineClock)
+ Pm->Maximum.EngineClock = Pm->Current.EngineClock;
+ if (Pm->Maximum.MemoryClock < Pm->Current.MemoryClock)
+ Pm->Maximum.MemoryClock = Pm->Current.MemoryClock;
+ if (Pm->Maximum.VDDCVoltage < Pm->Current.VDDCVoltage)
+ Pm->Maximum.VDDCVoltage = Pm->Current.VDDCVoltage;
+ if((Pm->Minimum.EngineClock > Pm->Default.EngineClock && Pm->Default.EngineClock) || ! Pm->Minimum.EngineClock)
+ Pm->Minimum.EngineClock = Pm->Default.EngineClock;
+ if((Pm->Minimum.MemoryClock > Pm->Default.MemoryClock && Pm->Default.MemoryClock) || ! Pm->Minimum.MemoryClock)
+ Pm->Minimum.MemoryClock = Pm->Default.MemoryClock;
+ if((Pm->Minimum.VDDCVoltage > Pm->Default.VDDCVoltage && Pm->Default.VDDCVoltage) || ! Pm->Minimum.VDDCVoltage)
+ Pm->Minimum.VDDCVoltage = Pm->Default.VDDCVoltage;
+ if((Pm->Minimum.EngineClock > Pm->Current.EngineClock && Pm->Current.EngineClock) || ! Pm->Minimum.EngineClock)
+ Pm->Minimum.EngineClock = Pm->Current.EngineClock;
+ if((Pm->Minimum.MemoryClock > Pm->Current.MemoryClock && Pm->Current.MemoryClock) || ! Pm->Minimum.MemoryClock)
+ Pm->Minimum.MemoryClock = Pm->Current.MemoryClock;
+ if((Pm->Minimum.VDDCVoltage > Pm->Current.VDDCVoltage && Pm->Current.VDDCVoltage) || ! Pm->Minimum.VDDCVoltage)
+ Pm->Minimum.VDDCVoltage = Pm->Current.VDDCVoltage;
+ rhdPmValidateSetting (Pm, &Pm->Maximum, 1);
+ rhdPmValidateSetting (Pm, &Pm->Minimum, 1);
+ rhdPmValidateSetting (Pm, &Pm->Default, 1);
+
+ if (Pm->NumKnown) {
+ int i;
+ for (i = 0; i < Pm->NumKnown; i++) {
+ if (Pm->Maximum.EngineClock < Pm->Known[i].EngineClock)
+ Pm->Maximum.EngineClock = Pm->Known[i].EngineClock;
+ if (Pm->Maximum.MemoryClock < Pm->Known[i].MemoryClock)
+ Pm->Maximum.MemoryClock = Pm->Known[i].MemoryClock;
+ if (Pm->Maximum.VDDCVoltage < Pm->Known[i].VDDCVoltage)
+ Pm->Maximum.VDDCVoltage = Pm->Known[i].VDDCVoltage;
+ if (Pm->Minimum.EngineClock > Pm->Known[i].EngineClock && Pm->Known[i].EngineClock)
+ Pm->Minimum.EngineClock = Pm->Known[i].EngineClock;
+ if (Pm->Minimum.MemoryClock > Pm->Known[i].MemoryClock && Pm->Known[i].MemoryClock)
+ Pm->Minimum.MemoryClock = Pm->Known[i].MemoryClock;
+ if (Pm->Minimum.VDDCVoltage > Pm->Known[i].VDDCVoltage && Pm->Known[i].VDDCVoltage)
+ Pm->Minimum.VDDCVoltage = Pm->Known[i].VDDCVoltage;
+ }
+ }
+
+ if (Pm->Minimum.VDDCVoltage == Pm->Maximum.VDDCVoltage)
+ Pm->Minimum.VDDCVoltage = Pm->Maximum.VDDCVoltage = Pm->Default.VDDCVoltage = 0;
+}
+
+/* Some AtomBIOSes provide broken current clocks (esp. memory) */
+static void rhdPmValidateClearSetting (struct rhdPm *Pm, struct rhdPowerState *setting)
+{
+ if (setting->EngineClock < COMPARE_MIN_ENGINE_CLOCK)
+ setting->EngineClock = 0;
+ if (setting->EngineClock > COMPARE_MAX_ENGINE_CLOCK)
+ setting->EngineClock = 0;
+ if (setting->MemoryClock < COMPARE_MIN_MEMORY_CLOCK)
+ setting->MemoryClock = 0;
+ if (setting->MemoryClock > COMPARE_MAX_MEMORY_CLOCK)
+ setting->MemoryClock = 0;
+ if (setting->VDDCVoltage < COMPARE_MIN_VOLTAGE)
+ setting->VDDCVoltage = 0;
+ if (setting->VDDCVoltage > COMPARE_MAX_VOLTAGE)
+ setting->VDDCVoltage = 0;
+}
+
+/* Have: a list of possible power settings, eventual minimum and maximum settings.
+ * Want: all rhdPowerState_e settings */
+static void rhdPmSelectSettings (RHDPtr rhdPtr)
+{
+ int i;
+ struct rhdPm *Pm = rhdPtr->Pm;
+
+ /* Initialize with default; STORED state is special */
+ for (i = 0; i < RHD_PM_NUM_STATES; i++)
+ memcpy (&Pm->States[i], &Pm->Default, sizeof(struct rhdPowerState));
+
+ /* TODO: This still needs a lot of work */
+
+ /* RHD_PM_OFF: minimum */
+ memcpy (&Pm->States[RHD_PM_OFF], &Pm->Minimum, sizeof (struct rhdPowerState));
+
+ if (rhdPtr->lowPowerMode.val.bool) {
+ /* TODO: copy lowest config with default Voltage/Mem setting? */
+ if (!rhdPtr->lowPowerModeEngineClock.val.integer) {
+ Pm->States[RHD_PM_IDLE].EngineClock = Pm->States[RHD_PM_OFF].EngineClock;
+ xf86DrvMsg(rhdPtr->scrnIndex, X_INFO,
+ "ForceLowPowerMode: calculated engine clock at %dkHz\n",
+ (int) Pm->States[RHD_PM_IDLE].EngineClock);
+ } else {
+ /* TODO: this should actually set the user mode */
+ Pm->States[RHD_PM_IDLE].EngineClock = rhdPtr->lowPowerModeEngineClock.val.integer;
+ xf86DrvMsg(rhdPtr->scrnIndex, X_INFO,
+ "ForceLowPowerMode: set idle engine clock to %dkHz\n",
+ (int) Pm->States[RHD_PM_IDLE].EngineClock);
+ }
+
+ if (!rhdPtr->lowPowerModeMemoryClock.val.integer) {
+ Pm->States[RHD_PM_IDLE].MemoryClock = Pm->States[RHD_PM_OFF].MemoryClock;
+ xf86DrvMsg(rhdPtr->scrnIndex, X_INFO,
+ "ForceLowPowerMode: calculated memory clock at %dkHz\n",
+ (int) Pm->States[RHD_PM_IDLE].MemoryClock);
+ } else {
+ Pm->States[RHD_PM_IDLE].MemoryClock = rhdPtr->lowPowerModeMemoryClock.val.integer;
+ xf86DrvMsg(rhdPtr->scrnIndex, X_INFO,
+ "ForceLowPowerMode: set idle memory clock to %dkHz\n",
+ (int) Pm->States[RHD_PM_IDLE].MemoryClock);
+ }
+
+ rhdPmValidateSetting (Pm, &Pm->States[RHD_PM_IDLE], 1);
+
+ if (rhdPtr->lowPowerModeEngineClock.val.integer < 0) {
+ Pm->States[RHD_PM_IDLE].EngineClock = - rhdPtr->lowPowerModeEngineClock.val.integer;
+ xf86DrvMsg(rhdPtr->scrnIndex, X_WARNING,
+ "ForceLowPowerMode: user requested to ignore validation for engine clock\n");
+ }
+ if (rhdPtr->lowPowerModeMemoryClock.val.integer < 0) {
+ Pm->States[RHD_PM_IDLE].MemoryClock = - rhdPtr->lowPowerModeMemoryClock.val.integer;
+ xf86DrvMsg(rhdPtr->scrnIndex, X_WARNING,
+ "ForceLowPowerMode: user requested to ignore validation for memory clock\n");
+ }
+ }
+
+ memcpy (&Pm->States[RHD_PM_MAX_3D], &Pm->Maximum, sizeof (struct rhdPowerState));
+
+ xf86DrvMsg (rhdPtr->scrnIndex, X_INFO,
+ "Power Management: Final Levels\n");
+ ASSERT (sizeof(PmLevels) / sizeof(char *) == RHD_PM_NUM_STATES);
+ for (i = 0; i < RHD_PM_NUM_STATES; i++)
+ rhdPmPrint (Pm, PmLevels[i], &Pm->States[i]);
+}
+
+static void
+rhdPmGetRawState (RHDPtr rhdPtr, struct rhdPowerState *state)
+{
+ union AtomBiosArg data;
+
+ if (RHDAtomBiosFunc (rhdPtr->scrnIndex, rhdPtr->atomBIOS,
+ ATOM_GET_ENGINE_CLOCK, &data) == ATOM_SUCCESS)
+ state->EngineClock = data.clockValue;
+ if (RHDAtomBiosFunc (rhdPtr->scrnIndex, rhdPtr->atomBIOS,
+ ATOM_GET_MEMORY_CLOCK, &data) == ATOM_SUCCESS)
+ state->MemoryClock = data.clockValue;
+ if (RHDAtomBiosFunc (rhdPtr->scrnIndex, rhdPtr->atomBIOS,
+ ATOM_GET_VOLTAGE, &data) == ATOM_SUCCESS)
+ state->VDDCVoltage = data.val;
+}
+
+static Bool
+rhdPmSetRawState (RHDPtr rhdPtr, struct rhdPowerState *state)
+{
+ union AtomBiosArg data;
+ Bool ret = TRUE;
+ struct rhdPowerState dummy;
+
+ /* TODO: Idle first; find which idles are needed and expose them */
+ /* FIXME: Voltage */
+ /* FIXME: If Voltage is to be rised, then do that first, then change frequencies.
+ * If Voltage is to be lowered, do it the other way round. */
+ if (state->EngineClock && state->EngineClock != rhdPtr->Pm->Current.EngineClock) {
+ data.clockValue = state->EngineClock;
+ if (RHDAtomBiosFunc (rhdPtr->scrnIndex, rhdPtr->atomBIOS,
+ ATOM_SET_ENGINE_CLOCK, &data) == ATOM_SUCCESS)
+ rhdPtr->Pm->Current.EngineClock = state->EngineClock;
+ else
+ ret = FALSE;
+ }
+#if 0 /* don't do for the moment */
+ if (state->MemoryClock && state->MemoryClock != rhdPtr->Pm->Current.MemoryClock) {
+ data.clockValue = state->MemoryClock;
+ if (RHDAtomBiosFunc (rhdPtr->scrnIndex, rhdPtr->atomBIOS,
+ ATOM_SET_MEMORY_CLOCK, &data) != ATOM_SUCCESS)
+ rhdPtr->Pm->Current.MemoryClock = state->MemoryClock;
+ else
+ ret = FALSE;
+ }
+#endif
+#if 0 /* don't do for the moment */
+ if (state->VDDCVoltage && state->VDDCVoltage != rhdPtr->Pm->Current.VDDCVoltage) {
+ data.val = state->VDDCVoltage;
+ if (RHDAtomBiosFunc (rhdPtr->scrnIndex, rhdPtr->atomBIOS,
+ ATOM_SET_VOLTAGE, &data) != ATOM_SUCCESS)
+ rhdPtr->Pm->Current.VDDCVoltage = state->VDDCVoltage;
+ else
+ ret = FALSE;
+ }
+#endif
+
+ /* AtomBIOS might change values, so that later comparisons would fail, even
+ * if re-setting wouldn't change the actual values. So don't save real
+ * state in Current, but update only to current values. */
+ rhdPmGetRawState (rhdPtr, &dummy);
+ return ret;
+}
+
+
+/*
+ * API
+ */
+
+static Bool
+rhdPmSelectState (RHDPtr rhdPtr, enum rhdPowerState_e num)
+{
+ return rhdPmSetRawState (rhdPtr, &rhdPtr->Pm->States[num]);
+}
+
+static Bool
+rhdPmDefineState (RHDPtr rhdPtr, enum rhdPowerState_e num, struct rhdPowerState *state)
+{
+ ASSERT(0);
+}
+
+void RHDPmInit(RHDPtr rhdPtr)
+{
+ struct rhdPm *Pm = (struct rhdPm *) xnfcalloc(sizeof(struct rhdPm), 1);
+ union AtomBiosArg data;
+ RHDFUNC(rhdPtr);
+
+ rhdPtr->Pm = Pm;
+
+ Pm->scrnIndex = rhdPtr->scrnIndex;
+ Pm->SelectState = rhdPmSelectState;
+ Pm->DefineState = rhdPmDefineState;
+
+ if (RHDAtomBiosFunc (rhdPtr->scrnIndex, rhdPtr->atomBIOS,
+ ATOM_GET_CHIP_LIMITS, &data) != ATOM_SUCCESS) {
+ /* Not getting the information is fatal */
+ xfree (Pm);
+ rhdPtr->Pm = NULL;
+ return;
+ }
+ memcpy (&Pm->Minimum, &data.chipLimits.Minimum, sizeof (struct rhdPowerState));
+ memcpy (&Pm->Maximum, &data.chipLimits.Maximum, sizeof (struct rhdPowerState));
+ memcpy (&Pm->Default, &data.chipLimits.Default, sizeof (struct rhdPowerState));
+
+ memcpy (&Pm->Current, &Pm->Default, sizeof (Pm->Default));
+ rhdPmGetRawState (rhdPtr, &Pm->Current);
+ rhdPmValidateClearSetting (Pm, &Pm->Current);
+
+ xf86DrvMsg (rhdPtr->scrnIndex, X_INFO,
+ "Power Management: used engine clock / memory clock / core (VDDC) voltage (0: ignore)\n");
+ xf86DrvMsg (rhdPtr->scrnIndex, X_INFO, "Power Management: Raw Ranges\n");
+ rhdPmPrint (Pm, "Minimum", &Pm->Minimum);
+ rhdPmPrint (Pm, "Maximum", &Pm->Maximum);
+ rhdPmPrint (Pm, "Default", &Pm->Default);
+
+ if (RHDAtomBiosFunc (rhdPtr->scrnIndex, rhdPtr->atomBIOS,
+ ATOM_GET_CHIP_CONFIGS, &data) == ATOM_SUCCESS) {
+ Pm->NumKnown = data.chipConfigs.num;
+ Pm->Known = data.chipConfigs.Settings;
+ } else
+ xf86DrvMsg (rhdPtr->scrnIndex, X_ERROR,
+ "Power Management: Cannot get known good chip configurations\n");
+
+ /* Validate */
+ if (! Pm->Default.EngineClock || ! Pm->Default.MemoryClock)
+ memcpy (&Pm->Default, &Pm->Current, sizeof (Pm->Current));
+ rhdPmValidateMinMax (Pm);
+ rhdPmValidateSetting (Pm, &Pm->Current, 0);
+
+ xf86DrvMsg (rhdPtr->scrnIndex, X_INFO, "Power Management: Validated Ranges\n");
+ rhdPmPrint (Pm, "Minimum", &Pm->Minimum);
+ rhdPmPrint (Pm, "Maximum", &Pm->Maximum);
+ rhdPmPrint (Pm, "Default", &Pm->Default);
+
+ if (Pm->NumKnown) {
+ int i;
+ xf86DrvMsg (rhdPtr->scrnIndex, X_INFO,
+ "Power Management: Known Good Configurations\n");
+ for (i = 0; i < Pm->NumKnown; i++) {
+ char buf[4]; /* number of known entries is 8bit */
+ snprintf (buf, 4, "%d", i+1);
+ rhdPmPrint (Pm, buf, &Pm->Known[i]);
+ }
+ }
+
+ rhdPmSelectSettings (rhdPtr);
+ /* TODO: cleanup function: xfree(): Pm->Known[], Pm */
+}
+
+#else /* ATOM_BIOS */
+
+void
+RHDPmInit (RHDPtr rhdPtr)
+{
+ rhdPtr->Pm = NULL;
+}
+
+#endif /* ATOM_BIOS */
+
+
+/*
+ * save current engine clock
+ */
+void
+RHDPmSave (RHDPtr rhdPtr)
+{
+ struct rhdPm *Pm = rhdPtr->Pm;
+ RHDFUNC(rhdPtr);
+
+#ifdef ATOM_BIOS
+ /* ATM unconditionally enable power management features
+ * if low power mode requested */
+ if (rhdPtr->atomBIOS) {
+ union AtomBiosArg data;
+
+ data.val = 1;
+ RHDAtomBiosFunc (rhdPtr->scrnIndex, rhdPtr->atomBIOS,
+ ATOM_PM_SETUP, &data);
+ if (rhdPtr->ChipSet < RHD_R600) {
+ data.val = 1;
+ RHDAtomBiosFunc (rhdPtr->scrnIndex, rhdPtr->atomBIOS,
+ ATOM_PM_CLOCKGATING_SETUP, &data);
+ }
+ }
+#endif
+
+ if (!Pm) return;
+
+ memcpy (&Pm->Stored, &Pm->Default, sizeof (Pm->Default));
+ rhdPmGetRawState (rhdPtr, &Pm->Stored);
+ rhdPmValidateClearSetting (Pm, &Pm->Stored);
+}
+
+/*
+ * restore saved engine clock
+ */
+void
+RHDPmRestore (RHDPtr rhdPtr)
+{
+ struct rhdPm *Pm = rhdPtr->Pm;
+
+ RHDFUNC(rhdPtr);
+
+#ifdef ATOM_BIOS
+ /* Don't know how to save state yet - unconditionally disable */
+ if (rhdPtr->atomBIOS) {
+ union AtomBiosArg data;
+
+ data.val = 0;
+ RHDAtomBiosFunc (rhdPtr->scrnIndex, rhdPtr->atomBIOS,
+ ATOM_PM_SETUP, &data);
+ if (rhdPtr->ChipSet < RHD_R600) {
+ data.val = 0;
+ RHDAtomBiosFunc (rhdPtr->scrnIndex, rhdPtr->atomBIOS,
+ ATOM_PM_CLOCKGATING_SETUP, &data);
+ }
+ }
+#endif
+
+ if (!Pm)
+ return;
+
+ if (! Pm->Stored.EngineClock && ! Pm->Stored.MemoryClock) {
+ xf86DrvMsg (Pm->scrnIndex, X_ERROR, "%s: trying to restore "
+ "uninitialized values.\n", __func__);
+ return;
+ }
+ rhdPmSetRawState (rhdPtr, &Pm->Stored);
+}
+
diff --git a/driver/xf86-video-radeonhd/src/rhd_pm.h b/driver/xf86-video-radeonhd/src/rhd_pm.h
new file mode 100644
index 000000000..9f7744cb2
--- /dev/null
+++ b/driver/xf86-video-radeonhd/src/rhd_pm.h
@@ -0,0 +1,78 @@
+/*
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation on the rights to use, copy, modify, merge,
+ * publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial
+ * portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON-INFRINGEMENT. IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR
+ * THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef _RHD_PM_H
+# define _RHD_PM_H
+
+/* Note about settings: RHD_PM_OFF may always change the memory clock, while
+ * for the others it remains to be seen whether we can change it without video
+ * disturbance. */
+/* TODO: forced settings overwrite default settings (Q: in which cases? RHD_PM_OFF?) */
+enum rhdPowerState_e {
+ /* DPMS off (Q: what about screensavers, what about 3D offscreen rendering apps) */
+ RHD_PM_OFF,
+ /* DPMS on, no activity for some time */
+ RHD_PM_IDLE,
+ /* Simple 2D activity */
+ RHD_PM_SLOW_2D,
+ /* Advanced 2D activity, e.g. video playback */
+ RHD_PM_FAST_2D,
+ /* Simple 3D activity, e.g. compiz (Q: how to select? indirect rendering only? */
+ RHD_PM_SLOW_3D,
+ /* Fast 3D activity, e.g. games. Usually using default AtomBIOS setting. */
+ RHD_PM_FAST_3D,
+ /* Use theoretical chip maximum, maybe beyond default - not selected automatically */
+ RHD_PM_MAX_3D,
+ /* User supplied */
+ RHD_PM_USER,
+ RHD_PM_NUM_STATES
+};
+
+struct rhdPm {
+ int scrnIndex;
+
+ /* R/O */
+ struct rhdPowerState Default;
+ struct rhdPowerState Minimum;
+ struct rhdPowerState Maximum;
+ /* Known good settings (in addition to Default). May be NULL */
+ int NumKnown;
+ struct rhdPowerState *Known;
+
+ struct rhdPowerState States[RHD_PM_NUM_STATES];
+ struct rhdPowerState Current;
+ struct rhdPowerState Stored;
+
+ Bool (*DefineState) (RHDPtr rhdPtr, enum rhdPowerState_e num, struct rhdPowerState *state);
+ Bool (*SelectState) (RHDPtr rhdPtr, enum rhdPowerState_e num);
+#if 0 /* TODO: expose? */
+ Bool (*SetRawState) (RHDPtr rhdPtr, struct rhdPowerState *state);
+ void (*GetRawState) (RHDPtr rhdPtr, struct rhdPowerState *state);
+#endif
+};
+
+void RHDPmInit(RHDPtr rhdPtr);
+void RHDPmSave(RHDPtr rhdPtr);
+void RHDPmRestore(RHDPtr rhdPtr);
+
+#endif /* _RHD_PM_H */
diff --git a/driver/xf86-video-radeonhd/src/rhd_randr.c b/driver/xf86-video-radeonhd/src/rhd_randr.c
index 8794f1c6c..956119b81 100644
--- a/driver/xf86-video-radeonhd/src/rhd_randr.c
+++ b/driver/xf86-video-radeonhd/src/rhd_randr.c
@@ -33,6 +33,10 @@
# include "config.h"
#endif
+/* The _AtomBIOS property is experimental for now - only enable if needed.
+ * Beware - there be dragons and crashes */
+#define ENABLE_PROPERTY_ATOMBIOS 0
+
/* Xserver interface */
#include "xf86.h"
@@ -44,8 +48,13 @@
# include "xf86RandR12.h"
# include "xaa.h"
# include "exa.h"
+#ifdef HAVE_XEXTPROTO_71
+# include "X11/extensions/dpmsconst.h"
+#else
# define DPMS_SERVER
# include "X11/extensions/dpms.h"
+#endif
+
# include "X11/Xatom.h"
#endif /* RANDR_12_SUPPORT */
@@ -111,20 +120,25 @@ struct rhdRandrCrtc {
} u;
};
+#define ATOM_EDID "EDID"
+#define ATOM_EDID2 "EDID_DATA"
#define ATOM_SIGNAL_FORMAT "SignalFormat"
#define ATOM_CONNECTOR_TYPE "ConnectorType"
#define ATOM_CONNECTOR_NUMBER "ConnectorNumber"
#define ATOM_OUTPUT_NUMBER "_OutputNumber"
#define ATOM_PANNING_AREA "_PanningArea"
-#define ATOM_BACKLIGHT "_Backlight"
+#define ATOM_BACKLIGHT "Backlight"
#define ATOM_COHERENT "_Coherent"
#define ATOM_HDMI "_HDMI"
+#define ATOM_AUDIO_WORKAROUND "_AudioStreamSilence"
+#define ATOM_ATOMBIOS "_AtomBIOS"
static Atom atom_SignalFormat, atom_ConnectorType, atom_ConnectorNumber,
atom_OutputNumber, atom_PanningArea, atom_Backlight, atom_Coherent,
- atom_HdmiProperty;
+ atom_HdmiProperty, atom_AudioWorkaround;
static Atom atom_unknown, atom_VGA, atom_TMDS, atom_LVDS, atom_DisplayPort, atom_TV;
static Atom atom_DVI, atom_DVII, atom_DVID, atom_DVIA, atom_HDMI, atom_Panel;
+static Atom atom_EDID, atom_EDID2, atom_AtomBIOS;
/* Get RandR property values */
@@ -473,34 +487,23 @@ rhdRRCrtcCommit(xf86CrtcPtr crtc)
RHDDebugRandrState(rhdPtr, rhdCrtc->Name);
}
-/*
- * They just had to do NIH again here: Old X functionality provides a size, a
- * list of indices, and a table of RGB unsigned shorts. RandR provides what
- * is below. Apart from horribly breaking any attempt at being backwards
- * compatible, this also pretty much rules out the usage of indexed colours, as
- * each time even a single colour is changed an entirely new table has to be
- * uploaded. Just cute. -- libv.
- */
static void
rhdRRCrtcGammaSet(xf86CrtcPtr crtc, CARD16 *red, CARD16 *green, CARD16 *blue,
int size)
{
struct rhdCrtc *rhdCrtc = ((struct rhdRandrCrtc *)(crtc->driver_private))->rhdCrtc;
- int indices[0x100]; /* would RandR use a size larger than 256? */
- LOCO colors[0x100];
- int i;
-
RHDDebug(rhdCrtc->scrnIndex, "%s: %s.\n", __func__, rhdCrtc->Name);
- /* thanks so very much */
- for (i = 0; i < size; i++) {
- indices[i] = i;
- colors[i].red = red[i] >> 6;
- colors[i].green = green[i] >> 6;
- colors[i].blue = blue[i] >> 6;
+ if (size < 256) {
+ xf86DrvMsg(rhdCrtc->scrnIndex, X_ERROR,
+ "LUT: only %d rows of LUT given, when 256 expected; aborting", size);
+ return;
+ } else if (size > 256) {
+ xf86DrvMsg(rhdCrtc->scrnIndex, X_WARNING,
+ "LUT: %d rows of LUT given, when 256 expected; some rows are ignored", size);
}
- rhdCrtc->LUT->Set(rhdCrtc->LUT, size, indices, colors);
+ rhdCrtc->LUT->Set(rhdCrtc->LUT, red, green, blue);
}
/* Dummy, because not tested for NULL */
@@ -538,10 +541,17 @@ rhdRROutputCreateResources(xf86OutputPtr out)
CARD32 num;
int err;
INT32 range[2];
+ static xf86OutputPtr first_output = NULL;
RHDFUNC(rhdPtr);
+ if (! first_output)
+ first_output = out;
/* Create atoms for RandR 1.3 properties */
+ atom_EDID = MakeAtom(ATOM_EDID,
+ sizeof(ATOM_EDID)-1, TRUE);
+ atom_EDID2 = MakeAtom(ATOM_EDID2,
+ sizeof(ATOM_EDID2)-1, TRUE);
atom_SignalFormat = MakeAtom(ATOM_SIGNAL_FORMAT,
sizeof(ATOM_SIGNAL_FORMAT)-1, TRUE);
atom_ConnectorType = MakeAtom(ATOM_CONNECTOR_TYPE,
@@ -552,6 +562,8 @@ rhdRROutputCreateResources(xf86OutputPtr out)
sizeof(ATOM_OUTPUT_NUMBER)-1, TRUE);
atom_PanningArea = MakeAtom(ATOM_PANNING_AREA,
sizeof(ATOM_PANNING_AREA)-1, TRUE);
+ atom_AtomBIOS = MakeAtom(ATOM_ATOMBIOS,
+ sizeof(ATOM_ATOMBIOS)-1, TRUE);
/* Create atoms for RandR 1.3 property values */
atom_unknown = MakeAtom("unknown", 7, TRUE);
@@ -610,13 +622,29 @@ rhdRROutputCreateResources(xf86OutputPtr out)
XA_STRING, 8, PropModeReplace,
0, NULL, FALSE, FALSE);
+#if ENABLE_PROPERTY_ATOMBIOS
+ /* AtomBIOS usage */
+ /* We don't have per-CRTC or even per-GPU properties;
+ * so fake this by only applying to first output */
+ if (out == first_output) {
+ char *string;
+ RRConfigureOutputProperty(out->randr_output, atom_AtomBIOS,
+ FALSE, FALSE, FALSE, 0, NULL);
+ string = rhdReturnAtomBIOSUsage(rhdPtr);
+ RRChangeOutputProperty(out->randr_output, atom_AtomBIOS,
+ XA_STRING, 8, PropModeReplace,
+ strlen(string), string, FALSE, FALSE);
+ free (string);
+ }
+#endif
+
if (rout->Output->Property) {
if (rout->Output->Property(rout->Output, rhdPropertyCheck, RHD_OUTPUT_BACKLIGHT, NULL)) {
atom_Backlight = MakeAtom(ATOM_BACKLIGHT,
sizeof(ATOM_BACKLIGHT)-1, TRUE);
range[0] = 0;
- range[1] = 255;
+ range[1] = RHD_BACKLIGHT_PROPERTY_MAX;
err = RRConfigureOutputProperty(out->randr_output, atom_Backlight,
FALSE, TRUE, FALSE, 2, range);
if (err != 0)
@@ -626,7 +654,7 @@ rhdRROutputCreateResources(xf86OutputPtr out)
union rhdPropertyData val;
if (!rout->Output->Property(rout->Output, rhdPropertyGet, RHD_OUTPUT_BACKLIGHT, &val))
- val.integer = 255;
+ val.integer = RHD_BACKLIGHT_PROPERTY_MAX; /* max */
err = RRChangeOutputProperty(out->randr_output, atom_Backlight,
XA_INTEGER, 32, PropModeReplace,
@@ -686,6 +714,30 @@ rhdRROutputCreateResources(xf86OutputPtr out)
__func__, err);
}
}
+ if (rout->Output->Property(rout->Output, rhdPropertyCheck, RHD_OUTPUT_AUDIO_WORKAROUND, NULL)) {
+ atom_AudioWorkaround = MakeAtom(ATOM_AUDIO_WORKAROUND, sizeof(ATOM_AUDIO_WORKAROUND)-1, TRUE);
+
+ range[0] = 0;
+ range[1] = 1;
+ err = RRConfigureOutputProperty(out->randr_output, atom_AudioWorkaround,
+ FALSE, TRUE, FALSE, 2, range);
+ if (err != 0)
+ xf86DrvMsg(rhdPtr->scrnIndex, X_ERROR,
+ "RRConfigureOutputProperty error: %d\n", err);
+ else {
+ union rhdPropertyData val;
+
+ if (!rout->Output->Property(rout->Output, rhdPropertyGet, RHD_OUTPUT_AUDIO_WORKAROUND, &val))
+ val.Bool = 1;
+ err = RRChangeOutputProperty(out->randr_output, atom_AudioWorkaround,
+ XA_INTEGER, 32, PropModeReplace,
+ 1, &val.Bool, FALSE, FALSE);
+ if (err != 0)
+ xf86DrvMsg(rhdPtr->scrnIndex, X_ERROR,
+ "In %s RRChangeOutputProperty error: %d\n",
+ __func__, err);
+ }
+ }
}
}
@@ -1292,9 +1344,16 @@ rhdRROutputSetProperty(xf86OutputPtr out, Atom property,
{
RHDPtr rhdPtr = RHDPTR(out->scrn);
rhdRandrOutputPtr rout = (rhdRandrOutputPtr) out->driver_private;
+ char buf[256];
RHDFUNC(rhdPtr);
+ /* Unfortunately, strings are not necessarily 0 terminated */
+ if (value->type == XA_STRING && value->format == 8) {
+ int len = value->size < 255 ? value->size : 255;
+ memcpy (buf, value->data, len);
+ buf[len] = 0;
+ }
if (property == atom_PanningArea) {
int w = 0, h = 0, x = 0, y = 0;
struct rhdCrtc *Crtc = rout->Output->Crtc;
@@ -1314,7 +1373,7 @@ rhdRROutputSetProperty(xf86OutputPtr out, Atom property,
}
if (value->type != XA_STRING || value->format != 8)
return FALSE;
- switch (sscanf(value->data, "%dx%d+%d+%d", &w, &h, &x, &y)) {
+ switch (sscanf(buf, "%dx%d+%d+%d", &w, &h, &x, &y)) {
case 0:
case 2:
case 4:
@@ -1374,6 +1433,35 @@ rhdRROutputSetProperty(xf86OutputPtr out, Atom property,
RHD_OUTPUT_HDMI, NULL);
}
return FALSE;
+ } else if (property == atom_AudioWorkaround) {
+ if (value->type != XA_INTEGER || value->format != 32) {
+ xf86DrvMsg(rhdPtr->scrnIndex, X_ERROR, "%s: wrong value\n", __func__);
+ return FALSE;
+ }
+ if (rout->Output->Property) {
+ union rhdPropertyData val;
+ val.Bool = *(int*)(value->data);
+ if(rout->Output->Property(rout->Output, rhdPropertySet,
+ RHD_OUTPUT_AUDIO_WORKAROUND, &val))
+ return rout->Output->Property(rout->Output, rhdPropertyCommit,
+ RHD_OUTPUT_AUDIO_WORKAROUND, NULL);
+ }
+ return FALSE;
+#if ENABLE_PROPERTY_ATOMBIOS
+ } else if (property == atom_AtomBIOS) {
+ if (value->type != XA_STRING || value->format != 8)
+ return FALSE;
+ if (rhdUpdateAtomBIOSUsage(rhdPtr, buf)) {
+ free (value->data);
+ value->data = rhdReturnAtomBIOSUsage(rhdPtr);
+ value->size = strlen(value->data);
+ return TRUE;
+ }
+ return FALSE;
+#endif
+ } else if (property == atom_EDID || property == atom_EDID2) {
+ /* Don't do anything, but allow change */
+ return TRUE;
}
return FALSE; /* Others are not mutable */
@@ -1411,8 +1499,8 @@ rhdRRCrtcShadowAllocate(xf86CrtcPtr crtc, int Width, int Height)
return ((char *)rhdPtr->FbBase
+ rhdRRCrtc->u.MemEXA->offset);
}
-
#endif /* USE_EXA */
+
if (rhdPtr->AccelMethod == RHD_ACCEL_XAA) {
int Align = (4096 + OctPerPixel - 1) / OctPerPixel;
Size = (Size + OctPerPixel - 1) / OctPerPixel;
@@ -1501,7 +1589,7 @@ rhdRROutputGetProperty(xf86OutputPtr out, Atom property)
int err = BadValue;
union rhdPropertyData val;
- xf86DrvMsg(rhdPtr->scrnIndex, X_INFO, "In %s\n", __func__);
+ RHDFUNC(rhdPtr);
if (property == atom_Backlight) {
if (rout->Output->Property == NULL)
@@ -1525,12 +1613,34 @@ rhdRROutputGetProperty(xf86OutputPtr out, Atom property)
err = RRChangeOutputProperty(out->randr_output, atom_Coherent,
XA_INTEGER, 32, PropModeReplace,
1, &val.Bool, FALSE, FALSE);
+ } else if (property == atom_HdmiProperty) {
+ if (rout->Output->Property == NULL)
+ return FALSE;
+
+ if (!rout->Output->Property(rout->Output, rhdPropertyGet,
+ RHD_OUTPUT_HDMI, &val))
+ return FALSE;
+
+ err = RRChangeOutputProperty(out->randr_output, atom_HdmiProperty,
+ XA_INTEGER, 32, PropModeReplace,
+ 1, &val.Bool, FALSE, FALSE);
+ } else if (property == atom_AudioWorkaround) {
+ if (rout->Output->Property == NULL)
+ return FALSE;
+
+ if (!rout->Output->Property(rout->Output, rhdPropertyGet,
+ RHD_OUTPUT_AUDIO_WORKAROUND, &val))
+ return FALSE;
+
+ err = RRChangeOutputProperty(out->randr_output, atom_AudioWorkaround,
+ XA_INTEGER, 32, PropModeReplace,
+ 1, &val.Bool, FALSE, FALSE);
}
- if (err != 0) {
- xf86DrvMsg(rhdPtr->scrnIndex, X_ERROR, "In %s RRChangeOutputProperty error: %d\n", __func__, err);
+ RHDDebug(rhdPtr->scrnIndex, "%s 0x%x returns %d\n", __func__, property, err);
+
+ if (err != 0)
return FALSE;
- }
return TRUE;
}
@@ -1913,6 +2023,21 @@ RHDRandrPreInit(ScrnInfoPtr pScrn)
xfree(RandrOutput);
rhdPtr->randr = randr;
+ /* Unless we're able to shrink/enlarge FB on the fly (GEM etc.), allocate
+ * large enough (TM) virtual size */
+ if (!pScrn->display->virtualX || !pScrn->display->virtualY) {
+ /* Have at least enough space for double buffering and z Buffer + some textures */
+ if (2 * 1920*1920 * ((unsigned)pScrn->bitsPerPixel/8) <= rhdPtr->FbFreeSize / 4) {
+ /* Fits on 128MB and up */
+ pScrn->display->virtualX = 2 * 1920;
+ pScrn->display->virtualY = 1920;
+ } else if (2 * 1680*1280 * ((unsigned)pScrn->bitsPerPixel/8) <= rhdPtr->FbFreeSize / 4) {
+ /* Fits on 64MB and up */
+ pScrn->display->virtualX = 2 * 1680;
+ pScrn->display->virtualY = 1280;
+ }
+ }
+
if (!xf86InitialConfiguration(pScrn, FALSE)) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"RandR: No valid modes. Disabling RandR support.\n");
diff --git a/driver/xf86-video-radeonhd/src/rhd_regs.h b/driver/xf86-video-radeonhd/src/rhd_regs.h
index bf74dd3c7..0e75d0693 100644
--- a/driver/xf86-video-radeonhd/src/rhd_regs.h
+++ b/driver/xf86-video-radeonhd/src/rhd_regs.h
@@ -31,13 +31,19 @@ enum {
BUS_CNTL = 0x4C, /* (RW) */
MC_IND_INDEX = 0x70, /* (RW) */
MC_IND_DATA = 0x74, /* (RW) */
+ RS600_MC_INDEX = 0x70,
+ RS600_MC_DATA = 0x74,
+ RS690_MC_INDEX = 0x78,
+ RS690_MC_DATA = 0x7c,
+ RS780_MC_INDEX = 0x28f8,
+ RS780_MC_DATA = 0x28fc,
+
+ RS60_MC_NB_MC_INDEX = 0x78,
+ RS60_MC_NB_MC_DATA = 0x7C,
CONFIG_CNTL = 0xE0,
- /* RS690 ?? */
- RS60_MC_NB_MC_INDEX = 0x78,
- RS60_MC_NB_MC_DATA = 0x7C,
- RS69_MC_INDEX = 0xE8,
- RS69_MC_DATA = 0xEC,
- R5XX_CONFIG_MEMSIZE = 0x00F8,
+ PCIE_RS69_MC_INDEX = 0xE8,
+ PCIE_RS69_MC_DATA = 0xEC,
+ R5XX_CONFIG_MEMSIZE = 0x00F8,
HDP_FB_LOCATION = 0x0134,
@@ -107,8 +113,6 @@ enum {
DCCG_DISP_CLK_SRCSEL = 0x0538, /* rv620+ */
- SRBM_STATUS = 0x0E50,
-
AGP_STATUS = 0x0F5C,
R7XX_MC_VM_FB_LOCATION = 0x2024,
@@ -512,7 +516,7 @@ enum RV620_EXT1_DIFF_POST_DIV_CNTL_BITS {
enum RV620_EXT2_DIFF_POST_DIV_CNTL_BITS {
RV62_EXT2_DIFF_POST_DIV_RESET = 1 << 0,
RV62_EXT2_DIFF_POST_DIV_SELECT = 1 << 4,
- RV62_EXT2_DIFF_DRIVER_ENABLE = 1 << 8
+ RV62_EXT2_DIFF_DRIVER_ENABLE = 3 << 8
};
enum RV620_LVTMA_PWRSEQ_CNTL_BITS {
@@ -817,8 +821,8 @@ enum RS69_DDIA_PCIE_LINK_CONTROL3_BITS {
};
enum RS69_MC_INDEX_BITS {
- RS69_MC_IND_ADDR = (0x1 << 0),
- RS69_MC_IND_WR_EN = (0x1 << 9)
+ PCIE_RS69_MC_IND_ADDR = (0x1 << 0),
+ PCIE_RS69_MC_IND_WR_EN = (0x1 << 9)
};
enum RS60_MC_NB_MC_INDEX_BITS {
@@ -868,22 +872,45 @@ enum _rs600MCRegs {
RS60_NB_FB_LOCATION = 0xa
};
+enum RS600_MC_INDEX_BITS {
+ RS600_MC_INDEX_ADDR_MASK = 0xffff,
+ RS600_MC_INDEX_SEQ_RBS_0 = (1 << 16),
+ RS600_MC_INDEX_SEQ_RBS_1 = (1 << 17),
+ RS600_MC_INDEX_SEQ_RBS_2 = (1 << 18),
+ RS600_MC_INDEX_SEQ_RBS_3 = (1 << 19),
+ RS600_MC_INDEX_AIC_RBS = (1 << 20),
+ RS600_MC_INDEX_CITF_ARB0 = (1 << 21),
+ RS600_MC_INDEX_CITF_ARB1 = (1 << 22),
+ RS600_MC_INDEX_WR_EN = (1 << 23)
+};
+
+enum RS690_MC_INDEX_BITS {
+ RS690_MC_INDEX_ADDR_MASK = 0x1ff,
+ RS690_MC_INDEX_WR_EN = (1 << 9),
+ RS690_MC_INDEX_WR_ACK = 0x7f
+};
+
+enum RS780_MC_INDEX_BITS {
+ RS780_MC_INDEX_ADDR_MASK = 0x1ff,
+ RS780_MC_INDEX_WR_EN = (1 << 9)
+};
+
enum _rs780NBRegs {
- RS78_NB_MC_IND_INDEX = 0x70,
- RS78_NB_MC_IND_DATA = 0x74
+ PCIE_RS78_NB_MC_IND_INDEX = 0x70,
+ PCIE_RS78_NB_MC_IND_DATA = 0x74
};
enum RS78_NB_IND_INDEX_BITS {
- RS78_NB_MC_IND_INDEX_MASK = (0xffff << 0),
- RS78_MC_IND_SEQ_RBS_0 = (0x1 << 16),
- RS78_MC_IND_SEQ_RBS_1 = (0x1 << 17),
- RS78_MC_IND_SEQ_RBS_2 = (0x1 << 18),
- RS78_MC_IND_SEQ_RBS_3 = (0x1 << 19),
- RS78_MC_IND_AIC_RBS = (0x1 << 20),
- RS78_MC_IND_CITF_ARB0 = (0x1 << 21),
- RS78_MC_IND_CITF_ARB1 = (0x1 << 22),
- RS78_MC_IND_WR_EN = (0x1 << 23),
- RS78_MC_IND_RD_INV = (0x1 << 24)
+ PCIE_RS78_NB_MC_IND_INDEX_MASK = (0xffff << 0),
+ PCIE_RS78_MC_IND_SEQ_RBS_0 = (0x1 << 16),
+ PCIE_RS78_MC_IND_SEQ_RBS_1 = (0x1 << 17),
+ PCIE_RS78_MC_IND_SEQ_RBS_2 = (0x1 << 18),
+ PCIE_RS78_MC_IND_SEQ_RBS_3 = (0x1 << 19),
+ PCIE_RS78_MC_IND_AIC_RBS = (0x1 << 20),
+ PCIE_RS78_MC_IND_CITF_ARB0 = (0x1 << 21),
+ PCIE_RS78_MC_IND_CITF_ARB1 = (0x1 << 22),
+ PCIE_RS78_MC_IND_WR_EN = (0x1 << 23),
+ PCIE_RS78_MC_IND_RD_INV = (0x1 << 24)
};
enum _rs780MCRegs {
@@ -1092,6 +1119,7 @@ enum AGP_STATUS_BITS {
enum {
/* HDMI registers */
HDMI_ENABLE = 0x00,
+ HDMI_STATUS = 0x04,
HDMI_CNTL = 0x08,
HDMI_UNKNOWN_0 = 0x0C,
HDMI_AUDIOCNTL = 0x10,
@@ -1113,7 +1141,10 @@ enum {
HDMI_IEC60958_1 = 0xd4,
HDMI_IEC60958_2 = 0xd8,
HDMI_UNKNOWN_2 = 0xdc,
- HDMI_AUDIO_DEBUG = 0xe0
+ HDMI_AUDIO_DEBUG_0 = 0xe0,
+ HDMI_AUDIO_DEBUG_1 = 0xe4,
+ HDMI_AUDIO_DEBUG_2 = 0xe8,
+ HDMI_AUDIO_DEBUG_3 = 0xec
};
#endif /* _RHD_REGS_H */
diff --git a/driver/xf86-video-radeonhd/src/rhd_tmds.c b/driver/xf86-video-radeonhd/src/rhd_tmds.c
index 77529a578..7148ff5ee 100644
--- a/driver/xf86-video-radeonhd/src/rhd_tmds.c
+++ b/driver/xf86-video-radeonhd/src/rhd_tmds.c
@@ -243,6 +243,7 @@ TMDSAPropertyControl(struct rhdOutput *Output,
switch (Property) {
case RHD_OUTPUT_COHERENT:
case RHD_OUTPUT_HDMI:
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
return TRUE;
default:
return FALSE;
@@ -255,6 +256,9 @@ TMDSAPropertyControl(struct rhdOutput *Output,
case RHD_OUTPUT_HDMI:
val->Bool = Private->HdmiEnabled;
return TRUE;
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
+ val->Bool = RHDHdmiGetAudioWorkaround(Private->Hdmi);
+ return TRUE;
default:
return FALSE;
}
@@ -267,6 +271,9 @@ TMDSAPropertyControl(struct rhdOutput *Output,
case RHD_OUTPUT_HDMI:
Private->HdmiEnabled = val->Bool;
break;
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
+ RHDHdmiSetAudioWorkaround(Private->Hdmi, val->Bool);
+ break;
default:
return FALSE;
}
@@ -278,6 +285,9 @@ TMDSAPropertyControl(struct rhdOutput *Output,
Output->Mode(Output, Private->Mode);
Output->Power(Output, RHD_POWER_ON);
break;
+ case RHD_OUTPUT_AUDIO_WORKAROUND:
+ RHDHdmiCommitAudioWorkaround(Private->Hdmi);
+ break;
default:
return FALSE;
}
diff --git a/driver/xf86-video-radeonhd/src/rhd_video.c b/driver/xf86-video-radeonhd/src/rhd_video.c
index 25acc4700..383f926fa 100644
--- a/driver/xf86-video-radeonhd/src/rhd_video.c
+++ b/driver/xf86-video-radeonhd/src/rhd_video.c
@@ -62,6 +62,8 @@
#include <X11/extensions/Xv.h>
#include "fourcc.h"
+static Atom xvColorSpace;
+
#ifdef USE_EXA
/*
*
@@ -193,7 +195,15 @@ rhdSetPortAttribute(ScrnInfoPtr pScrn,
INT32 value,
pointer data)
{
- return BadMatch;
+ /*RHDPtr rhdPtr = RHDPTR(pScrn);*/
+ struct RHDPortPriv *pPriv = (struct RHDPortPriv*)data;
+
+ if (attribute == xvColorSpace)
+ pPriv->color_space = value;
+ else
+ return BadMatch;
+
+ return Success;
}
/*
@@ -205,7 +215,15 @@ rhdGetPortAttribute(ScrnInfoPtr pScrn,
INT32 *value,
pointer data)
{
- return BadMatch;
+ /*RHDPtr rhdPtr = RHDPTR(pScrn);*/
+ struct RHDPortPriv *pPriv = (struct RHDPortPriv*)data;
+
+ if (attribute == xvColorSpace)
+ *value = pPriv->color_space;
+ else
+ return BadMatch;
+
+ return Success;
}
/*
@@ -875,6 +893,14 @@ static XF86ImageRec Images[NUM_IMAGES] =
XVIMAGE_UYVY
};
+#define NUM_ATTRIBUTES 1
+
+static XF86AttributeRec Attributes[NUM_ATTRIBUTES+1] =
+{
+ {XvSettable | XvGettable, 0, RHD_XV_NUM_COLOR_SPACE-1, "XV_COLORSPACE"},
+ { 0, 0, 0, NULL} /* place holder */
+};
+
/*
*
*/
@@ -890,6 +916,9 @@ rhdSetupImageTexturedVideo(ScreenPtr pScreen)
RHDFUNC(pScrn);
+ /* Create attribute atoms */
+ xvColorSpace = MakeAtom("XV_COLORSPACE", 13, TRUE);
+
adapt = xnfcalloc(1, sizeof(XF86VideoAdaptorRec) + num_texture_ports *
(sizeof(struct RHDPortPriv) + sizeof(DevUnion)));
@@ -914,8 +943,14 @@ rhdSetupImageTexturedVideo(ScreenPtr pScreen)
pPortPriv =
(struct RHDPortPriv *)(&adapt->pPortPrivates[num_texture_ports]);
- adapt->nAttributes = 0;
- adapt->pAttributes = NULL;
+ /* Xv Attributes for r6xx/r7xx only for now */
+ if (rhdPtr->ChipSet >= RHD_R600) {
+ adapt->nAttributes = NUM_ATTRIBUTES;
+ adapt->pAttributes = Attributes;
+ } else {
+ adapt->nAttributes = 0;
+ adapt->pAttributes = NULL;
+ }
adapt->pImages = Images;
adapt->nImages = NUM_IMAGES;
adapt->PutVideo = NULL;
@@ -936,6 +971,9 @@ rhdSetupImageTexturedVideo(ScreenPtr pScreen)
/* gotta uninit this someplace, XXX: shouldn't be necessary for textured */
REGION_NULL(pScreen, &pPriv->clip);
+ /* Set default attribute values */
+ pPriv->color_space = RHD_XV_COLOR_SPACE_AUTODETECT;
+
adapt->pPortPrivates[i].ptr = (pointer) (pPriv);
}
@@ -987,5 +1025,4 @@ RHDInitVideo(ScreenPtr pScreen)
if (newAdaptors)
xfree(newAdaptors);
-
}
diff --git a/driver/xf86-video-radeonhd/src/rhd_video.h b/driver/xf86-video-radeonhd/src/rhd_video.h
index aadebc06c..bc45dae7e 100644
--- a/driver/xf86-video-radeonhd/src/rhd_video.h
+++ b/driver/xf86-video-radeonhd/src/rhd_video.h
@@ -30,6 +30,13 @@
# define uint32_t CARD32
# define uint64_t CARD64
+enum RHDXvColorSpace {
+ RHD_XV_COLOR_SPACE_AUTODETECT,
+ RHD_XV_COLOR_SPACE_REC601,
+ RHD_XV_COLOR_SPACE_REC709,
+ RHD_XV_NUM_COLOR_SPACE
+};
+
/* Xvideo port struct */
struct RHDPortPriv {
DrawablePtr pDraw;
@@ -50,6 +57,8 @@ struct RHDPortPriv {
int h;
int drw_x;
int drw_y;
+
+ enum RHDXvColorSpace color_space;
};
extern void RHDRADEONDisplayTexturedVideo(ScrnInfoPtr pScrn, struct RHDPortPriv *pPriv);
diff --git a/driver/xf86-video-radeonhd/utils/conntest/Makefile.am b/driver/xf86-video-radeonhd/utils/conntest/Makefile.am
index b7cc322ba..48fafbedc 100644
--- a/driver/xf86-video-radeonhd/utils/conntest/Makefile.am
+++ b/driver/xf86-video-radeonhd/utils/conntest/Makefile.am
@@ -5,6 +5,11 @@ include $(top_srcdir)/RadeonHD.am
EXTRA_DIST = README Imakefile
EXTRA_PROGRAMS = rhd_conntest rhd_dump
+
+if XSERVER_LIBPCIACCESS
+noinst_PROGRAMS = rhd_conntest rhd_dump
+endif
+
if HAVE_PCI_PCI_H
if HAVE_ZLIB
noinst_PROGRAMS = rhd_conntest rhd_dump
@@ -24,8 +29,16 @@ AM_CPPFLAGS = -I$(top_srcdir)/src/AtomBios/includes
rhd_conntest_SOURCES = rhd_conntest.c
nodist_rhd_conntest_SOURCES = git_version.h
+if XSERVER_LIBPCIACCESS
+rhd_conntest_LDADD = @PCIACCESS_LIBS@
+else
rhd_conntest_LDADD = @PCIUTILS_LIBS@
+endif
rhd_dump_SOURCES = rhd_dump.c
nodist_rhd_dump_SOURCES = git_version.h
-rhd_dump_LDADD = @PCIUTILS_LIBS@ \ No newline at end of file
+if XSERVER_LIBPCIACCESS
+rhd_dump_LDADD = @PCIACCESS_LIBS@
+else
+rhd_dump_LDADD = @PCIUTILS_LIBS@
+endif
diff --git a/driver/xf86-video-radeonhd/utils/conntest/Makefile.in b/driver/xf86-video-radeonhd/utils/conntest/Makefile.in
index 0cebf4ebf..04e1ca8e7 100644
--- a/driver/xf86-video-radeonhd/utils/conntest/Makefile.in
+++ b/driver/xf86-video-radeonhd/utils/conntest/Makefile.in
@@ -44,12 +44,17 @@ host_triplet = @host@
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/RadeonHD.am
EXTRA_PROGRAMS = rhd_conntest$(EXEEXT) rhd_dump$(EXEEXT)
+@HAVE_PCI_PCI_H_FALSE@@XSERVER_LIBPCIACCESS_TRUE@noinst_PROGRAMS = rhd_conntest$(EXEEXT) \
+@HAVE_PCI_PCI_H_FALSE@@XSERVER_LIBPCIACCESS_TRUE@ rhd_dump$(EXEEXT)
@HAVE_PCI_PCI_H_TRUE@@HAVE_ZLIB_TRUE@noinst_PROGRAMS = \
@HAVE_PCI_PCI_H_TRUE@@HAVE_ZLIB_TRUE@ rhd_conntest$(EXEEXT) \
@HAVE_PCI_PCI_H_TRUE@@HAVE_ZLIB_TRUE@ rhd_dump$(EXEEXT)
+@HAVE_ZLIB_FALSE@@XSERVER_LIBPCIACCESS_TRUE@noinst_PROGRAMS = rhd_conntest$(EXEEXT) \
+@HAVE_ZLIB_FALSE@@XSERVER_LIBPCIACCESS_TRUE@ rhd_dump$(EXEEXT)
subdir = utils/conntest
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(install_sh) -d
@@ -88,6 +93,7 @@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AM_MAKEFLAGS = @AM_MAKEFLAGS@
APP_MAN_DIR = @APP_MAN_DIR@
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
AR = @AR@
@@ -125,13 +131,17 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
+FC = @FC@
FFLAGS = @FFLAGS@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
+GREP = @GREP@
HAVE_PCI_PCI_H_FALSE = @HAVE_PCI_PCI_H_FALSE@
HAVE_PCI_PCI_H_TRUE = @HAVE_PCI_PCI_H_TRUE@
HAVE_SED_WITH_REASONABLE_SUBSTITUTION_FALSE = @HAVE_SED_WITH_REASONABLE_SUBSTITUTION_FALSE@
HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE = @HAVE_SED_WITH_REASONABLE_SUBSTITUTION_TRUE@
+HAVE_XEXTPROTO_71_FALSE = @HAVE_XEXTPROTO_71_FALSE@
+HAVE_XEXTPROTO_71_TRUE = @HAVE_XEXTPROTO_71_TRUE@
HAVE_XF86_ANSIC_H_FALSE = @HAVE_XF86_ANSIC_H_FALSE@
HAVE_XF86_ANSIC_H_TRUE = @HAVE_XF86_ANSIC_H_TRUE@
HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@
@@ -151,10 +161,12 @@ LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEFLAGS = @MAKEFLAGS@
MAKEINFO = @MAKEINFO@
MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
NMEDIT = @NMEDIT@
+OBJC = @OBJC@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -169,6 +181,7 @@ PCIUTILS_CFLAGS = @PCIUTILS_CFLAGS@
PCIUTILS_LIBS = @PCIUTILS_LIBS@
PEDANTIC_CFLAGS = @PEDANTIC_CFLAGS@
PKG_CONFIG = @PKG_CONFIG@
+Q = @Q@
RANDR_VERSION = @RANDR_VERSION@
RANLIB = @RANLIB@
SED = @SED@
@@ -179,21 +192,18 @@ USE_DRI_FALSE = @USE_DRI_FALSE@
USE_DRI_TRUE = @USE_DRI_TRUE@
USE_EXA_FALSE = @USE_EXA_FALSE@
USE_EXA_TRUE = @USE_EXA_TRUE@
+V = @V@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XEXT_CFLAGS = @XEXT_CFLAGS@
+XEXT_LIBS = @XEXT_LIBS@
XORG_CFLAGS = @XORG_CFLAGS@
XORG_LIBS = @XORG_LIBS@
XSERVER_LIBPCIACCESS_FALSE = @XSERVER_LIBPCIACCESS_FALSE@
XSERVER_LIBPCIACCESS_TRUE = @XSERVER_LIBPCIACCESS_TRUE@
-ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DSYMUTIL = @ac_ct_DSYMUTIL@
ac_ct_F77 = @ac_ct_F77@
-ac_ct_NMEDIT = @ac_ct_NMEDIT@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@@ -210,26 +220,34 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
moduledir = @moduledir@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+shavedir = @shavedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
@@ -248,10 +266,12 @@ AM_CFLAGS = @XORG_CFLAGS@ @WARN_CFLAGS@ @PCIUTILS_CFLAGS@
AM_CPPFLAGS = -I$(top_srcdir)/src/AtomBios/includes
rhd_conntest_SOURCES = rhd_conntest.c
nodist_rhd_conntest_SOURCES = git_version.h
-rhd_conntest_LDADD = @PCIUTILS_LIBS@
+@XSERVER_LIBPCIACCESS_FALSE@rhd_conntest_LDADD = @PCIUTILS_LIBS@
+@XSERVER_LIBPCIACCESS_TRUE@rhd_conntest_LDADD = @PCIACCESS_LIBS@
rhd_dump_SOURCES = rhd_dump.c
nodist_rhd_dump_SOURCES = git_version.h
-rhd_dump_LDADD = @PCIUTILS_LIBS@
+@XSERVER_LIBPCIACCESS_FALSE@rhd_dump_LDADD = @PCIUTILS_LIBS@
+@XSERVER_LIBPCIACCESS_TRUE@rhd_dump_LDADD = @PCIACCESS_LIBS@
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
diff --git a/driver/xf86-video-radeonhd/utils/conntest/git_version.h b/driver/xf86-video-radeonhd/utils/conntest/git_version.h
index 03087ff3e..361b633bd 100644
--- a/driver/xf86-video-radeonhd/utils/conntest/git_version.h
+++ b/driver/xf86-video-radeonhd/utils/conntest/git_version.h
@@ -20,7 +20,7 @@
#define GIT_REPO 1
/* Git SHA ID of last commit */
-#define GIT_SHAID "cb54f48b"
+#define GIT_SHAID "8cbff7bf"
/* Branch this tree is on */
#define GIT_BRANCH "master"
diff --git a/driver/xf86-video-radeonhd/utils/conntest/rhd_conntest.c b/driver/xf86-video-radeonhd/utils/conntest/rhd_conntest.c
index 9e9a595ce..f1db55291 100644
--- a/driver/xf86-video-radeonhd/utils/conntest/rhd_conntest.c
+++ b/driver/xf86-video-radeonhd/utils/conntest/rhd_conntest.c
@@ -35,7 +35,6 @@
#include <errno.h>
#include <string.h>
#include <sys/mman.h>
-#include <pci/pci.h>
#include <unistd.h>
#include <stdlib.h>
@@ -44,6 +43,12 @@
#endif
#include "git_version.h"
+#ifdef XSERVER_LIBPCIACCESS
+#include <pciaccess.h>
+#else
+#include <pci/pci.h>
+#endif
+
#ifndef ULONG
typedef unsigned int ULONG;
# define ULONG ULONG
@@ -79,6 +84,26 @@ typedef unsigned int CARD32;
/* Some register names */
enum {
+ /* Needed for enable PCI ROM read */
+ BUS_CNTL = 0x4C, /* (RW) */
+ GPIOPAD_MASK = 0x198, /* (RW) */
+ GPIOPAD_A = 0x19C, /* (RW) */
+ GPIOPAD_EN = 0x1A0, /* (RW) */
+ VIPH_CONTROL = 0xC40, /* (RW) */
+ SEPROM_CNTL1 = 0x1C0, /* (RW) */
+
+ ROM_CNTL = 0x1600,
+ GENERAL_PWRMGT = 0x0618,
+ LOW_VID_LOWER_GPIO_CNTL = 0x0724,
+ MEDIUM_VID_LOWER_GPIO_CNTL = 0x0720,
+ HIGH_VID_LOWER_GPIO_CNTL = 0x071C,
+ CTXSW_VID_LOWER_GPIO_CNTL = 0x0718,
+ LOWER_GPIO_ENABLE = 0x0710,
+
+ VGA_RENDER_CONTROL = 0x0300,
+ D1VGA_CONTROL = 0x0330,
+ D2VGA_CONTROL = 0x0338,
+
/* DAC A */
DACA_ENABLE = 0x7800,
DACA_SOURCE_SELECT = 0x7804,
@@ -256,6 +281,21 @@ typedef enum dacOutput {
DAC_COMPONENT
} dacOutput;
+/* Some defines needed for getting access to unposted BIOS */
+
+#define SCK_PRESCALE (0xff << 24)
+#define VIPH_EN (1 << 21)
+#define BIOS_ROM_DIS (1 << 2)
+#define D1VGA_MODE_ENABLE (1 << 0)
+#define D1VGA_TIMING_SELECT (1 << 8)
+#define D2VGA_MODE_ENABLE (1 << 0)
+#define D2VGA_TIMING_SELECT (1 << 8)
+#define VGA_VSTATUS_CNTL (0x3 << 16)
+#define SCK_OVERWRITE (1 << 1)
+#define SCK_PRESCALE_CRYSTAL_CLK_SHIFT 28
+#define OPEN_DRAIN_PADS (1 << 11)
+
+
/* for RHD_R500/R600/RS690/RV620 */
chipType ChipType;
@@ -509,6 +549,8 @@ dprint(unsigned char *start, unsigned long size)
/*
*
*/
+#ifndef XSERVER_LIBPCIACCESS
+/* Only for libpci use */
static struct pci_dev *
DeviceLocate(struct pci_dev *devices, int bus, int dev, int func)
{
@@ -520,12 +562,17 @@ DeviceLocate(struct pci_dev *devices, int bus, int dev, int func)
return device;
return NULL;
}
+#endif
/*
*
*/
static struct RHDDevice *
+#ifdef XSERVER_LIBPCIACCESS
+DeviceMatch(struct pci_device *device)
+#else
DeviceMatch(struct pci_dev *device)
+#endif
{
int i;
@@ -540,6 +587,8 @@ DeviceMatch(struct pci_dev *device)
/*
*
*/
+#ifndef XSERVER_LIBPCIACCESS
+/* Only for libpci use */
static void *
MapBar(struct pci_dev *device, int ioBar, int devMem)
{
@@ -561,6 +610,7 @@ MapBar(struct pci_dev *device, int ioBar, int devMem)
return map;
}
+#endif
/*
*
@@ -848,10 +898,10 @@ RV620DACLoadDetect(void *map, Bool tv, int dac)
RegMask(map, offset + RV620_DACA_CONTROL2, 0x1, 0x1);
/* enable r/g/b comparators, disable D/SDET ref */
RegMask(map, offset + RV620_DACA_COMPARATOR_ENABLE, 0x70000, 0x070101);
- usleep(100);
+ //usleep(100);
/* check for connection */
RegMask(map, offset + RV620_DACA_AUTODETECT_CONTROL, 0x01, 0xff);
- usleep(32);
+ usleep(50);
ret = RegRead(map, offset + RV620_DACA_AUTODETECT_STATUS);
@@ -1174,7 +1224,7 @@ R6xxI2CSetupStatus(void *map, int channel)
static Bool
R6xxI2CStatus(void *map)
{
- int count = 800;
+ unsigned int count = 800;
CARD32 val = 0;
while (--count) {
@@ -1352,7 +1402,7 @@ enum _rhdRS69I2CBits {
static Bool
RS69I2CStatus(void *map)
{
- int count = 2000;
+ unsigned int count = 2000;
volatile CARD32 val;
while (--count) {
@@ -1899,7 +1949,7 @@ enum rv620I2CBits {
static Bool
RV620I2CStatus(void *map)
{
- int count = 50;
+ unsigned int count = 50;
volatile CARD32 val;
while (--count) {
@@ -2375,6 +2425,129 @@ FreeVBIOS(unsigned char *rombase, int size)
munmap(rombase,size);
}
+
+#ifdef XSERVER_LIBPCIACCESS
+
+/* Copy BIOS from PCI ROM into memory buffer */
+unsigned char *
+GetBIOS_from_PCI(struct RHDDevice *rhdDevice, struct pci_device *dev, void *io, int *size)
+{
+ unsigned char *rombase = NULL;
+ int errnum;
+
+ CARD32 save_seprom_cntl1 = 0,
+ save_gpiopad_a, save_gpiopad_en, save_gpiopad_mask,
+ save_viph_cntl,
+ save_bus_cntl,
+ save_d1vga_control, save_d2vga_control, save_vga_render_control,
+ save_rom_cntl = 0,
+ save_gen_pwrmgt = 0,
+ save_low_vid_lower_gpio_cntl = 0, save_med_vid_lower_gpio_cntl = 0,
+ save_high_vid_lower_gpio_cntl = 0, save_ctxsw_vid_lower_gpio_cntl = 0,
+ save_lower_gpio_en = 0;
+
+ /* We have to enable BIOS on an unposted card. But first we save the
+ state. Much of this code pinched from RHDReadPCIBios() in
+ rhd_driver.c */
+
+ if (rhdDevice->type < RHD_R600)
+ save_seprom_cntl1 = RegRead(io, SEPROM_CNTL1);
+ save_gpiopad_en = RegRead(io, GPIOPAD_EN);
+ save_gpiopad_a = RegRead(io, GPIOPAD_A);
+ save_gpiopad_mask = RegRead(io, GPIOPAD_MASK);
+ save_viph_cntl = RegRead(io, VIPH_CONTROL);
+ save_bus_cntl = RegRead(io, BUS_CNTL);
+ save_d1vga_control = RegRead(io, D1VGA_CONTROL);
+ save_d2vga_control = RegRead(io, D2VGA_CONTROL);
+ save_vga_render_control = RegRead(io, VGA_RENDER_CONTROL);
+ if (rhdDevice->type >= RHD_R600) {
+ save_rom_cntl = RegRead(io, ROM_CNTL);
+ save_gen_pwrmgt = RegRead(io, GENERAL_PWRMGT);
+ save_low_vid_lower_gpio_cntl = RegRead(io, LOW_VID_LOWER_GPIO_CNTL);
+ save_med_vid_lower_gpio_cntl = RegRead(io, MEDIUM_VID_LOWER_GPIO_CNTL);
+ save_high_vid_lower_gpio_cntl = RegRead(io, HIGH_VID_LOWER_GPIO_CNTL);
+ save_ctxsw_vid_lower_gpio_cntl = RegRead(io, CTXSW_VID_LOWER_GPIO_CNTL);
+ save_lower_gpio_en = RegRead(io, LOWER_GPIO_ENABLE);
+ }
+
+ /* Set SPI ROM prescale value to change the SCK period */
+ if (rhdDevice->type < RHD_R600)
+ RegMask(io, SEPROM_CNTL1, 0x0C << 24, SCK_PRESCALE);
+ /* Let chip control GPIO pads - this is the default state after power up */
+ RegWrite(io, GPIOPAD_EN, 0);
+ RegWrite(io, GPIOPAD_A, 0);
+ /* Put GPIO pads in read mode */
+ RegWrite(io, GPIOPAD_MASK, 0);
+ /* Disable VIP Host port */
+ RegMask(io, VIPH_CONTROL, 0, VIPH_EN);
+ /* Enable BIOS ROM */
+ RegMask(io, BUS_CNTL, 0, BIOS_ROM_DIS);
+ /* Disable VGA and select extended timings */
+ RegMask(io, D1VGA_CONTROL, 0,
+ D1VGA_MODE_ENABLE | D1VGA_TIMING_SELECT);
+ RegMask(io, D2VGA_CONTROL, 0,
+ D2VGA_MODE_ENABLE | D2VGA_TIMING_SELECT);
+ RegMask(io, VGA_RENDER_CONTROL, 0, VGA_VSTATUS_CNTL);
+ if (rhdDevice->type >= RHD_R600) {
+ RegMask(io, ROM_CNTL, SCK_OVERWRITE
+ | 1 << SCK_PRESCALE_CRYSTAL_CLK_SHIFT,
+ SCK_OVERWRITE
+ | 1 << SCK_PRESCALE_CRYSTAL_CLK_SHIFT);
+ RegMask(io, GENERAL_PWRMGT, 0, OPEN_DRAIN_PADS);
+ RegMask(io, LOW_VID_LOWER_GPIO_CNTL, 0, 0x400);
+ RegMask(io, MEDIUM_VID_LOWER_GPIO_CNTL, 0, 0x400);
+ RegMask(io, HIGH_VID_LOWER_GPIO_CNTL, 0, 0x400);
+ RegMask(io, CTXSW_VID_LOWER_GPIO_CNTL, 0, 0x400);
+ RegMask(io, LOWER_GPIO_ENABLE, 0x400, 0x400);
+ }
+
+ /* Read the ROM */
+
+ *size = (dev->rom_size > 0) ? dev->rom_size : 0x20000;
+
+ rombase = malloc((size_t)*size);
+
+ if ((errnum = pci_device_read_rom(dev, rombase))) {
+ fprintf(stderr,"Attempt to read ROM from PCI failed: %s.\n",
+ strerror(errnum));
+ free(rombase);
+ rombase = NULL;
+ }
+
+ /* Restore the state prior to being called */
+
+ if (rhdDevice->type < RHD_R600)
+ RegWrite(io, SEPROM_CNTL1, save_seprom_cntl1);
+ RegWrite(io, GPIOPAD_EN, save_gpiopad_en);
+ RegWrite(io, GPIOPAD_A, save_gpiopad_a);
+ RegWrite(io, GPIOPAD_MASK, save_gpiopad_mask);
+ RegWrite(io, VIPH_CONTROL, save_viph_cntl);
+ RegWrite(io, BUS_CNTL, save_bus_cntl);
+ RegWrite(io, D1VGA_CONTROL, save_d1vga_control);
+ RegWrite(io, D2VGA_CONTROL, save_d2vga_control);
+ RegWrite(io, VGA_RENDER_CONTROL, save_vga_render_control);
+ if (rhdDevice->type >= RHD_R600) {
+ RegWrite(io, ROM_CNTL, save_rom_cntl);
+ RegWrite(io, GENERAL_PWRMGT, save_gen_pwrmgt);
+ RegWrite(io, LOW_VID_LOWER_GPIO_CNTL, save_low_vid_lower_gpio_cntl);
+ RegWrite(io, MEDIUM_VID_LOWER_GPIO_CNTL, save_med_vid_lower_gpio_cntl);
+ RegWrite(io, HIGH_VID_LOWER_GPIO_CNTL, save_high_vid_lower_gpio_cntl);
+ RegWrite(io, CTXSW_VID_LOWER_GPIO_CNTL, save_ctxsw_vid_lower_gpio_cntl);
+ RegWrite(io, LOWER_GPIO_ENABLE, save_lower_gpio_en);
+ }
+
+ return rombase;
+}
+
+
+
+void FreeBIOS_from_PCI(unsigned char *rombase)
+{
+ if (rombase) free(rombase);
+}
+#endif
+
+
/*
*
*/
@@ -2478,8 +2651,14 @@ print_help(const char* progname, const char* message, const char* msgarg)
fprintf(stderr, "%s %s\n", message, msgarg);
fprintf(stderr, "Usage: %s [options] PCI-tag\n"
" Options: -d: dumpBios\n"
+#ifdef XSERVER_LIBPCIACCESS
+# if HAVE_PCI_DEVICE_ENABLE
+ " -e: enable pci card (not normally needed)\n"
+# endif
+ " -r: only attempt BIOS read via PCI ROM\n"
+#endif
" -s: scanDDCBus\n"
- " -x num: dump num bytes from available i2c channels\n"
+ " -x num: dump num bytes from available i2c channels\n"
" PCI-tag: bus:dev.func\n\n",
progname);
}
@@ -2615,28 +2794,52 @@ InterpretATOMBIOS(unsigned char *base)
int
main(int argc, char *argv[])
{
+#ifdef XSERVER_LIBPCIACCESS
+ struct pci_device *device = NULL;
+# if HAVE_PCI_DEVICE_ENABLE
+ int enable_device;
+# endif
+#else
struct pci_dev *device = NULL;
struct pci_access *pciAccess;
- struct RHDDevice *rhdDevice = NULL;
int devMem;
+ int saved_errno;
+#endif
+ struct RHDDevice *rhdDevice = NULL;
void *io;
int bus, dev, func;
int ret;
- int saved_errno;
Bool deviceSet = FALSE;
Bool dumpBios = FALSE, scanDDCBus = FALSE;
unsigned long DumpI2CData = 0;
int i;
unsigned char *rombase;
int size;
+ int using_vbios;
printf("%s: v%s, %s\n",
"rhd_conntest", PACKAGE_VERSION, GIT_MESSAGE);
+#ifdef XSERVER_LIBPCIACCESS
+ /* Initialise pciaccess */
+ if ((i = pci_system_init())) {
+ fprintf(stderr, "ERROR: pciaccess failed to initialise PCI bus"
+ " (error %d)\n", i);
+ return 1;
+ }
+ /* Default actions */
+# if HAVE_PCI_DEVICE_ENABLE
+ enable_device = FALSE;
+# endif
+ using_vbios = TRUE;
+#else
/* init libpci */
pciAccess = pci_alloc();
pci_init(pciAccess);
pci_scan_bus(pciAccess);
+ /* Default action */
+ using_vbios = TRUE;
+#endif
if (argc < 2) {
print_help(argv[0], "Missing argument: please provide a PCI tag\n",
@@ -2645,6 +2848,16 @@ main(int argc, char *argv[])
}
for (i = 1; i < argc; i++) {
+#ifdef XSERVER_LIBPCIACCESS
+# if HAVE_PCI_DEVICE_ENABLE
+ if (!strncmp("-e", argv[i], 3)) {
+ enable_device = TRUE;
+ }else
+# endif
+ if (!strncmp("-r", argv[i], 3)) {
+ using_vbios = FALSE;
+ }else
+#endif
if (!strncmp("-d",argv[i],3)) {
dumpBios = TRUE;
} else if (!strncmp("-s",argv[i],3)) {
@@ -2681,14 +2894,35 @@ main(int argc, char *argv[])
}
}
+ if (!using_vbios & !deviceSet) {
+ /* Not technically an error, but only a right plonker would specify
+ this combination of command line options. */
+ printf("What?!! You want me to do nothing!\n"
+ "Specify a PCI tag and/or don't specify '-r' for some action.\n");
+ return 0;
+ }
+
if (deviceSet) {
- /* find our toy */
+#ifdef XSERVER_LIBPCIACCESS
+ /* Find the toy using pciaccess */
+ if ((device = pci_device_find_by_slot(0, bus, dev, func)) == NULL) {
+ fprintf(stderr, "ERROR: Unable to find PCI device at %02X:%02X.%02X.\n",
+ bus, dev, func);
+ return 1;
+ }
+# if HAVE_PCI_DEVICE_ENABLE
+ if (enable_device)
+ pci_device_enable(device);
+# endif
+#else
+ /* find our toy using pci */
device = DeviceLocate(pciAccess->devices, bus, dev, func);
if (!device) {
fprintf(stderr, "Unable to find PCI device at %02X:%02X.%02X.\n",
bus, dev, func);
return 1;
}
+#endif
rhdDevice = DeviceMatch(device);
if (!rhdDevice) {
@@ -2697,43 +2931,82 @@ main(int argc, char *argv[])
device->vendor_id, device->device_id, bus, dev, func);
return 1;
}
- }
- rombase = GetVBIOS(&size);
- if (!rombase) {
- fprintf(stderr, "Cannot get VBIOS. Are we root?\n");
- } else
- if (!InterpretATOMBIOS(rombase)) {
- fprintf(stderr, "Cannot analyze AtomBIOS\n");
- return 1;
+#ifdef XSERVER_LIBPCIACCESS
+ printf("Found card: %s - %s\n",
+ pci_device_get_vendor_name(device),
+ pci_device_get_device_name(device));
+#endif
}
- if (dumpBios && rombase) {
- char name[1024] = "posted.vga.rom";
-
- if (deviceSet) {
- snprintf(name, 1023, "%04X.%04X.%04X.vga.rom",
- device->device_id,
- pci_read_word(device, PCI_SUBSYSTEM_VENDOR_ID),
- pci_read_word(device, PCI_SUBSYSTEM_ID));
+ if (using_vbios) {
+ /* Attempt to read BIOS from legacy VBIOS. */
+ rombase = GetVBIOS(&size);
+ if (!rombase) {
+ printf("Cannot get VBIOS. Are we root?\n");
+ }else{
+ if (!InterpretATOMBIOS(rombase)) {
+ printf("Cannot analyze AtomBIOS from VBIOS\n");
+ rombase = NULL;
+ }
}
- WriteToFile(name, rombase, size);
+ if (dumpBios && rombase) {
+ char name[1024] = "posted.vga.rom";
+
+ if (deviceSet) {
+#ifdef XSERVER_LIBPCIACCESS
+ snprintf(name, 1023, "%04X.%04X.%04X.vga.rom",
+ device->device_id, device->subvendor_id, device->subdevice_id);
+#else
+ snprintf(name, 1023, "%04X.%04X.%04X.vga.rom",
+ device->device_id,
+ pci_read_word(device, PCI_SUBSYSTEM_VENDOR_ID),
+ pci_read_word(device, PCI_SUBSYSTEM_ID));
+#endif
+ }
+ WriteToFile(name, rombase, size);
+ }
+ }else{
+ /* We ain't goin' to read VBIOS - flag that */
+ rombase = NULL;
}
- if (!deviceSet)
+ /* We reuse the flag using_vbios now to indicate whether we successfully
+ read the VBIOS (rombase is not suitable for the purpose) */
+ using_vbios = rombase ? 1 : 0;
+
+ if (!deviceSet) {
+ if (! using_vbios) {
+ fprintf(stderr, "ERROR: Failed to read VBIOS.\n");
+ return 1;
+ }
return 0;
+ }
if (rhdDevice->bar > 5) {
- fprintf(stderr, "Program error: No acceptable BAR defined for this device.\n");
+ fprintf(stderr, "ERROR: No acceptable PCI BAR defined for this device.\n");
return 1;
}
- printf("Checking connectors on 0x%04X, 0x%04X, 0x%04X (@%02X:%02X:%02X):\n",
- device->device_id, pci_read_word(device, PCI_SUBSYSTEM_VENDOR_ID),
- pci_read_word(device, PCI_SUBSYSTEM_ID),
- device->bus, device->dev, device->func);
+ /* Map into CPU memory space the required PCI memory */
+#ifdef XSERVER_LIBPCIACCESS
+ pci_device_probe(device);
+
+ if (device->regions[rhdDevice->bar].base_addr == 0) {
+ fprintf(stderr, "ERROR: Failed to find required resource on PCI card.\n");
+ return 1;
+ }
+
+ if ((i = pci_device_map_range(device,device->regions[rhdDevice->bar].base_addr,
+ device->regions[rhdDevice->bar].size,
+ PCI_DEV_MAP_FLAG_WRITABLE, &io))) {
+ fprintf(stderr, "ERROR: Couldn't map IO memory: %s.\n", strerror(i));
+ return i;
+ }
+
+#else
/* make sure we can actually read DEV_MEM before we do anything else */
devMem = open(DEV_MEM, O_RDWR);
if (devMem < 0) {
@@ -2744,11 +3017,50 @@ main(int argc, char *argv[])
io = MapBar(device, rhdDevice->bar, devMem);
saved_errno = errno;
close (devMem);
- if (!io) {
+ if (io == (void *) -1) {
fprintf(stderr, "Unable to map IO memory: %s.\n",
strerror(saved_errno));
return 1;
}
+#endif
+
+#ifdef XSERVER_LIBPCIACCESS
+ /* Attempt to get unposted BIOS if failed before */
+
+ if (! using_vbios) {
+ printf("Trying to get BIOS from PCI ROM...\n");
+
+ if ((rombase = GetBIOS_from_PCI(rhdDevice, device, io, &size)) == NULL) {
+ fprintf(stderr,"ERROR: Fat lot of use that was -- can't read BIOS image\n");
+ return 1;
+ }
+
+ if (!InterpretATOMBIOS(rombase)) {
+ fprintf(stderr, "ERROR: Cannot analyze AtomBIOS from PCI ROM\n");
+ return 1;
+ }
+
+ if (dumpBios && rombase) {
+ char name[1024];
+
+ snprintf(name, 1023, "%04X.%04X.%04X.vga.rom",
+ device->device_id, device->subvendor_id, device->subdevice_id);
+ WriteToFile(name, rombase, size);
+ }
+ }
+#endif
+
+
+#ifdef XSERVER_LIBPCIACCESS
+ printf("Checking connectors on 0x%04X, 0x%04X, 0x%04X (@%02X:%02X:%02X):\n",
+ device->device_id, device->subvendor_id, device->subdevice_id,
+ device->bus, device->dev, device->func);
+#else
+ printf("Checking connectors on 0x%04X, 0x%04X, 0x%04X (@%02X:%02X:%02X):\n",
+ device->device_id, pci_read_word(device, PCI_SUBSYSTEM_VENDOR_ID),
+ pci_read_word(device, PCI_SUBSYSTEM_ID),
+ device->bus, device->dev, device->func);
+#endif
ChipType = rhdDevice->type;
@@ -2760,7 +3072,18 @@ main(int argc, char *argv[])
if (scanDDCBus || DumpI2CData)
DDCScanBus(io, DumpI2CData);
+#ifdef XSERVER_LIBPCIACCESS
+ if (using_vbios) {
+ FreeVBIOS(rombase, size);
+ }else{
+ FreeBIOS_from_PCI(rombase);
+ }
+
+ pci_device_unmap_range(device, io, device->regions[rhdDevice->bar].size);
+ pci_system_cleanup();
+#else
FreeVBIOS(rombase, size);
+#endif
return 0;
}
diff --git a/driver/xf86-video-radeonhd/utils/conntest/rhd_dump.c b/driver/xf86-video-radeonhd/utils/conntest/rhd_dump.c
index 7a3902660..c85ed2e7d 100644
--- a/driver/xf86-video-radeonhd/utils/conntest/rhd_dump.c
+++ b/driver/xf86-video-radeonhd/utils/conntest/rhd_dump.c
@@ -30,16 +30,23 @@
#include <errno.h>
#include <string.h>
#include <sys/mman.h>
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#ifdef XSERVER_LIBPCIACCESS
+#include <pciaccess.h>
+#else
#include <pci/pci.h>
+#endif
+
#include <unistd.h>
#include <stdlib.h>
#define DEFAULT_START 0x7200
#define DEFAULT_END 0x7300
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
#include "git_version.h"
#ifndef ULONG
@@ -272,6 +279,8 @@ struct RHDDevice {
/*
*
*/
+#ifndef XSERVER_LIBPCIACCESS
+/* Only for libpci use */
static struct pci_dev *
DeviceLocate(struct pci_dev *devices, int bus, int dev, int func)
{
@@ -283,12 +292,17 @@ DeviceLocate(struct pci_dev *devices, int bus, int dev, int func)
return device;
return NULL;
}
+#endif
/*
*
*/
static struct RHDDevice *
+#ifdef XSERVER_LIBPCIACCESS
+DeviceMatch(struct pci_device *device)
+#else
DeviceMatch(struct pci_dev *device)
+#endif
{
int i;
@@ -303,6 +317,8 @@ DeviceMatch(struct pci_dev *device)
/*
*
*/
+#ifndef XSERVER_LIBPCIACCESS
+/* Only used by pci */
static void *
MapBar(struct pci_dev *device, int ioBar, int devMem)
{
@@ -318,6 +334,7 @@ MapBar(struct pci_dev *device, int ioBar, int devMem)
return map;
}
+#endif
/*
*
@@ -363,7 +380,14 @@ print_help(const char* progname, const char* message, const char* msgarg)
{
if (message != NULL)
fprintf(stderr, "%s %s\n", message, msgarg);
- fprintf(stderr, "Usage: %s [-r start,end | -w addr val | -l {0|1}] PCI-tag\n"
+ fprintf(stderr, "Usage: %s "
+#if defined(XSERVER_LIBPCIACCESS) && defined (HAVE_PCI_DEVICE_ENABLE)
+ "[-e] "
+#endif
+ "[-r start,end | -w addr val | -l {0|1}] PCI-tag\n"
+#if defined(XSERVER_LIBPCIACCESS) && defined (HAVE_PCI_DEVICE_ENABLE)
+ " -e: enable PCI card (not normally needed)\n"
+#endif
" PCI-tag: bus:dev.func\n\n",
progname);
}
@@ -375,14 +399,21 @@ print_help(const char* progname, const char* message, const char* msgarg)
int
main(int argc, char *argv[])
{
+#ifdef XSERVER_LIBPCIACCESS
+ struct pci_device *device = NULL;
+# if HAVE_PCI_DEVICE_ENABLE
+ int enable_device = FALSE;
+# endif
+#else
struct pci_dev *device = NULL;
struct pci_access *pciAccess;
- struct RHDDevice *rhdDevice = NULL;
int devMem;
+ int saved_errno;
+#endif
+ struct RHDDevice *rhdDevice = NULL;
void *io;
int bus, dev, func;
int ret;
- int saved_errno;
Bool deviceSet = FALSE;
CARD32 start = DEFAULT_START, end = DEFAULT_END;
CARD32 addr, val;
@@ -400,10 +431,20 @@ main(int argc, char *argv[])
printf("%s: v%s, %s\n",
"rhd_dump", PACKAGE_VERSION, GIT_MESSAGE);
+
+#ifdef XSERVER_LIBPCIACCESS
+ /* Initialise pciaccess */
+ if ((i = pci_system_init())) {
+ fprintf(stderr, "ERROR: pciaccess failed to initialise PCI bus"
+ " (error %d)\n", i);
+ return 1;
+ }
+#else
/* init libpci */
pciAccess = pci_alloc();
pci_init(pciAccess);
pci_scan_bus(pciAccess);
+#endif
if (argc < 2) {
print_help(argv[0], "Missing argument: please provide a PCI tag\n",
@@ -412,6 +453,13 @@ main(int argc, char *argv[])
}
for (i = 1; i < argc; i++) {
+#ifdef XSERVER_LIBPCIACCESS
+# if HAVE_PCI_DEVICE_ENABLE
+ if (!strncmp("-e", argv[i], 3)) {
+ enable_device = TRUE;
+ }else
+# endif
+#endif
if (!strncmp("-r",argv[i],3)) {
action = READ;
@@ -461,7 +509,7 @@ main(int argc, char *argv[])
i--;
ret = 0;
}
-
+
if (addr > 1) ret = 0;
if (ret != 1) {
print_help(argv[0], "Invalid LUT id:", argv[i]);
@@ -490,13 +538,26 @@ main(int argc, char *argv[])
}
if (deviceSet) {
- /* find our toy */
+#ifdef XSERVER_LIBPCIACCESS
+ /* Find the toy using pciaccess */
+ if ((device = pci_device_find_by_slot(0, bus, dev, func)) == NULL) {
+ fprintf(stderr, "ERROR: Unable to find PCI device at %02X:%02X.%02X.\n",
+ bus, dev, func);
+ return 1;
+ }
+# if HAVE_PCI_DEVICE_ENABLE
+ if (enable_device)
+ pci_device_enable(device);
+# endif
+#else
+ /* find our toy using pci */
device = DeviceLocate(pciAccess->devices, bus, dev, func);
if (!device) {
fprintf(stderr, "Unable to find PCI device at %02X:%02X.%02X.\n",
bus, dev, func);
return 1;
}
+#endif
rhdDevice = DeviceMatch(device);
if (!rhdDevice) {
@@ -511,6 +572,24 @@ main(int argc, char *argv[])
return 1;
}
+ /* Map into CPU memory space the required PCI memory */
+
+#ifdef XSERVER_LIBPCIACCESS
+ pci_device_probe(device);
+
+ if (device->regions[rhdDevice->bar].base_addr == 0) {
+ fprintf(stderr, "ERROR: Failed to find required resource on PCI card.\n");
+ return 1;
+ }
+
+ if ((i = pci_device_map_range(device,device->regions[rhdDevice->bar].base_addr,
+ device->regions[rhdDevice->bar].size,
+ PCI_DEV_MAP_FLAG_WRITABLE, &io))) {
+ fprintf(stderr, "ERROR: Couldn't map IO memory: %s.\n", strerror(i));
+ return i;
+ }
+
+#else
/* make sure we can actually read DEV_MEM before we do anything else */
devMem = open(DEV_MEM, O_RDWR);
@@ -522,11 +601,12 @@ main(int argc, char *argv[])
io = MapBar(device, rhdDevice->bar, devMem);
saved_errno = errno;
close (devMem);
- if (!io) {
+ if (io == (void *) -1) {
fprintf(stderr, "Unable to map IO memory: %s.\n",
strerror(saved_errno));
return 1;
}
+#endif
ChipType = rhdDevice->type;
if (action == READ) {
@@ -557,5 +637,10 @@ main(int argc, char *argv[])
}
}
+#ifdef XSERVER_LIBPCIACCESS
+ pci_device_unmap_range(device, io, device->regions[rhdDevice->bar].size);
+ pci_system_cleanup();
+#endif
+
return 0;
}