[SCM] directfb/experimental: Imported Upstream version 1.4.17
sramacher at users.alioth.debian.org
sramacher at users.alioth.debian.org
Sat Dec 31 13:48:50 UTC 2016
The following commit has been merged in the experimental branch:
commit 41f53a27231e62889daaa99a2497dbbdf65bb941
Author: Sebastian Ramacher <sramacher at debian.org>
Date: Sat Dec 31 13:21:30 2016 +0100
Imported Upstream version 1.4.17
diff --git a/ChangeLog b/ChangeLog
index e884cc3..7635334 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,5070 @@
+commit 0aee8b988b4339fd4e9bb1c17384419bee92fb16
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Wed May 23 16:55:28 2012 +0200
+
+ wm/default: use DSFLIP_WAITFORSYNC in DLBM_BACKVIDEO case
+
+commit 2e1cd6858ffecd560e07155715b8877e60f45334
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Wed May 23 15:26:32 2012 +0200
+
+ update NEWS and changelog (again)
+
+commit cc8b39ea4b64c8304a4f36b7d724ae221bcea260
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed May 23 15:20:38 2012 +0200
+
+ wm: fix build, added missing variable "DFBResult ret"
+
+commit aada8a6fcbfb8a20db76b5a0a35ed7a67210b478
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed May 23 15:19:02 2012 +0200
+
+ Fusion: replaced direct_mutex_*lock by direct_thread_*lock
+
+commit 3af79d457416a13cc751f71aaa199ac77d43a855
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed May 23 15:18:30 2012 +0200
+
+ Added linux One.
+
+commit 618291f46d5aeb64a3c317dd3c157431c5ef26ba
+Merge: 35acd45 7290a64
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed May 23 14:55:51 2012 +0200
+
+ Merge branch 'directfb-1.4' of git+ssh://git.directfb.org/git/directfb/core/DirectFB into directfb-1.4
+
+commit 35acd45a3f8a8a8bb3aeded0da465cd88d872d91
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri May 11 20:39:23 2012 +0100
+
+ One: Use capacity based ids array instead of reallocating each time.
+
+commit cfa5889480dbf15267892300ecc7d91292d1e0d1
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Mar 16 15:22:39 2012 +0100
+
+ One: Add more debug info about apps and queues to /proc.
+
+commit d7f671456cfd910f527a0c6c171f5e32a046603e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Mar 13 14:41:28 2012 +0100
+
+ One: Add OneQueue_SetName() using ONE_ENTRY_SET_INFO ioctl.
+
+commit 2b5b4a64a45ea2ba07d26e14f5c504b2058f00c0
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Jan 11 12:12:33 2012 +0100
+
+ queue: init link magic with 0 to avoid assumption failure due to non-clearing malloc
+
+commit 93c21cf1289830426b2111616bba8a3c094fe005
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Jan 10 16:38:50 2012 +0100
+
+ linux-one: fix kernel version detection for makefile
+
+commit 2d9e9f966e19a8bccbfabb6cb95281c5bf32193e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Nov 18 15:02:39 2011 +0100
+
+ One: Print pending packet count for each queue, print attached QIDs, more error logging.
+
+commit 3539ba32028149aa51c35ebdc8b8e196c21fc186
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Nov 14 20:01:23 2011 +0100
+
+ One: Add TODO item about packet size limit
+
+commit a320b3319103b5d165c7c9aec34d3cb7afeea0ce
+Author: Holger Hans Peter Freyther <holger at moiji-mobile.com>
+Date: Sat Nov 12 10:52:24 2011 +0100
+
+ build: Fix make distcheck of master
+
+ * Put Makefile.static into the EXTRA_DIST, invoke the Makefile via
+ the srcdir as distcheck invokes VPATH build.
+ * Put surface_core.h into the internal include headers, this file got
+ introduced by the recent PREALLOC surface patches.
+
+commit faceec59276529c28af7854134007db93226902e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 9 19:28:08 2011 +0100
+
+ One: Add notes about extending the QID for global messaging.
+
+commit 461455eb9298b8ea62fd4a59be6946d6ad4991bc
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 27 11:34:22 2011 +0200
+
+ One: Start dynamic IDs at 1000 to reserve 1-999 for static IDs.
+
+commit 3b08ee6ace6b5870dcb29a7abdd487c3ef42b60a
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 27 11:31:37 2011 +0200
+
+ One: Don't print error on timeout.
+
+commit b2a463ad03c56de63b212481bbd773db3d1e034e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 21 21:47:24 2011 +0200
+
+ ignore
+
+commit 7f6ab4416e127ab1089027f7e2d2af048cc9884e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 21 21:43:34 2011 +0200
+
+ One: Add optional receive timeout, 0 = no timeout, -1 = return immediately if nothing to receive
+
+commit 537b9a545ba2b1678b55d7552e0f4a11ace7604e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Oct 11 16:45:50 2011 +0200
+
+ One: Allow attaching remote queue to local queue, needs refactoring...
+
+commit 836be6100fe70144bc94d3a50991f56b731250fc
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Oct 11 16:45:21 2011 +0200
+
+ One: Keep a list of OneApps.
+
+commit 34eae9fb790670f5a33bdb66a584031e0b76663f
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Oct 10 21:54:22 2011 +0200
+
+ One: Disable packet append for now
+
+commit 91832d89cbad1c1abe871598a6bbe1d59520e675
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Oct 10 20:35:40 2011 +0200
+
+ One: Don't clear magic in one_core_cleanup().
+
+commit 3f66d075d6739e5feed159705e792d9d93713e88
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Oct 10 20:32:10 2011 +0200
+
+ One: Add missing one_core_cleanup() to kernel module.
+
+commit c2fd3286b772140fc5c7b1426328a88d58df35bd
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Oct 10 13:44:28 2011 +0200
+
+ One: Initial checkin of new IPC module.
+
+commit 7290a649bc30c7beb649809b0b0889e2042f6c36
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Wed May 23 14:23:03 2012 +0200
+
+ update ChangeLog and NEWS
+
+commit 92d6e8785d944db2c67ad9cf63a1c1993d620185
+Merge: de74a77 fd72dc7
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed May 23 13:44:01 2012 +0200
+
+ Merge branch 'directfb-1.4' of git+ssh://git.directfb.org/git/directfb/core/DirectFB into directfb-1.4
+
+commit de74a77e6e10b4e9df379253bb123e80182d0245
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed May 23 13:42:29 2012 +0200
+
+ wm: add missing locking to surface reaction (fix race-condition)
+
+commit fd72dc783df682c2922abae4f7d5cf54dd196d7a
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed May 23 12:16:17 2012 +0200
+
+ X11: Call dfb_surface_notify_diosplay() AFTER calling dfb_surface_flip().
+
+commit c1c9357499766ff612b5109fc69e5a333273ac0a
+Merge: 38ac24e e1c107c
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed May 23 11:44:43 2012 +0200
+
+ Merge branch 'directfb-1.4' of git+ssh://git.directfb.org/git/directfb/core/DirectFB into directfb-1.4
+
+commit 38ac24edb255dd54667f0d9d383e5648cddc7e62
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed May 23 11:43:25 2012 +0200
+
+ wm: remove redundant checks (copy'n'paste bugs)
+
+commit e1c107cbba6a72e9e2294e5b1b6394ddc82cbf46
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue May 22 18:42:35 2012 +0200
+
+ update changelog
+
+commit f53178901b16193f0d69349972af728182129246
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue May 22 18:42:13 2012 +0200
+
+ change version to 1.4.17
+
+commit 3b471668af4637ae8f5dddafd7e56360b609d558
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue May 22 18:40:56 2012 +0200
+
+ update changelog
+
+commit da1f9218105c0693b18a448c962cc12bf81317f9
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue May 22 18:40:05 2012 +0200
+
+ make flux 1.3.0 a requirement, update debian package
+
+commit ab24540bfa1523dc8e7a09a039bd3cf2d1bae1b5
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue May 22 18:02:32 2012 +0200
+
+ Core: remove bogus asserts, mark optional output parameters in .flux files to have flux generate proper code
+
+commit 18edd451e85e19c2fa921f63e301ec88444deba8
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue May 22 16:24:42 2012 +0200
+
+ rules: use $FLUXCOMP not fluxcomp
+
+commit 1466a914a3a6fc1dd69aee5091dfea9c6302024b
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue May 22 16:23:55 2012 +0200
+
+ configure: dont check for CoreDFB.cpp but fort CoreDFB.c on 1.4
+
+commit 22c6b7f4ee761fed3a4d3cdad8e8233d0fc16d5a
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue May 22 15:59:15 2012 +0200
+
+ configure: add check for fluxcomp, which also checks for the required fluxcomp version
+
+ Many thanks to Sven Neumann for the original patch
+
+commit c1a17397d64ccb97d3b8ad5f4597edb2e84692dc
+Author: Marek Pikarski <mass at directfb.org>
+Date: Tue May 22 10:23:43 2012 +0200
+
+ Semantic fixes in various places (thanks to bc).
+
+commit 277acd149d72f30fec9d6a51c1e1d5691bd0b780
+Author: Marek Pikarski <mass at directfb.org>
+Date: Fri May 18 17:21:58 2012 +0200
+
+ Direct: only allow killing the sighandler thread from inside the DFB process
+
+commit 767e55dbd5897ee1f06aa50853862b2266decb86
+Author: Marek Pikarski <mass at directfb.org>
+Date: Fri May 18 12:41:43 2012 +0200
+
+ Direct: add custom signal 123 to sighandler mask
+
+commit 75a07f9a47a26f3f572432e315a83cb73ee8ac21
+Author: Marek Pikarski <mass at directfb.org>
+Date: Fri May 18 12:37:47 2012 +0200
+
+ Direct: add custom signal 123 to sighandler mask
+
+commit 92a508bf2abb7b534ff4a1e4a1a245fcdcf89d55
+Author: Marek Pikarski <mass at directfb.org>
+Date: Fri May 18 12:39:42 2012 +0200
+
+ Direct: remove empty line at EOF
+
+commit 770be366cf0b1214088453436257f3eb80899103
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu May 17 23:57:30 2012 +0200
+
+ direct: Fix missing zero char in size calculation for option entry allocation.
+
+commit 6058a0050a9d4d4e35e06f5b3e3af10d88c1cb0b
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed May 16 13:49:57 2012 +0200
+
+ ImageProvider: handle invalid images (thanks to bc).
+
+commit 54c5862b15b62bb5f6a203bd08734394f9f61d71
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed May 16 13:18:37 2012 +0200
+
+ Core: set_region: must lock region buffer also on flags CLRCF_SRCKEY,CLRCF_DSTKEY,CLRCF_OPACITY,CLRCF_SOURCE,CLRCF_DEST
+
+commit f6dab2d6981e671c1d216ebedc391625aa6adba3
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed May 16 12:35:44 2012 +0200
+
+ Direct: use pthread_mutex instead of direct_mutex
+
+commit 6d2a00b99956097ff5bf42e7b7f0fb66a6a7511c
+Author: Marek Pikarski <mass at directfb.org>
+Date: Tue May 15 15:44:13 2012 +0200
+
+ Direct: added missing path to loading interfaces when a implementation was not specified when loading a static interface
+
+commit 991d8fa8ec8900defd7ecfccedd96350ee996bdc
+Author: Marek Pikarski <mass at directfb.org>
+Date: Thu May 10 13:20:02 2012 +0200
+
+ Fusion: remove dispatch_cleanups from internal struct
+
+commit c12635ea578fd1f0cde9b87c218de4ab5fe7a980
+Author: Marek Pikarski <mass at directfb.org>
+Date: Thu May 10 13:03:49 2012 +0200
+
+ Fusion: fix build for single app mode
+
+commit 097c9094043da2b5c58dc0267a04ab95d10d8601
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed May 9 12:27:41 2012 +0200
+
+ Core: can also queue SetColorAndIndex
+
+commit a438503ebd9c089f2ca678f019bfa1c9e2052cf5
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed May 9 11:56:29 2012 +0200
+
+ Direct: fix off by one bug in detecting value of default-interface-implementation
+
+commit 40f4a5c8cf6f00e8235413e29886255ede96201c
+Author: Marek Pikarski <mass at directfb.org>
+Date: Tue May 8 16:03:55 2012 +0200
+
+ Fusion: buffer async fusion calls in user space using one ioctl up to 512 calls or 20ms timeout
+
+ Improves slave GFX performance by ~1% and produces ~10% less CPU load
+
+commit 7bad203babb16cd8e5086c414dd5c9ef390ace2f
+Author: Marek Pikarski <mass at directfb.org>
+Date: Tue May 8 13:23:47 2012 +0200
+
+ Core: fix segfault in palette (off-by-one)
+
+commit 127c7b92fb94f55dbed527360162d6266c5fbbe1
+Author: Marek Pikarski <mass at directfb.org>
+Date: Fri May 4 14:09:14 2012 +0200
+
+ Direct: remove debug message
+
+commit da7cd980d7b88a5089c08d9c49b3ae0163f65d7e
+Author: Marek Pikarski <mass at directfb.org>
+Date: Fri May 4 14:02:03 2012 +0200
+
+ direct: compile fix: include <direct/types.h>
+
+commit 0abfe843628af4a4ea9d2d65826f0bdde0740f25
+Author: Marek Pikarski <mass at directfb.org>
+Date: Fri May 4 13:26:23 2012 +0200
+
+ Conf: generic config extensions fixes and improvements
+
+ Conflicts:
+
+ lib/direct/conf.c
+ lib/direct/conf.h
+
+commit c39b3daae1e9d001fd9d7688add46e645342a6f6
+Author: Marek Pikarski <mass at directfb.org>
+Date: Thu May 3 12:26:00 2012 +0200
+
+ Core: close input devices before shutdown is processed
+
+commit fcf8fd172ab153659d6c6772fcc0442a56094846
+Author: Marek Pikarski <mass at directfb.org>
+Date: Mon Apr 30 14:56:35 2012 +0200
+
+ core: make rest of palette APIs secure-fusion safe
+
+commit 2cf3e296551a78c1935d2303097b6ab67bddd037
+Author: Marek Pikarski <mass at directfb.org>
+Date: Tue Apr 24 13:10:29 2012 +0200
+
+ dfb: fix CreatePalette() which was not ready for secure-fusion
+ display: fix SetColorIndex() which was not ready for secure-fusion
+ core: add SetColorAndIndex(..) which sets color and color index in client card state
+
+ Fix: Slave apps were not able to set and use palette.
+ Removed segfaults and added proper handling in master.
+
+commit 3fab3954474747e0457d175fb792582a256e540d
+Author: Marek Pikarski <mass at directfb.org>
+Date: Mon Apr 23 16:27:13 2012 +0200
+
+ direct: fix default interface selection from cached interfaces
+
+commit c9f33c9ac742a8985922cacb3f99fe4946641d3e
+Author: Marek Pikarski <mass at directfb.org>
+Date: Mon Apr 23 14:54:13 2012 +0200
+
+ direct: replace direct_mutex_*() by pthread_mutex_*()
+
+commit 4a50c114b22c7b9d26bf3561ba9e522721b3c8f5
+Author: Marek Pikarski <mass at directfb.org>
+Date: Mon Apr 23 14:13:03 2012 +0200
+
+ direct: handle multiple settings of default-interface-implementation=type/impl in directfbrc
+
+commit 112fe6c62e391ad54dbd7eb43df07f685736215e
+Author: Marek Pikarski <mass at directfb.org>
+Date: Fri Apr 20 10:01:06 2012 +0200
+
+ direct: support default-interface-implementation=interface_name/implementation_name in config
+
+ Refactored DirectGetInterface(...) to respect default settings in directfbrc.
+ Now it is possible to select e.g. a default ImageProvider by adding
+
+ default-interface-implementation=IDirectFBImageProvider/IMLIB2
+
+ to directfbrc. The IMLIB2 Provider will then be used prior to selecting PNG or JPEG provider.
+
+commit d7316b65f5a51a5907b5b64358049681ecc2ad4e
+Author: Holger Hans Peter Freyther <zecke at selfish.org>
+Date: Sat Apr 14 10:43:40 2012 +0200
+
+ build: Fix make distcheck.
+
+ Add CoreDFB_CallMode.h to the list of header files.
+
+commit 62dd0763524fe7020c6329b6d2e25874928d5b9a
+Author: Marek Pikarski <mass at directfb.org>
+Date: Thu Apr 12 12:16:34 2012 +0200
+
+ direct: also evaluate no-sighandler option in destructor
+
+commit cc36130b38757259252a9a4dcc00b76741063a66
+Author: Marek Pikarski <mass at directfb.org>
+Date: Thu Apr 12 11:13:19 2012 +0200
+
+ - core: optimization: force COREDFB_CALL_DIRECT mode for single-app builds
+
+commit afc141c33608aa3bb1447c9ba0022f0124ccad06
+Author: Marek Pikarski <mass at directfb.org>
+Date: Thu Apr 12 10:13:22 2012 +0200
+
+ direct: respect no-sighandler option
+
+ Conflicts:
+
+ lib/direct/signals.c
+
+commit 4eee6b622337e5e85745107f249c51fb2474759d
+Merge: 7caaf91 a6bdcae
+Author: Marek Pikarski <mass at directfb.org>
+Date: Thu Apr 12 10:18:21 2012 +0200
+
+ Merge branch 'directfb-1.4' of git+ssh://git.directfb.org/git/directfb/core/DirectFB into directfb-1.4
+
+commit a6bdcae75771e2db28507caf793806dde3d35ab1
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Wed Apr 11 15:39:16 2012 +0200
+
+ gfx/generic: fix off-by one issues in 16-bit code introduced by 520907c32769e08272d9b776f5524b37e114343c
+
+commit 7caaf915f65a52b9889b4eb4d7bcf8d4028f7bbd
+Author: Marek Pikarski <mass at directfb.org>
+Date: Tue Apr 10 18:18:46 2012 +0200
+
+ - fix reference counting bug
+
+commit 46de193e9e58e50c2cc3fef2918c4ae9fb905fbb
+Author: Marek Pikarski <mass at directfb.org>
+Date: Tue Apr 10 13:58:55 2012 +0200
+
+ Fix shutdown deadlock.
+ Threads should not sleep in single app mode in CoreDFB_CallMode()
+ The disptacher thread should never sleep in CoreDFB_CallMode()
+
+ core: dispatcher thread should not sleep in CoreDFB_CallMode()
+ fusion: fake return value of fusion_dispatcher_tid() for single app mode to zero
+
+commit 753fbf8d53c0d7e3f7077f6b9b0da5b2b5deee65
+Author: Marek Pikarski <mass at directfb.org>
+Date: Tue Apr 10 12:59:55 2012 +0200
+
+ direct: do not block all signals by default, just subscribe to the observed ones as before
+
+ Makes ctrl-Z on console work again.
+
+commit 923ba1e2fc4de5281539e19fb0a6b81d8ed2d5e8
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Apr 6 18:39:58 2012 +0200
+
+ Fusion: Fix build by adding fusion_dispatcher_tid() for single app.
+
+commit 0803220ceb4c6932b75bc4d82af8442d574fbc42
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Apr 5 19:02:33 2012 +0200
+
+ Core: Add CoreGraphicsState::ReleaseSource() to fix IDirectFBSurface::ReleaseSource() in secure fusion mode.
+
+commit 3653030438ca759183f5cf4358b8a5dc0785245e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Apr 5 19:25:24 2012 +0200
+
+ Fix: Replace direct_thread_sleep by usleep.
+
+commit 3dc15bba9414d934d02d91d220eae8e924496706
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Wed Apr 4 16:48:34 2012 +0200
+
+ devmem: remove bogus ASSERTS
+
+commit 7887f70cedb0b999a01b600875644fdfba3b318a
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed Apr 4 15:55:17 2012 +0200
+
+ core: let ongoing flux calls complete in any case before deinitialization is performed
+
+commit 8009d41496beea491e3cc3ff8f773bbd6ce217d7
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Wed Apr 4 12:27:18 2012 +0200
+
+ remove printf()
+
+commit dade67073d418cd658cfa5e70f338becbe477dc5
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed Apr 4 11:42:02 2012 +0200
+
+ core: implemented clean shutdown
+
+ The registered signal handler is the first one which destroys the core.
+ All pending flux calls wait until core is destroyed before returning DFB_DEAD.
+
+commit 761f569f5b055515f1daa2834c8d8cfc9bf7d9de
+Author: Marek Pikarski <mass at directfb.org>
+Date: Wed Apr 4 13:41:12 2012 +0200
+
+ direct: reworked signal handling
+
+ Created threads block all signals by default.
+ Added an extra thread dedicated for asynchronous signal processing.
+ This is the only thread which catches and processes signals.
+ The changes were needed for a synchronous and clean application shutdown.
+
+commit 8a74c2a600ffd7a85561ed24067308bc4ab5e073
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue Apr 3 14:06:22 2012 +0200
+
+ core: add function CoreDFB_CallMode() which determines whether calls should be direct, indirect or denied.
+
+ NOTE: Requieres latest flux from git
+
+commit 8bc73643cb8024718bb4e71885ca0711d38ea042
+Author: Marek Pikarski <mass at directfb.org>
+Date: Mon Apr 2 18:15:55 2012 +0200
+
+ core: fix race condition between dfb_wm_close_all_stacks() and layer_context destructor
+
+commit ab0d779e85cec22c7c2e7b8b6b1976049b1ba0f1
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue Mar 20 18:19:13 2012 +0100
+
+ DirectFB 1.4.16
+
+commit 251b90db938c5d35edd19dade3e3c58394cef0aa
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue Mar 20 16:32:49 2012 +0100
+
+ debian: update pacakge information
+
+commit b3aff6f1ee16e863d79bd9cf12dfbb65ff5e7acd
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue Mar 20 15:20:10 2012 +0100
+
+ core: do not set CSTF_EXTERNAL for the system memory pool
+
+commit be01188513feee2a03fb9affbf06b091998810d3
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 20:57:52 2012 +0100
+
+ Misc: Fix compiler warnings.
+
+commit cc8834702ae092d189a81b3638ec758cd58e1d15
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 20:54:16 2012 +0100
+
+ Core: Clear new layer buffers, unless new run-time option "no-layers-clear" is used.
+
+commit 112cbd983537d132543a8299cb2425bbf7a44c0c
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 20:53:06 2012 +0100
+
+ Core: Remove superfluous apostrophe from FUSION_OBJECT_METHODS macro invocation.
+
+commit 0335a6f450ae2729e767b6f8770ba473e423fb01
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 20:11:12 2012 +0100
+
+ Misc: Break up config usage into parts smaller than 4096 bytes.
+
+commit 71ed189cd83309fd4da078abfcd30cbac429962e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 20:03:21 2012 +0100
+
+ Core: Add dfb_surface_clear_buffers() to allocate/fill all surface buffers.
+
+commit a57beff89a5a43e703e1dfe6a61d9364471493c2
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 20:01:27 2012 +0100
+
+ Graphics: Add dfb_gfx_clear() to fill buffer with fully transparent black.
+
+commit e406808c217576afeb08423f5b4745de2ca0d93d
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 19:30:38 2012 +0100
+
+ Core: Enhance error passing of surface locking functions.
+
+commit 5a85b044847e23999065c09949641a9195b0ebd1
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 19:29:42 2012 +0100
+
+ Core: Remove superfluous apostrophe at end of DEFINE_INTERFACE statement.
+
+commit 5e7c11846c43a794537cacc70f4c9ba27c4de1f2
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 19:28:39 2012 +0100
+
+ Core: Make use of D_UNUSED_P(param).
+
+commit dc4025bf35e974604dc200fcfb3f8286922b1913
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 19:24:43 2012 +0100
+
+ PNG: Fix compiler warnings.
+
+commit 6db68f9e6043f0225a5e3efeb8283d70cd802aa1
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 19:22:41 2012 +0100
+
+ JPEG: Fix compiler warnings.
+
+commit ddf020dbe065e9eb8a6640b769113ce07317a9aa
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 19:17:49 2012 +0100
+
+ direct: Choose D_UNUSED_P for unused parameters.
+
+commit a8e7cf02012ee5092d565b49ddb1aa3545182231
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 19:13:15 2012 +0100
+
+ direct: Add D_UNUSED(param) macro for cancelling compiler warnings.
+
+commit 2bab1328b3e5315ba121f9a895c392f04cbf52ae
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 19:10:18 2012 +0100
+
+ DFIFF: Fix compiler warnings.
+
+commit 3cb7f4e939a75d5dcd679e017a164f60eb110053
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 19:06:39 2012 +0100
+
+ configure: Add AM_SILENT_RULES with default 'no'.
+
+commit 71c1d6c27770dc2413fae3309012a1f97d8e6d8e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Mar 8 00:38:03 2012 +0100
+
+ IDirectFBDisplayLayer: Fix crashes since window stack is not present in exclusive mode.
+
+commit 74219810addbc9d8fa57cdc58afd493b19a625ed
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Mar 7 16:02:39 2012 +0100
+
+ IDirectFB: Do not mask out DSCAPS_FLIPPING when creating a windowed primary surface.
+
+commit 363739298335a0f76dea2de1c9bc523293242baa
+Merge: 7c746ea 705cbc5
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Mar 7 09:48:12 2012 +0100
+
+ Merge branch 'directfb-1.4' of git+ssh://git.directfb.org/git/directfb/core/DirectFB into directfb-1.4
+
+commit 7c746ea58eccbeacda83beb1f0ba8ebcb2796646
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Mar 7 09:47:29 2012 +0100
+
+ IDirectFB: Allow DSCAPS_TRIPLE for windowed primary surface, thanks to Rob McConnell!
+
+commit 705cbc563e53b8c9a59451c7838cfc4573eccd18
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue Mar 6 13:44:57 2012 +0100
+
+ merged generic driver changes from Broadcom (thanks!)
+
+ - optimize Cop_to_Aop_32 (loop unrolling)
+ - use preincrement/predecrement instead of postdecrement
+ (might improve performance on some compilers/architectures)
+ - dont issue a "unknown format" warning when calling dfb_pixel_from_color with
+ indexed formats
+
+commit 0c169c9fc1cb9711d257d91d9ac2b8a0c72e8efe
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Mar 5 14:45:11 2012 +0100
+
+ merge various patches from Broadcom (thanks!)
+
+ idirectfbgl: add IDirectFBGL::TextureSurface() to the interface definition
+ input: implement quitpipe also for the hotplug thread
+ jpeg provider: improve probe to recognize more valid jpeg formats
+ png provider: more debugging, support libpng 1.5
+ libdirect: never return an uninitialized value in direct_recursive_mutex_init()
+ surface pool: improve debugging
+ idirectfbsurface: in IDirectfFBSurface_Flip() pass return value of CoreSurface_Flip()
+ tools: make libpng 1.5 compatible
+
+ various files: use __VA_ARGS__ for macros
+
+commit 2199f40b1529c8d57736f53855e04bd0fa332fa0
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Mar 5 11:42:04 2012 +0100
+
+ debian: increase version, before I forget
+
+commit 058d007cd83b52acd831a58fb61e099632a75a43
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Feb 29 18:01:07 2012 +0100
+
+ IDirectFBWindow: Destroy the window explicitly on Release when interface is from CreateWindow.
+
+commit d12f85632a071c673091375acf6649e8ace3f777
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Feb 29 17:59:32 2012 +0100
+
+ Core: Don't set owner of layer surfaces until privileges are sorted out better.
+
+commit 466b073002d7f14fb305e93556cbe1e1a592c88f
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Feb 10 10:05:14 2012 +0100
+
+ Core: Deallocate buffers right away when deallocating a layer surface.
+
+commit 16283c3d93e3116417d499f0b613a4fcc34a23b9
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Feb 10 00:18:24 2012 +0100
+
+ GeneFX: More fixes for AYUV rendering, FillRect etc
+
+commit 56d11ca45f3609d52ebc8fce4415e5dae2262c04
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Feb 9 22:32:58 2012 +0100
+
+ Core: Fix surface allocation decouple issue, thanks to Rob McConnell!
+
+ "This patch fixes the surface allocation decoupling when 'dfbtest_prealloc' is run as a slave and exits. The wrong surface allocation object was being referenced in the call to 'dfb_surface_allocation_unlink()' in function 'dfb_surface_allocation_decouple()'. In effect, it was trying to unlink the same surface allocation object twice and the assertion occurred in the call to 'dfb_surface_allocation_locks()'."
+
+commit f5cd5dd0123cf0182b53ff6f572ba94a7f40a695
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Feb 9 22:15:15 2012 +0100
+
+ Core: Fix assertion that could happen when slave has no access to destination surface.
+
+ If CoreGraphicsState::SetDestination() or others have failed, the rendering functions
+ called afterwards were running into an assertion.
+
+commit e1d55ba80f0e776b179603965d29b6e754b1bb49
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Feb 9 22:14:36 2012 +0100
+
+ X11: Fix OOM case in x11Lock() that left the mutex locked.
+
+commit 3b0f7d06aee524409c44c0636761a6b6018ffd81
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Feb 9 22:13:25 2012 +0100
+
+ GeneFX: Use RGB accumulators only, adding YUV values does not work.
+
+commit 095fadaf86403035d6fd40b99016b82a497e9eea
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Feb 8 21:37:29 2012 +0100
+
+ Core: Fix error path of surface allocation creation further, thanks to Rob McConnell!
+
+ "Please find attached a patch against the 1.6-pre code you have that fixes an assertion failing when the surface allocation object is successfully created, but the actual AllocateBuffer() function fails. In this case, the surface allocation object destructor is called, but because the allocation size is not set the "CORE_SURFACE_ALLOCATION_ASSERT()" macro bails out.
+ I've added a new state flag to indicate that the allocation is being initialised. This ties the actual allocation and AllocateBuffer() functions together."
+
+commit 075adce3c75e74c7332462a474c6ce8801e06766
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Feb 2 16:05:56 2012 +0100
+
+ IDirectFBDisplayLayer: Convert two more dfb_layer_activate_context to CoreLayer_ActivateContext, thanks to Rob McConnell for spotting!
+
+commit d6b965e425937a3097e6822b546625788735f72a
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Feb 2 12:07:59 2012 +0100
+
+ Core: Fix error path of surface allocation.
+
+ When the pool returns an error during AllocateBuffer, set the
+ CSALF_DEALLOCATED flag so the (newly added) destructor knows
+ it should not call the pool's DeallocateBuffer function.
+
+commit 56a0a6ea9830e018ac3a4646382c4d9542757581
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Mar 3 16:24:55 2012 +0100
+
+ Core: Fix munmap issue with modified lock.addr by keeping a copy in .handle (shared secure pool).
+
+commit e24a8ad788335dd657378318e1a34de74046d9b3
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Mar 3 14:50:13 2012 +0100
+
+ Core: Don't create a window stack with private layer contexts, no CreateWindow support.
+
+commit eb0ac2d03bf59498c08a4c9ffe739c46c14c6679
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Mar 3 14:43:06 2012 +0100
+
+ Fusion: When using "trace-ref" option print throw/catch as well.
+
+commit 63c00c567d36bb5b504a0fa348cd2efa2cf2f66d
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Mar 1 11:49:07 2012 +0100
+
+ gfx/generic: backport various clipping fixes and improvements in the generic software rasterizer from 1.6
+
+ this includes backports of
+ 4a9192368170e7fbc39adfa6de63cd641ecb06cd
+ 0ee6771c9a60128f130266ab5fd93455fcac2aab
+ f8390fdb9eba76fc78d86f2a0b132e43135dae38
+ 725cd0958edc94eab7a71adc8195ee0eb8377a70
+
+commit 7f32c8cd5aa1207be367702db6092b721c9a1264
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Jan 5 21:47:45 2012 +0100
+
+ dfbdump: Add loop mode "-l" to be used as secure master for example.
+
+commit 773b76ed94f7760885c2f5cdcba908cca502e2e5
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Jan 16 13:53:31 2012 +0100
+
+ Graphics: Add some debug to dfb_gfxcard_batchblit2() software path, still unimplemented.
+
+commit b839d17299e0d560cfe38d3609b6a680ca5a99e2
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Jan 27 11:56:01 2012 +0100
+
+ Core: Deallocate window surface buffers right away when a window is destroyed.
+
+commit 42718bfcde85a1abd61edc7d15cb98e23edbd9e4
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Jan 27 11:57:24 2012 +0100
+
+ Fusion: Add run time option "trace-ref" to print messages including stack dump when a certain ref is up/downed.
+
+commit 83c4218e8ec8a84a015a17d37fb12c0098902667
+Author: Jon Pomrenke <jon.pomrenke at cobbtuning.com>
+Date: Tue Jan 17 20:36:54 2012 +0200
+
+ vt_flush_thread flushing first key press
+
+ The first key press after DirectFB initialization is always discarded.
+ The behavior is new in 1.4-0 and I believe comes from the following
+ changeset:
+
+ commit e0be70ec8aedde56f23d216530746a93e7746ff6
+ Author: Ville Syrjala <syrjala at sci.fi>
+ Date: Tue May 12 04:16:57 2009 +0300
+
+ vt/keyboard: Flush console input when not used
+
+ To keep the kernel happy the console buffer must be kept from filling
+ up. If the buffer is sufficiently full the kernel stop sleeping and
+ instead wakes up every tick to do something. This problem occurs when
+ the keyboard driver is not used and the linuxinput driver does not grab
+ the devices. Add a new thread whose job is to keep flushing the buffer
+ when the keyboard driver is not there to consume the data.
+
+ I have traced the issue to vt.c::vt_flush_thread() calling select().
+ keyboard.c::driver_open_device() sets dfb_vt->flush to false but
+ vt_flush_thread() will not exit until the first key press. As
+ vt_flush_thread() exits, it makes one final call to tcflush() and discards
+ the unread input.
+
+ Here is a brief excerpt of my console output, demonstrating that the first
+ input is a key release, rather than a key press.
+ (*) Direct/Thread: Started 'VT Flusher' (831) [DEFAULT OTHER/OTHER 0/0] <2093056>...
+ (*) Direct/Thread: Started 'Keyboard Input' (832) [INPUT OTHER/OTHER 0/0] <2093056>...
+ (*) DirectFB/Input: Keyboard 0.9 (directfb.org)
+ waiting for event
+ got key_id= 63043key released
+ waiting for event
+ got key_id= 63043key pressed
+ waiting for event
+ got key_id= 63043key released
+
+commit e9b0a2d075eb2fbaff511d4c7e8c66a69ed29372
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue Jan 10 10:17:42 2012 +0100
+
+ fixes for preallocated surfaces in secure-fusion mode
+
+ - Only call register_prealloc() for preallocated surfaces
+ - Before call ing unregister_prealloc() call CoreDFB_WaitIdle() to avoid
+ problems when a surface is still used by a pending asynchronous operation
+
+commit 2928e8ab05d3499f60a9cb83595a053b65608474
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Jan 4 14:19:13 2012 +0100
+
+ DirectFB: Thanks to Haithem Rahmani for updating our copyright banner! Happy New Year!
+
+commit dfb64f6d56ae9d2fb7025d282a390b4ee0251228
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Dec 23 16:41:06 2011 +0100
+
+ CoreSurfaceAllocation: Fix decoupling of allocations, lead to crashes with more than one in a buffer.
+
+ The allocation was not removed from the buffer's allocs list in all cases.
+
+commit 139659185057ec0b8551f5b40074365c85fea693
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Dec 23 16:40:05 2011 +0100
+
+ CoreSurface_real: Add some more debug to PreLockBuffer2().
+
+commit 0eb955fdbff2ef9a39e3eb38bd1de64e87b6e4f1
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Dec 23 02:48:20 2011 +0100
+
+ Core: Destroy font manager only if already created, fixes crash in signal handler during initialization.
+
+commit ed4c5b89ab6ba5b767723bbf078fd1d89d30eeb1
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Dec 23 01:05:45 2011 +0100
+
+ Graphics: Fix for C++ in inline clipping function.
+
+commit d7aa462db2c692ca4e58322ba438631580f4925d
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Dec 23 01:01:24 2011 +0100
+
+ Fusion: Remove debug statement in object pool code left over from migration to hash table.
+
+commit 386bc41701867e9d121e2b0bc6f14a94d13a6046
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Dec 18 00:58:13 2011 +0100
+
+ API: Fix comment of Porter/Duff rules (move into header), thanks to Ezequiel Garcia!
+
+commit 866194c210105801ce19b4582937c24f6151bd5c
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Dec 11 03:21:14 2011 +0100
+
+ Fusion: Fix crash in fusion_object_pool_destroy() replacing direct_list_foreach by fusion_hash_foreach.
+
+commit 5b9a1555e81ec0b79ffefef4d9997f1e45627e25
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Dec 11 03:19:40 2011 +0100
+
+ Fusion: Add fusion_hash_foreach() working like direct_list_foreach() via FusionHashIterator and inlined fusion_hash_iterator_init() and fusion_hash_iterator_next().
+
+commit c91a106cb463838611d04222f7cbfda1fb5d1f61
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Dec 11 00:19:46 2011 +0100
+
+ FBDev: Fix surface pool for new surface/buffer less allocation code.
+
+commit 3ec2817025e927fe836a2734a87f35892f2ae87c
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Dec 11 00:19:10 2011 +0100
+
+ Core: Fix local surface pool (single app) for new surface/buffer less allocation code.
+
+commit 4c140ee17d58f346d42f5868e1580fbf0b802aef
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon Dec 5 17:02:34 2011 +0000
+
+ build: fix out of tree builds (again)
+
+commit d369b734d6796027f51b6a99250a07e606a488dd
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Dec 2 05:38:08 2011 +0100
+
+ Fusion: Replace linked list by hash table for objects, finally, *sigh*
+
+ Improves fusion_object_get() performance a lot, that was having a big impact
+ for secure fusion because of all the object lookups, e.g. when the source for
+ a blitting operation is set!
+
+commit 89cdc05b89b4b829321605bc8f403e3c8f7970ee
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Nov 19 20:21:04 2011 +0100
+
+ Core: Surface allocation object, avoid system calls when rendering!
+
+ Make CoreSurfaceAllocation a FusionObject.
+
+ Change ISurface::PreLockBuffer() to return a CoreSurfaceAllocation
+ instead of index.
+
+ Add ISurface::PreLockBuffer2() which does not take a buffer
+ object handle, but a buffer role. This avoids overhead and
+ makes locking the surface skirmish in slaves obsolete. The
+ output of the method is a CoreSurfaceAllocation object.
+
+ This new method is used by dfb_surface_lock_buffer(),
+ dfb_surface_read_buffer() and dfb_surface_write_buffer()
+ that no longer lock the surface skirmish, just an IPC call
+ and the call into the surface pool for the resulting allocation.
+
+ Replace dfb_surface_buffer_locks() by dfb_surface_allocation_locks().
+
+ Add dfb_surface_allocation_decouple() for deallocating and setting
+ surface and buffer pointers to NULL.
+
+ Use fusion_skirmish_init2() to make surface skirmish a plain mutex
+ in case of secure fusion, resulting in greater performance.
+
+ Begin with some stereo cleanups, adding dfb_surface_get_buffer2()
+ that also takes a DFBSurfaceStereoEye. In the end the eye selection
+ via dfb_surface_set_stereo_eye() will be gone. That state should
+ be local to IDirectFBSurface, CoreGraphicsState etc.
+
+ Sacrifice CSALF_ONEFORALL for clean and robust implementation.
+
+ Non-secure (using real skirmish with system calls):
+
+ Benchmarking 10x10 on 852x464 RGB32 (32bit)...
+
+ Anti-aliased Text 1.000 secs ( 2811.600 KChars/sec) [ 99.0%]
+ Anti-aliased Text (blend) 1.005 secs ( 437.014 KChars/sec) [100.0%]
+ Fill Rectangle 1.000 secs ( 69.560 MPixel/sec) [ 99.0%]
+ Fill Rectangle (blend) 1.000 secs ( 45.230 MPixel/sec) [100.0%]
+ Fill Rectangles [10] 1.000 secs ( 319.100 MPixel/sec) [ 99.0%]
+ Fill Rectangles [10] (blend) 1.000 secs ( 97.300 MPixel/sec) [ 99.0%]
+ Fill Triangles 1.000 secs ( 33.565 MPixel/sec) [100.0%]
+ Fill Triangles (blend) 1.000 secs ( 25.770 MPixel/sec) [ 99.0%]
+ Draw Rectangle 1.000 secs ( 648.600 KRects/sec) [ 99.0%]
+ Draw Rectangle (blend) 1.000 secs ( 455.300 KRects/sec) [ 99.0%]
+ Draw Lines [10] 1.000 secs ( 5541.000 KLines/sec) [100.0%]
+ Draw Lines [10] (blend) 1.000 secs ( 4359.000 KLines/sec) [ 99.0%]
+ Fill Spans 1.000 secs ( 60.900 MPixel/sec) [100.0%]
+ Fill Spans (blend) 1.000 secs ( 41.000 MPixel/sec) [100.0%]
+ Fill Trapezoids [10] 1.000 secs ( 229.500 MPixel/sec) [ 99.0%]
+ Blit 1.000 secs ( 38.400 MPixel/sec) [ 99.0%]
+ Blit 180 1.000 secs ( 38.810 MPixel/sec) [ 99.0%]
+ Blit colorkeyed 1.000 secs ( 38.050 MPixel/sec) [ 99.0%]
+ Blit destination colorkeyed 1.000 secs ( 38.740 MPixel/sec) [ 99.0%]
+ Blit with format conversion 1.000 secs ( 32.650 MPixel/sec) [ 99.0%]
+ Blit with colorizing 1.000 secs ( 30.980 MPixel/sec) [ 99.0%]
+ Blit from 32bit (blend) 1.000 secs ( 35.720 MPixel/sec) [ 99.0%]
+ Blit from 32bit (blend) with colorizing 1.000 secs ( 22.490 MPixel/sec) [ 99.0%]
+ Blit SrcOver (premultiplied source) 1.000 secs ( 35.940 MPixel/sec) [ 99.0%]
+ Blit SrcOver (premultiply source) 1.000 secs ( 35.140 MPixel/sec) [100.0%]
+ Stretch Blit 1.000 secs ( 1470.786 MPixel/sec) [ 98.0%]
+ Stretch Blit colorkeyed 1.000 secs ( 823.420 MPixel/sec) [ 99.0%]
+
+ Secure (using fake skirmish being a simple mutex):
+
+ Benchmarking 10x10 on 852x464 RGB32 (32bit)...
+
+ Anti-aliased Text 1.000 secs ( 3056.400 KChars/sec) [ 99.0%]
+ Anti-aliased Text (blend) 1.000 secs ( 453.600 KChars/sec) [100.0%]
+ Fill Rectangle 1.000 secs ( 102.280 MPixel/sec) [ 99.0%]
+ Fill Rectangle (blend) 1.000 secs ( 57.830 MPixel/sec) [ 99.0%]
+ Fill Rectangles [10] 1.000 secs ( 391.600 MPixel/sec) [ 99.0%]
+ Fill Rectangles [10] (blend) 1.000 secs ( 102.600 MPixel/sec) [100.0%]
+ Fill Triangles 1.000 secs ( 46.500 MPixel/sec) [ 99.0%]
+ Fill Triangles (blend) 1.000 secs ( 32.620 MPixel/sec) [ 99.0%]
+ Draw Rectangle 1.000 secs ( 924.700 KRects/sec) [100.0%]
+ Draw Rectangle (blend) 1.000 secs ( 586.000 KRects/sec) [ 99.0%]
+ Draw Lines [10] 1.000 secs ( 7528.000 KLines/sec) [ 99.0%]
+ Draw Lines [10] (blend) 1.000 secs ( 5342.000 KLines/sec) [ 99.0%]
+ Fill Spans 1.000 secs ( 84.630 MPixel/sec) [100.0%]
+ Fill Spans (blend) 1.000 secs ( 50.380 MPixel/sec) [ 99.0%]
+ Fill Trapezoids [10] 1.000 secs ( 254.700 MPixel/sec) [ 99.0%]
+ Blit 1.000 secs ( 57.480 MPixel/sec) [ 99.0%]
+ Blit 180 1.000 secs ( 58.010 MPixel/sec) [ 98.0%]
+ Blit colorkeyed 1.000 secs ( 56.730 MPixel/sec) [ 99.0%]
+ Blit destination colorkeyed 1.000 secs ( 57.300 MPixel/sec) [ 99.0%]
+ Blit with format conversion 1.000 secs ( 45.810 MPixel/sec) [100.0%]
+ Blit with colorizing 1.000 secs ( 43.410 MPixel/sec) [ 99.0%]
+ Blit from 32bit (blend) 1.000 secs ( 50.970 MPixel/sec) [ 99.0%]
+ Blit from 32bit (blend) with colorizing 1.000 secs ( 27.220 MPixel/sec) [ 99.0%]
+ Blit SrcOver (premultiplied source) 1.000 secs ( 52.560 MPixel/sec) [ 99.0%]
+ Blit SrcOver (premultiply source) 1.000 secs ( 49.300 MPixel/sec) [ 98.0%]
+ Stretch Blit 1.000 secs ( 1482.339 MPixel/sec) [ 99.0%]
+ Stretch Blit colorkeyed 1.000 secs ( 832.783 MPixel/sec) [ 99.0%]
+
+ Secure slave with accel1 branch:
+
+ Benchmarking 10x10 on 852x464 RGB32 (32bit)...
+
+ Anti-aliased Text 1.002 secs ( 3560.479 KChars/sec) [ 22.0%]
+ Anti-aliased Text (blend) 1.014 secs ( 457.988 KChars/sec) [ 3.9%]
+ Fill Rectangle 1.000 secs ( 132.680 MPixel/sec) [ 96.0%]
+ Fill Rectangle (blend) 1.001 secs ( 93.496 MPixel/sec) [ 67.0%]
+ Fill Rectangles [10] 1.001 secs ( 521.178 MPixel/sec) [ 43.0%]
+ Fill Rectangles [10] (blend) 1.005 secs ( 111.044 MPixel/sec) [ 14.0%]
+ Draw Lines [10] 1.000 secs ( 9755.000 KLines/sec) [ 95.0%]
+ Draw Lines [10] (blend) 1.000 secs ( 10185.000 KLines/sec) [ 95.0%]
+ Blit 1.000 secs ( 189.480 MPixel/sec) [ 96.0%]
+ Blit 180 1.000 secs ( 206.160 MPixel/sec) [ 96.0%]
+ Blit colorkeyed 1.000 secs ( 167.730 MPixel/sec) [ 96.0%]
+ Blit destination colorkeyed 1.000 secs ( 185.440 MPixel/sec) [ 97.0%]
+ Blit with format conversion 1.001 secs ( 96.123 MPixel/sec) [ 69.0%]
+ Blit with colorizing 1.000 secs ( 91.340 MPixel/sec) [ 85.0%]
+ Blit from 32bit (blend) 1.000 secs ( 160.560 MPixel/sec) [ 83.0%]
+ Blit from 32bit (blend) with colorizing 1.002 secs ( 43.003 MPixel/sec) [ 39.0%]
+ Blit SrcOver (premultiplied source) 1.000 secs ( 219.320 MPixel/sec) [ 94.0%]
+ Blit SrcOver (premultiply source) 1.000 secs ( 185.800 MPixel/sec) [ 75.0%]
+
+commit 2b816c646e2ff1f816835305789b7857e4e0706e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Nov 19 20:08:45 2011 +0100
+
+ dfbtest_resize: Remove alloca() usage.
+
+commit f3087d572e5b2baf928919acefcb20923c8cc637
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Nov 19 17:10:37 2011 +0100
+
+ IDirectFBDataBuffer: Fix crash in non-pure Voodoo clients due to new DataBuffer dispatch.
+
+commit b988aa1c25d1fefa07dbdef7b4196c394fb05bd4
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Nov 19 13:49:38 2011 +0100
+
+ Package: Add flux_comp.make to EXTRA_DIST.
+
+commit a32d7fdf5b58e70736d5040a3e3d5bfd7ed590a3
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Nov 19 13:15:16 2011 +0100
+
+ Fusion: Provide dummy definition for FCEF_QUEUE if Fusion kernel version is 8.8.0 and not 8.8.1.
+
+commit e19134cd2deb7e0272eb24bf6952e1f3ffb41cfe
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Nov 19 12:46:45 2011 +0100
+
+ Fusion: Increase main shm pool (e.g. for objects) max size from 1 to 16 MB.
+
+commit 78e490fbc89f9bb0b44df14be31dddf232aede26
+Author: Holger Hans Peter Freyther <zecke at selfish.org>
+Date: Fri Nov 18 22:38:17 2011 +0100
+
+ fusion: Rework the comment of fusion_skirmish_init2 in single app
+
+commit 56fa005a637867a42a4265a3f96471f11d51c84c
+Author: Holger Hans Peter Freyther <zecke at selfish.org>
+Date: Fri Nov 18 22:11:05 2011 +0100
+
+ fusion: Provide fusion_skirmish_init2 on single app builds
+
+ Change 08ba2335fd9e6ce9895af02a906f57f7ffbc0d65 introduced calling
+ fusion_skirmish_init2 in src/core/gfxcard.c. Introduce a version for
+ single app that just calls fusion_skirmish_init as everything should
+ be local on a single app system.
+
+commit e5236846d511433d765e7c9d38553ccd959e1c6c
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Nov 18 15:11:46 2011 +0100
+
+ Core: Add magic value to Core TLS struct.
+
+commit b831baf141a22480b9b581c153e9067dbec20f38
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Nov 18 15:05:28 2011 +0100
+
+ IDirectFBDisplayLayer: Fix direct core call in SetCooperativeLevel(), instead use CoreLayerContext_SetCooperativeLevel().
+
+commit cea7420b4d84c8524fc6189a5706bdf449a355f8
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Nov 18 15:04:11 2011 +0100
+
+ API: Add DFB_NOALLOCATION result used internally.
+
+commit c3098f236e14a4ea277f0af3f276c8e59825f226
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Nov 17 22:21:42 2011 +0100
+
+ Fusion: Add fusion_skirmish_init2() with 'local' argument to create a fake skirmish (simple mutex).
+
+ This can be used by secure fusion mode when skirmishs are no longer
+ locked by slaves at all, improving performance a lot.
+
+commit 2b491bbcf3c6eb1458ad59bda208d577da21bb7a
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Nov 18 14:06:10 2011 +0100
+
+ Core: Remove CSTF_EXTERNAL from shared memory pools again.
+
+commit 2f4c24a79b8e744d4861ac50df185561b89e426d
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Nov 17 22:23:08 2011 +0100
+
+ Core: Replace FusionProperty in gfxcard by hybrid skirmish (simple mutex in secure fusion mode).
+
+commit 6a3b0d59108128b5edd906ee0173ed690897370f
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Nov 17 22:19:46 2011 +0100
+
+ SecureFusion: Avoid mmap/munmap on each Lock/Unlock in shared surface pool when being the master.
+
+ This restores rendering speed a lot for software fallbacks.
+
+commit f86f8a71f86849867abcb730a0dd3764f40dc0a9
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 16 22:11:53 2011 +0100
+
+ Ehem, finally, changing 2010 to 2011 in the banner, 1.5 months before 2012 :)
+
+commit a21763e8bd8ca7491467aab7e173f7dcded6cbdc
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 16 20:26:23 2011 +0100
+
+ Fusion: Fix single app build by adding FCEF_QUEUE definition.
+
+commit 41121a3cfc984506827cec1b7f9594fc37bd1e97
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 16 02:25:52 2011 +0100
+
+ Core: Applied patch from Timothy Strelchun adding CCF_WRITESYSMEM, thanks!
+
+ Updated dfb_gfxcard_check_state to check for full system memory support.
+
+ Added CCF_WRITESYSMEM so that a graphics driver can fully report that
+ it supports reading and writing to system memory based surfaces, and
+ updated the dfb_gfxcard_check_state function to use that data to
+ determine if acceleration is possible when the back buffer policy is
+ system only.
+
+commit cc72c8c3126fbfecc3918e191eb86752ae67b275
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 16 01:20:06 2011 +0100
+
+ X11: Fix broken expose event handling, many thanks to Loïc Yhuel!
+
+commit be3e8550634baa3ab6cd0ee5781787518f0efc2a
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Nov 13 13:49:45 2011 +0100
+
+ Core: Use new "queue" property for rendering and state setting methods.
+
+ Except surface setters because of out of order execution with references
+ being dropped right after blitting from but before flushing.
+
+commit 5e32ad74722e87f54d544aecb9628befb9418cc2
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Nov 13 12:32:23 2011 +0100
+
+ WM/Default: Implement same flipping scheme as in SaWMan.
+
+commit 5156c4d6e5afaed32aeb6212cc23dd9c022a5a6b
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Nov 13 12:31:46 2011 +0100
+
+ Core: Add CSF_SOURCE2_LOCKED to mask for calling dfb_state_update().
+
+commit 58f29c34c420de09e40eb3c2932c7cac7c22d592
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 9 19:10:08 2011 +0100
+
+ IDirectFBWindow: Fix LowerToBottom()!
+
+commit 1fae798ddafd5881ec629cc4eccec23b6164c745
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Nov 8 17:40:30 2011 +0100
+
+ IDirectFBDataBuffer: Don't include media/DataBuffer.h when DIRECTFB_BUILD_PURE_VOODOO is defined.
+
+commit 966df909ce0397e53b1a953f07053dbfc0ebe38e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Nov 7 21:00:03 2011 +0100
+
+ IDirectFBDataBuffer: No DataBuffer_Init_Dispatch when DIRECTFB_BUILD_PURE_VOODOO is defined
+
+commit 133be3114c0df11df86913a4cb1393bac30b7e1c
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Nov 7 18:52:49 2011 +0100
+
+ Fusion: When MADV_REMOVE is supported use static ftruncate and no longer resize file in brk().
+
+commit 8b6426426622f147b8f062af03cd7d339c99b526
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Nov 5 22:48:53 2011 +0100
+
+ Core: Add error handler for window object creation, e.g. OOM case.
+
+commit 0122329e87b08842a1050009fcb585b4d1c618e0
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Nov 5 22:48:23 2011 +0100
+
+ Core: Fix assertion in error patch of surface creation.
+
+commit cd341220e38d31df26970c3e2e85c5e947cf5ef4
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Nov 5 20:16:52 2011 +0100
+
+ Core: When decoupling a buffer being unlocked, deallocate right away.
+
+commit 8bd15c27f897b72b1608b5f75437d87ae815e0a7
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Nov 4 15:46:35 2011 +0100
+
+ Core: Add dfb_surface_deallocate_buffers() that deallocates all surface buffers, called by unrealize_region() instead of destroying the buffers now.
+
+commit cb6afa20c248605890d042696259f32ef7d7a6f1
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Nov 4 14:59:57 2011 +0100
+
+ dfbtest_window_cursor: Add test for cursor flags and per window cursor shape.
+
+commit 6acb15ecdc50b37fa66c74827bdf61c783ef9e21
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 2 21:41:58 2011 +0100
+
+ cursor: Move per-window cursor shape setting into core, adding dfb_window_set_cursor_shape().
+
+commit b1922d7c562ba74449f31d53b9503c99fbb6d5df
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Nov 3 13:18:54 2011 +0100
+
+ Core: Fix missing Dispatch init for hotplug devices, thanks to Steven (Sheng-Chi) Chang!
+
+commit e7cdb8030fbf865dda8d1956b2dde54c471fdd37
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 28 12:13:59 2011 +0200
+
+ Genefx: Add planar YUV smooth scaling, only NV12 and NV21 for now.
+
+commit 7cc4972d9394027f00d59bbb838744f5f255f9d5
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 28 11:55:16 2011 +0200
+
+ IDirectFBWindow: Allow DSCAPS_TRIPLE to be used for windows.
+
+commit df4c9bd701d06346dc6a10808ba89edd2c97bc60
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 27 17:00:49 2011 +0200
+
+ Input: Get lcok state and other items from input device, not via events.
+
+commit 6bb04acb994af29d1788e62aba73c1556f00364c
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 23 03:36:35 2011 +0200
+
+ CoreGraphicsStateClient: Move mod_hw flags back to modified.
+
+ Temporary solution, this will be fixed by adding GetAccelerationMask()
+ to CoreGraphicsState flux, not loading the graphics driver at slaves anymore.
+
+commit f85ed89d3d884068e5f6dcb815e824148eadb448
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 23 02:52:14 2011 +0200
+
+ CoreGraphicsStateClient: Add debug messages.
+
+commit 4d02c386433c8010158722afd34323b06600569c
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 21 22:26:50 2011 +0200
+
+ X11: Add dfb_surface_notify_display() calls to primaryFlipRegion()
+
+ This function should actually be called, when the buffer is displayed,
+ e.g. for queued swap happening on vsync.
+
+commit 29410e1dbdde58f806f74b61d34f48339cc01c28
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 21 21:52:13 2011 +0200
+
+ Core: No fusion_object_set_lock() in dfb_surface_create()
+
+ The lock was for reactor globals only.
+
+ This prevents a dead lock.
+
+commit d4b974d3a4cfd211cbd3b9995ba7a95535cb5c78
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 21 21:51:46 2011 +0200
+
+ Core: Return from _dfb_layer_region_surface_listener in CSNF_DISPLAY case.
+
+ This prevents a dead lock.
+
+commit 51bed2228e241c8e9a141990f4e3ee3ad0a6e059
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Oct 8 14:31:19 2011 +0200
+
+ Core: Add internal field to layer region config for keeping buffers also when region is unrealized.
+
+commit 70f00a8cf1a08d2e1a8c7278d51237d364d6b2c1
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 6 00:19:28 2011 +0200
+
+ SecureFusion: Skirmish Fighting Round 1
+
+ This is the first round in getting rid of Skirmish!
+
+ Remove default permission to prevail/dismiss a skirmish.
+
+ Add fusion_skirmish_add_permissions().
+
+ Add fusion_skirmish_add_permissions(PREVAIL|DISMISS) call to:
+ - create_arena
+ - fusion_enter (arenas lock, reactor globals)
+ - fusion_object_pool_create
+ - fusion_shm_init
+ - dfb_clipboard_core_initialize
+ - dfb_core_arena_initialize
+ - dfb_surface_create
+
+ Remove unnecessary locking in shm pool attach/detach.
+
+ Replace locking in dump_windows (dfbdump) by CoreLayer_GetPrimaryContext().
+
+ No permission required (only IPC calls left):
+ - input device
+ - layer
+ - layer region object
+ - screen
+ - surface pool
+ - surface pool bridge
+
+commit 71533738bcb93cd53763f1aa2cebc4c562c83b2b
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue Oct 4 18:07:50 2011 +0200
+
+ gfx/generic: allow DSBLIT_FLIP_HORIZONTAL and DSBLIT_FLIP_VERTICAL simultaniously in gStretchBlit()
+
+commit 81e2ed5b4ecbc8b0fd470770d9a03133d28c3c86
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 2 20:01:19 2011 +0200
+
+ SecureFusion: Use CoreWindowStack_GetInsets() in IDirectFBWindow::GetPosition/GetSize
+
+commit 3817c995762a94d291cc111a82b45b10e7ca5e81
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 2 19:58:52 2011 +0200
+
+ SecureFusion: Move IDirectFBDisplayLayer_GetWindowByResourceID() to CoreLayerContext flux.
+
+ This avoids locking the skirmish and fixes reference counting!
+
+commit 130d7306255587a153d3c1c9725611f168398017
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 2 12:05:00 2011 +0200
+
+ GLX: Force layer pixmap to 24 bit.
+
+commit 464b522485e7973007c7595dac33d1c77bd3df08
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 2 12:02:23 2011 +0200
+
+ Core: Add GetInsets() to CoreWindowStack flux.
+
+commit 17711e2374ddc59fe3e753ce508488f370e0af3f
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Sep 28 09:48:15 2011 +0200
+
+ dfbtest_window_surface: Simple resource/reference counting test.
+
+commit 0442089a3a8bed617724f8da2e4d13ee633fd9d0
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Sep 21 14:39:41 2011 +0200
+
+ voodoo: Init host with "" if NULL to fix strcmp crash.
+
+commit c94c10bbb41ca8470e3b47df9b787dbc88c624be
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Sep 13 22:02:41 2011 +0200
+
+ GLX: Work around crashing glDeleteTextures() by leaking it.
+
+ To destroy the textures the proper context would need to be
+ made current so the whole architecure should be rethought of
+ especially with secure fusion in mind.
+
+commit 1f8a469fd88259d718923ee6a8fb961d1fc33628
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Sep 13 22:02:03 2011 +0200
+
+ GLX: Choose config with depth buffer.
+
+commit 854c977b2333c478c01dcf379c20c3b99a8220af
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Nov 8 20:19:12 2011 +0100
+
+ Core: In resource manager code don't consult client interface when identity matches ours (master).
+
+commit bd01b1558785088ad21c444b7e93ffb6235aaca2
+Author: Holger Hans Peter Freyther <holger at moiji-mobile.com>
+Date: Tue Jan 3 23:24:35 2012 +0100
+
+ core: Fix make distcheck by adding surface_core.h to Makefile.am
+
+commit 5c6d8c7355533b70f85cec25f457031d6b94c007
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Oct 31 18:30:45 2011 +0100
+
+ Core: Fix missing return of permission handle in dfb_core_memory_permissions_add().
+
+commit 37f182a52bbe8311cdaddda5a8e4cafbef85c50f
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon Nov 7 17:48:22 2011 +0000
+
+ gfxcard: force recheck of DFXL_BLIT2 if source2 has been changed
+ (cherry picked from commit c5435192fdd7448eb6c83f7291523c5605545359)
+
+commit 23b899f9d498c55db4f1388f8f60c3cbabe3852b
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon Nov 7 17:45:26 2011 +0000
+
+ state: fix state->modified for dfb_state_set_colorkey()
+ (cherry picked from commit c4e79c3f876a09814997b9b2d25ad42e35ea835e)
+
+commit 45c8f61198dcd38d58fd713ed4d3474aa90e75a4
+Author: Holger Hans Peter Freyther <holger at moiji-mobile.com>
+Date: Wed Nov 9 18:48:26 2011 +0100
+
+ Generated files: Rename the files from *.cpp to *.c in the makefile as well
+
+ It is a bit of a mystery of why this even compiled. Use .c extension in the
+ Makefile.am to refer to the generated C files. This was build tested on a
+ clean tree.
+
+commit d2a56127dcda2a439d0aa9010634b2a7ce534737
+Author: Holger Hans Peter Freyther <holger at moiji-mobile.com>
+Date: Thu Nov 3 00:27:17 2011 +0100
+
+ [misc] Use the BUILT_SOURCES variable of automake for generated files
+
+ Use BUILT_SOURCES for the files that are generated by fluxcomp and are
+ used by the normal source files. Documentation of BUILT_SOURCES can be
+ found here:
+ http://www.gnu.org/s/hello/manual/automake/Sources.html
+
+commit 574521fea137d16712fc98421ea5da795934b1a9
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 30 16:41:14 2011 +0100
+
+ ignore
+
+commit 89f7cfb70fe0a2dfe42cb0e14bbe617924f36d84
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 30 16:38:49 2011 +0100
+
+ ImageProvider IPC: CPP -> C!
+
+commit 964e7e943926bcd484741770dab7bae62a8029ad
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 30 16:33:58 2011 +0100
+
+ PreAlloc: Revival of real preallocated memory support also via secure fusion
+
+ Revive preallocated surface pool and add a new preallocated surface pool bridge
+ for transfer between preallocated (slave) memory and surface allocations in the
+ master process.
+
+ IDirectFBSurface
+ - Allow DSCAPS_STATIC_ALLOC to be used in combination with DSDESC_PREALLOCATED
+ to request that any further Lock() will always return the original preallocated
+ buffer pointer even if that requires lots of transfers back and forth. Otherwise,
+ the allocation might be moved to shared memory. This especially requires the
+ application to correctly use Lock() with the READ and WRITE flags as appropriate.
+
+ Core
+ - Add PreAlloc() function to surface pool interface to check the surface description
+ for a supported preallocation, e.g. DSCAPS_VIDEOONLY for a preallocation in an
+ accelerated pool. This is called on the slave side!
+ - Add preallocated_pool_id to the surface configuration that is filled by the
+ slave to indicate in which pool it likes to create a preallocated surface.
+ Also add more fields to the preallocated entries like offset or phys.
+ - Add CoreSlave interface for master to call into slave processes. This contains
+ methods for sending or receiving data, e.g. to or from preallocated memory areas.
+ Access to such areas is checked against permissions, though the master should be
+ a trusted process in the DirectFB session :-)
+ - For preallocated surfaces allocate the buffers during their creation in the
+ preallocated pool already to ensure this already exists as the first allocation.
+ - Tweak dfb_surface_buffer_find_allocation() to implement DSCAPS_STATIC_ALLOC and
+ to avoid locking non-shared preallocated allocations from other processes. It
+ is possible to create a preallocated hardware buffer from a slave and use hardware
+ accceleration with this in the master via secure fusion, if implemented by the
+ surface pool(s) for the hardware accelerator.
+
+ PreAlloc Pool Bridge
+ - The preallocated surface pool bridge uses CoreSlave::Get/PutData() to transfer
+ line by line data from/to other allocations either using Lock/Unlock or Write/Read
+ on the surface pool.
+
+ PreAlloc Pool
+ - Add preallocPrealloc() implemention in the preallocated surface pool to fill
+ out the new surface configuration entries for the preallocated buffers before
+ the CreateSurface call goes to master.
+ - In preallocTestConfig() check the core identity against the buffer identity
+ and reject allocation for other processes than the creator of the preallocated
+ surface. This should not happen though.
+ - In preallocAllocateBuffer() remove CSALF_VOLATILE flag from allocation to
+ ensure the allocation will not be removed before the buffer is destroyed.
+ - In preallocLock() check the core identity against the buffer identity and
+ reject locking for other processes than the creator of the preallocated
+ surface. This should not happen though.
+
+ --
+
+ Change ICoreSurface::PreLockBuffer, PreReadBuffer and PreWriteBuffer to take
+ a CoreSurfaceBuffer object rather than the buffer index which is not safe
+ against race conditions.
+
+ In ICoreSurface::PreLockBuffer, PreReadBuffer and PreWriteBuffer check for
+ the surface buffer being decoupled and return DFB_BUFFEREMPTY.
+
+ In dfb_surface_read/write/lock_buffer() work around a race condition until
+ the allocations are objects as well by looping as long as DFB_BUFFEREMPTY
+ is returned.
+
+ --
+
+ Core
+ - Add dfb_core_memory_permissions_add/remove/check() for management of areas
+ where the master may read/write within slave memory via CoreSlave interface.
+ - Put secure/insecure mode into shared memory and fail in slave init when
+ the configuration does not match.
+ - In Core_GetIdentity() return local core identity if stack is empty.
+ - In Core_PushIdentity() if argument is 0, push local identity on stack.
+ - Use Core_PushIdentity(0) before locking surfaces for actual execution of
+ software or hardware rendering functions.
+ - Add new initialize/join calls for surface pools to pass context data.
+ - Add dfb_surface_pools_lookup() for lookup by ID.
+ - Implement priorities for surface pool bridges.
+
+ dfbtest_prealloc
+ - Add dfbtest_prealloc for testing preallocated surfaces with and without
+ the usage of DSCAPS_STATIC_ALLOC.
+
+ dfbtest_resize
+ - Add Read/Write tests to dfbtest_resize that revealed a few bugs being fixed
+ in this commit.
+
+ Conflicts:
+
+ src/core/.gitignore
+ src/core/CoreDFB_real.c
+ src/core/CoreSurface_real.c
+ src/core/Makefile.am
+ src/core/surface.c
+ src/core/surface.h
+ src/idirectfb.c
+
+commit 7f0baaa019eb3c63683f443955f928ea31eea3bf
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 30 16:00:25 2011 +0100
+
+ ImageProvider: Add secure IPC to (hardware) image providers
+
+ For secure fusion the hardware image providers need to be called
+ in the master process, as all other system and driver calls are.
+
+ This adds CoreDFB::CreateImageProvider() being passed a call id
+ from the slave for retrieving data buffer contents.
+
+ The new DataBuffer flux wraps that call, used by a master side
+ IDirectFBDataBuffer implementation. This is passed to the real
+ IDirectFBImageProvider instance.
+
+ The slave uses the new ImageProvider flux underneath a special
+ IDirectFBImageProvider implementation.
+
+ Conflicts:
+
+ rules/flux_comp.make
+ src/core/CoreDFB_real.c
+ src/media/idirectfbdatabuffer.h
+
+commit 4e7045291739c74498ab60c57895e0b0b6827d0b
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 30 16:09:42 2011 +0100
+
+ fusion-call: Add fusion_call_execute2() for single app, just calling fusion_call_execute().
+
+ Conflicts:
+
+ lib/fusion/call.c
+
+commit 78f8afbd893a0a0794cdb265a124f7ced95480bd
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 30 16:06:23 2011 +0100
+
+ fusion-call: Add fusion_call_execute2() using new linux-fusion 8.3 ioctl.
+
+ Also add handling of call payload appended to FusionCallMessage rather than
+ a pointer in the message.
+
+ Conflicts:
+
+ lib/fusion/call.c
+ lib/fusion/call.h
+ lib/fusion/fusion.c
+ lib/fusion/fusion_internal.h
+
+commit ed72345e09d7f956b913ebc139b9f85236fe724d
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Oct 25 14:54:09 2011 +0200
+
+ libdirect: Check for error in DIRECT_ALLOCATE_INTERFACE.
+
+commit 9027495c0f88d20d2a40b20cb8a77f81df08976c
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 14 15:45:21 2011 +0200
+
+ Call: Increase return size limit to 32MB.
+
+commit 8f4cd2db47d3562ca905ab61ad303a5ac4f553a7
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 30 14:24:09 2011 +0100
+
+ Core: Fix memory leak in local surface pool (single app core)!!!
+
+commit 37bada04329ea4d54389d511b72d47b40495861b
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Oct 12 20:35:11 2011 +0200
+
+ Call: build fix
+
+commit 4ea9e3452ec2e6f66b771f5779c36ce2ed4598e2
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Oct 12 20:22:05 2011 +0200
+
+ Call: Add fusion_call_get_owner() to get the FusionID of the call creator.
+
+commit 01aea76efcf4ecfe0e75dbb538aed02cb45c32ad
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri May 6 01:30:21 2011 +0200
+
+ Fusion: Add fusion_call_init_from() to initialize a FusionCall structure in local slave memory from call id returned by call to master. (add missing header change)
+
+commit a34938f0070352c785ec934954a1100f0f65bcda
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Oct 11 23:21:50 2011 +0200
+
+ dfbtest_resize: Add threaded window resizing, surface locking test.
+
+commit 454d75e7e06ad00f22dd50191f70543438306d8a
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Oct 8 19:15:09 2011 +0200
+
+ Core: Remove early setting of num_buffers to zero, fixing buffer leakage!
+
+commit ccb96bbbf0f26ffd70e4f9cc1fe3dc171d1e93ef
+Merge: 9e98860 b24b361
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Oct 8 19:13:03 2011 +0200
+
+ Merge branch 'directfb-1.4' of git+ssh://git.directfb.org/git/directfb/core/DirectFB into directfb-1.4
+
+commit b24b36152f9c84503e1a5b85e98f1a149cc903a6
+Merge: 3837d66 4f59b55
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue Oct 4 15:26:10 2011 +0200
+
+ Merge branch 'directfb-1.4' of git+ssh://git.directfb.org/git/directfb/core/DirectFB into directfb-1.4
+
+commit 3837d66cc19ce35c2a28afd86ca355600d7be773
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 26 23:14:41 2011 +0200
+
+ update changelog
+
+commit 1f8a55fcc555eeace80db2121da3b8d746626009
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 26 23:12:50 2011 +0200
+
+ libfusion: add fusion_world_set_leave_callback() dummy for single app core
+
+commit 4f59b55d9957e97103d1e78987e7466111295e3d
+Merge: 661b9ff 50a36de
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue Oct 4 15:13:15 2011 +0200
+
+ Merge branch 'directfb-1.4' of git+ssh://git.directfb.org/git/directfb/core/DirectFB into directfb-1.4
+
+commit 50a36de91b31b2c30bb15aec4be31963c2be5409
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue Oct 4 15:05:14 2011 +0200
+
+ libfusion/shm: use s64 instad of int to calculate number of free bytes to prevent wraparound when having more than 2GB free
+
+ In ubuntu 11.10 the following tmpfs filesystems are mounted by default
+
+ none 5.0M 0 5,0M 0% /run/lock
+ none 3.9G 400K 3,9G 1% /run/shm
+
+ This led to a wraparound in the 32-bit signed value for the 3.9G tmpfs
+ and /run/lock with its 5M was favoured.
+
+commit 9e98860a46877b6e81196f13da6166e84bcd0492
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Apr 29 02:23:21 2011 +0200
+
+ fusion: Fix fusion_reactor_attach() for single app (channel is 0, not -1)
+
+commit 837ad12eca2459045815ec538aa84c17cfc55209
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Apr 24 19:55:11 2011 +0200
+
+ Fusion: Implement fusion_reactor_attach/dispatch_channel() for single app mode.
+
+commit b2930560cac8ad54226654ef3f66dea89576abe1
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 2 18:37:50 2011 +0200
+
+ Fusion: Remove bogus assertion from fusion_call_init and fusion_call_init3.
+
+commit 38151c178a50ac14af8d9f1ceee4f6d8611fd285
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 2 18:19:38 2011 +0200
+
+ version: 1.4.16
+
+commit 661b9ffc28782f21665716c64447a5f2a86060a8
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 26 23:14:41 2011 +0200
+
+ update changelog
+
+commit 8786a9a43d0e821b1c9405050532d84fb7f52839
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 26 23:12:50 2011 +0200
+
+ libfusion: add fusion_world_set_leave_callback() dummy for single app core
+
+commit fac7bc63ba3249368cf9bede70a0849bf2691070
+Merge: 8dfcee9 4b88e75
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Sep 26 18:08:20 2011 +0200
+
+ Merge branch 'directfb-1.4' of git+ssh://git.directfb.org/git/directfb/core/DirectFB into directfb-1.4
+
+commit 8dfcee9acce94c5b06ce929f0d357fee493f2768
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Sep 26 18:07:59 2011 +0200
+
+ 1.4.15 NEWS
+
+commit 4b88e75859808037c54c0b10144358768986ddb0
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 26 18:06:09 2011 +0200
+
+ debian: remove fluxcomp from package
+
+commit 21c36844c8622bd1dcef2e8f2c0a765a5f9ea3a5
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 26 18:05:16 2011 +0200
+
+ wm/unique: add FusionID to fusion_object_create() call
+
+commit ed28cd4807986bee530fe5df34a8ca89914b251b
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Wed Sep 14 12:22:29 2011 +0200
+
+ png: fixes for adam7 deinterlacing in 16->8bit per color component conversion case
+
+ We now hand off handling of adam7 deinterlacing to libpng except for the case
+ of 16 bit colorkeyed images.
+
+ In that case use our own minimal adam7 code (just enough to have to correct
+ end result without perfect intermediate results before the final pass)
+
+commit 434dbe813c078c7e80f1494e26fccb217e6d9e56
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 12 15:25:57 2011 +0200
+
+ png: various fixes for colorkey handling and grayscale images
+
+ - fix 1,2,4 bpp color key handling
+ - fix 1,2,4 bpp grayscale crashes
+ - fix color protection in 16 bit grayscale colorkeying case
+
+commit 2e2f62f1df6be01ec27a38e96cc41a3fc269a26f
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Fri Aug 12 13:17:04 2011 +0200
+
+ png: remove printf()
+
+commit 62fade905549e979c663260c05acd984631d23ba
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Fri Aug 12 13:00:29 2011 +0200
+
+ png: dont use libpngs internal 16 to 8 bit channel conversion but our own
+
+ For colorkeying, protect pixels that would be keyed only due to the reduction
+ of colordepth by toggling the least significant blue bit.
+
+commit e918bd71445d31ea9928efafcd7819dd877f952d
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 26 14:30:49 2011 +0200
+
+ core: make Core_TLS__init() a constructor / Core_TLS__deinit() a destructor
+
+commit f1a1673084c113f79f7221c54e7168266db710b3
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Sep 25 22:39:49 2011 +0200
+
+ Core: Export layer surface allocation functions.
+
+commit 554ffad60532456fe1f4d71e0703fb4bcf21d3ce
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Sep 24 13:07:49 2011 +0200
+
+ Core: Resource management and client identification
+
+ (merged into 1.4.15)
+
+ ICoreResourceManager and ICoreResourceClient
+ - Add new interfaces for resource management, optionally being loaded as modules.
+ - The manager has one method to create a new client instance (called within master, per slave).
+ - The client has a few methods for checking surface creation/reconfig, adding/removing/updating surfaces.
+
+ Runtime Options
+ - Add "resource-manager" option to load a resource manager implementation, default is none.
+
+ Core
+ - Add ICore::Register() method for slaves joining to create a resource client instance in the master.
+ - Make ICore_Real::CreateSurface() use the new Core_Resource_CheckSurface() function for
+ asking the resource manager (if any) for creation of the resource.
+ - Add Core_Push/PopIdentity() to store the caller ID of an incoming request in TLS.
+ - Add Core_GetIdentity() to query the current identity, i.e. ID of the Fusionee that made the IPC call.
+ - Add Core_Resource methods wrapping and managing instances of ICoreResourceClient.
+
+ Flux
+ - Run fluxcomp with argument "-i" to generate calls to Core_Push/PopIdentity().
+
+ Fusion
+ - Add fusion_get_fusionee_path() to retrieve the executable file name of a Fusionee (as in /proc/*/exe).
+ This can be used when the resource client is created to apply special limitations, privileges...
+ - Add fusion_world_set_leave_callback() to register a callback for processing the new FMT_LEAVE message
+ when a slave leaves the world. This is used by the master to cleanup the resource client instance.
+ - Add FusionID parameter to fusion_object_create() to give objects an identity, i.e. the identity of the
+ Fusionee calling the master to create an object.
+
+ ICoreResourceManager_test
+ - Add test implementation for ICoreResourceManager and ICoreResourceClient that keeps track of
+ and prints the amount of surface memory being used per slave process.
+
+ == Following example shows test with df_window started as slave ==
+
+ cyto [~/DFB/DirectFB] /opt/dfb/bin/dfbmaster --dfb:resource-manager=test
+
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.6.0-pre1 |~~~~~~~~~~~~~~~~~~~~~~~~~~
+ (c) 2001-2010 The world wide DirectFB Open Source Community
+ (c) 2000-2004 Convergence (integrated media) GmbH
+ ----------------------------------------------------------------
+
+ (*) DirectFB/Core: Multi Application Core. (2011-09-24 11:08) [ DEBUG ][ TRACE ]
+ (*) Direct/Memcpy: Using Generic 64bit memcpy()
+ (*) Fusion/SHM: Using MADV_REMOVE (2.6.38.0 >= 2.6.19.2)
+ (*) Direct/Thread: Started 'Fusion Dispatch' (-1) [MESSAGING OTHER/OTHER 0/0] <8388608>...
+ (*) Direct/Thread: Started 'Fusion Deferred' (-1) [MESSAGING OTHER/OTHER 0/0] <8388608>...
+ (*) GLX/Surfaces: Using visual 0x96 (24bit) and 0x9c (32bit)
+ (*) Direct/Thread: Started 'X11 Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...
+ (*) DirectFB/Input: X11 Input 0.1 (directfb.org)
+ (*) DirectFB/Genefx: MMX detected and enabled
+ (*) DirectFB/Graphics: OpenGL Acceleration - Mesa DRI Intel(R) Sandybridge Desktop 0.5 (Denis Oliver Kropp)
+ (*) DirectFB/Core/WM: Default 0.3 (directfb.org)
+ (*) Direct/Interface: Loaded 'test' implementation of 'ICoreResourceManager'.
+ (*) Core/Resource: Using resource manager 'test'
+ (*) X11/Display: Using XShm.
+ { start df_window }
+ (*) ICoreResourceClient/test: Adding ID 2 - '/opt/dfb/bin/df_window'
+ (*) ICoreResourceClient/test: Check surface 40x40 ARGB 6k (ID 2, at 0k)
+ (*) ICoreResourceClient/test: Check surface 40x40 ARGB 6k (ID 2, at 6k)
+ (*) ICoreResourceClient/test: Check surface 852x480 ARGB 1597k (ID 2, at 12k)
+ (*) ICoreResourceClient/test: Check surface 832x26 ARGB 84k (ID 2, at 1610k)
+ (*) ICoreResourceClient/test: Check surface 300x200 ARGB 234k (ID 2, at 1694k)
+ (*) ICoreResourceClient/test: Check surface 512x145 ARGB 290k (ID 2, at 1928k)
+ { quit df_window }
+ (*) ICoreResourceClient/test: Removing ID 2
+
+commit 99b64481ab95f91aa101e9550e432d41401a816c
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 26 12:36:09 2011 +0200
+
+ libfusion: require fusion 8.7.x
+ bl
+
+commit f57b59ec0fb3c119dbe7a76f2dff756d0c7b525b
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 26 12:23:55 2011 +0200
+
+ remove dublicate singleton
+
+commit 56a183b7885acde9d8b36462754e8b3e16fe5f2f
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Sep 21 14:33:26 2011 +0200
+
+ buffer: move unref in case of lock failure below (commented out) code.
+
+commit 1703d47ab128654ca7b8c6a3f0dfe5150ef58157
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Sep 21 14:08:25 2011 +0200
+
+ Dummy: Initialise buffer mode in display layer config.
+
+commit f0a06b6092b529f25cdada95a6d2375a076fdd26
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Sep 20 21:04:12 2011 +0200
+
+ Genefx: Fix Bop_argb_blend_alphachannel_src_invsrc_Aop_argb for special case alpha = 0.
+
+commit a3a70fbb726204665b09357eaea571903c4b19fb
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Sep 12 20:13:51 2011 +0200
+
+ singleton: Move idirectfb_singleton from idirectfb.c to directfb.c for pure voodoo mode.
+
+commit 399442b33a14924d1197df412fbfd0fafd477d85
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Aug 18 00:03:00 2011 +0200
+
+ CoreGraphicsStateClient: move declaration out of for statement
+
+commit 84cf3aa6d5c3efb6281eb7f3bc5284179052bd3d
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Aug 18 00:02:45 2011 +0200
+
+ gfxcard: move declaration out of for statement
+
+commit 1ac79f8905f513a5395e5b59c3d691e49f8a3f11
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Sep 14 16:39:41 2011 +0200
+
+ Genefx: Fix top clipping of flat top triangles.
+
+commit 0b9214f6b0671d183ab28acc20f6f9d8b62cec96
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Aug 18 00:01:51 2011 +0200
+
+ generic: move declaration out of for statement
+
+commit 5578e8cf24e41c394c226e4bd8870ce77c09a1c0
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Fri Sep 23 18:24:10 2011 +0200
+
+ core: do not always call dfb_gfxcard_batchblit()
+
+ since dfb_gfxcard_blit() is tested better that batchblit()
+ use it if we can.
+
+commit 5bbee5faccffe92c978d9138593bed737e497026
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Fri Sep 23 18:19:02 2011 +0200
+
+ gfxcard: make use of clip_blit_rotated() in dfb_gfxcard_batchblit()
+
+ This fixes clipped rotated blits and clipped flipped blits
+
+ (backport of a0e3065cd8668849f2fb4198b7eb6742b9999c19)
+
+commit b740a197848bed0839cb3281428f1cec85a9e720
+Author: Sven Neumann <s.neumann at raumfeld.com>
+Date: Thu Dec 2 12:42:08 2010 +0100
+
+ jpeg: correctly setup iDCT scale factors for libjpeg version >= 7
+
+ Previously the code selected scale factors that resulted in an image
+ smaller or equal the desired size. Now the code selects scale factors
+ that create an image equal or larger than the desired size.
+ (cherry picked from commit 6e312f3ac7b5ea985a7888382f5c33dd8f6f638a)
+
+commit d549e215853752f5f2fc37088c005aaafe536ea4
+Author: Sven Neumann <s.neumann at raumfeld.com>
+Date: Fri Sep 23 10:00:02 2011 +0200
+
+ libdirect: remove include of <linux/config.h>
+
+ That header has been removed from the Linux kernel with 2.6.19
+ and it should not have been needed anyway.
+
+commit b4136762ab0413ee8fe4f69b2953f3709e1372e8
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Sep 22 15:59:14 2011 +0200
+
+ remove flux
+
+ flux now has its own package
+ please checkout
+
+ git://git.directfb.org/git/directfb/core/flux
+
+ and make sure to have fluxcomp in your path when building DirectFB from git.
+ You dont need it if you build a distribution tarball.
+
+commit 85f7aa74be710d7f671a2cadac6e2ce4b0bd26ee
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Sep 22 13:19:30 2011 +0200
+
+ system/vnc: backport from 1.6
+
+commit e97f88f31c5773f5894ec381f87493e4fd47d0ef
+Merge: 65f70e8 c216d8c
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Sep 22 11:52:53 2011 +0200
+
+ Merge branch 'directfb-1.4' of git+ssh://git.directfb.org/git/directfb/core/DirectFB into directfb-1.4
+
+commit c216d8cded5417845cdc6f137815087d9c2f101b
+Author: André Draszik <andre.draszik at st.com>
+Date: Thu Sep 22 10:24:08 2011 +0100
+
+ joystick: wrong number for buttons & axes read
+
+ When using the DirectFB joystick input module, a wrong number for
+ buttons and axes is read. The interface declares the variables
+ used to get the number of buttons and axes as 'char' not 'int'.
+ (cherry picked from commit e25007f9f6abfe49623580a53f591c60a52171de)
+
+commit 65f70e843caa560aaca4265ba7295a5ffdbc3b73
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue Sep 20 19:08:25 2011 +0200
+
+ system/vnc: allocate system only surface, instead of using a peallocated one
+
+ This makes the vnc system at least usable again
+
+commit 35646e24cd87741da6f1c404b09f23feb9062d6e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Mar 28 17:10:10 2011 +0200
+
+ VNC: Almost reimplement VNC system module
+
+ Improvements
+ - Input driver is part of system module now,
+ special attach code no longer needed
+ - Fixed several bugs in input event processing
+ - Initialize rfbScreen once for the session, 32bit
+ - Default screen size is 1280x720 if not set via mode option
+ - Use preallocated shared memory surface for screen
+ - Render layer onto preallocated ABGR screen surface
+ - Layer positioning and scaling is supported
+ - Only stream modified rects from clients to master
+ (calling rfbMarkRectAsModified there) using FusionCall2
+ - Use automatic port allocation
+ - Detect failure in setting up listen socket
+ - Use rfbNewFramebuffer call
+
+commit d9ed9f9106fef995f19df2ecf49d8d3d8b5d25a0
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon May 9 13:56:12 2011 +0100
+
+ generic: use 24bpp colorkey template for RGB18 and ARGBx666
+
+ removing lots of more or less duplicated code and giving us
+ Bop_PFI_KtoK_Aop_PFI Bop_PFI_StoK_Aop_PFI Bop_PFI_SKtoK_Aop_PFI
+ for these formats for free
+ (cherry picked from commit 31f38654212e60b06f3e1eb24c9ba36b65016e45)
+
+commit 17fbb8aece5813a506c0277eb989e1948566bd55
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon May 9 12:51:23 2011 +0100
+
+ generic: use 24bpp colorkey template for RGB24, ARGB8565, VYU
+
+ removing lots of more or less duplicated code and giving us
+ Bop_PFI_KtoK_Aop_PFI Bop_PFI_StoK_Aop_PFI Bop_PFI_SKtoK_Aop_PFI (RGB24)
+ for free
+ (cherry picked from commit b8f8935f2ee3b21cea972d49f81b7800d81b8600)
+
+commit 3843a225c7389ef9bc373bcf3e98f7eea7f1bcb0
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon May 9 12:45:21 2011 +0100
+
+ generic: add a colorkey template for 24bpp pixelformats
+ (cherry picked from commit 7db0ff1b9803dd084ae7fe1eab9604687bfd5d96)
+
+commit 882be417f4f90cfedc9b0406f5a3ab0ef841b725
+Author: André Draszik <andre.draszik at st.com>
+Date: Wed Sep 21 17:54:44 2011 +0100
+
+ generic: use 24bpp acc template for RGB18 and ARGBx666
+
+ this gives us Sop_PFI_TEX_to_Dacc Sop_PFI_TEX_Kto_Dacc Sacc_StoK_Aop_PFI
+ for free for these formats
+ (cherry picked from commit e5b1bd1cf057d2cce048ee20a5d910e2e8049d37)
+
+commit bd807416fa7e2c38d9a8f5caecc1e7b2df1e037c
+Author: André Draszik <andre.draszik at st.com>
+Date: Wed Sep 21 17:54:29 2011 +0100
+
+ generic: use 24bpp acc template for RGB24 and ARGB8565
+
+ this gives us Sop_PFI_TEX_to_Dacc Sop_PFI_TEX_Kto_Dacc Sacc_StoK_Aop_rgb24
+ for free for these formats
+ (cherry picked from commit 4d6372cf22c4020ec9941692328a5a6652be130b)
+
+commit 84bba354f4f30a2137a39da8278c7bdb27d372e1
+Author: André Draszik <andre.draszik at st.com>
+Date: Fri May 6 16:24:21 2011 +0100
+
+ generic: add an acc template for 24bpp pixelformats
+ (cherry picked from commit 8882c9f8fbdd3fc92581af6be55ec7ae45be84ef)
+
+commit 58a126810e8b68af4a60d1508c6bbfa6a73e8b2b
+Merge: 794cf21 9ff9111
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue Sep 20 17:20:29 2011 +0200
+
+ Merge branch 'directfb-1.4' of git+ssh://git.directfb.org/git/directfb/core/DirectFB into directfb-1.4
+
+commit 794cf21aae893bd0bd8204a73c70e932b09528c5
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue Sep 20 17:20:19 2011 +0200
+
+ core: shutdown fixes
+
+commit 9ff9111d9e62c4952f1359083fa2d48972c351d0
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Sep 20 17:09:44 2011 +0200
+
+ ignore
+
+commit 2a62e11b9ae2c7235d64c9534baccd632d773d2a
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue Sep 20 13:36:02 2011 +0200
+
+ debian: add fluxcomp to development package
+
+commit c3f068eb69d2a9f818af613fc2828e7dd3162182
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Tue Sep 20 13:00:50 2011 +0200
+
+ flux: remove workaround for c-mode (dummy data for fusion_call_execute3)
+
+ Requires new linux-fusion
+
+commit 503008cff52482117e7f5dcc79a9e916b0e61525
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 19 18:55:44 2011 +0200
+
+ core: remove Dispatch class, use functions instead (even in C++ mode)
+
+ This patch also adds _Deinit_Dispatch() calls which were missing before (fixes leaks)
+
+commit b0a3dab8be317355f8a29abfe0ec04b5b2d748d4
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Sep 15 14:24:45 2011 +0200
+
+ flux: added option --include-prefix= to fix build of external projects(e.g sawman)
+
+commit 7cf3a16a1119ca42b884f286325419faffad3f0c
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Wed Sep 14 15:39:18 2011 +0200
+
+ debian: remove vdpau package (leftover from 1.6)
+
+commit ba067d3a9a8224d22d08320c05f5121c389b328f
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Wed Sep 14 15:37:58 2011 +0200
+
+ debian: update packages
+
+commit d8c3c63a8fbd16cbcf2da0574fc88cd3c49d7260
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Wed Sep 14 14:58:25 2011 +0200
+
+ build: fix out-of-tree builds
+
+commit c79f963a3741ed258513a411709b66144516181e
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Sep 8 18:55:24 2011 +0200
+
+ build: set version to 1.4.15
+
+commit 62772469277615f91f362f227dde604f5264a2a5
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Sep 8 18:49:14 2011 +0200
+
+ build: remove dummy.cpp to prevent linkage of libstdc++
+
+ Welcome back, C-only DirectFB!
+
+commit 78c7d3b4595e1f6ca5090ce161feec3c983e4877
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Sep 8 18:41:39 2011 +0200
+
+ core: move from C++ to C using fluxcomp's C mode and slightly modified real implementations
+
+commit 2959f6b7e1f6f8772bf2b5e00608bdc63e67e1b6
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Sep 8 18:37:44 2011 +0200
+
+ fluxcomp: added semicolon to fix warning in generated C code
+
+commit 34e389af64aaf5a6646b88b8db7681704b2febdf
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Sep 8 18:21:38 2011 +0200
+
+ fluxcomp: added C mode for generation C instead of C++
+
+commit 14d09cec3c336fb37c96551dc7236021a8af7448
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 5 18:00:13 2011 +0200
+
+ core: add prelock to manage interlocks at master
+
+commit 573e83fac823ab55ac494fba69340544a459da4d
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 5 15:35:29 2011 +0200
+
+ core: set permissions for FUSION_REF_UP/DOWN for secure-fusion
+
+commit cf794ca4cce2cb1d746662b3162ed0146307ac2f
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 5 17:59:18 2011 +0200
+
+ core: remove obsolete code
+
+commit 8761b6e6d3d28df5b53f92907279ea0d7e8f9c83
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 5 16:19:32 2011 +0200
+
+ build: set CXX=g++ for fluxcomp, to avoid the cross compiler from being used
+
+commit 18dd62e52bfcbc9b14889559742c0ada20519f96
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 5 13:05:31 2011 +0200
+
+ build: add more explicit rules for new generated headers
+
+commit bb913955b02d528e0c6c5aea3c3615cb4c219be6
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 5 15:13:20 2011 +0200
+
+ core: added missing files, got lost during merge
+
+commit 5771e0c0c3db4714d5e2db59fcd67763421c17ee
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Sep 5 12:43:21 2011 +0200
+
+ SecureFusion: Final major update adding CoreScreen and CoreInputDevice interface
+
+ Also lots of additions to CoreLayerContext, some in CoreSurface, fixes...
+
+ (removed 1.6 specific functions for merge)
+
+commit 51e340dd4d937c23bcc634f96893f7a1fb964bee
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Aug 29 05:09:26 2011 +0200
+
+ Core: Add copy of surface type flags and resource id to surface buffer.
+
+ This can be used by unlock/dealloc functions in surface pools rather
+ than accessing the surface object which is no longer permitted in
+ unlock/dealloc functions.
+
+commit 301fa0b344058519f9af4d36852fcbdeadc493cf
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 5 14:26:08 2011 +0200
+
+ Core: remove precheck for locked buffers in dfb_surface_reconfig()
+
+commit d8cc5766d84b1b3b6e8c5c5e92c092b2da616cae
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Aug 29 04:27:16 2011 +0200
+
+ Core: Fix typo in last commit of Surface Buffer object changes
+
+commit e734384c3b6815442160674050198fe20e9c7182
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Aug 29 04:15:58 2011 +0200
+
+ Core: Make Surface Buffer a FusionObject and implement locked surface resizing
+
+ The Surface Buffer object is created when a surface is created or reconfigured.
+
+ It has a global ref count of as long as it belongs to the surface.
+
+ dfb_surface_reconfig() no longer returns when a surface is locked, but decouples
+ the buffers by setting the back pointer from the Surface Buffer object to the surface to NULL
+ and decreasing the global ref count.
+
+ When a buffer is locked, the local ref count is increased, to keep the buffer
+ object alive until the buffer is unlocked.
+
+ Fixed locking for a few functions accessing surface members before locking it.
+
+ Weak 'locked' counter in buffer is now replaced by dfb_surface_buffer_locks()
+ function returning the local ref count of the Surface Buffer object.
+
+ All functions involved in unlocking and deallocating a buffer may no longer
+ use the surface back pointer unconditionally.
+
+commit 2d14126a17e6a8842b5496b0fcfdaf0bc7f31640
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Aug 29 03:40:22 2011 +0200
+
+ Fusion: Fix crash by commenting out debug print after unref (in fusion_ref_down itself)
+
+commit d9172bf12d2cbd04bfc82a8976716b6be574829b
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Aug 29 03:39:43 2011 +0200
+
+ Fusion: Fix fusion_vector_foreach_reverse for empty vectors
+
+commit ce71fec521d9db7fdff6b59b6a887099ff19df30
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 5 13:27:50 2011 +0200
+
+ surface pools: always initialize shared surface pool priority with CSPP_DEFAULT
+
+commit a888a8f94eb8c9ef9e5273bf7d06a5da290cb44c
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Aug 24 11:30:13 2011 +0200
+
+ Core: Use old shm surface pool for non-secure fusion, get rid of indices in secure surface pool.
+
+commit 7999db4d87b406cb97f4f4624521c845e4b71cb1
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Aug 24 11:22:40 2011 +0200
+
+ X11: Fix crash in non-secure mode.
+
+commit cb2474eb6ef9b153b08a9a215f2b8f0d4ead1233
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Aug 22 23:02:48 2011 +0200
+
+ IDirectFBSurface: Fix missing CoreGraphicsStateClient_Deinit() that has led to a memory leak.
+
+commit 4b1eba2b1f14d9e189a5f51ed3877652cdbc05c2
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Aug 7 10:54:54 2011 +0200
+
+ Core: Fix crash when dfb_wm_update_cursor() is called with 'no-cursor' option.
+
+commit a042bfcbd9d5d7528192365098b87a2bd7ea229b
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Sep 5 12:38:21 2011 +0200
+
+ build: fix build of generated core files by specifying explicit rules
+
+commit 16503d6106f8be798faed973a01c2e275c20388b
+Author: Phil Edworthy <phil.edworthy at renesas.com>
+Date: Wed Jul 27 12:42:51 2011 +0100
+
+ sh772x: Only use the shjpeg library if available
+
+ This allows DirectFB to work on the SH7723 device which does not have
+ the JPU hardware & associated shjpeg library.
+
+ Patch by Michael Szafranek
+
+commit 1d02b51175f446d4863b8bf48cefc1db373f1a0e
+Author: Phil Edworthy <phil.edworthy at renesas.com>
+Date: Wed Jul 27 11:52:42 2011 +0100
+
+ sh772x: Move dfb_surface_lock/unlock to CoreSurface fns
+
+commit c89ae8a21f7f440365b2c0e657afd92feba87b1b
+Author: Phil Edworthy <phil.edworthy at renesas.com>
+Date: Wed Jul 27 11:49:17 2011 +0100
+
+ sh772x: Fix sh7722_jpeg destructor releasing a buffer it doesn't own
+
+commit 033f74a81750e90b828d37a1f632e9b2a258a203
+Author: Phil Edworthy <phil.edworthy at renesas.com>
+Date: Tue Jul 26 14:17:36 2011 +0100
+
+ sh772x: comsmetic changes only (tabs to spaces)
+
+commit e747b4271d01550c57c232408a174c36187b46a7
+Author: Phil Edworthy <phil.edworthy at renesas.com>
+Date: Tue Jul 26 13:50:58 2011 +0100
+
+ sh772x: Correct device name in debug messages
+
+commit 9211441f6edc07f99bde47c16bf1f6ce1805225f
+Author: Phil Edworthy <phil.edworthy at renesas.com>
+Date: Tue Jul 26 09:18:31 2011 +0100
+
+ sh772x: Fix warnings in sh7722_jpeg.c
+
+commit 10f6e1767dd947dfa2d56e2b0ff33234bd6cf2a2
+Author: Phil Edworthy <phil.edworthy at renesas.com>
+Date: Mon Jul 25 14:54:13 2011 +0100
+
+ sh772x: Fix build error, new arg to dfb_surface_create_simple
+
+commit ed0eed1883ee75792999c5344eeb8d3eb47de755
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Jul 31 20:49:41 2011 +0200
+
+ update ChangeLog for 1.4.14 once more
+
+commit 59cd1abc9dffda5ea0b5b50f4d4203b0d216ef2e
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Fri Jul 29 19:00:33 2011 +0200
+
+ core: call dfb_gfxcard_...() directly for slaves that are not using secure fusion
+
+commit 07690b21397452aca2940326c92ce2db5782acd2
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Fri Jul 29 17:40:51 2011 +0200
+
+ core: only reject preallocated surfaces when using secure-fusion and not being master
+
+commit 35fe7e51f3610568089720b647ed4a3a3e6761dc
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Jul 31 20:46:22 2011 +0200
+
+ update NEWS/ChangeLog for 1.4.14 release
+
+commit 1c63c8c27e9a9aaeab04d5c0dffbd50ffccf9054
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Jul 31 20:40:30 2011 +0200
+
+ Makefile: Add src/core/Interface.h
+
+commit c35b3de90d1282d78999772343080f112b660c34
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Jul 31 19:00:04 2011 +0200
+
+ SecureFusion: Backport from 1.5.x secure-fusion branch
+
+ as of this commit
+ 83bb21e8c3f04a03272ce4d5804b83942b6bcdf3
+
+commit 181deefe3e5dbe7c47d6fb0c8b63ecb441b3a71a
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu May 5 20:58:28 2011 +0200
+
+ Fusion: Change FusionObjectID to u32.
+
+commit a66bcda76389264e0cd1c88028c1e9caa61e7d6f
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Jul 31 17:40:30 2011 +0200
+
+ version: 1.4.14
+
+commit 31b1f2ac0554845e6a3e9a364534eef6825e7509
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu May 26 23:56:07 2011 +0800
+
+ NEWS and ChangeLog for 1.4.13
+
+commit af7b4a455e56f655fce29bf5efba1d992cf9ad23
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu May 26 23:32:44 2011 +0800
+
+ Welcome 1.4.13!
+
+commit 593d5efa7774968ebaba65551c314634af78c01e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri May 13 14:21:03 2011 +0200
+
+ dfbtest_blit: Add a few options regarding scaling, transform...
+
+ -x, --scale Scale from source to destination
+ -t, --tile Perform a tile blit
+ -X, --matrix-translate Enable Matrix translation during blit
+ -O, --matrix-rotate Enable Matrix rotation during blit
+ -S, --matrix-shear Enable Matrix shear during blit
+
+commit 70e45c81718a41e324a33e7052ebe42ccd00f79f
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri May 13 14:14:29 2011 +0200
+
+ Core: Remove FUSION_SKIRMISH_ASSERT from dfb_surface_notify_display.
+
+commit 28d84a283379bc056848afe5f96b969cbd31066b
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri May 13 14:11:15 2011 +0200
+
+ Core: Move declaration of data_size to the top in dfb_surface_create.
+
+commit 9658a158bc1ec7aeadad5f52b399252afbb37a49
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Feb 19 22:10:54 2011 +0100
+
+ cosmetic: Correct order of DSETV_NTSC_443 and DSETV_DIGITAL.
+
+commit 3d8e3b51603010547d8ef450229be53312f24202
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed May 11 19:00:33 2011 +0200
+
+ Generic: Fix build by removing ABGR code.
+
+commit a7cabcd08d0a971ed4490f2dea9c832658fb5ed4
+Author: André Draszik <andre.draszik at st.com>
+Date: Fri May 6 12:18:55 2011 +0100
+
+ build: further fix out of tree builds
+
+ This was missed in commit 811a8c01a12994c9f8074c2d6a643759fc413e3d
+ (build: fix out of tree builds)
+
+commit b98744007d099cb653adc720016d522d22b23c1f
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon Apr 11 11:36:19 2011 +0100
+
+ build: libidirectfbfont_ft2 must be linked against libm
+
+ as it uses sin() and cos() now
+
+ STLinux bugzilla #11884
+
+commit 89f437268ec8b931c63e3b7598eeef8e9b55f3aa
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon Apr 11 12:30:02 2011 +0100
+
+ build: rename MEDIALIB to LIBM
+
+ makes more sense
+
+commit 350d867876115abd6d97f5b72fbfe2ac5bee2859
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Fri May 6 12:19:54 2011 +0200
+
+ Revert "gfxcard: white space fixes"
+
+ This reverts commit 6eec6ee6a097fa9e7f1fa0004f47ed34478dc5d7.
+
+ (the "fix" actually broke it, sorry)
+
+commit 6eec6ee6a097fa9e7f1fa0004f47ed34478dc5d7
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu May 5 15:54:29 2011 +0200
+
+ gfxcard: white space fixes
+
+commit 93ddcbfdfe1cab04d20c1c734033cceb27e649f6
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu May 5 15:43:43 2011 +0200
+
+ cleanup merge conflicts
+
+commit 116c9fe38e272a7d662569fdc089f2f62cd8e89d
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu May 5 15:42:02 2011 +0200
+
+ Revert "gfx: Moved dfb_pixelformat_name() and dfb_pixelformat_for_depth() to util, MSVC fixes."
+
+ This reverts commit 634147bb8e65777571a9210a5b13a97f82f8d019.
+
+commit 486f7113da0ede6eb3d2e737f63245aaf8744b2d
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Apr 12 22:45:21 2011 +0200
+
+ Genefx: Fix horizontal clipping of left side of lines in TextureTriangle.
+
+commit 2095c2fcd575368c1e2be55ec08f108589dd52da
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Apr 11 22:12:36 2011 +0200
+
+ Genefx: Replace fixed point for xl/xr by DDAs to fix overdraw.
+
+ The mesh of texture triangles can be blended without artifacts now.
+
+commit 2638098f3fb5d02705e1336391913fe89efa2855
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Apr 11 18:11:35 2011 +0200
+
+ Genefx: Add Sop_a8_TEX_to_Dacc to support DrawString with matrix.
+
+commit a0e647ab48c36170aaa9a50572f2d127bd368092
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Apr 11 18:02:48 2011 +0200
+
+ Genefx: Finish clipping implementation by adding horizontal pre-clipping as well.
+
+commit 16ba1a54f09f2a3adf8968b5a8d11f1b153487a0
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu May 5 15:31:42 2011 +0200
+
+ Genefx: merge 1.5 changes
+
+commit cd9cdd9fcf42a85aa515cded2881d92ae68cdbd5
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu May 5 15:30:44 2011 +0200
+
+ Genefx: Implement clipping in TextureTriangle, add TileBlit with matrix, more accuracy, fixes
+
+ Conflicts:
+
+ src/core/gfxcard.c
+
+commit 1244186037139fcf9ccf1f87e22efa0a8aff8d74
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Apr 11 12:26:12 2011 +0200
+
+ Genefx: Implement colorkeyed texture mapping, adding Sop_PFI_TEX_Kto_Dacc.
+
+commit c9fc3da96b861f32faffe471deaa44f2670768d1
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Apr 11 01:07:37 2011 +0200
+
+ Genefx: Implement Sop_RGB16_TEX_to_Dacc correctly.
+
+ With this blit-convert test of df_dok also works.
+
+commit 08bde043766aa7f10e09d30431ad8a7df82029f2
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu May 5 15:27:12 2011 +0200
+
+ generic: merge of TexturedTriangles from DirectFB-1.5
+
+commit 00fb9af49e5632ce22d63b033cbc27eda78f8ef6
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu May 5 15:26:45 2011 +0200
+
+ Genefx: Cleanup naming, have affine/non-affine function, call non-float affine code directly.
+
+ Conflicts:
+
+ src/core/gfxcard.c
+
+commit eaf8da6e2213a366115637d8e72d554e08b9ab06
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Apr 10 22:49:11 2011 +0200
+
+ Genefx: Protect against zero height in TextureTriangle.
+
+commit f66846349f4c15987704d9b70bbc19a9aab19268
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu May 5 15:21:06 2011 +0200
+
+ merge c9ba26227ab2643c80468bf4b858426de50a3611
+
+commit 6130a355fbc283024c7fb33bc22ebca362df0c63
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu May 5 15:19:10 2011 +0200
+
+ Genefx: Implement TextureTriangles() and split code into a few files.
+
+ TextureTriangles() is supported via affine texture mapping routine only.
+
+ Genefx_TextureTriangle() is meant for affine transformation of Blit/StretchBlit originally.
+
+ Next to gTextureTriangles() there are two new operations, one for texture mapping a scanline
+ into accumulator (Sop_PFI_TEX_to_Dacc) and one for direct mapping into output buffer with
+ same format and no flags (Bop_PFI_TEX_to_Aop_PFI).
+
+ These operations simply interpolate s and t along the scanline.
+
+ For perspective correct TextureTriangles() we need to add Sop_PFI_TEXz_to_Dacc or similar.
+
+ Conflicts:
+
+ src/gfx/generic/generic.c
+
+commit 6525dc87d3062d68ace51d4e0a2bc8cb09c810e5
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu May 5 15:09:01 2011 +0200
+
+ merge 8162c80b9702eb03b06c786ab2f08e3fbb75d6aa
+
+commit ee421f90289267e7b5d261b58926ec7c3b703d59
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Feb 8 03:17:45 2011 +0100
+
+ generic: Optimize fast path ARGB SrcOver and add fast path ARGB SrcOver premultiply.
+
+ df_dok's SrcOver benchmarks:
+
+ before after
+ non-premultiply 420 601
+ premultiply 88 560
+
+ MPixel/sec (i7 K 875 2.93)
+
+commit f41a1622688f347ff39784d65cac3b5ebb48d671
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Jan 30 22:17:26 2011 +0100
+
+ gfx: Moved dfb_pixelformat_name() and dfb_pixelformat_for_depth() to util, MSVC fixes.
+
+commit ac1b2fd395d8ee5843bd900a884ae67c777cffc6
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed May 4 15:56:09 2011 +0200
+
+ gfxcard: fix preclipping of fonts in some cases (broken since 1.4.4)
+
+commit fcc04e80e5b0b97e5a32e1aa563b48ce8a1985f4
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Apr 25 15:26:09 2011 +0200
+
+ libdirect: fix small memory leak in DirectGetInterface()
+
+commit 78fb8328026c9ab82f43c31470929da9abb12cbc
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Apr 25 00:05:19 2011 +0200
+
+ proxy: compile fix
+
+commit 1edf99eea4b49f087d992e03b26c0b3ea154dbb5
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Apr 24 21:57:41 2011 +0200
+
+ Proxy: Add dispatcher code for IDirectFBSurface::Read() which seemed lost.
+
+commit b6e6a13b3318c0388148daf9de3f174ce55a57fc
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Sun Apr 24 21:45:27 2011 +0200
+
+ Voodoo: discard unsupported DSDESC_PALETTE and DSDESC_PREALLOCATED flags
+
+commit 39dc45c1e31527eed4ac34c5eb8851f262c5055c
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Sun Apr 24 20:00:09 2011 +0200
+
+ Voodoo: Dispatcher and Requestor for IDirectFBSurface::FillTrapezoids()
+
+commit 58ba16ef4f670b2bad58bf497b0eb1881a4b9c6f
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Apr 20 21:41:34 2011 +0200
+
+ Proxy: Fix IDirectFBSurface_Requestor::GetSubSurface() to finish the request before constructing IDirectFBSurface Requestor
+
+commit 40eee037f1e76936c0f0090afefb9c2d933b8253
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Mar 16 20:48:16 2011 +0100
+
+ proxy: Add IDirectFBDisplayLayer::GetRotation() implementations.
+
+commit 4128e04c0f5c926e75e000899742691074b01883
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Sun Apr 24 23:37:43 2011 +0200
+
+ proxy: Fixes for MSVC.
+
+ + Fix in IDirectFBDisplayLayer::GetConfiguration()
+
+commit dbe3807c183416fb30086bd42512ac10cb87572a
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Apr 5 23:20:59 2011 +0100
+
+ Release 1.4.12, updated NEWS and ChangeLog
+
+commit afda5eb53d5394bef8ddd7c3829de9a87b97f41f
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Apr 5 23:06:49 2011 +0100
+
+ configure: bump version to 1.4.12
+
+commit 0a412f0532be70d0c045a6706469c21859fc1fd5
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Apr 5 23:05:03 2011 +0100
+
+ voodoo: Use 32bit message serials.
+
+ Sorry for breaking compatibility...
+
+commit d519914d857d5389896649f5606b0fa24966a794
+Author: Phil Edworthy <phil.edworthy at renesas.com>
+Date: Tue Feb 8 15:42:48 2011 +0000
+
+ sh772x: Remove restriction for only one NV12 layer
+
+ The BEU driver can handle any mixture of color formats on each of
+ inputs.
+
+ Signed-off-by: Phil Edworthy <phil.edworthy at renesas.com>
+ Signed-off-by: Andreas Shimokawa <andi at directfb.org>
+
+commit ca633fe06f7dcc8505b9dab0e473e87a6266316c
+Author: Phil Edworthy <phil.edworthy at renesas.com>
+Date: Tue Feb 8 09:17:08 2011 +0000
+
+ sh772x: Fix DSPF_RGB24 handling
+
+ Signed-off-by: Phil Edworthy <phil.edworthy at renesas.com>
+ Signed-off-by: Andreas Shimokawa <andi at directfb.org>
+
+commit 6d490b4a2cb444cba16001fc7ff4ea8baa331f52
+Author: Phil Edworthy <phil.edworthy at renesas.com>
+Date: Fri Feb 4 16:39:36 2011 +0000
+
+ sh772x: Bump version of libshjpeg (minor API change)
+
+ Signed-off-by: Phil Edworthy <phil.edworthy at renesas.com>
+ Signed-off-by: Andreas Shimokawa <andi at directfb.org>
+
+commit 1267c6367e29f184e27dd91ec31b17044d2a7f21
+Author: Phil Edworthy <phil.edworthy at renesas.com>
+Date: Thu Dec 16 11:53:56 2010 +0000
+
+ sh772x: Update calls to libshjpeg for current api
+
+ Signed-off-by: Phil Edworthy <phil.edworthy at renesas.com>
+ Signed-off-by: Andreas Shimokawa <andi at directfb.org>
+
+commit 6695a75840c61c1a4f7530b149921782df34c0fa
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Feb 7 15:32:08 2011 +0100
+
+ vnc: compile fix (include directfb_util.h)
+ (cherry picked from commit 00942ece717e94d1ea172679deed47170d28ffe3)
+
+commit c6a3483ffa05484dd1ffcb6b465b9218f60699ec
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Feb 7 13:04:12 2011 +0100
+
+ sh772x: Register phys memory with UIOMux
+
+ This is patch significantly improves the performance on sh772x devices.
+
+ The sh772x gfx code uses an external library (libshbeu) to access the
+ BEU hardware. In order for this library to understand that the virtual
+ addresses passed to it are for contiguous memory, the memory must be
+ registered with another external library (UIOMux).
+
+ Signed-off-by: Phil Edworthy <phil.edworthy at renesas.com>
+ (cherry picked from commit b37828dd5dcd970a207b81fa771c71acb3b5aa26)
+
+commit d5da8ef260d445d5bb3ca1af4bcd1bd1158d4300
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Feb 7 12:48:34 2011 +0100
+
+ sh772x: Use pkg-config to detect and use SH772x dependencies.
+
+ Signed-off-by: Phil Edworthy <phil.edworthy at renesas.com>
+ (cherry picked from commit c65413eee0f2ed8ed09d6c84b0b2762321b0ce87)
+
+commit a382aa0d24ddbece3de0b6a971cdf2f28846d179
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Feb 7 12:43:38 2011 +0100
+
+ sh772x: Update calls to libshbeu for new api
+
+ Tested on MS7724 board (SH7724) using df_andi
+
+ Signed-off-by: Phil Edworthy <phil.edworthy at renesas.com>
+ (cherry picked from commit 4916fc886ca855857bfbedb3e0ce43498639e38c)
+
+commit 3724bfe1f6f53b011a6e5cc283c67f88520bb7f1
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Jan 17 13:30:18 2011 +0100
+
+ gfxcard:
+ bugfix: when falling back to triangles in dfb_gfxcard_filltrapezoids() the
+ return value of card->funcs.FillTriangle() what misinterpreted.
+
+commit 811a8c01a12994c9f8074c2d6a643759fc413e3d
+Author: André Draszik <andre.draszik at st.com>
+Date: Wed Dec 15 17:32:32 2010 +0000
+
+ build: fix out of tree builds
+
+commit cf97dc3db41a138e03645e128bc74ac98a074ae2
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon Nov 29 18:04:49 2010 +0000
+
+ configure.in: fix linotype formatting by using AC_HELP_STRING
+
+commit 5073855e4756a3be09e505372229b406821094cd
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon Nov 29 18:01:38 2010 +0000
+
+ configure.in: fix some PKG_CHECK_MODULES lines
+
+commit d6e7eada56fb3e6c9d12b1445c626a5ac9b7c4c8
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon Nov 29 15:33:39 2010 +0000
+
+ whitespace & indentation
+
+commit cfbf92472cb3cee7bd82559e30d3b21176fb48a5
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon Nov 22 10:27:51 2010 +0000
+
+ Revert "If a dlopen()'ed module did not register itself, try to dlsym() and call"
+
+ This reverts commit f1a8923dc6a4499e0bb24814e3e251753850043b.
+
+ Currently, DirectFB's lib/direct/modules.c will try to call a function with
+ a name of shared_library_name with lib and .so removed in case the module
+ did not have an __attribute__((constructor)) function. This works for many
+ cases of the existing modules in the DirectFB source tree, but not for all:
+
+ 1) the constructor function name of many (but not all) modules has had the
+ string "_ctor" added a while ago.
+
+ 2) some modules don't fit into this naming scheme (all which use the
+ DIRECT_INTERFACE_IMPLEMENTATION macro to implement an interface), as they
+ use different cApITAliSaTION rules for the function type name vs. the
+ shared library name (e.g. IDirectFBImageProvider_GIF_ctor() vs.
+ libidirectfbimageprovider_gif.so).
+
+ These two actually mean that trying to call a 'default' constructor function
+ after dlopen() has not been useful for quite a while.
+
+commit b368aac6b87cf760264d66cf5c0286cd1dbeb02d
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Nov 22 12:19:57 2010 +0100
+
+ gfxcard: support clipping for vertical and horizontal flips
+
+ this does not work in combination with DSBLIT_ROTATE_ flags yet.
+ The software driver cant combine DSBLIT_FLIP_ and DSBLIT_ROTATE_ anyway,
+ correct clipping here would cause a segfault in generic.c.
+
+commit 77b3439ca4ee99fcd9a616c989bfd1c3e4e73739
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Wed Nov 17 16:15:05 2010 +0100
+
+ core: added option to disable core signal handler for emergency shutdowns
+
+ This is helpful for applications that have their own signal handler that
+ deinializes DirectFB resources.
+
+ the new options are:
+
+ core-sighandler (default, same behaviour as before)
+ no-core-sighandler
+
+commit f46caa17db499699b44af63af8a7beb0bc37f180
+Author: Sven Neumann <s.neumann at raumfeld.com>
+Date: Wed Nov 10 14:30:40 2010 +0100
+
+ font: add font attributes to control the hinting algorithm
+
+ Add font attributes to control the hinting algorithm used by the
+ FreeType font provider:
+
+ DFFA_AUTOHINTING forces use of the auto-hinter over the font's
+ native hinter.
+
+ DFFA_SOFTHINTING selects a lighter hinting algorithm. It
+ generates glyphs which are more fuzzy but better resemble
+ their original shape. It implies use of the auto-hinter.
+
+commit 75cd2932df7930a8064350e72ffe420847a3235d
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Nov 15 22:31:29 2010 +0100
+
+ release 1.4.11
+
+commit 756cae8913299750275dddc046babdb2c53ead78
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Nov 11 11:56:56 2010 +0100
+
+ gfxcard: disable clipping for DSBLIT_FLIP_ flags until fixed :(
+
+commit bd2c6f130b8000282f5845218dbebc2855a3efae
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Wed Nov 10 19:45:06 2010 +0100
+
+ gfxcard: fix clipping for vertically and horizontally flipped blits
+
+commit 5e2e7c99d926801b7982cfc8bd5611d95017f8a0
+Author: Sven Neumann <s.neumann at raumfeld.com>
+Date: Wed Nov 10 09:13:30 2010 +0100
+
+ directfb.pc: add -lm to Libs.private if needed
+
+commit 97b2ff9500c5a4e9508f1f914005a340e22de970
+Author: Lionel Landwerlin <llandwerlin at gmail.com>
+Date: Sun Nov 7 21:45:19 2010 +0100
+
+ Add -lm flag when nedded
+
+ Signed-off-by: Lionel Landwerlin <llandwerlin at gmail.com>
+
+commit 81a5bcad6452a0602b45679653d08615a44b4b60
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Wed Nov 10 11:50:31 2010 +0100
+
+ gfxcard: no preclipping if matrix is set in DrawRectangle()
+
+commit 94dc0a74d25c782e470de75902d4544cfbca181d
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 10 09:42:40 2010 +0100
+
+ fusion: Fix broken join due to new root page file.
+
+commit 41e0e66acfaa04ee987a81f4491c8ae44bdc726d
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Nov 8 14:58:11 2010 +0100
+
+ gfxcard: added fill_trap() function for filling Trapezoids without splitting into rectangles
+
+ The new function is used if no matrix is set and there is no hardware support for neither trapezoids nor rectangles
+
+commit 85a84819d31858286fa70442c4b04607d46feee7
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Nov 8 12:40:01 2010 +0100
+
+ git: Don't ignore dfb_types.h.
+
+commit f88251ef962d56f390a45a35cdcccc75f56db612
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Nov 8 11:51:21 2010 +0100
+
+ linux_input: fix warnings
+
+commit 0c5747e16b115398bb279f436d281105801541f2
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Mon Nov 8 10:29:15 2010 +0100
+
+ gfxcard: copy Trapezoid before sorting
+
+commit d023c06fda5d6253110ae369cf05613218abdfe2
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Nov 4 19:20:15 2010 +0100
+
+ small fixes
+
+commit c588e5cf936821f5feaf1fcdf840677602b9fc7b
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Nov 4 19:09:47 2010 +0100
+
+ reverted one change I accidently pushed
+
+commit ff6e81435cc163edcaf97794052f2f57665137b9
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Nov 4 18:49:44 2010 +0100
+
+ IDirectFBSurface: added FillTrapezoids()
+
+ - added new type DFBTrapezoid
+ - added FillTrapeziod() to GraphicsDeviceFuncs
+ - software and hardware fallback to triangles
+ - matrix operations supported
+
+commit f38139834b2e47ee60c9e25f6f300d2d26073579
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Nov 6 23:46:04 2010 +0100
+
+ voodoo: Add simple Voodoo client/server test programs.
+
+commit 06de6b780dc66b93d168af49ff04db56285b4544
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Nov 4 15:49:48 2010 +0100
+
+ voodoo: Added option "server-single=" that allows to enable the single client feature that was accidentally committed without a run time option for it.
+
+commit 08d564d33518dd2d4a7c8ad0f601fe4d9449f80f
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Nov 4 12:01:11 2010 +0100
+
+ voodoo: Change session to port and use default of 2323 if port is 0 (compatible).
+
+ Sessions other than 0 haven't been supported so far anyhow.
+
+ Fixed parsing of value after colon in remote= option.
+
+commit 64d8e79a95951dd6c43f80f4460e759ce090dffb
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Nov 4 10:48:17 2010 +0100
+
+ voodoo: Added addr and port parameter to voodoo_server_create().
+
+ This allows running multiple servers on one system, listening on
+ different ports or specific interfaces, e.g. local only.
+
+commit 95669ed28be4274da5cfd45243524d4c135cf942
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Nov 4 10:48:13 2010 +0100
+
+ fix comment in driver
+
+commit 87322dbbb050da1fade90ddadb1dfd3417f6230b
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Nov 4 10:35:55 2010 +0100
+
+ voodoo: Added parameter to choose between fork/thread to voodoo_server_create().
+
+ The recently added runtime option "server-fork" is passed to the function by dfbproxy.
+
+commit c00a7bd8f6c32497d337763aca9be75dbc1a6c30
+Author: André Draszik <andre.draszik at st.com>
+Date: Tue Nov 9 08:52:29 2010 +0000
+
+ direct/interface: fix deadlock in DirectGetInterface() for static builds
+
+ If there is no image provider available then DirectGetInterface()
+ failed to call pthread_mutex_unlock() when statically compiled
+ and linked. This means the next call to CreateImageProvider()
+ blocked forever.
+
+commit df8ce4857508c3d8e020ecefa5e288e19d21765e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 3 18:13:18 2010 +0100
+
+ bumped to 1.4.11
+
+commit 12152b08a3d29aff7a9cb122e12f94c127cb1c36
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 3 18:11:46 2010 +0100
+
+ shm: Use FUSION_SHMPOOL_GET_BASE to get rid off hard coded address in user space.
+
+commit 33056e30ca907ee27732764f558292db1469916e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 3 16:23:23 2010 +0100
+
+ uniquewm: Added missing wm_set_cursor_position() as unimplemented.
+
+commit b63c01574b61d47358a431393072a9302441f3ba
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 3 16:22:46 2010 +0100
+
+ fusion: Close files of shm pools for safety.
+
+commit 77fa2842842ffbac7db93e794660499b39d19f67
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 3 15:17:38 2010 +0100
+
+ fusion: Map shared root structure via tmp file like pools.
+
+commit a6e4de1c0a1cc3951f5cf0dc819602e5f42ea09f
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 3 15:06:35 2010 +0100
+
+ build: Build tools before wm to let unique use directfb-csource.
+
+commit a26116dee31101d06a8b2b12b5f235e2960a925c
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 3 13:08:07 2010 +0100
+
+ release 1.4.10
+
+commit ab434fd1bde1e2585e995eb071fd1d4010cd9687
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Nov 3 11:54:58 2010 +0100
+
+ bumped to 1.4.10
+
+commit 4e3276085240dee2453d98c986c9e4cdc346208f
+Author: Sven Neumann <s.neumann at raumfeld.com>
+Date: Tue Nov 2 16:29:29 2010 +0100
+
+ surfaces: refactor backup_allocation()
+
+ Refactor backup_allocation() to only take a single parameter.
+
+commit 5f9118ba4447507dedb03d26b66421c1376e07d4
+Author: Sven Neumann <s.neumann at raumfeld.com>
+Date: Tue Nov 2 16:21:23 2010 +0100
+
+ surfaces: fix buffer passed to backup_allocation()
+
+commit 6f2b54bd8ff22a9bb676e4a548f32fe65a4baa4a
+Author: Sven Neumann <s.neumann at raumfeld.com>
+Date: Tue Nov 2 16:18:10 2010 +0100
+
+ surfaces: fix reset of 'read' allocation pointer
+
+ Move the block that resets the 'read' allocation pointer before
+ the block that changes the local variable 'allocation'.
+
+commit ff26e23815073933ad2d81e197b2f7a6744240fa
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Nov 2 00:18:45 2010 +0100
+
+ release 1.4.9
+
+commit 6b6af66b2ee496d2a573f300927082e7b745acb9
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Nov 2 00:14:26 2010 +0100
+
+ voodooplay: include <string.h>
+
+commit 9aa69002593a87ab5b4e41b20985e61202381196
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Nov 2 00:08:41 2010 +0100
+
+ Configure Options
+ - Add "--enable-pure-voodoo" to build a client only library.
+ - Add "--without-setsockopt" to disable usage of setsockopt() call.
+ - Generate directfb_build.h with Voodoo options.
+ - When Voodoo is enabled, add library dependency to pkg-config file and pass runtime options to libvoodoo.
+
+ Runtime Options
+ - Add "[no-]server-fork" choosing between fork() and thread based connection handling.
+ - Add "player-name=<name>", "player-vendor=<name>", "player-model=<name>", "player-uuid=<name>" to set Voodoo Player information.
+ - Add "proxy-memory-max=<kB>" to set maximum amount of memory per connection.
+ - Add "proxy-surface-max=<kB>" to set maximum amount of memory per surface.
+ - Add "proxy-layer-mask" to limit the set of layers to be used by clients.
+ - Add "proxy-stacking-mask" to limit the stacking classes to be used clients.
+ - Add "proxy-resource-id" to make all surfaces system only except those with the specified resource ID.
+
+ Voodoo
+ - Reuse connections when same server is used.
+ - Lookup remote player if no host has been specified.
+ - Implement multi response adding voodoo_manager_next_response() call.
+ - Add flush parameter to voodoo_manager_respond() to allow efficient transmission of multi response.
+ - Add voodoo_manager_unregister_local() which should have been there since the beginning *sigh*
+ - Add voodoo_manager_check_allocation() looking at VmRSS if "proxy-memory-max" option is used.
+
+ Implementation
+ - Add implementation for IDirectFBDisplayLayer::GetWindow() and GetWindowByResourceID().
+ - Add implementation for IDirectFBWindow::EnableEvents(), GetProperty() and SendEvent().
+ - Add implementation for IDirectFBSurface::Read().
+ - Add Release calls to IDirectFBSurface and IDirectFBWindow.
+ - Cache pixel format in IDirectFBSurface::GetPixelFormat().
+
+ Voodoo Play
+ - Introduce discovery and transport implementation, stay tuned...
+
+commit e55b4d0874724c35881d70ce9b4085983df9f51d
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Nov 2 00:10:43 2010 +0100
+
+ bumped to 1.4.9
+
+commit 756cd707b1a548b77f1a1e9f03b46362bbf14f26
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 31 10:20:48 2010 +0100
+
+ Release 1.4.8 in old manner.
+
+commit 23e31b5160a6da3f5ad80bbedde303733b918847
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Oct 30 16:41:27 2010 +0200
+
+ options: Added max-axis-rate to limit the amount of input axis events.
+
+commit cdd0f443c23ed28acfa5b419bfa387e5c0ff1a1a
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Oct 30 16:38:23 2010 +0200
+
+ windows: Add DWET_UPDATE for sending update events (upon Flip).
+
+ Send DWET_UPDATE events in default window manager module when the
+ application does a Flip on the window surface.
+
+ This way another process can capture the output of the application.
+
+commit d6bc0e52907fab783ca2de8e4f5cf29c23787089
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Oct 30 16:18:13 2010 +0200
+
+ windows: Extended cursor capabilities for advanced input devices.
+
+ Add DFBWindowCursorFlags (per window) with the following definitions:
+ DWCF_RELATIVE receive relative coordinates instead of absolute
+ DWCF_EXPLICIT if window has focus it's also the pointer window
+ DWCF_UNCLIPPED pointer is not clipped against stack boundaries
+ DWCF_TRAPPED pointer is clipped against the window boundaries
+ DWCF_FIXED pointer does not move at all, but still may send relative motion
+ DWCF_INVISIBLE cursor opacity is zero when this window is pointer window
+
+ Add DWEF_RELATIVE to DFBWindowEventFlags to indicate x/y are relative coordinates.
+
+ Add IDirectFBWindow::SetCursorFlags() to set the per window DFBWindowCursorFlags.
+
+ Add IDirectFBWindow::SetCursorResolution() to define per window coordinate space,
+ e.g. SetCursorResolution( 100, 300 ) will always send 50,150 in the middle of the
+ window.
+
+ Add IDirectFBWindow::SetCursorPosition() to warp the pointer relative to the
+ window based on the per window coordinate space if set.
+
+ --
+
+ Add CWCF_CURSOR_FLAGS and CWCF_CURSOR_RESOLUTION to CoreWindowConfigFlags.
+
+ Add cursor_flags and cursor_resolution to CoreWindowConfig.
+
+ --
+
+ Add dfb_wm_set_cursor_position() called by IDirectFBWindow::SetCursorPosition().
+
+ --
+
+ Add SetCursorPosition() to WMFuncs.
+ Add wm_set_cursor_position() to wm module header and set it for SetCursorPosition().
+
+ --
+
+ Removed setting of cx and cy from dfb_window_post_event(), instead this is done
+ in window manager modules now.
+
+ --
+
+ Set cx and cy of window events in default window manager module now.
+
+ Add unimplemented wm_set_cursor_position() to default window manager module.
+
+commit d30be1d2d67918b2c279529add242e45202b90bd
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Oct 30 16:07:31 2010 +0200
+
+ windows: Added IDirectFBWindow::SendEvent() to send a window event via a window.
+
+commit bc1b2b6771faadc105ade47d32c51a4ccfa664a3
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Oct 30 14:05:14 2010 +0200
+
+ layer: Added IDirectFBDisplayLayer::GetWindowByResourceID().
+
+ It returns the first window with a surface matching that resource id.
+
+commit 3e14efced02e4fc5301d00589ea6136ff1e14a41
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Oct 30 13:18:45 2010 +0200
+
+ fusion: Don't assert that msg_size is greater than zero.
+
+ msg_size may be zero which means the actual message size is passed
+ with each dispatch call.
+
+commit d4b82fcc5a6395b8a506ebd712b0bfd050588260
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Oct 30 13:11:01 2010 +0200
+
+ LinoType: Added new font module using LinoType library.
+
+commit 04eb85c1b93b151ac566897f88e8207302ec21fe
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Oct 30 13:05:57 2010 +0200
+
+ fonts: Added font rotation based on initial patch from Phil Endecott.
+
+ Add DFDESC_ROTATION to DFBFontDescriptionFlags.
+ Add rotation to DFBFontDescription.
+ Add DFB_DEGREES and DFB_RADIANS convenience macros.
+ Add IDirectFBFont::GetLineSpacingVector() and GetGlyphExtentsXY().
+
+commit 291ce79f30e46978101661d33e24819e48be1e02
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sat Oct 30 12:56:21 2010 +0200
+
+ keyboard: Extend custom key definitions from 100 to 255.
+
+commit b3aa46bbf436f14d3dde7ee13ca40dda9a4a9630
+Author: Sven Neumann <s.neumann at raumfeld.com>
+Date: Thu Oct 28 22:56:25 2010 +0200
+
+ fbdev: fix issues with fbdevMuckOut()
+
+ Fix debug macros so the code compiles and works when compiled
+ with debug enabled.
+
+commit f8a5f871f0d54f0552590b41275f5656514c98d1
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 28 00:51:25 2010 +0200
+
+ fbdev: Add MuckOut implementation for surfaces in fbdev pool using surface manager displace.
+
+commit 5c44f6a81c32880b3d92474ac98dd15a542d4149
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Oct 27 21:46:52 2010 +0200
+
+ font: Try to mmap the font file before loading all of its contents via data buffer.
+
+commit 268ef9eafa3b02340ddecd6a06e4dd8bd79b21ff
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Oct 26 22:59:48 2010 +0200
+
+ default-wm: fixed wm_window_lookup to return DFB_IDNOTFOUND when window with specified ID wasn't found
+
+commit 9a3fd6cc069f8d6dad68fd27fe80185ea4c5b204
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 31 09:53:02 2010 +0100
+
+ bump to 1.4.8
+
+commit 89b2fbb9180ecf771f9ae0d606c420bcaaf83a37
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Sun Oct 31 09:52:33 2010 +0100
+
+ mkdgifft: Include <sys/stat.h> for fstat().
+
+commit 58b13531e9fd0c5c80bc18bee9d4c2ed2e27e8ff
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Oct 25 16:25:41 2010 +0200
+
+ real release 1.4.7
+
+commit b3baa16aa9ae50fb6c7bbebe86631ee7c2669b2d
+Author: André Draszik <andre.draszik at st.com>
+Date: Sat Oct 23 22:59:38 2010 +0100
+
+ directfb-csource: fix colour replacement for transparent pixels
+
+commit 37a410669cb87df3017d7e64a9479990f1b53e82
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Sat Oct 23 10:21:22 2010 +0200
+
+ Query GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_BLUE_SIZE, GLX_ALPHA_SIZE and add their values instead of querying GLX_BUFFER_SIZE.
+ (Although the GLX specification says GLX_BUFFER_SIZE is the sum of GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_BLUE_SIZE, GLX_ALPHA_SIZE, this is often not the case.)
+
+ This fixes glx acceleration with nvidia and probably other drivers.
+
+commit 3c76352a640ff5db221a87e5af6f8fe9e2c2c788
+Author: André Draszik <andre.draszik at st.com>
+Date: Thu Oct 21 17:29:52 2010 +0100
+
+ conf: whitespace
+
+commit 6071b9997e4e2f17ddd4ed897523af18f1d3c82c
+Author: André Draszik <andre.draszik at st.com>
+Date: Wed May 19 05:29:26 2010 +0100
+
+ image providers: refactoring exercise step 2
+
+ Move lots of common code (AddRef(), Release(), and SetRenderCallback()) to
+ one single place.
+
+commit 5c86558c232e4ebce6daa1f1aff0ade035e72dd5
+Author: André Draszik <andre.draszik at st.com>
+Date: Wed May 19 05:05:59 2010 +0100
+
+ image providers: refactoring exercise step 1
+
+ Create a base struct to be used by all the image providers, and make them
+ use it. This will allow us to factor out some code common to all image
+ providers.
+
+commit 8487ba165278905f5b4fad5a990037fd1fd2392f
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Oct 19 14:34:24 2010 +0200
+
+ gfxcard: fixed warnings
+
+commit fab5fc38d6268ce8c1b813bfab60e6cdb1c0b0c3
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Oct 19 14:33:12 2010 +0200
+
+ fonts: set default max-font-rows to 99
+
+commit f670d7d1cab986ec24e86aee50f5b611bbbd1e36
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Oct 19 14:03:22 2010 +0200
+
+ surface pool: Fix namespace of surface_pool_get_local.
+
+commit 7eacd29270535413ff8a702a4e307e732a132ca6
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Oct 19 13:44:03 2010 +0200
+
+ fonts: One more assertion fix, check on row != NULL, just removed cache member (unused).
+
+commit a265fe402dd7c6d39bb509d2d28b10237669203a
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Oct 19 12:45:40 2010 +0200
+
+ mkdgifft: Fixed warnings.
+
+commit 9cff96f6bf10db5d0a46bb94707515e6027bc86b
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Oct 14 14:15:20 2010 +0200
+
+ - provide libshjpeg patch until merged upstream
+
+commit f434ec788d502ef33bbce3baac81552bebeb3cac
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Thu Oct 14 14:08:58 2010 +0200
+
+ - rewrote sh772x driver to use libshbeu
+ - reintroduced jpeg provider, uses libshjpeg
+
+commit 4c7c83b08ab283203474c7e3042b860cc56905a4
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 14 12:00:48 2010 +0200
+
+ dummy: Added new dummy system module, e.g. for using DirectFB offscreen only.
+
+commit 5828cab56b84e5f3bc1c49f79ce1b22b12fdb05d
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 14 11:59:48 2010 +0200
+
+ layers: Use surface_caps and surface_accessor if specified in DFBDisplayLayerDescription.
+
+commit 9a9a94682bed7a79f56fcba5cc07afda5b467de1
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 14 11:59:03 2010 +0200
+
+ layers: Added surface_caps and surface_accessor to DFBDisplayLayerDescription.
+
+commit 91723f31b3effd1e00da5653247d5e34a79140da
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 14 11:25:19 2010 +0200
+
+ mkdgifft: Fixed warnings.
+
+commit b6399512198be47839a101f76bd99aeaa8c29fe9
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 14 11:25:01 2010 +0200
+
+ test: Fixed warning in fusion_skirmish test.
+
+commit 57ca370b4309a4a6ea4eabfd7c192d8429fa49ab
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 14 11:24:45 2010 +0200
+
+ dfbtest_font: Fixed warning.
+
+commit 423b89c511854d72a98797f2fbc5f448e88129e9
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 14 11:23:59 2010 +0200
+
+ voodoo: Fixed warning by adding cast to VOODOO_PARSER_GET_ODATA.
+
+commit e304a3557ab4fc7d4287a7ed6a0e301dff07b0fb
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 14 11:23:43 2010 +0200
+
+ proxy: Fixed warnings.
+
+commit a679cacee97fc1e563bef3aaea9cedd01226cce2
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 14 11:23:31 2010 +0200
+
+ ft2: Fixed warnings.
+
+commit d2582acc4c01ee964e23d8658bd88846fa41bf0d
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 14 11:11:06 2010 +0200
+
+ configure: Don't append '-std=gnu99' to CXXFLAGS.
+
+commit 21afdc050e0df41ab9d518940bdea8c1259034c8
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 14 11:10:27 2010 +0200
+
+ directfb-csource: Fixed warnings.
+
+commit 11040056a786a90a18e73a52227bdd594fcf45fd
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 14 11:10:10 2010 +0200
+
+ x11: Fixed warnings.
+
+commit 46da97a53e86aaf41d425d364fad7681b2e68775
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 14 11:06:54 2010 +0200
+
+ generic: Fixed warnings about unused functions (via attribute).
+
+commit d4d18f63a1c73a4855eff92bd43cf59fc6bed129
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Mon Oct 25 11:38:56 2010 +0200
+
+ release 1.4.7
+
+commit edb6a31e1fbf85c4b60251d9562f14f9ac576d8d
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Tue Oct 19 14:39:34 2010 +0200
+
+ fonts: Avoid too many surface switches during one string rendering.
+ (cherry picked from commit dcd6c9a7c9e5cd31c65f8bd58aa79b9b2dec6ac0)
+
+commit f0f72abac79217941177478936a42f6ba31c2861
+Author: André Draszik <andre.draszik at st.com>
+Date: Thu Oct 14 11:59:36 2010 +0100
+
+ generic: improve code readability
+
+commit 7ce6ed2445070fae4a6fb009c09c0b467600ca24
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Oct 13 18:47:32 2010 +0200
+
+ screen: Fixed warning.
+
+commit 99a13311757106464578037909ffca332f25e2a6
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Oct 13 18:47:16 2010 +0200
+
+ input: Fixed warning.
+
+commit f380ddc5ae390580ee82201b6ca0af6599b25d89
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Oct 13 18:46:54 2010 +0200
+
+ fonts: Fixed wrong state member being used for blitting flags...
+
+commit 12c83e024a4959c28ffd903b3d09dccaab6cd244
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Oct 13 18:46:41 2010 +0200
+
+ core: Fixed warning.
+
+commit 75cc89c479cd2aac0dc792a07cf81e9512618f25
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Oct 13 18:46:23 2010 +0200
+
+ shm: Fixed warnings.
+
+commit 538ac64ac5d56fcedfad531ad3f2e4cab105c6b5
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Oct 13 18:09:29 2010 +0200
+
+ fonts: Fix assertion because of missing cache assignment.
+
+commit 5adcccfe911ce649b2947ba153a65e0949b0691f
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 8 15:06:38 2010 +0200
+
+ bumped to 1.4.7
+
+commit 48f62229af24971882998d4a071aaadb73b1f273
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 8 15:03:11 2010 +0200
+
+ idirectfb: fixed warning
+
+commit 388de6bd4b759c7dd944d3c09343fceec08b0c2f
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 8 14:55:25 2010 +0200
+
+ voodoo: fixed warning
+
+commit 0b46e4b4907afc518931a5a4a623fe06fb85e50c
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 8 14:55:01 2010 +0200
+
+ dfbproxy: fixed warning
+
+commit ea66150c52cdde19ebe3aab4d3386850e575ba89
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 8 14:54:45 2010 +0200
+
+ generic: fixed some warnings
+
+commit af01c5f374bfb63042e1e5787acecfc169f3af28
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 8 14:54:32 2010 +0200
+
+ layers: fixed warnings
+
+commit 7cf3578f2a5ee4b37cefa3caef722853c240e100
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 8 14:54:11 2010 +0200
+
+ input: fixed warnings
+
+commit 4bc10659e3baaccd3042d938a291528d667462b5
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 8 14:48:42 2010 +0200
+
+ fonts: fixed warnings
+
+commit 4cbea82b9f139e337fd44df7733ca78296f13616
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 8 14:41:16 2010 +0200
+
+ map: fixed warnings
+
+commit beeb6144400bac729e8d68168696baa42896bc7d
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 8 14:05:15 2010 +0200
+
+ release 1.4.6
+
+commit c8a0921edcef4dffb5e24349818ba00ebb195eb2
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Fri Oct 8 12:00:18 2010 +0200
+
+ build fixes for new c++ code
+
+commit e3ff6d047c3d72a7c54c4ed2328ea7ae51c5061f
+Author: Andreas Shimokawa <andi at directfb.org>
+Date: Fri Oct 8 10:49:01 2010 +0200
+
+ use direct_snputs() instead of snprintf() (also fixes gcc warnings)
+
+commit 4fd23cf60e4bd9a22b52df9e542ff59c43d86a47
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 8 10:33:56 2010 +0200
+
+ configure: add -std=gnu99 to CFLAGS
+
+commit c066948c6b01f8e841d6f38b4c95e67faa5ec9f6
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 8 09:55:39 2010 +0200
+
+ fonts: Reworked font cache for global cache row management.
+
+ - Font cache rows are shared across fonts.
+ - Maximum number of cache rows is total and not per font.
+ - Cache rows are selected by individual glyph height, not font height.
+
+ Applications may now load hundreds of fonts and use them in a random fashion
+ without having hundreds of font cache rows.
+
+commit a3ff914ff718791dde30d40729f77b17acc997f1
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Fri Oct 8 09:51:42 2010 +0200
+
+ map: added map implementation, like hash with custom objects as keys instead of primitives
+
+ On creation pass in a hash_func and compare_func.
+
+ hash_func calculates hash based on key.
+
+ compare_func checks if the object matches the key.
+
+commit c76bbdc3d7dd80d5b4f07487378f086550d17ef5
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 7 22:19:08 2010 +0200
+
+ graphics: Cleanup code by moving font state setup/restore into two functions.
+
+commit 6af0d424746666601887a846e791d408334d4e3e
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 7 22:17:51 2010 +0200
+
+ font: Removed default font implementation, use of DGIFF is adviced instead.
+
+commit bd69fa94f9eeeb7e714f98420b8d8d548cbb7332
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 7 22:15:21 2010 +0200
+
+ list: Change direct_list_check_link to be a macro for getting the actual file:line in assertions.
+
+commit 8354fdff105ded6ab48adf70d2f3471e09d95241
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Thu Oct 7 22:13:39 2010 +0200
+
+ mkdgifft: New tool to generate DGIFF from a description and image files.
+
+ Description looks like this:
+
+ face {
+ size 54
+ height 47
+ ascender 40
+ descender -6
+ maxadvance 40
+ blittingflags BLEND_ALPHACHANNEL
+
+ glyph {
+ unicode 0x0041
+ left 0
+ top 0
+ advance 40
+ file "smiley1.png"
+ }
+
+ glyph {
+ unicode 0x0042
+ left 0
+ top 0
+ advance 40
+ file "smiley2.png"
+ }
+ }
+
+commit 538a372c1fba069547b1801070ad2f35d1400880
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Oct 6 11:56:43 2010 +0200
+
+ linux_input: Fix build when HAVE_INPUT_ABSINFO is not defined though input_absinfo is available.
+
+ Need to add proper configure check for HAVE_INPUT_ABSINFO!
+
+commit c88992b94493ac8fda54a7cff6086ddc88871e29
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Oct 6 11:56:20 2010 +0200
+
+ linux_input: Query vendor and product id.
+
+commit 9f55d7f3cc06f2e82fefb1f15c3681f1b0ae3612
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Oct 6 11:48:37 2010 +0200
+
+ input: Add vendor_id and product_id to DFBInputDeviceDescription.
+
+commit bc4109a21dfef8d13c367c43e7bd27e0e458e35b
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Oct 6 10:50:00 2010 +0200
+
+ DGIFF: Add blitting flags to structure in file (in place of padding), backward compatible.
+
+commit 1e5a56006caaada06438ea1f048fc9e6b11bc27b
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Oct 6 10:49:21 2010 +0200
+
+ generic: Show blend functions in Blit warning.
+
+commit 236f652372a8f16a85e46246e8c22d4a3f899360
+Author: Denis Oliver Kropp <dok at directfb.org>
+Date: Wed Oct 6 00:14:56 2010 +0200
+
+ mkdgiff: Added option --premult (-p) for premultiplied alpha (ARGB only).
+
+commit 247146ef9edcf4560b71d6e9b5121647bbf53253
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Thu Sep 23 20:05:17 2010 +0200
+
+ sh772x: Remove all jpeg related code
+
+ The jpeg code was commented out and also removed from the SOURCES
+ declaration in makefile.am, but the remaining code still #included
+ sh7722_jpeglib.h
+
+ patch by Phil Edworthy <phil.edworthy at renesas.com>
+
+commit 924fff15dc8edc45799b3228f2250cfadc5b2b76
+Merge: 1fdd7ab 8175b70
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Thu Sep 23 13:14:16 2010 +0200
+
+ Merge branch 'master' of git+ssh://git.directfb.org/git/directfb/core/DirectFB
+
+commit 1fdd7abf2130c67f6606034088fecaf27ec75b40
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Thu Sep 23 13:13:02 2010 +0200
+
+ directfb-csource: Follow macro name change from previous commit.
+
+commit 8175b702f1fc9f9c5a35a5dbb5dfaedaf4a7b46d
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Thu Sep 23 12:59:51 2010 +0200
+
+ dfbtest_font: Extended test to load font at different sizes.
+
+commit 052763d884525639a463efd5bba461792a84593a
+Merge: d46d766 52b2766
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Thu Sep 23 12:59:15 2010 +0200
+
+ Merge branch 'master' of git+ssh://git.directfb.org/git/directfb/core/DirectFB
+
+commit d46d766869e3149c4a8e6b457516a2218ed41637
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Thu Sep 23 12:58:24 2010 +0200
+
+ header: add some comments to video provider structs to avoid errors in parser
+
+commit 52b2766927eadc2a0b03c28ad6215ac19d12829a
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Thu Sep 23 12:28:39 2010 +0200
+
+ gfx_util: Added dithering for non-RGB16 formats with separate configure option (only ARGB4444 so far)
+
+commit eb0467496681c98db4a567ee48836d33e848e1a8
+Merge: 8e5341e f9cd9ae
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Thu Sep 23 11:21:18 2010 +0200
+
+ Merge branch 'master' of git+ssh://git.directfb.org/git/directfb/core/DirectFB
+
+commit 8e5341ef5cbb80a7bc9f5969d4b14e4db6796db1
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Thu Sep 23 11:20:22 2010 +0200
+
+ IDirectFBFont: Added Dispose() to free resources used by the font, but keeps it usable, recreating resources as needed.
+
+commit f9cd9aeeb438fa55f6f5ef850e02e2b4fe1ce6be
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Thu Sep 23 11:16:50 2010 +0200
+
+ sh772x: Remove the hook for the BEU IRQ as it isn't used for anything and will soon conflict with kernel resources.
+
+ patch by Phil Edworthy <phil.edworthy at renesas.com>
+
+commit 17482789552ee3d044ce7457a83366d37361fab0
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Thu Sep 23 10:17:51 2010 +0200
+
+ configure: add sh-) to detect toolchain (by Phil.Edworthy at renesas.com)
+
+commit 34ec42ef5ec03512156fd35dc9b1fdedbdbf262b
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Thu Sep 23 10:11:04 2010 +0200
+
+ Added systems driver specific shared surface data structure
+
+ Added a systems driver specific shared surface data structure
+ that is created/destroyed by the core. Added three new functions
+ to the systems driver to do this: system_surface_data_size,
+ system_surface_data_init, and system_surface_data_destroy. This
+ allows the systems driver to store custom data in the
+ CoreSurface.
+
+ patch by timothy.strelchun at intel.com
+
+commit e0e0cb670e8de90c1f3cc99529acf7e520f37196
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Thu Sep 23 10:07:58 2010 +0200
+
+ Added surface_pool_get_local
+
+ Added the function surface_pool_get_local to enable a surface
+ buffer pool to obtain its own local data. Useful for custom
+ surface buffer pools so that they do not have to explicitly
+ store a static local pointer to it during init/join.
+
+ patch by timothy.strelchun at intel.com
+
+commit 26253f2629ebdf5dcef89aaabcd2e10ebfeb5dec
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Thu Sep 23 10:05:57 2010 +0200
+
+ Added layer enumerators to CoreSurfaceAccessorID & updated handling
+
+ Expanded CoreSurfaceAccessorID to include enumerators for all possible
+ display layers to resolve array out-of-bounds accesses that can occur
+ when display layer surfaces are locked (internally/externally) that
+ have an id value > 7 and < MAX_LAYERS.
+
+ Updated dfbdump tool to dump information regarding all available
+ display layers.
+
+ patch by timothy.strelchun at intel.com
+
+commit f08d4a56591008ca77ddc8607a60ee8e4a77e3d6
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Thu Sep 23 10:03:54 2010 +0200
+
+ Default WM clears pending region updates on process_updates failure
+
+ In the default window manager's process_updates function, if there
+ is a failure to obtain the primary region, reset and clear all
+ pending region updates (such as due to cursor movement) to prevent
+ the region from performing any subsequent outdated repaints. In
+ some multiple display layer usage scenarios when that would
+ previously occur, visual artifacts have been observed on other
+ display layers.
+
+ patch by timothy.strelchun at intel.com
+
+commit 55d521ec406e035f10bc2ff2351c4bf8bd51313f
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Wed Sep 22 12:52:26 2010 +0200
+
+ options: Added "max-font-rows" and "max-font-row-width" font cache limit options.
+
+commit 3fc02996904812401c037972be12951d7ab654d4
+Author: Sven Neumann <s.neumann at raumfeld.com>
+Date: Wed Aug 25 10:11:29 2010 +0200
+
+ linux_input: set DICAPS_KEYS for all input devices with key events
+
+ All linux input devices that have the EV_KEY bit set get DICAPS_KEYS
+ set in their DFBInputDeviceCapabilities.
+
+ Signed-off-by: Sven Neumann <s.neumann at raumfeld.com>
+
+commit e2649a62092c921c7294e912afaf4660f38c9ee4
+Author: Sven Neumann <s.neumann at raumfeld.com>
+Date: Wed Jul 7 10:12:07 2010 +0200
+
+ x11: don't blank the cursor
+
+commit cb4093d57a383885974a3577146f46399d174cb7
+Author: Sven Neumann <s.neumann at raumfeld.com>
+Date: Wed Jul 7 10:08:09 2010 +0200
+
+ tools: add option 'transparent' to directfb-csource
+
+ Add an option that allows to specify a color to be used for all
+ completely transparent pixels.
+
+commit cdc75f1f1eaf5172a24adea78f8647409987c9b0
+Author: Sven Neumann <s.neumann at raumfeld.com>
+Date: Wed Nov 25 12:02:26 2009 +0100
+
+ input: initialize linux_input key states
+
+ IDirectFBInputDevice caches the key states (up/down) by keeping track
+ of press and release events. This doesn't take into account that a key
+ may be pressed at the time the device is opened or that a key might
+ have changed state while the device was in suspend.
+
+ This change introduces code to the linux_input driver that queries
+ the keystates when the event thread is started and synthesizes key
+ events for all keys depending on the key state as reported by the
+ linux input layer.
+
+ Signed-off-by: Sven Neumann <s.neumann at raumfeld.com>
+
+commit 438a9b1b5e9fbabfa243a699f2abebaa647bd211
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Thu Aug 19 02:00:42 2010 +0200
+
+ config: properly allocate memory for getcwd call
+
+commit 3a4befbd92469ea274fd51d96ffd2c061d08a999
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Thu Aug 19 01:41:05 2010 +0200
+
+ options: added "[no-]cursor-automation" for "Automated cursor show/hide for windowed primary surface"
+
+commit 8af5573e8cc42a2e0f08d2a6fb14ec414039519e
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Thu Aug 19 01:32:10 2010 +0200
+
+ util: added dfb_gfx_stretch_to()
+
+commit 819efe67a624112085faec609dbf5a2c1a30eaa8
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Thu Aug 19 01:22:07 2010 +0200
+
+ directfb: updated banner, added optional DIRECTFB_VERSION_VENDOR display (just define via CPPFLAGS)
+
+commit 2067c761f226fdd4c54d200089f8037550313d2a
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Thu Aug 19 01:15:23 2010 +0200
+
+ version 1.4.6
+
+commit f49b17b3fd5211920b9e8f20298fed62f0f8c488
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Thu Aug 19 01:11:47 2010 +0200
+
+ debug: added D_DEBUG_CHECK() macro implemented by new function direct_debug_check_domain()
+
+commit b1964ffb5d6b87be10e68f4de2dd4dd44e501e3c
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Thu Aug 19 00:35:01 2010 +0200
+
+ release 1.4.5
+
+commit 1640a04f5f8a2f499e1a8576d0af2cb53e5b426e
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Thu Aug 19 00:32:57 2010 +0200
+
+ surface: flipping enhancements
+ - added DSFLIP_QUEUE and DSFLIP_FLUSH
+ - added CSNF_DISPLAY
+ - added dfb_surface_notify_display()
+ - added dfb_gfx_copy_regions() utility function
+
+commit ad43c9b79042a06a7d527b8116265ecd71867fe5
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Thu Aug 19 00:32:51 2010 +0200
+
+ version 1.4.5
+
+commit 9caa65bb2cbab8dda476218a08b8aadf90bd95a8
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Wed Aug 18 11:31:46 2010 +0200
+
+ release 1.4.4
+
+commit 229de8dd238278fb26228708b920dc2c4dc0f61b
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Thu Aug 12 18:02:30 2010 +0200
+
+ voodoo: one more warning/error
+
+commit c885424f6b06d3d675eff0e91ab8acc8148d7b21
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Fri Aug 6 20:53:00 2010 +0200
+
+ voodoo: fixed warnings
+
+commit d53c6c71e73b86917b444c809c157280ac6b43ce
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Fri Aug 6 16:32:56 2010 +0200
+
+ voodoo: fixed some warnings
+
+commit e606c000acb51a30e95b6a01e8ce4f4ce370b00d
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Fri Aug 6 16:25:04 2010 +0200
+
+ voodoo: don't redefine htons
+
+commit d2a911709b0a876651947760d80485e91852e055
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Fri Aug 6 16:24:43 2010 +0200
+
+ modules: avoid warning by adding missing #ifdef DYNAMIC_LINKING
+
+commit bfd25ad8009d2cb5fcaee235139a973cec5683df
+Author: Denis Oliver Kropp <dok at skunk.intern.txtr.com>
+Date: Fri Aug 6 16:24:17 2010 +0200
+
+ memcpy: don't include dfb_types.h
+
+commit 483b322b9c2c0025c166022cc9380838de8ec326
+Author: Ville Syrjala <syrjala at sci.fi>
+Date: Mon Jun 21 05:38:24 2010 +0300
+
+ direct/interface: Add missing pthread_mutex_unlock call
+
+commit 88dcd0e86487957f50ba153a5571ea883ea83150
+Author: Ville Syrjala <syrjala at sci.fi>
+Date: Fri Jul 3 18:23:47 2009 +0300
+
+ mach64: Enable auto block writes with WRAM
+
+commit bc671612cb7b67c64deffab70763e17a8e721b63
+Author: Ville Syrjala <syrjala at sci.fi>
+Date: Thu Aug 20 11:53:49 2009 +0300
+
+ linux_input: Ignore devices w/o caps
+
+ Devices without caps are useless. Ignoring them will make it
+ less likely that MAX_LINUX_INPUT_DEVICES is exceeded and some actually
+ important input device gets left out.
+
+commit f0e54d88fb1774cf18fc4e317e412a3d6b6515cf
+Author: Ville Syrjala <syrjala at sci.fi>
+Date: Wed May 20 19:25:37 2009 +0300
+
+ surfaces: Add some missing dfb_surface_buffer_lock_deinit() calls
+
+commit ec26598c5835c036a4f8bb9d4baebd37edb5fc59
+Author: Niels Roest <niels at directfb.org>
+Date: Sun Jun 27 23:31:52 2010 +0400
+
+ input: compatibility with system X11
+
+commit 2c1a806233d11a402eb76e39fb193eeb78d61351
+Author: Niels Roest <niels at directfb.org>
+Date: Sun Jun 27 23:31:26 2010 +0400
+
+ revert 6697e1db627bea5e24150999819cf8e3d67ef46f
+
+ causes problems on PC with system X11
+ to be further investigated..
+
+commit dd821f539839c85d512e5c46c318364fbd38026d
+Author: Niels Roest <niels at directfb.org>
+Date: Sun Jun 27 23:30:10 2010 +0400
+
+ revert aa25cc7283a20da12385c80d45a3497a5a625ab6
+
+ said patch causes program end to block on PC with system x11
+
+commit f18821c01382ac743f38614a7b85ed52bbc00718
+Author: Niels Roest <niels at directfb.org>
+Date: Sun Jun 27 22:52:12 2010 +0400
+
+ core: Fix to not hold region buffer lock for lifetime of layer
+
+ Made changes to avoid locking the region buffer for the
+ lifetime of the display layer and to only lock it whenever
+ needed. This allows more than a single process to lock
+ the region context and prevents them from deadlocking.
+
+ patch by: Timothy Strelchun <Timothy.Strelchun at Intel.Com>
+
+commit 0f1992ac4a2524277b12a3f25c99a021f6923ce0
+Author: Niels Roest <niels at directfb.org>
+Date: Sun Jun 27 22:50:24 2010 +0400
+
+ core: Added USB hot-plug support to linux_input and input core.
+
+ Added the ability for the DFB input core to support input
+ providers that provide hot-plug support for their associated
+ input devices. Currently, only the linux_input input provider
+ has been updated to support the hot-plug capability.
+
+ The changes involved:
+ 1. Added six functions in InputDriverFuncs as the common
+ interface for all input providers (drivers) to implement
+ the hot-plug feature (including suspend and remove
+ handling), and updated the DFB input core to support the
+ feature.
+ 2. Implemented hot-plug feature for the linux_input provider.
+ Also updated it to only report support for hot-plug and
+ provide devices if the systems driver (fbdev) has opened
+ the /dev/tty0 for use.
+ 3. Implemented two functions (dfb_input_create_device and
+ dfb_input_remove_device) in input.c which will be called
+ by input providers to maintain the status of input
+ devices in the DFB input core.
+ 4. Implemented stack_containers_XXX function family to
+ maintain the connections between windowstacks and input
+ devices.
+ 5. Implemented containers_XXX function family to maintain
+ the connections between input event buffers created by
+ IDirectFB::CreateInputEventBuffer and input devices.
+
+ Patch by: Timothy Strelchun <Timothy.Strelchun at Intel.Com>
+
+commit aa25cc7283a20da12385c80d45a3497a5a625ab6
+Author: Niels Roest <niels at directfb.org>
+Date: Sun Jun 27 22:33:36 2010 +0400
+
+ core: Enable Fusion message dispatching usage during shutdown
+
+ Delayed stopping the Fusion dispatcher in dfb_core_shutdown(). The Fusion
+ dispatcher is needed to handle Fusion events during the releasing of resources.
+
+ Patch by: From: Timothy Strelchun <Timothy.Strelchun at Intel.Com>
+
+commit 6294d37f509572c039616fec3c81f9d0676ae4e6
+Author: Niels Roest <niels at directfb.org>
+Date: Sun Jun 27 22:32:18 2010 +0400
+
+ core window stack: Fixed _dfb_windowstack_inputdevice_listener race condition with layer context
+
+ Fixed a race condition when _dfb_windowstack_inputdevice_listener
+ begins using a layer context, that is then destroyed before the
+ listener has finished using it. This problem occurs because the
+ layer context's reference count was never incremented to account
+ for the listener's reference to it that it stored and subsequently
+ used. Rather than establishing a reference count cycle (with the
+ window stack having a reference to the layer context which has a
+ reference to the window stack for which additional complexity
+ would be needed to break), the listener now just increments the
+ layer context's reference count prior to usage and then decrements
+ it.
+
+ Patch by: From: Timothy Strelchun <Timothy.Strelchun at Intel.Com>
+
+commit aa1b5b1dc17f9a1c3edd508d69653943e17f4269
+Author: Niels Roest <niels at directfb.org>
+Date: Sun Jun 27 22:31:10 2010 +0400
+
+ core: Fix various layer context lock related deadlock scenarios
+
+ Changed dfb_layer_context_get_primary_region to return the error
+ DFB_TEMPUNAVIL if the primary region is being destroyed.
+ Previously in this scenario (which means the primary region's
+ reference count was zero and there was not a request to create a
+ new one), a deadlock could occur involving the layer context lock
+ when the primary region was being destroyed by the main thread
+ (single-app mode), the Fusion Loop thread (multi-app mode), or
+ any other thread (such as linux_input thread that triggers the
+ window stack input processing) is trying to get the primary
+ region. In addition, object_reference_watcher would be called
+ more than once when the reference count changes from 1 to 0
+ again in the implementation.
+
+ Patch by: From: Timothy Strelchun <Timothy.Strelchun at Intel.Com>
+
+commit 614873cdcb84e355d378c1683d10519190aff8a9
+Author: Niels Roest <niels at directfb.org>
+Date: Sun Jun 27 22:30:17 2010 +0400
+
+ fusion: Fixed global reaction handling to prevent multiple removals
+
+ Fixed global reaction handling so that one is not removed
+ more than once from the global reaction list in
+ fusion_reactor_detach_global and process_globals. This
+ involved keeping the global reaction's attached field
+ updated in fusion_reactor_attach_global,
+ fusion_reactor_detach_global and process_globals.
+
+ patch by: Timothy Strelchun <Timothy.Strelchun at Intel.Com>
+
+commit 58aae687097212c30e84180572799d8f053d32b3
+Author: Niels Roest <niels at directfb.org>
+Date: Sun Jun 27 21:54:47 2010 +0400
+
+ direct: ntohl normally already defined in either in.h or inet.h
+
+commit 6a7320bc7e65966291836486fdf22ba6f2aec698
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon Jun 14 23:39:52 2010 +0100
+
+ generic: fix software rendering for DSBLIT_FLIP_HORIZONTAL | VERTICAL
+
+ Which is equal to ROTATE180, of course. Other combinations require more thought,
+ though.
+
+commit cfa3c71858f39835e090939e5b50a2c00841a246
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon Jun 14 23:33:35 2010 +0100
+
+ generic: use explicit indexes when initialising arrays based on pixelformat
+
+commit d016bd96a078c03eea50243b7f0403e4e775401e
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon Jun 14 23:31:00 2010 +0100
+
+ generic: make function tables const where possible
+
+commit 8af98198253e1e25c694042336ea2c497d843d27
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon Jun 14 23:27:48 2010 +0100
+
+ generic: whitespace
+
+commit 3c2ff45fc66a33b06644803a617af989071cebb4
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon Jun 14 22:22:10 2010 +0100
+
+ pixelformats: add DSPF_YV16
+
+ This is similar to the already existing DSPF_YV12, except no
+ horizontal downsampling is applied
+
+commit 095fe33c788cc23627f7313990d1cd70df2ed973
+Merge: 67678af d8c19e1
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Mon Jun 21 15:15:29 2010 +0200
+
+ Merge branch 'master' of git+ssh://git.directfb.org/git/directfb/core/DirectFB
+
+commit 67678af6777f1214643c8db0f50024dea1a31949
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Mon Jun 21 15:14:07 2010 +0200
+
+ tests: Added simple rectangle filling test.
+
+commit 4950edf4323ec1ca2d5ff850c7021a5deafee66f
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 18:20:30 2010 +0200
+
+ build: added LIBPNG_CFLAGS to some Makefiles
+
+commit d8c19e1ae1919c9d64d02bba5a4b407cb68826e9
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 13:17:59 2010 +0200
+
+ voodoo: no __swap16
+
+commit 3f3879e3d42cd68ddebf25b9fb5bd175622f1125
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 13:07:54 2010 +0200
+
+ direct: use kill, no sigqueue
+
+commit fc968f2f39dc296f06bc49d83284dbf0bae3c736
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 12:50:21 2010 +0200
+
+ thread: added DIRECT_BUILD_NO_PTHREAD_CANCEL
+
+commit 52a1a1db6acf29f5953f052f80f1bea4d07a5ecc
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 12:28:49 2010 +0200
+
+ thread: check for PTHREAD_EXPLICIT_SCHED
+
+commit 16c516ef6a4e6b4a808bb7f1f72cd8fbdaf6bcaa
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 12:26:00 2010 +0200
+
+ IDirectFBSurface_Window: use DirectThread for legacy flipping thread
+
+commit 5e4a8573eef5fa5bceac597d195190f267078d75
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 12:19:18 2010 +0200
+
+ conf: use unsigned long
+
+commit e85db2383497fac3d0954d022e45fd51c15d9c09
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 12:18:44 2010 +0200
+
+ fusion_bench: use pthread_mutexattr_t for recursive mutex initialization
+
+commit cd8364f0a4cb3bd2d130d9ff7a69c21a292ca454
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 12:17:50 2010 +0200
+
+ direct: use sigqueue on own tid and if that returns use exit_group or _exit
+
+commit 5bac9b4e1ddab1a102d8104726926c528ff68ab5
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 12:04:01 2010 +0200
+
+ voodoo: define htons ourselves
+
+commit b60fdaf0450c3b1ec05d2951c069eacd79ee38c7
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 12:03:03 2010 +0200
+
+ direct: define ntohl ourselves
+
+commit 0e12c876ca43f9fb10c32b813d15f2284c51b8f4
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 12:00:20 2010 +0200
+
+ voodoo: check for EAI_ADDRFAMILY
+
+commit f289702f088bcac6ead31cce0e8614535a08eaeb
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 11:59:50 2010 +0200
+
+ direct: include <sys/syscall.h>
+
+commit 1d52711428049e911a1643f898898be9ad9c7fc0
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 11:58:49 2010 +0200
+
+ direct: check for EAI_ADDRFAMILY
+
+commit 6697e1db627bea5e24150999819cf8e3d67ef46f
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 11:58:11 2010 +0200
+
+ direct: use non-recursive mutex for interfaces lock
+
+commit d5feb8d7e9bb71dafa846c6cd89dbb46b5b6fbd3
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 11:57:22 2010 +0200
+
+ direct: use fallback killpg
+
+commit 5afa698947c553bbbcb6694e540d326f8f52700d
+Merge: b7af4c5 72ff97d
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 11:56:50 2010 +0200
+
+ Merge branch 'master' of git+ssh://git.directfb.org/git/directfb/core/DirectFB
+
+commit b7af4c55c2297d9d7ceb2283724524df3df46a25
+Author: Denis Oliver Kropp <dok at localhost.(none)>
+Date: Sat Jun 19 11:56:28 2010 +0200
+
+ direct: check for signal.h
+
+commit 72ff97d2823d72395d4f0df5beb93bcbb669ab2b
+Author: André Draszik <andre.draszik at st.com>
+Date: Sat Jun 5 12:38:03 2010 +0100
+
+ jpeg: correctly setup iDCT downscale for libjpeg version < 7
+
+ Previously, for a downscale that resulted in an exactly representable
+ iDCT downscale fraction we would not have applied the correct fraction.
+
+commit e057fd2d677c181b87d79e560c2c8eb70e9c942d
+Author: André Draszik <andre.draszik at st.com>
+Date: Thu May 13 18:40:20 2010 +0100
+
+ fbdev: prevent assertion in debug mode
+
+ There are places in DirectFB which D_ASSUME() the lock's offset and the
+ allocation's offset to be identical, being verbose if that's not the
+ case.
+
+commit 443dc1391ca2be4aebd96119a879646244faed05
+Author: André Draszik <andre.draszik at st.com>
+Date: Mon May 10 13:53:52 2010 +0100
+
+ fusion/ref: prevent invalid assertion when destroying a ref
+
+ ref->multi.shared might have been zero'ed out already by the cleanup thread by
+ the time we get to run again.
+
+commit 80cfeebfd127c8e0a06bffee45d3294c62864f0e
+Author: André Draszik <andre.draszik at st.com>
+Date: Tue Apr 27 01:47:04 2010 +0100
+
+ jpeg: fix libjpeg >= v7 usage
+
+ apparently nobody ever tested it
+
+commit eb22c5129480d890b12c67b762f3e33e396626b0
+Author: Niels Roest <niels at directfb.org>
+Date: Sat Apr 24 18:38:54 2010 +0400
+
+ Fix for showing unitialized buffer and superfluous clear at startup.
+
+ Fixes display layer window stack repainting to NOT be performed
+ when it is frozen. This prevents a display layer surface flip
+ from being done and showing an uninitialized buffer when the
+ IDirectFB::GetDisplayLayer function is called with an associated
+ no-init-layer directfbrc command (without init-init[=0-15]).
+
+ Fixes IDirectFBDisplayLayer::GetSurface function to only perform
+ single buffered display layer clearing when the region is frozen
+ and to render the background if it is configured
+ (each time GetSurface is called the surface should not be cleared).
+ Also added support for this behavior when the cooperative level is
+ DLSCL_ADMINISTRATIVE.
+
+ Thanks to Timothy Strelchun for the patches.
+
+commit 97901f378b8432b74dfcfad535963da9fe60a4d1
+Merge: 3e39b0a 497bed3
+Author: Niels Roest <niels at directfb.org>
+Date: Sat Apr 24 17:50:49 2010 +0400
+
+ Merge branch 'master' of git+ssh://git.directfb.org/git/directfb/core/DirectFB
+
+ Conflicts:
+
+ lib/fusion/lock.c
+
+commit 497bed3275b6dbd1fbf1e60f4adb46400cee21b3
+Author: André Draszik <andre.draszik at st.com>
+Date: Wed Apr 14 14:48:05 2010 +0100
+
+ fusion/lock: fix single app memory corruption
+
+ got broken in 91afed9692ff15ffc7d2b6221aa5cd061ff44fa9
+ (shirmish: for single app, make skirmish a pointer)
+
+commit 59c4c319d5d9f6f014d81e396ae504c10ae3ad87
+Author: André Draszik <andre.draszik at st.com>
+Date: Thu Feb 11 10:40:55 2010 +0000
+
+ fusion: fix compiler warning
+
+commit e8d323a25e75fa9e3d1fd90ea7d36718ceae8ff7
+Author: Nikita Egorov <nikego at varma-el.com>
+Date: Thu Apr 15 14:04:12 2010 +0400
+
+ Fixed wrong conversion from A8 to RGBA5551
+
+commit 79f958bfd005609f625d669912ce7c6b9dab840d
+Author: André Draszik <andre.draszik at st.com>
+Date: Wed Apr 14 15:09:48 2010 +0100
+
+ configure.in: fix --enable-sse help message
+
+ got broken in commit c656a0fa9e0858474b3ca4469d9842e0a0b020b7
+ (configure.in: use AC_HELP_STRING() where appropriate)
+
+commit 84a0282e661755110bb7a08985a3e05fbaf36f5c
+Author: André Draszik <andre.draszik at st.com>
+Date: Tue Apr 13 23:45:07 2010 +0100
+
+ convert: handle DSPF_A8 in dfb_pixel_from_color() and dfb_pixel_to_color()
+
+commit 9b8a1f74e75fe56a0269b98a93785061fa5871e2
+Author: André Draszik <andre.draszik at st.com>
+Date: Thu Apr 1 14:49:22 2010 +0100
+
+ add some comments for DWCAPS_COLOR
+
+commit 7ff7d22bbfcdc4be22112e60e323ce7d7c76dfcb
+Author: André Draszik <andre.draszik at st.com>
+Date: Wed Mar 31 16:58:59 2010 +0100
+
+ configure.in: little whitespace cleanup
+
+ In addition, it's $THREADLIB, not $THREADLIBS
+
+commit cd6ce0aca8a2afda70fb83b6e3aa40b6a4cc86d8
+Author: André Draszik <andre.draszik at st.com>
+Date: Fri Mar 12 04:56:23 2010 +0000
+
+ configure.in: use pkg-config for libpng
+
+ Also, previously almost all shared objects had an explicit, unnecessary,
+ and unwanted dependency on libz, which is gone with this patch, too.
+ (Unless --enable-zlib is given during configure, in which case it's all
+ as before)
+
+commit c656a0fa9e0858474b3ca4469d9842e0a0b020b7
+Author: André Draszik <andre.draszik at st.com>
+Date: Wed Mar 31 17:04:28 2010 +0100
+
+ configure.in: use AC_HELP_STRING() where appropriate
+
+commit 661f385c94816237d3ba41463ed6603dd20ff6c9
+Author: André Draszik <andre.draszik at st.com>
+Date: Sat Sep 12 13:07:10 2009 +0100
+
+ input: handle button devices with just up/down keys as remote control
+
+ This is mostly useful for front panels which might just have
+ up/down/left/right and maybe a few more buttons. Now they are handled
+ as remote controls, too
+
+ Signed-off-by: André Draszik <andre.draszik at st.com>
+
+commit 57ca1282a64dcdd3a9ccc25712557486bd7fc506
+Author: Denis Oliver Kropp <dok at cyto.(none)>
+Date: Sun Mar 28 01:06:45 2010 +0100
+
+ FusionRef: Added debugging messages
+
+commit d2868e2cfc85b1a2dc01b1960d2a3725c832b303
+Author: Denis Oliver Kropp <dok at cyto.(none)>
+Date: Sun Mar 28 01:06:05 2010 +0100
+
+ surface: Debug in error paths of surface_buffer_write()
+
+commit 90939845d053e814d9c9b1c6324552a45933210c
+Author: Denis Oliver Kropp <dok at cyto.(none)>
+Date: Sun Mar 28 01:05:17 2010 +0100
+
+ IDirectFBSurface: Allow negative pitch in Write()
+
+commit 3e39b0aece87ee9ae16359259f56c43e592f1040
+Author: Niels Roest <niels at directfb.org>
+Date: Sat Mar 27 13:54:57 2010 +0300
+
+ gfx: added LUT8 to LUT8 dest ckey blit fallback 'generic' routine
+
+ Added function to support LUT8 to LUT8 blitting with
+ destination color key enabled for surfaces with
+ identical palettes.
+
+commit cbb1d5f6494ba20e054b37ab505e030d19f9f78a
+Author: Niels Roest <niels at directfb.org>
+Date: Sat Mar 27 13:53:32 2010 +0300
+
+ RGB24: fixed injection
+
+ Fixed a little endian DSPF_RGB24 byte ordering defect
+ injected 2009.11.06 as part of git commit
+ 0fdf41ff34ed403367d0eb05edc793b15a940860. Previously,
+ the red and blue pixels were reversed.
+
+commit cca0466b09ed7a6d4afb053974cd6d164007a720
+Author: Niels Roest <niels at directfb.org>
+Date: Sat Mar 27 13:50:08 2010 +0300
+
+ pixelformat: Added DSPF_A1_LSB
+
+ Added pixel format DSPF_A1_LSB that uses the LEAST
+ significant bit first for pixels, because the existing
+ DSPF_A1 format is MSB first. The VDC unit on the
+ Intel(R) CE Media Processors use this for one of the
+ various formats on its many display layers. The DFB
+ software rasterizer functionality provided is
+ equivalent to the functionality already provided for
+ the existing DSPF_A1 format (minus one/two functions
+ for other new pixel formats).
+
+ Thanks to Timothy Strelchun for the patch.
+
+commit 3c3bd4027a006cb496854993cfb996af3c40f9fb
+Author: Niels Roest <niels at directfb.org>
+Date: Sat Mar 27 13:41:42 2010 +0300
+
+ fusion lock: single app mode: 'name' storing overwrites pointers
+
+ fix skirmish used in single DFB app usage mode
+
+ Thanks to Timothy Strelchun for the patch
+
+commit 3a9360cb003f605be22134b54eeeee1858d727bd
+Author: Niels Roest <niels at directfb.org>
+Date: Sun Mar 14 07:46:27 2010 +0300
+
+ font: drawstring clipping
+
+ A check is done before glyph blitting to ensure that at
+ least some portion is within the clipping rectangle.
+ The check is wrong as it assumes the glyphs are referenced
+ by the top left of the bounding box instead of the baseline origin.
+
+ Thanks to Tim Ross for the patch.
+
+commit 9536351218d33cdf31dd84fe5bedb36a99c6e7ca
+Author: dok <dok at debian.directfb.home>
+Date: Tue Mar 2 21:27:42 2010 +0100
+
+ IDirectFBWindow: Implemented SetSrc/DstGeometry() in Dispatcher/Requestor.
+
+commit 88b4afa3ada175afba6f7b63672c041a3001d6b2
+Author: dok <dok at debian.directfb.home>
+Date: Tue Mar 2 21:22:04 2010 +0100
+
+ Voodoo: Implemented RLE compression for 16 and 32 bit Write() calls.
+
+commit afb165989ad9e5e2704e8a980a08d072a0e7ec3e
+Author: dok <dok at debian.directfb.home>
+Date: Tue Mar 2 21:18:39 2010 +0100
+
+ Voodoo: Fixed fork bombing until child process accepted connection.
+
+ Also fixed zombies remaining.
+
+commit 368a0681a03b1b84bff159034951ab237f60a718
+Author: dok <dok at debian.directfb.home>
+Date: Tue Mar 2 12:11:01 2010 +0100
+
+ dfbtest_font: Added simple font loading/rendering test.
+
+commit 509150b2882e3ff60d071751b164fb58153b8633
+Author: dok <dok at debian.directfb.home>
+Date: Tue Mar 2 12:08:44 2010 +0100
+
+ Voodoo: Support fonts via network just like images (sending encoded/compressed data).
+
+commit 278a20b07c5fa9bddf023b1836f2bc403db84a88
+Author: dok <dok at debian.directfb.home>
+Date: Tue Mar 2 12:07:27 2010 +0100
+
+ font: Support chunked reading of font data into ctx.content.
+
+commit b6f41c3ca975f8c9e27e77f6940b2fe7305ffeb9
+Author: dok <dok at debian.directfb.home>
+Date: Tue Mar 2 12:06:16 2010 +0100
+
+ voodoo: Print error if manager is quit while waiting for a response.
+
+commit 3aa2b77eef6a63b64559adb3acec852bed1e1981
+Author: dok <dok at debian.directfb.home>
+Date: Tue Mar 2 11:29:42 2010 +0100
+
+ fixed warning
+
+commit d0e6d997d17af2c394c74df8d01cf38f0a9884c2
+Author: dok <dok at debian.directfb.home>
+Date: Tue Mar 2 11:29:13 2010 +0100
+
+ fixed warnings
+
+commit 1efc7c2322d399362dbb8a88e2ce1774fbdabb1d
+Author: Niels Roest <niels at directfb.org>
+Date: Thu Feb 25 14:21:12 2010 +0300
+
+ fbdev: Fix RGBA5551 transparency offset
+
+ This trivial patch fixes an obviously wrong bit layout for RGBA5551.
+
+ Signed-off-by: David Hunter <hunterd42 at gmail.com>
+
+commit b3117710d46368b76896e5eccc98f4a0dd3fc143
+Author: Niels Roest <niels at directfb.org>
+Date: Wed Feb 10 21:39:36 2010 +0100
+
+ dfblayer: allow to set layer position and size using command line
+
+ Signed-off-by: André Draszik <andre.draszik at st.com>
+
+commit 0ca394d3a9fc86728b48bd2c8c162aa42d9423c7
+Author: Niels Roest <niels at directfb.org>
+Date: Wed Feb 10 21:38:21 2010 +0100
+
+ IDirectFBScreen: add a DVO 656 'connector' type
+
+ Signed-off-by: André Draszik <andre.draszik at st.com>
+
+commit df51de1636d935dc2856d1db4d8e53a26cc7b468
+Author: Niels Roest <niels at directfb.org>
+Date: Wed Feb 10 21:36:21 2010 +0100
+
+ dfbinspector: add DSPF_AVYU and DSPF_VYU pixelformats
+
+ Signed-off-by: André Draszik <andre.draszik at st.com>
+
+commit 8301e33aaa791aacab1021ccdd5b7db46aa91b2a
+Author: Niels Roest <niels at directfb.org>
+Date: Wed Feb 10 21:35:26 2010 +0100
+
+ dfbscreen: little fixes
+
+ print background alpha, too
+ fix printing of scan mode name
+
+ Signed-off-by: André Draszik <andre.draszik at st.com>
+
+commit c0c74444ed5601bf9b45a3b07683f97d0633ca78
+Author: Niels Roest <niels at directfb.org>
+Date: Wed Feb 10 21:33:09 2010 +0100
+
+ gfx: LUT8 is not a YUV format
+
+commit d32220451e4fe38188db53819501a7085ba713bc
+Author: Niels Roest <niels at directfb.org>
+Date: Wed Feb 10 21:26:33 2010 +0100
+
+ doc: surface: add some source code level documentation
+
+ Signed-off-by: André Draszik <andre.draszik at st.com>
+
+commit 50f529ac86e3779c0119a78e8324b68330c806ab
+Author: Niels Roest <niels at directfb.org>
+Date: Wed Feb 10 21:25:33 2010 +0100
+
+ warning: fix
+
+ Signed-off-by: André Draszik <andre.draszik at st.com>
+
+commit c695cfefbca35a476d9cf3305fd7030de014d24b
+Author: Niels Roest <niels at directfb.org>
+Date: Wed Feb 10 21:03:59 2010 +0100
+
+ surface: replace GetFramebufferOffset() with GetPhysicalAddress()
+
+ The IDirectFBSurface::GetFramebufferOffset() is not really useful
+ anymore, as it returns an offset into a memory pool, not necessarily
+ into the framebuffer memory pool.
+
+ Make it obsolete, and add IDirectFBSurface::GetPhysiclAddress(),
+ that always does what one might expect.
+
+ Signed-off-by: André Draszik <andre.draszik at st.com>
+
+commit 216348491c33a5db184561bcb12d2be0ac582dc7
+Author: Niels Roest <niels at directfb.org>
+Date: Wed Feb 10 15:05:12 2010 +0100
+
+ font: fix off-by-one bug in IDirectFBFont_GetStringBreak()
+
+ GetStringBreak() returns one character too much (in certain cases) in
+ ret_str_length.
+
+ Signed-off-by: André Draszik <andre.draszik at st.com>
+
+commit cac59c15fb795b37c2a5f7636ed474ed2a557528
+Author: Niels Roest <niels at directfb.org>
+Date: Mon Feb 8 21:10:49 2010 +0100
+
+ jpeg: implement decimated decode for software JPEG decoder
+
+ We can speed up scaled-down rendering of JPEG images by asking libjpeg
+ to only decode the image to a fraction of the original size.
+
+ Thanks to Sven Neumann and André Draszik for the patch
+ works for both libjpeg62 and libjpeg7
+
+ Signed-off-by: André Draszik <andre.draszik at st.com>
+
+commit 466a6d14c81e8297266dd39327d6033b38ed2990
+Author: Ville Syrjala <syrjala at sci.fi>
+Date: Wed Jan 20 02:23:28 2010 +0200
+
+ fbdev: Reduce useless nesting
+
+commit 8049217e6e4a3570aac83e14cdc6ff250d11dbe7
+Author: Ville Syrjala <syrjala at sci.fi>
+Date: Tue Jan 19 04:28:03 2010 +0200
+
+ fbdev: Fix mode setting
+
+ Since the surface pool no longer sets the mode it must be done by the
+ SetRegion call.
+
+commit c6c1118d33f69b8acbb9fd011b75e12ca4e170ed
+Author: Ville Syrjala <syrjala at sci.fi>
+Date: Wed Jan 20 02:21:29 2010 +0200
+
+ linux_input: Use MAX() instead of open coding it
+
+commit 03cf362e440ecf84a4012b97ccf8372ac63f4854
+Author: Ville Syrjala <syrjala at sci.fi>
+Date: Tue Jan 19 02:28:03 2010 +0200
+
+ linux_input: Don't check quitpipe fd is select() was interrupted
+
+ When select() is interrupted the fd sets are not updated so checking if
+ the fds are ready needs to be done after checking the return value.
+
+commit 490e3e91abf6a9cdef668ab42c89c6d251700ff7
+Author: Niels Roest <niels at directfb.org>
+Date: Mon Feb 8 20:03:30 2010 +0100
+
+ png: support for 1.4.x libpng
+
+ Thanks to Bernhard Rosenkraenzer for the patch
+
+commit bde552d778371722d08bc0a27a31fee4471eb517
+Author: Niels Roest <niels at directfb.org>
+Date: Fri Jan 29 18:54:18 2010 +0100
+
+ IDirectFBScreen: add IDirectFBScreen::GetVSyncCount()
+
+ Signed-off-by: André Draszik <andre.draszik at st.com>
+
+commit 7d724d90a6953791a13681d643b6bcd8d00735ef
+Author: Niels Roest <niels at directfb.org>
+Date: Fri Jan 29 17:56:37 2010 +0100
+
+ screen: NTSC and PAL60 standards are defined as 59.94Hz not 60Hz
+
+ Signed-off-by: André Draszik <andre.draszik at st.com>
+
+commit faeef7708320e4d22e9c45082d97345505e86a9d
+Author: Niels Roest <niels at directfb.org>
+Date: Tue Jan 26 19:04:59 2010 +0100
+
+ x11: improved GLX-detection
+
+ It seems a 24bit and a 32bit BPP visual were required,
+ but instead the depth, which is the depth buffer, is checked.
+
+ Thanks to Erwin Rol (www.erwinrol.com) for the fix.
+
+commit e7f404865c53984593c0ca66ee63c54347a2edb8
+Author: Niels Roest <niels at directfb.org>
+Date: Thu Jan 14 19:50:21 2010 +0100
+
+ IDirectFBWindow::SetOptions: add DWOP_INPUTONLY
+
+ works as DWCAPS_INPUTONLY, but is a dynamic option.
+ main work is done in window manager.
+
+commit ba35178422ccbb7a10a009c5621e72860001359b
+Author: Niels Roest <niels at directfb.org>
+Date: Thu Jan 14 19:49:11 2010 +0100
+
+ IDirectFBWindow::SetOptions bit handling bug
+
+ bit toggling was compared with a wrong mask possibly causing
+ toggling of DWOP_GHOST, DWOP_INDESTRUCTIBLE and DWOP_INPUTONLY
+ to be ignored
+
+commit d0f706b2d04d13b76082372a8bdc4e36998f2940
+Author: Niels Roest <niels at directfb.org>
+Date: Fri Jan 8 20:07:37 2010 +0100
+
+ tests: add fusion_call
+
+ used to test calls
+ primarily to test skirmish transfer on calls
+ currently blocks with 4 participants - only 2 transfers allowed.
+
+commit 0654893e61f4f5c6b00048d61d1f86d7d9bac234
+Author: Niels Roest <niels at directfb.org>
+Date: Fri Jan 8 20:05:24 2010 +0100
+
+ x11: preliminary support for IDirectFBScreen functions
+
+ get some code in to support this
+
+commit e58b7fcb33b2209efbcf0e42ce5d233ad91777fd
+Author: Niels Roest <niels at directfb.org>
+Date: Mon Dec 14 18:33:53 2009 +0100
+
+ font: add API to load font from databuffer
+
+ this also requires internal changes
+ the font "probe" will now be passed either a file name or a mem struct
+ with the complete file in it (file type detection by the FreeType
+ library requires an undefined number of bytes).
+
+commit 844eb4d124498fd5268b029f4d27a68a6ea75f18
+Author: Niels Roest <niels at directfb.org>
+Date: Mon Dec 14 18:27:57 2009 +0100
+
+ hash: move externally unused func to .c file
+
+commit 2fd85b2d80ae3d81815f9d19500d69a05da5c758
+Author: Niels Roest <niels at directfb.org>
+Date: Fri Dec 11 14:05:24 2009 +0100
+
+ X11: add error detection, better depth support
+
+ Add detection for "late" errors
+ (i.e. errors occurring after the function causing it returns)
+ Since X11 normally does not do automatic depth switching,
+ we deny visuals with a different depth than the "DefaultDepthOfScreen"
+
+commit 11c9b259bf82459b9383499c878a75d448489239
+Author: Denis Oliver Kropp <dok at cyto.(none)>
+Date: Fri Dec 11 05:10:03 2009 +0100
+
+ voodoo: Fork server for each client to have different Fusionees with full resource cleanup on disconnect.
+
+ This makes it depend on multi app core when more than one client connects.
+
+commit 45565a9741c3f9b9dc09a5c702035838b1af27eb
+Author: Denis Oliver Kropp <dok at cyto.(none)>
+Date: Fri Dec 11 04:29:26 2009 +0100
+
+ gfxcard: Accelerate matrix fallback if possible, for FillRectangle() and Blit().
+
+ In dfb_gfxcard_fillrectangles() and dfb_gfxcard_blit() don't always fall back to
+ software rendering when DSRO_MATRIX is not supported, but try to use hardware if
+ rectangles are just translated/scaled and blits are just translated.
+
+commit f99e5ff4c014c295acb35204658e2d00a5e47bc4
+Merge: c2d022f 2dad4f2
+Author: Denis Oliver Kropp <dok at cyto.(none)>
+Date: Fri Dec 11 03:04:53 2009 +0100
+
+ Merge branch 'master' of git+ssh://git.directfb.org/git/directfb/core/DirectFB
+
+commit c2d022f0dc7dbebaea94d8f05077205c20361d6a
+Author: Denis Oliver Kropp <dok at cyto.(none)>
+Date: Fri Dec 11 03:04:34 2009 +0100
+
+ generic: Added Sop_a4_Sto_Dacc implementation.
+
+commit 2dad4f2dde329f4bfc0e9e658b7171ea16d080dd
+Author: Niels Roest <niels at directfb.org>
+Date: Thu Dec 10 18:10:06 2009 +0100
+
+ configure.in: fix X11 detection - use pkgconfig
+
+ Signed-off-by: André Draszik <andre.draszik at st.com>
+
+commit b49b12c58b8df83b8127cdebf20c426a70f1bb1b
+Author: Niels Roest <niels at directfb.org>
+Date: Tue Dec 8 21:09:15 2009 +0100
+
+ release: DirectFB 1.4.3
+
+commit 922d96e4e780f8d63b0faf8cda44a4d89499d2c8
+Author: Niels Roest <niels at directfb.org>
+Date: Tue Dec 8 21:04:20 2009 +0100
+
+ core: reorder dispatcher shutdown to allow proper windowstack cleanup
+
commit 4534f132b742976fc8a887153310546cf363b082
Author: Niels Roest <niels at directfb.org>
Date: Tue Dec 8 20:19:47 2009 +0100
@@ -101,7 +5168,7 @@ Date: Fri Nov 27 21:30:52 2009 +0100
convert: In dfb_pixel_from_color() for RGB32/24 apply 0xffffff mask to fix color keying.
commit f733be004596a6ce7cc45f8ad25988eb5be6c8f1
-Merge: 6fa2598... e943dec...
+Merge: 6fa2598 e943dec
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Fri Nov 27 19:54:29 2009 +0100
@@ -138,7 +5205,7 @@ Date: Tue Nov 24 14:44:07 2009 +0100
cleanup: header file not needed
commit ee09def022b124ba2018dededd52f9b713fa334e
-Merge: 170ced2... 4fc55b5...
+Merge: 170ced2 4fc55b5
Author: Niels Roest <niels at directfb.org>
Date: Tue Nov 24 14:06:33 2009 +0100
@@ -156,7 +5223,7 @@ Date: Tue Nov 24 14:06:22 2009 +0100
(since JPEG support is disabled, the libraries are not needed either)
commit 4fc55b522e9a36d078e453fbbae82178f8de78a8
-Merge: 3353043... 70a94aa...
+Merge: 3353043 70a94aa
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Mon Nov 23 22:49:12 2009 +0100
@@ -175,7 +5242,7 @@ Date: Mon Nov 23 22:47:29 2009 +0100
names: Added DFBScreenEncoderFrequency names.
commit 70a94aa978775cc7450b9c8032a5de8514f7c4d6
-Merge: 96ba606... 88fd076...
+Merge: 96ba606 88fd076
Author: Niels Roest <niels at directfb.org>
Date: Mon Nov 23 15:13:06 2009 +0100
@@ -287,7 +5354,7 @@ Date: Thu Nov 19 22:37:01 2009 +0100
generic: Fixed Bop_rgb32_toK_Aop_64.
commit af9e6d021033b342ab3cebceda6453c166bead73
-Merge: fc5d370... 761df41...
+Merge: fc5d370 761df41
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Thu Nov 19 22:19:41 2009 +0100
@@ -465,7 +5532,7 @@ Date: Mon Oct 5 17:23:12 2009 +0200
Apply order was incorrect - will reapply later
commit 4443218f72ce2dac9629e25460f00298085f1966
-Merge: 549668a... 878455d...
+Merge: 549668a 878455d
Author: Niels Roest <niels at directfb.org>
Date: Fri Nov 6 19:55:55 2009 +0100
@@ -484,7 +5551,7 @@ Date: Fri Nov 6 14:29:10 2009 +0100
generic: Fix DSBLIT_FLIP_VERTICAL for non-square blits, copy'n'paste bug.
commit 438b5990c35f84a81601cc0e125238377ac04989
-Merge: 4d1764f... 01b6e0f...
+Merge: 4d1764f 01b6e0f
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Fri Nov 6 12:58:19 2009 +0100
@@ -559,7 +5626,7 @@ Date: Mon Oct 12 21:36:56 2009 +0200
Signed-off-by: Sven Neumann <s.neumann at raumfeld.com>
commit 549668a41ad3d6b18a5d048b927a323661d54bc5
-Merge: 94646ca... 9f6e888...
+Merge: 94646ca 9f6e888
Author: Niels Roest <niels at directfb.org>
Date: Mon Oct 5 17:20:26 2009 +0200
@@ -694,7 +5761,7 @@ Date: Fri Sep 11 14:10:55 2009 +0200
accepted on all X Windows.
commit cd5178fd33cc6aee534d6b427cc988dd02d2cdb5
-Merge: b14e0e1... af7138a...
+Merge: b14e0e1 af7138a
Author: Niels Roest <niels at directfb.org>
Date: Fri Sep 11 13:39:28 2009 +0200
@@ -922,7 +5989,7 @@ Date: Thu Jul 16 15:41:50 2009 +0200
[pxa3xx] Use pattern blit if non-rotated.
commit 042f1294a4d23f7f95c56b5c798eb378548d966f
-Merge: 6363526... d323818...
+Merge: 6363526 d323818
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Thu Jul 16 15:39:46 2009 +0200
@@ -1062,7 +6129,7 @@ Date: Thu Jun 25 07:35:57 2009 +0200
running over buggy drivers' framebuffer.
commit 963ece2a2c3f9891fdf50e19cdfdaf7687413366
-Merge: f37d34d... 62d93da...
+Merge: f37d34d 62d93da
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Thu Jun 25 03:23:30 2009 +0200
@@ -1107,7 +6174,7 @@ Date: Thu Jun 18 12:16:33 2009 +0200
Currently, this option is only supported by the SaWMan window manager.
commit f0d9f96df53147e4ecffe3b97dce3f190cda8f5d
-Merge: aaa4577... 83a4d19...
+Merge: aaa4577 83a4d19
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Wed Jun 17 14:32:36 2009 +0200
@@ -1123,7 +6190,7 @@ Date: Wed Jun 17 14:31:18 2009 +0200
done via the window description.
commit 83a4d19dfb4dd0239748562aa551b4766da0767b
-Merge: 436f053... c5d5677...
+Merge: 436f053 c5d5677
Author: Niels Roest <niels at directfb.org>
Date: Mon Jun 15 14:50:45 2009 +0200
@@ -1176,7 +6243,7 @@ Date: Thu Jun 4 15:41:34 2009 +0200
[release] DirectFB 1.4.0
commit cd3e0306347ab0601ad1e6b98b0897aac2fb8942
-Merge: b4cf1e3... b29d791...
+Merge: b4cf1e3 b29d791
Author: Niels Roest <niels at directfb.org>
Date: Tue Jun 2 18:47:24 2009 +0200
@@ -1322,7 +6389,7 @@ Date: Thu May 14 20:27:33 2009 +0200
[input] fix for shutdown crash reproducible with "splashy" boot screen
commit 49baa1d479d3fe65b33d7db5d97de2ec15bc249c
-Merge: b13d1a0... df22ef6...
+Merge: b13d1a0 df22ef6
Author: Niels Roest <niels at directfb.org>
Date: Thu May 14 20:25:38 2009 +0200
@@ -1394,7 +6461,7 @@ Date: Tue May 12 15:25:33 2009 +0200
cosmetics
commit 8082fcb0a454f55ab5a8c82159047661a6e4b519
-Merge: b1f8ddb... 970c13c...
+Merge: b1f8ddb 970c13c
Author: Niels Roest <niels at directfb.org>
Date: Tue May 12 15:12:52 2009 +0200
@@ -1628,7 +6695,7 @@ Date: Wed Apr 8 11:14:00 2009 +0200
Thanks to Yi-Lin Shieh for the patch
commit 282a00d95b03a732c8375f28c2009a4b82c40b48
-Merge: 50482eb... 5b02825...
+Merge: 50482eb 5b02825
Author: Niels Roest <niels at directfb.org>
Date: Tue Apr 7 19:13:11 2009 +0200
@@ -1842,7 +6909,7 @@ Date: Mon Dec 1 15:34:21 2008 +0100
- JPU temporarily disabled due to conflicts
commit 84bceadc7561536e6c81e48d94bc794fceb60fac
-Merge: 0d5e504... 36e96c1...
+Merge: 0d5e504 36e96c1
Author: Niels Roest <niels at directfb.org>
Date: Mon Dec 1 12:45:58 2008 +0100
@@ -2057,7 +7124,7 @@ Date: Fri Oct 24 11:21:17 2008 +0200
[modules] fix for static linking (module unload not available then)
commit 5a6be0f83ac1f20b635a7c7df23478be1621e367
-Merge: 489c4ce... 51db5c7...
+Merge: 489c4ce 51db5c7
Author: Niels Roest <niels at directfb.org>
Date: Wed Oct 22 16:26:31 2008 +0200
@@ -2170,7 +7237,7 @@ Date: Tue Oct 21 01:18:27 2008 +0300
configure: Use -Wno-inline with -fno-inline.
commit d0bfced1ef4e48f7b128b3a41e6740aeeb96cc6b
-Merge: 6db2d85... 73aa410...
+Merge: 6db2d85 73aa410
Author: Niels Roest <niels at directfb.org>
Date: Tue Oct 21 15:09:23 2008 +0200
@@ -2201,7 +7268,7 @@ Date: Sat Oct 18 07:47:25 2008 +0200
[direct] Added direct_modules_unregister()......
commit 49175b8aa213e6f980194aecdca99b2a8dc1a590
-Merge: 020f6b0... 98a7b51...
+Merge: 020f6b0 98a7b51
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Sat Oct 18 03:37:04 2008 +0200
@@ -2214,7 +7281,7 @@ Date: Sat Oct 18 03:34:23 2008 +0200
[fusion] Don't return calls with zero serial, avoiding overhead when kernel calls or FCEF_ONEWAY is used.
commit 98a7b516d012097951326e01a31ed64404d3240a
-Merge: 633ac3e... 347dda2...
+Merge: 633ac3e 347dda2
Author: Niels Roest <niels at directfb.org>
Date: Wed Oct 15 15:47:43 2008 +0200
@@ -2233,7 +7300,7 @@ Date: Wed Oct 15 11:03:42 2008 +0200
[default wm] Fixed advanced blending with only DSBLIT_BLEND_COLORALPHA being used.
commit 3439ef31e02802217e90d38c04a097f7f7c9d9d0
-Merge: 14cfb64... 487d159...
+Merge: 14cfb64 487d159
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Wed Oct 15 11:02:09 2008 +0200
@@ -2263,7 +7330,7 @@ Date: Tue Oct 14 18:44:43 2008 +0200
- handle error condition, on tmp-storage request failure, properly
commit ca876fdf1c93ca003b204cfd723d79cbc1193874
-Merge: faaaab8... 93351e5...
+Merge: faaaab8 93351e5
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Sat Oct 11 00:42:00 2008 +0200
@@ -2323,7 +7390,7 @@ Date: Thu Oct 2 04:00:19 2008 +0200
[omap] Added omapfb.h to SOURCES.
commit faaaab8385e8d164633750a8685ef29667455ff4
-Merge: 2454796... 009d02a...
+Merge: 2454796 009d02a
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Wed Oct 1 02:54:01 2008 +0200
@@ -2416,7 +7483,7 @@ Date: Mon Sep 29 02:26:25 2008 +0200
when the pixmap was bound as a texture before, especially from another thread/context.
commit 2454796b952bce956351bf5a1d6d289e4509e94a
-Merge: b530494... ac2a3c2...
+Merge: b530494 ac2a3c2
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Sun Sep 28 23:57:32 2008 +0200
@@ -2823,7 +7890,7 @@ Date: Wed Sep 17 20:55:39 2008 +0200
[x11] Fixed 'missing separator' error in Makefile.
commit 3a60e628798ca0df33779c4b68c631a50007c060
-Merge: dec7005... ab2b4d7...
+Merge: dec7005 ab2b4d7
Author: Niels Roest <niels at directfb.org>
Date: Wed Sep 17 20:39:26 2008 +0200
@@ -2848,7 +7915,7 @@ Date: Wed Sep 17 16:11:12 2008 +0200
[davinci] Workaround broken DSP cache invalidation function.
commit 8403a7fd6d6d79885aa5e62a38929185b589cf4a
-Merge: d1b2807... 5c71f6f...
+Merge: d1b2807 5c71f6f
Author: Niels Roest <niels at directfb.org>
Date: Wed Sep 17 19:09:06 2008 +0200
@@ -2880,7 +7947,7 @@ Date: Wed Sep 17 18:32:50 2008 +0200
[x11] Added missing header from last major cleanup.
commit e08c004f94228c022cc78e91b12d9df3f5aa3641
-Merge: b67d7df... 69ecb59...
+Merge: b67d7df 69ecb59
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Wed Sep 17 18:27:56 2008 +0200
@@ -3250,7 +8317,7 @@ Date: Fri Aug 22 16:44:10 2008 +0200
[IDirectFBInputDevice] Added DFBInputDeviceAxisInfo(Flags) with DIAIF_ABS_MIN/MAX flags and abs_min/max fields.
commit b12044ecd6f738bfa28052fcc8b36c520dffe578
-Merge: 6832da9... 8d5f445...
+Merge: 6832da9 8d5f445
Author: Niels Roest <niels at directfb.org>
Date: Thu Aug 21 17:29:30 2008 +0200
@@ -3305,7 +8372,7 @@ Date: Fri Aug 15 22:59:18 2008 +0200
[dfbtest_window] Added options for setting window options and for window association.
commit 63c4da3b3a720fd41a59e07c1344614f3956c9eb
-Merge: 779b31c... 0148ec4...
+Merge: 779b31c 0148ec4
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Fri Aug 15 21:00:33 2008 +0200
@@ -3662,7 +8729,7 @@ Date: Wed Jul 23 15:53:22 2008 +0200
[x11] Build fix.
commit 5730f838a7ac3b39b5e83e3bc7cea197fac513ed
-Merge: 701aa94... d9461ad...
+Merge: 701aa94 d9461ad
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Wed Jul 23 15:51:47 2008 +0200
@@ -3681,7 +8748,7 @@ Date: Wed Jul 23 15:24:47 2008 +0200
[version] Also increase binary age (don't think compatibility is broken).
commit 701aa94e931d85cd18b0b5ff47a32beeb1472fec
-Merge: f00bc9f... 10fc3aa...
+Merge: f00bc9f 10fc3aa
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Wed Jul 23 14:59:27 2008 +0200
@@ -3796,7 +8863,7 @@ Date: Mon Jul 21 13:33:24 2008 +0200
Have a pointer to a backup pool in every pool which is set to the shared memory surface pool by default.
commit 5ffb341a6f716bfc900bd722317dd63451911e0b
-Merge: c148939... d5bda88...
+Merge: c148939 d5bda88
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Mon Jul 21 13:32:34 2008 +0200
@@ -3989,7 +9056,7 @@ Date: Thu Jul 10 01:07:36 2008 +0200
[option] New runtime option "thread-priority-scale=<100th>" to apply a scaling factor on thread type based priorities.
commit 5a0efaa2c12ba5eb260401e552718de71b07e475
-Merge: 111cd2d... 568cff6...
+Merge: 111cd2d 568cff6
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Thu Jul 10 00:14:43 2008 +0200
@@ -4002,7 +9069,7 @@ Date: Thu Jul 10 00:14:09 2008 +0200
[core] Only suspend the input core during shutdown if it has been initialized already.
commit 568cff642107feb98c8a9b4ad3e057745811058a
-Merge: a6dcfee... 7490602...
+Merge: a6dcfee 7490602
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Thu Jul 10 00:13:05 2008 +0200
@@ -4103,7 +9170,7 @@ Date: Tue Jul 8 19:50:57 2008 +0200
[linux_input] Thanks to Phil Endecott for adding F13 to F24 support!
commit 32adbf9ba07da09927e84c7bc5c973b131d5b176
-Merge: eaea0e3... ef9efd7...
+Merge: eaea0e3 ef9efd7
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Tue Jul 8 19:31:13 2008 +0200
@@ -4116,14 +9183,14 @@ Date: Tue Jul 8 19:30:32 2008 +0200
[pixelformats] This patch adds BGR555 as a new pixel format, thanks to GARDET Guillaume!
commit ef9efd7e9179cb7bb3a1528437aa752831e7c781
-Merge: 22c876f... c8255c8...
+Merge: 22c876f c8255c8
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Tue Jul 8 14:34:31 2008 +0200
Merge branch 'master' of git+ssh://git.directfb.org/git/directfb/core/DirectFB
commit c8255c8d85f608c5e6a4573689e993530c17004d
-Merge: d00dbd4... 701bf91...
+Merge: d00dbd4 701bf91
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Tue Jul 8 14:34:22 2008 +0200
@@ -4270,7 +9337,7 @@ Date: Sun Jun 22 02:56:35 2008 +0200
[surfaces] Fixed return type of dfb_surface_lock/unlock() for C++.
commit 857c82cd4563e12ca50e57110108245d1e920149
-Merge: 4ed64ec... 399266a...
+Merge: 4ed64ec 399266a
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Sun Jun 22 02:16:45 2008 +0200
@@ -4433,7 +9500,7 @@ Date: Thu Jun 12 09:34:07 2008 +0200
[davinci] Remove sizeof() from ioctl definitions. Thanks to Eric Nelson!
commit 7c1d09bb5e1e76d69af33af2e14ac4418485d7bb
-Merge: ef6be22... 1c605ad...
+Merge: ef6be22 1c605ad
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Thu Jun 12 09:16:42 2008 +0200
@@ -4484,7 +9551,7 @@ Date: Mon Jun 9 19:16:15 2008 +0200
fixed png filename
commit 44c85a885e88fce2ed43a0bb5dcb7a8095ff82b0
-Merge: a420a6c... e554901...
+Merge: a420a6c e554901
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Mon Jun 9 02:44:39 2008 +0200
@@ -4592,7 +9659,7 @@ Date: Sat May 31 18:08:26 2008 +0200
1.2.0-rc1
commit 504fcd5fa51fb67bcd8f2eb0dfea59cebb7f8875
-Merge: e02436f... 5b83790...
+Merge: e02436f 5b83790
Author: Denis Oliver Kropp <dok at shark.directfb.home>
Date: Sat May 31 17:36:43 2008 +0200
@@ -4651,7 +9718,7 @@ Date: Wed May 28 08:12:59 2008 +0200
This reverts commit cb9e767d7a829801a53952e3a34eb770fd8bfff4.
commit c2c776002794e6793867ed9a2138ab02915a73cd
-Merge: 9c357f6... c291ee5...
+Merge: 9c357f6 c291ee5
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Tue May 27 08:13:04 2008 +0200
@@ -4684,7 +9751,7 @@ Date: Tue May 20 19:10:50 2008 +0200
[davinci] More changes for HD support, thanks to Eric Nelson!
commit 1384d02151c248dba0a200ad73c624a7e56b5255
-Merge: 82fa12f... c65ed1d...
+Merge: 82fa12f c65ed1d
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Tue May 20 18:44:53 2008 +0200
@@ -4703,7 +9770,7 @@ Date: Tue May 20 12:04:04 2008 +0200
[radeon] Implemented DSBLIT_SRC_PREMULTIPLY (R100/R200 only).
commit 8eeb64fc9564d804e01548659f5807049b54afa8
-Merge: cb9e767... 449e86d...
+Merge: cb9e767 449e86d
Author: Denis Oliver Kropp <dok at cyto.(none)>
Date: Sat May 17 23:36:19 2008 +0200
@@ -4815,7 +9882,7 @@ Date: Fri Apr 11 17:51:54 2008 +0200
ignore
commit 3d9890e79aa10c9e00f4b710ae3189e94bcd182d
-Merge: 9dd3fd8... 468b12e...
+Merge: 9dd3fd8 468b12e
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Fri Apr 11 17:39:30 2008 +0200
@@ -5071,7 +10138,7 @@ Date: Thu Feb 28 13:36:17 2008 +0100
[fusion] Fix multi app core build.
commit c89ee26379d95b7297c4b419efbf44221bc2f180
-Merge: 16d886a... 14b09af...
+Merge: 16d886a 14b09af
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Wed Feb 27 04:25:03 2008 +0100
@@ -5100,7 +10167,7 @@ Date: Wed Feb 27 04:24:49 2008 +0100
No more inclusion of <directfb.h> outside of DirectFB!
commit 14b09af2a288f71f90dee1cfd508033969e55e42
-Merge: 8fb7df8... ca24167...
+Merge: 8fb7df8 ca24167
Author: Claudio Ciccani <klan at directfb.org>
Date: Tue Feb 26 19:07:01 2008 +0100
@@ -5131,7 +10198,7 @@ Date: Tue Feb 26 16:28:05 2008 +0100
[docs] Fixed missing new argument to gendoc.pl call.
commit 774d0b4c86bf1ebe75c356f9162c014ea2c91b91
-Merge: 3d9759e... b933f4a...
+Merge: 3d9759e b933f4a
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Tue Feb 26 16:25:52 2008 +0100
@@ -5236,7 +10303,7 @@ Date: Wed Feb 20 01:12:00 2008 +0100
[x11] Bring in line with 1.0 features, expose handler, format conversion, shm, smp...
commit 2bb6bfccfd7d35d0fa299f6829456e1970ca49b9
-Merge: 4d12462... aec6c55...
+Merge: 4d12462 aec6c55
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Wed Feb 20 00:14:37 2008 +0100
@@ -5264,7 +10331,7 @@ Date: Tue Feb 19 23:31:44 2008 +0100
[tools] Added dfbinspector as a small C app.
commit f9137c2e57b78e6a1d28ae27a3d70a4b400238ae
-Merge: f648447... 25fbe5a...
+Merge: f648447 25fbe5a
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Tue Feb 19 23:23:47 2008 +0100
@@ -5368,7 +10435,7 @@ Date: Thu Feb 14 18:38:45 2008 +0100
Switched to version 1.1.2.
commit e64f23f7425322d9514a84166f0bb07f232f6301
-Merge: d8114d4... 974cc71...
+Merge: d8114d4 974cc71
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Mon Feb 11 23:36:43 2008 +0100
@@ -5434,7 +10501,7 @@ Date: Sun Feb 10 17:50:03 2008 +0100
GENDOC: Preserve preceding spaces and line breaks in comments, e.g. to use <pre>.
commit 70f7977c9812df8276c520f3dccb80f2e12b0bca
-Merge: 35b3ba2... 4d7dec6...
+Merge: 35b3ba2 4d7dec6
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Sun Feb 10 13:12:37 2008 +0100
@@ -5498,7 +10565,7 @@ Date: Tue Jan 29 12:26:51 2008 +0100
Shared memory gets deinitialized only when the counter reaches 0.
commit ab4530bdbb9a1d75e4cf82940ecb8d1cca4a7e2a
-Merge: 1c7c5c6... c80e5c7...
+Merge: 1c7c5c6 c80e5c7
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Mon Jan 28 22:34:54 2008 +0100
@@ -5532,7 +10599,7 @@ Date: Mon Jan 28 21:45:53 2008 +0100
DIRECT-STREAM: Fixed HTTP Content-Type parsing (mimetype might be followed by a charset).
commit e36b34847dbffddb4ec3b796018d707b14801320
-Merge: 7e032d9... be5597c...
+Merge: 7e032d9 be5597c
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Sat Jan 26 12:53:00 2008 +0100
@@ -5590,7 +10657,7 @@ Date: Mon Jan 21 14:41:05 2008 +0100
BUILTIN-FUSION: Flush pending signals before re-acquiring the lock in fusion_skirmish_wait().
commit 0321bd2d2a81c4a73d22a7cfdcc3daccd888a883
-Merge: f763b52... 14b96b6...
+Merge: f763b52 14b96b6
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Fri Jan 18 20:13:00 2008 +0100
@@ -5618,7 +10685,7 @@ Date: Wed Jan 16 16:49:58 2008 +0100
JPEG: Implemented directly loading to NV16 surfaces staying in YCbCr space.
commit 58c282e03f7cd2cdffdad2015bd55812422723d9
-Merge: 783ce73... 3fbbd91...
+Merge: 783ce73 3fbbd91
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Wed Jan 16 16:45:37 2008 +0100
@@ -5711,7 +10778,7 @@ Date: Sun Jan 13 11:02:05 2008 +0100
Clear LCD Buffer after allocation with black using memset, one for RGB16 and two for NV16.
commit 890f8bb71477aaba7d2621cdc6605863cb4b3018
-Merge: 0eca8a2... bd08a3e...
+Merge: 0eca8a2 bd08a3e
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Thu Jan 10 04:25:41 2008 +0100
@@ -5922,7 +10989,7 @@ Date: Thu Jan 3 10:51:13 2008 +0100
ignore
commit c23c88c7f76e9f7a2ffa12a0d87979f8bea8a8b7
-Merge: ff62e5a... 0825352...
+Merge: ff62e5a 0825352
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Thu Jan 3 10:04:33 2008 +0100
@@ -6009,7 +11076,7 @@ Date: Mon Dec 24 04:28:23 2007 +0100
defined. No domain filters, just formatted output (all or nothing).
commit f3fdc7435788346515d993651abc3640d05d4db6
-Merge: 75dd9d7... 3afd652...
+Merge: 75dd9d7 3afd652
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Mon Dec 24 02:45:51 2007 +0100
@@ -6061,7 +11128,7 @@ Date: Sun Dec 23 16:11:30 2007 +0100
- Added JPU IRQ handler: save interrupt status in shared memory, clear interrupt and wake up waiter.
commit 65040dc9d34566454f94be4d1b1f47f57dd9a7c0
-Merge: 1c82251... 5a3d3e3...
+Merge: 1c82251 5a3d3e3
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Sun Dec 23 13:22:13 2007 +0100
@@ -6324,7 +11391,7 @@ Date: Sun Dec 9 10:06:14 2007 +0100
Blit from 32bit (blend) with colorizing 36.960 secs (* 31.562 MPixel/sec) [ 6.3%]
commit 6f65946fe5387834ec996e8ba7426237337bc1cd
-Merge: b840827... c426dac...
+Merge: b840827 c426dac
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Sun Dec 9 06:12:25 2007 +0100
@@ -6407,7 +11474,7 @@ Date: Wed Dec 5 13:46:19 2007 +0100
FUSION: Fixed warning about unused pGroupInfo.
commit f0b84341906c5033c1b33c3311a39a972bdba4f4
-Merge: f00efe8... 127ec41...
+Merge: f00efe8 127ec41
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Wed Dec 5 13:34:54 2007 +0100
@@ -6464,7 +11531,7 @@ Date: Sun Dec 2 08:57:29 2007 +0100
LINUX-INPUT: Ignore input devices matching the TSLIB_TSDEVICE environment variable.
commit 2b5aad59838538682ab06dc405ed37a49d386e59
-Merge: 5241ef1... 63a2d8e...
+Merge: 5241ef1 63a2d8e
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Sun Dec 2 08:25:45 2007 +0100
@@ -6537,7 +11604,7 @@ Date: Wed Nov 21 02:56:10 2007 +0100
Fixed warnings and added more safety in generic rasterizer about blend functions being array indices.
commit 0d04944ae20ebed62ca0fa3b53b316e64c83581e
-Merge: 5bb065a... 0b83ac2...
+Merge: 5bb065a 0b83ac2
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Wed Nov 21 02:22:25 2007 +0100
@@ -6599,7 +11666,7 @@ Date: Tue Nov 20 02:03:57 2007 +0100
Added DFBSurfaceBlendFlags.
commit eff7d38d602c8b6a518b20b0a40d72586b521837
-Merge: abe3853... 77e2a1c...
+Merge: abe3853 77e2a1c
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Tue Nov 20 00:01:16 2007 +0100
@@ -6612,7 +11679,7 @@ Date: Tue Nov 20 00:01:09 2007 +0100
Fixed warning.
commit 77e2a1cabccad357cb3b3be58efe37e244137b72
-Merge: 0de9e90... beba5ac...
+Merge: 0de9e90 beba5ac
Author: Claudio Ciccani <klan at directfb.org>
Date: Mon Nov 19 16:01:15 2007 +0100
@@ -6632,7 +11699,7 @@ Date: Mon Nov 19 15:59:41 2007 +0100
build a local list of references that must be removed and process them later.
commit beba5ac47474e45b821362444fb31978a7183e17
-Merge: 51a97f4... d7b6ca4...
+Merge: 51a97f4 d7b6ca4
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Mon Nov 19 15:51:15 2007 +0100
@@ -6732,7 +11799,7 @@ Date: Sat Nov 17 09:11:14 2007 +0100
Fixed debug message.
commit 8b7d1920aa554559299847e58a8812f78dfc6f68
-Merge: 4cc82ba... c678f5c...
+Merge: 4cc82ba c678f5c
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Sat Nov 17 09:09:56 2007 +0100
@@ -6781,7 +11848,7 @@ Date: Thu Oct 18 15:57:41 2007 +0200
Added debug and error messsages to dfb_layer_context_set_configuration().
commit 01536af1b96f7212d4c55566caea1c9c8984ba68
-Merge: 619d813... 7fb1cb2...
+Merge: 619d813 7fb1cb2
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Sat Nov 17 08:18:30 2007 +0100
@@ -6842,7 +11909,7 @@ Date: Fri Nov 2 14:40:52 2007 +0100
Added missing DSCCAPS_VSYNC flag to indicate support for WaitForSync().
commit 4fcb711d661e3d9b8541b08eb3c043c2df759c60
-Merge: ef9942b... 2022577...
+Merge: ef9942b 2022577
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Fri Nov 2 14:10:20 2007 +0100
@@ -6883,7 +11950,7 @@ Date: Fri Nov 2 11:04:19 2007 +0100
Fixed allocation size for planar formats in FBDev Surface Pool.
commit 32897684d0b6f6bcda0c1056ea1783853b01cb58
-Merge: 7816a30... e906b75...
+Merge: 7816a30 e906b75
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Wed Oct 31 10:46:05 2007 +0100
@@ -6982,7 +12049,7 @@ Date: Thu Oct 25 16:47:31 2007 +0200
Reallocate layer region surfaces on context activation.
commit 0dbccefb4af1e271453276f0755da329626fca29
-Merge: 19683c1... 6ffb80f...
+Merge: 19683c1 6ffb80f
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Thu Oct 25 13:32:23 2007 +0200
@@ -6997,7 +12064,7 @@ Date: Thu Oct 25 13:32:15 2007 +0200
Use bind() instead of connect() for receiving UDP data.
commit 6ffb80f98c2190616509207ab3c4710380fb9e64
-Merge: bfaf34f... 57e5c3e...
+Merge: bfaf34f 57e5c3e
Author: Denis Oliver Kropp <dok at shizo.directfb.home>
Date: Sat Oct 20 15:51:06 2007 +0200
@@ -7037,7 +12104,7 @@ Date: Mon Oct 15 08:47:32 2007 +0200
Thanks to Luis Mondesi lemsx1 gmail.
commit bcd261d167587a87db3a6377836e74a24f3193a2
-Merge: 40f5795... 50297fc...
+Merge: 40f5795 50297fc
Author: Denis Oliver Kropp <dok at shizo.zion.home>
Date: Sun Oct 14 18:27:57 2007 +0200
@@ -7056,7 +12123,7 @@ Date: Sun Oct 14 18:26:56 2007 +0200
Initialize libdirect in DirectFBCreate() already.
commit 50297fc3e1655ded4717d5fb6db9cf3e5646d41c
-Merge: 6a364bd... 0c58770...
+Merge: 6a364bd 0c58770
Author: Denis Oliver Kropp <dok at shizo.zion.home>
Date: Sun Oct 14 17:37:57 2007 +0200
@@ -7075,7 +12142,7 @@ Date: Sun Oct 14 17:31:19 2007 +0200
Fixed possible deadlock in IDirectFBDataBuffer_File_WaitForDataWithTimeout().
commit 1c8ef7b8b6970d6e91294dc15b08b304a110b6a4
-Merge: eb2825d... a8f1402...
+Merge: eb2825d a8f1402
Author: Claudio Ciccani <klan at directfb.org>
Date: Sun Oct 14 16:11:02 2007 +0200
@@ -7203,7 +12270,7 @@ Date: Tue Oct 9 03:46:06 2007 +0200
Added unimplemented fusion_skirmish_lock_count() for single app.
commit 6e753d283215db8743876880d3871c0dd9a02bf5
-Merge: 3a39545... cc5cff7...
+Merge: 3a39545 cc5cff7
Author: Denis Oliver Kropp <dok at shizo.zion.home>
Date: Thu Oct 11 16:08:02 2007 +0200
@@ -7271,7 +12338,7 @@ Date: Mon Oct 8 11:58:40 2007 +0200
Fixed illness in processing read data in serial driver and fixed error path. (2)
commit 3df393e8ec53c54af2ba94e7cb3b59aae299028b
-Merge: 82e1d70... a047bd9...
+Merge: 82e1d70 a047bd9
Author: Denis Oliver Kropp <dok at shizo.zion.home>
Date: Mon Oct 8 11:55:02 2007 +0200
@@ -7344,7 +12411,7 @@ Date: Thu Oct 4 13:54:36 2007 +0200
Fix usage of hardcoded /dev/mem while the error message was already using DEV_MEM macro.
commit 5754b68d8c62e9a1e1e3116f583011f25a9e2432
-Merge: 303e4c7... d95d532...
+Merge: 303e4c7 d95d532
Author: Denis Oliver Kropp <dok at shizo.zion.home>
Date: Thu Oct 4 13:51:56 2007 +0200
@@ -7532,7 +12599,7 @@ Date: Fri Sep 21 14:32:57 2007 +0200
Removed "Benchmarking with..." line in case study.
commit cc3a850db1456c41c934a7d1d7e460b34b75ded5
-Merge: 495b733... f573fb7...
+Merge: 495b733 f573fb7
Author: Denis Oliver Kropp <dok at shizo.zion.home>
Date: Fri Sep 21 14:27:53 2007 +0200
@@ -7569,7 +12636,7 @@ Date: Fri Sep 21 05:00:57 2007 +0200
Added gitignore file.
commit 7ba48e5ab16a044d8c6966224fdd76ac992b3d72
-Merge: 3952674... 9066689...
+Merge: 3952674 9066689
Author: Denis Oliver Kropp <dok at shizo.zion.home>
Date: Fri Sep 21 04:58:23 2007 +0200
@@ -7861,7 +12928,7 @@ Date: Fri Sep 7 11:08:08 2007 +0200
Always free resources allocated in builtin implementation of fusion_skirmish_wait(), either if the skirmish was destroyed.
commit a4c8aedf8fc09ded54f40c9194cefbc818b9ba23
-Merge: 6978e3e... ace1b81...
+Merge: 6978e3e ace1b81
Author: Denis Oliver Kropp <dok at shizo.(none)>
Date: Wed Sep 5 08:18:16 2007 +0200
@@ -8033,7 +13100,7 @@ Date: Mon Aug 27 21:01:52 2007 +0200
Fixed build on big endian machines.
commit 06179dc659519dc65d97550ce0faf0b87e354447
-Merge: 82812b3... 32d3d68...
+Merge: 82812b3 32d3d68
Author: Claudio Ciccani <klan at directfb.org>
Date: Mon Aug 27 16:03:09 2007 +0200
@@ -8129,7 +13196,7 @@ Date: Wed Aug 15 13:08:15 2007 +0200
Fix warnings and indention.
commit d96503f371880bc0c5a3d7d9ee346d05e5c24734
-Merge: 4abe5ca... 29dd8f3...
+Merge: 4abe5ca 29dd8f3
Author: Denis Oliver Kropp <dok at shizo.zion.home>
Date: Wed Aug 15 13:01:57 2007 +0200
@@ -8315,7 +13382,7 @@ Date: Fri Aug 10 02:19:10 2007 +0200
Fix lock order in fusion_shm_pool_destroy().
commit 13f42cb5535512e47e4a54835f7c60e75c260dbd
-Merge: c0802f7... 77b5640...
+Merge: c0802f7 77b5640
Author: Denis Oliver Kropp <dok at shizo.zion.home>
Date: Tue Aug 7 21:31:07 2007 +0200
@@ -8353,7 +13420,7 @@ Date: Mon Aug 6 13:13:18 2007 +0200
Added direct_serial_check() returning true if the target serial is not higher.
commit bcab4383e5eff57aba0e76b0f99b0568ee883082
-Merge: 4eb2645... 0bfa945...
+Merge: 4eb2645 0bfa945
Author: Denis Oliver Kropp <dok at shizo.zion.home>
Date: Mon Aug 6 13:11:41 2007 +0200
@@ -8393,7 +13460,7 @@ Date: Wed Aug 1 22:47:12 2007 +0200
Print an error and return if no layers are available.
commit 1e3143ddaab9a6deee8d0abf2fce3b808a059889
-Merge: e5b17bb... 781d713...
+Merge: e5b17bb 781d713
Author: Denis Oliver Kropp <dok at shizo.zion.home>
Date: Wed Aug 1 22:43:41 2007 +0200
@@ -8432,7 +13499,7 @@ Date: Wed Jul 25 13:27:56 2007 +0200
Added copyright footer.
commit 313623224d91258e3fdbee90da2ba6ee447b48c8
-Merge: 19461c2... 2e28cc7...
+Merge: 19461c2 2e28cc7
Author: Denis Oliver Kropp <dok at shizo.(none)>
Date: Wed Jul 25 13:27:29 2007 +0200
@@ -8494,7 +13561,7 @@ Date: Wed Jul 18 20:36:01 2007 +0200
Raise max number of shm pools to 16.
commit ec4e5ed6e363b3793d8e90e6fbadd4c4ed6ded3f
-Merge: aed1290... 8f28528...
+Merge: aed1290 8f28528
Author: Denis Oliver Kropp <dok at shizo.(none)>
Date: Tue Jul 17 01:09:06 2007 +0200
@@ -8519,7 +13586,7 @@ Date: Mon Jul 16 18:44:15 2007 +0200
HD extensions, thanks to Daniel J Laird!
commit 826d7ae1aea550a7cf8312848f26d8111232d609
-Merge: cc04f11... fd6854f...
+Merge: cc04f11 fd6854f
Author: Denis Oliver Kropp <dok at shizo.(none)>
Date: Mon Jul 16 10:27:16 2007 +0200
@@ -8559,7 +13626,7 @@ Date: Tue Jul 10 16:30:49 2007 +0200
Any X expert who can explain the error to me?
commit 74e90cb10a2627fb58aaca2593105c31fd795537
-Merge: ad16899... ddc3298...
+Merge: ad16899 ddc3298
Author: Denis Oliver Kropp <dok at shizo.(none)>
Date: Tue Jul 10 15:51:12 2007 +0200
@@ -8674,7 +13741,7 @@ Date: Mon Jul 9 13:00:45 2007 +0200
Finalized ARGB4444 smooth scaling support.
commit d8276f7799e60009650e28888e9fcbc024bb7253
-Merge: 977ec21... 2b48aaa...
+Merge: 977ec21 2b48aaa
Author: Denis Oliver Kropp <dok at shizo.zion.home>
Date: Sat Jul 7 21:17:28 2007 +0200
@@ -8692,7 +13759,7 @@ Date: Fri Jul 6 15:27:22 2007 +0200
Added option "layer-bg-color-index = n".
commit 0c01366a6f5b37a1dd00b513e6c62b1056b910b8
-Merge: 14ba567... 098b862...
+Merge: 14ba567 098b862
Author: Denis Oliver Kropp <dok at shizo.zion.home>
Date: Fri Jul 6 14:40:23 2007 +0200
@@ -8865,7 +13932,7 @@ Date: Tue Jun 12 19:34:23 2007 +0200
Fix hi/lo mixup for big/little endian in 32 bit wise 16 bit color keying code.
commit c0142f6bf506d09449cdf9d2ca0250dcb05cf7fc
-Merge: 14f3aef... 8bba6d9...
+Merge: 14f3aef 8bba6d9
Author: Denis Oliver Kropp <dok at shizo.(none)>
Date: Tue Jun 12 18:57:41 2007 +0200
@@ -8976,7 +14043,7 @@ Date: Wed May 30 18:07:55 2007 +0200
Added DWOP_KEEP_ABOVE and DWOP_KEEP_UNDER.
commit ee262b3fca03b5aafefbd789b698181dd732f619
-Merge: 41e5c47... 0d71e41...
+Merge: 41e5c47 0d71e41
Author: Denis Oliver Kropp <dok at shizo.zion.home>
Date: Wed May 30 10:01:58 2007 +0200
diff --git a/INSTALL b/INSTALL
index d3c5b40..a1e89e1 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,19 +1,25 @@
Installation Instructions
*************************
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007 Free Software Foundation, Inc.
+Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
+Inc.
-This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
Basic Installation
==================
-Briefly, the shell commands `./configure; make; make install' should
+ Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.
+instructions specific to this package. Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
@@ -42,7 +48,7 @@ may remove or edit it.
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
-The simplest way to compile this package is:
+ The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
@@ -53,12 +59,22 @@ The simplest way to compile this package is:
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
- the package.
+ the package, generally using the just-built uninstalled binaries.
4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the `make install' phase executed with root
+ privileges.
+
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior `make install' required
+ root privileges, verifies that the installation completed
+ correctly.
+
+ 6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
@@ -67,15 +83,22 @@ The simplest way to compile this package is:
all sorts of other programs in order to regenerate files that came
with the distribution.
- 6. Often, you can also type `make uninstall' to remove the installed
- files again.
+ 7. Often, you can also type `make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide `make
+ distcheck', which can by used by developers to test that all other
+ targets like `make install' and `make uninstall' work correctly.
+ This target is generally not run by end users.
Compilers and Options
=====================
-Some systems require unusual options for compilation or linking that the
-`configure' script does not know about. Run `./configure --help' for
-details on some of the pertinent environment variables.
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. Run `./configure --help'
+for details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
@@ -88,25 +111,41 @@ is an example:
Compiling For Multiple Architectures
====================================
-You can compile the package for more than one kind of computer at the
+ You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
+source code in the directory that `configure' is in and in `..'. This
+is known as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use `make distclean' before
reconfiguring for another architecture.
+ On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor. Like
+this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CPP="gcc -E" CXXCPP="g++ -E"
+
+ This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
+
Installation Names
==================
-By default, `make install' installs the package's commands under
+ By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX'.
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
@@ -117,16 +156,47 @@ Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
+you can set and what kinds of files go in them. In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'. Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated. The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the `DESTDIR' variable. For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names. The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-Optional Features
-=================
-
-Some packages pay attention to `--enable-FEATURE' options to
+ Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
@@ -138,14 +208,58 @@ find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
+ Some packages offer the ability to configure how verbose the
+execution of `make' will be. For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
+Particular systems
+==================
+
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+ HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved. Use GNU `make'
+instead.
+
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `<wchar.h>' header file. The option `-nodtk' can be used as
+a workaround. If GNU CC is not installed, it is therefore recommended
+to try
+
+ ./configure CC="cc"
+
+and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+ On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
Specifying the System Type
==========================
-There may be some features `configure' cannot figure out automatically,
-but needs to determine by the type of machine the package will run on.
-Usually, assuming the package is built to be run on the _same_
-architectures, `configure' can figure that out, but if it prints a
-message saying it cannot guess the machine type, give it the
+ There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on. Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
@@ -153,7 +267,8 @@ type, such as `sun4', or a canonical name which has the form:
where SYSTEM can have one of these forms:
- OS KERNEL-OS
+ OS
+ KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
@@ -171,9 +286,9 @@ eventually be run) with `--host=TYPE'.
Sharing Defaults
================
-If you want to set default values for `configure' scripts to share, you
-can create a site shell script called `config.site' that gives default
-values for variables like `CC', `cache_file', and `prefix'.
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
@@ -182,7 +297,7 @@ A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
-Variables not defined in a site shell script can be set in the
+ Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
@@ -201,11 +316,19 @@ an Autoconf bug. Until the bug is fixed you can use this workaround:
`configure' Invocation
======================
-`configure' recognizes the following options to control how it operates.
+ `configure' recognizes the following options to control how it
+operates.
`--help'
`-h'
- Print a summary of the options to `configure', and exit.
+ Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+ Print a summary of the options unique to this package's
+ `configure', and exit. The `short' variant lists options used
+ only in the top level, while the `recursive' variant lists options
+ also present in any nested packages.
`--version'
`-V'
@@ -232,6 +355,16 @@ an Autoconf bug. Until the bug is fixed you can use this workaround:
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
+`--prefix=DIR'
+ Use DIR as the installation prefix. *note Installation Names::
+ for more details, including other options available for fine-tuning
+ the installation locations.
+
+`--no-create'
+`-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
diff --git a/Makefile.am b/Makefile.am
index 0682648..cf197f3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -18,18 +18,26 @@ if ENABLE_VOODOO
PROXY_DIR = proxy
endif
+
+if DIRECTFB_BUILD_PURE_VOODOO
+NON_PURE_VOODOO_SUBDIRS =
+else
+NON_PURE_VOODOO_SUBDIRS = \
+ systems \
+ wm \
+ interfaces \
+ $(LINUXONLY_DIRS)
+endif
+
SUBDIRS = \
data \
docs \
include \
lib \
src \
- systems \
$(TOOLS_DIR) \
- wm \
- interfaces \
+ $(NON_PURE_VOODOO_SUBDIRS) \
$(PROXY_DIR) \
- $(LINUXONLY_DIRS) \
$(TESTS_DIR) \
patches \
rules
diff --git a/Makefile.in b/Makefile.in
index 49f1373..627fa60 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -53,9 +55,42 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = directfb-config directfb.pc directfb-internal.pc \
directfb.spec
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"
-binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
SCRIPTS = $(bin_SCRIPTS)
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -65,33 +100,59 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-pkgconfigDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgconfig_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir dist dist-all distcheck
ETAGS = etags
CTAGS = ctags
-DIST_SUBDIRS = data docs include lib src systems tools wm interfaces \
- proxy inputdrivers gfxdrivers tests patches rules
+DIST_SUBDIRS = data docs include lib src tools systems wm interfaces \
+ inputdrivers gfxdrivers proxy tests patches rules
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
- { test ! -d $(distdir) \
- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr $(distdir); }; }
+ if test -d "$(distdir)"; then \
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -rf "$(distdir)" \
+ || { sleep 5 && rm -rf "$(distdir)"; }; \
+ else :; fi
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -115,11 +176,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -133,16 +197,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -163,12 +228,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -179,21 +247,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -201,6 +277,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -214,6 +294,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -221,9 +302,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -270,6 +352,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I m4
@@ -277,18 +360,22 @@ ACLOCAL_AMFLAGS = -I m4
@BUILD_TOOLS_TRUE at TOOLS_DIR = tools
@BUILD_TESTS_TRUE at TESTS_DIR = tests
@ENABLE_VOODOO_TRUE at PROXY_DIR = proxy
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@NON_PURE_VOODOO_SUBDIRS = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ systems \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ wm \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ interfaces \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ $(LINUXONLY_DIRS)
+
+ at DIRECTFB_BUILD_PURE_VOODOO_TRUE@NON_PURE_VOODOO_SUBDIRS =
SUBDIRS = \
data \
docs \
include \
lib \
src \
- systems \
$(TOOLS_DIR) \
- wm \
- interfaces \
+ $(NON_PURE_VOODOO_SUBDIRS) \
$(PROXY_DIR) \
- $(LINUXONLY_DIRS) \
$(TESTS_DIR) \
patches \
rules
@@ -306,21 +393,21 @@ all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
-am--refresh:
+am--refresh: Makefile
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
- cd $(srcdir) && $(AUTOMAKE) --gnu \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
&& exit 0; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -336,21 +423,20 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENC
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(srcdir) && $(AUTOCONF)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
config.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
- else :; fi
+ @if test ! -f $@; then rm -f stamp-h1; else :; fi
+ @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f stamp-h1
touch $@
@@ -367,22 +453,35 @@ directfb.spec: $(top_builddir)/config.status $(srcdir)/directfb.spec.in
install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_SCRIPTS)'; for p in $$list; do \
+ @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- if test -f $$d$$p; then \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
- else :; fi; \
- done
+ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n' \
+ -e 'h;s|.*|.|' \
+ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+ if (++n[d] == $(am__install_max)) { \
+ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+ else { print "f", d "/" $$4, $$1 } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binSCRIPTS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_SCRIPTS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 's,.*/,,;$(transform)'`; \
+ dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
mostlyclean-libtool:
-rm -f *.lo
@@ -391,24 +490,25 @@ clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
- -rm -f libtool
+ -rm -f libtool config.lt
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
done
uninstall-pkgconfigDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
- done
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@@ -417,7 +517,7 @@ uninstall-pkgconfigDATA:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -434,7 +534,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -442,7 +542,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -468,16 +568,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -485,14 +585,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -504,7 +604,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
@@ -513,36 +613,41 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
$(am__remove_distdir)
- test -d $(distdir) || mkdir $(distdir)
+ test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -558,50 +663,75 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ -test -n "$(am__skip_mode_fix)" \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r $(distdir)
+ || chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-lzip: distdir
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__remove_distdir)
dist-lzma: distdir
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
$(am__remove_distdir)
+dist-xz: distdir
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+ $(am__remove_distdir)
+
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
@@ -625,15 +755,19 @@ dist dist-all: distdir
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
- unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.lz*) \
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+ *.tar.xz*) \
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
@@ -641,10 +775,13 @@ distcheck: dist
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
+ test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && cd $(distdir)/_build \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
@@ -665,14 +802,24 @@ distcheck: dist
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+ && cd "$$am__cwd" \
+ || exit 1
$(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
- @cd $(distuninstallcheck_dir) \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ @test -n '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: trying to run $@ with an empty' \
+ '$$(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ $(am__cd) '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
@@ -706,16 +853,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -734,6 +887,8 @@ dvi: dvi-recursive
dvi-am:
+html-am:
+
info: info-recursive
info-am:
@@ -742,18 +897,28 @@ install-data-am: install-pkgconfigDATA
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am: install-binSCRIPTS
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -776,26 +941,26 @@ ps-am:
uninstall-am: uninstall-binSCRIPTS uninstall-pkgconfigDATA
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
+ ctags-recursive install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
- dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \
- distclean distclean-generic distclean-hdr distclean-libtool \
- distclean-tags distcleancheck distdir distuninstallcheck dvi \
- dvi-am html html-am info info-am install install-am \
- install-binSCRIPTS install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-pkgconfigDATA install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-binSCRIPTS \
- uninstall-pkgconfigDATA
+ dist-gzip dist-lzip dist-lzma dist-shar dist-tarZ dist-xz \
+ dist-zip distcheck distclean distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am html html-am info info-am \
+ install install-am install-binSCRIPTS install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-pkgconfigDATA install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs installdirs-am \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am \
+ uninstall-binSCRIPTS uninstall-pkgconfigDATA
# Generate the HTML API documentation:
@@ -807,6 +972,7 @@ directfb-csource:
make -C tools directfb-csource
.PHONY: html directfb-csource
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/NEWS b/NEWS
index c0e7659..c03490e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,758 @@
+1.4.17
+------
+
+Core
+- fix race condition between dfb_wm_close_all_stacks() and layer_context destructor
+- add function CoreDFB_CallMode() which determines whether calls should be direct, indirect or denied.
+- cleaner shutdown
+- Add CoreGraphicsState::ReleaseSource() to fix IDirectFBSurface::ReleaseSource() in secure fusion mode.
+- opimize single-app mode by forcing COREDFB_CALL_DIRECT
+- set_region: lock region buffer also on flags CLRCF_SRCKEY,CLRCF_DSTKEY,CLRCF_OPACITY,CLRCF_SOURCE,CLRCF_DEST
+- remove bogus asserts for optional output parameters in Core API and mark these parameters in .flux files
+
+Graphics
+- generic: fix off-by one issues in 16-bit code
+
+libdirect
+- reworked signal handling (an extra thread is now dedicated to asychronous signal processing)
+- support default-interface-implementation=interface_name/implementation_name in config
+- generic configuration extensions to support options unknown to the directfb core, but known to custom modules
+
+Fusion:
+- buffer async fusion calls in user space using one ioctl up to 512 calls or 20ms timeout (Increses performance)
+
+Secure Fusion
+- fix CreatePalette(), SetColorIndex(), SetEntries()
+
+One
+- add linux-one kernel module and libone from DirectFB 1.6, these are required when FusionDale with secure fusion
+
+Default WM
+- remove redundant checks
+- add missing locking to surface reaction (fix race-condition)
+- use DSFLIP_WAITFORSYNC in DLBM_BACKVIDEO case
+
+DevMem System
+- remove bogus ASSERTS
+
+X11 System:
+- Call dfb_surface_notify_diosplay() AFTER calling dfb_surface_flip().
+
+ImageProviders
+- handle invalid images in various providers (thanks to Broadcom)
+
+build
+- configure: check for flux 1.3.0 (thanks to Sven Neumann for the original patch)
+
+
+1.4.16
+------
+
+API
+- Add DFB_NOALLOCATION result used internally.
+
+IDirectFB
+- Allow DSCAPS_TRIPLE for windowed primary surface, thanks to Rob McConnell!
+- Do not mask out DSCAPS_FLIPPING when creating a windowed primary surface.
+
+IDirectFBWindow
+- Allow DSCAPS_TRIPLE to be used for windows.
+- Fix LowerToBottom()!
+- Destroy the window explicitly on Release when interface is from CreateWindow.
+
+IDirectFBSurface
+- Allow DSCAPS_STATIC_ALLOC to be used in combination with DSDESC_PREALLOCATED
+ to request that any further Lock() will always return the original preallocated
+ buffer pointer even if that requires lots of transfers back and forth. Otherwise,
+ the allocation might be moved to shared memory. This especially requires the
+ application to correctly use Lock() with the READ and WRITE flags as appropriate.
+
+IDirectFBGL
+- add TextureSurface() to the interface definition
+
+Runtime Options
+- Add run time option "trace-ref" to print messages including stack dump when a certain ref is up/downed.
+
+Core
+- Remove early setting of num_buffers to zero, fixing buffer leakage!
+- Add PreAlloc() function to surface pool interface to check the surface description
+ for a supported preallocation, e.g. DSCAPS_VIDEOONLY for a preallocation in an
+ accelerated pool. This is called on the slave side!
+- Add preallocated_pool_id to the surface configuration that is filled by the
+ slave to indicate in which pool it likes to create a preallocated surface.
+ Also add more fields to the preallocated entries like offset or phys.
+- Add CoreSlave interface for master to call into slave processes. This contains
+ methods for sending or receiving data, e.g. to or from preallocated memory areas.
+ Access to such areas is checked against permissions, though the master should be
+ a trusted process in the DirectFB session :-)
+- For preallocated surfaces allocate the buffers during their creation in the
+ preallocated pool already to ensure this already exists as the first allocation.
+- Tweak dfb_surface_buffer_find_allocation() to implement DSCAPS_STATIC_ALLOC and
+ to avoid locking non-shared preallocated allocations from other processes. It
+ is possible to create a preallocated hardware buffer from a slave and use hardware
+ accceleration with this in the master via secure fusion, if implemented by the
+ surface pool(s) for the hardware accelerator.
+- Add dfb_core_memory_permissions_add/remove/check() for management of areas
+ where the master may read/write within slave memory via CoreSlave interface.
+- Put secure/insecure mode into shared memory and fail in slave init when
+ the configuration does not match.
+- In Core_GetIdentity() return local core identity if stack is empty.
+- In Core_PushIdentity() if argument is 0, push local identity on stack.
+- Use Core_PushIdentity(0) before locking surfaces for actual execution of
+ software or hardware rendering functions.
+- Add new initialize/join calls for surface pools to pass context data.
+- Add dfb_surface_pools_lookup() for lookup by ID.
+- Implement priorities for surface pool bridges.
+- Fix missing return of permission handle in dfb_core_memory_permissions_add()
+- In resource manager code don't consult client interface when identity matches ours (master).
+- Fix missing Dispatch init for hotplug devices, thanks to Steven (Sheng-Chi) Chang!
+- Add dfb_surface_deallocate_buffers() that deallocates all surface buffers, called by unrealize_region() instead of destroying the buffers now.
+- When decoupling a buffer being unlocked, deallocate right away.
+- Fix assertion in error path of surface creation.
+- Add error handler for window object creation, e.g. OOM case.
+- Add CSF_SOURCE2_LOCKED to mask for calling dfb_state_update().
+- Use new "queue" property for rendering and state setting methods. Except surface setters because of out of order execution with references
+ being dropped right after blitting from but before flushing.
+- Update dfb_gfxcard_check_state to check for full system memory support.
+- Replace FusionProperty in gfxcard by hybrid skirmish (simple mutex in secure fusion mode).
+- Add fusion_skirmish_init2() with 'local' argument to create a fake skirmish (simple mutex). Improves performance.
+- Make CoreSurfaceAllocation a FusionObject.
+- Change ISurface::PreLockBuffer() to return a CoreSurfaceAllocation instead of index.
+- Replace dfb_surface_buffer_locks() by dfb_surface_allocation_locks().
+- Add dfb_surface_allocation_decouple() for deallocating and setting surface and buffer pointers to NULL.
+- Use fusion_skirmish_init2() to make surface skirmish a plain mute in case of secure fusion, resulting in greater performance.
+- Fix local surface pool (single app) for new surface/buffer less allocation code.
+- Deallocate window surface buffers right away when a window is destroyed.
+- Fix munmap issue with modified lock.addr by keeping a copy in .handle (shared secure pool).
+- Deallocate buffers right away when deallocating a layer surface.
+- Don't set owner of layer surfaces until privileges are sorted out better.
+- Add dfb_surface_clear_buffers() to allocate/fill all surface buffers (unless new run-time option "no-layers-clear" is used).
+
+WM/Default
+- Implement same flipping scheme as in SaWMan.
+
+Graphics
+- force recheck of DFXL_BLIT2 if source2 has been changed
+- allow DSBLIT_FLIP_HORIZONTAL and DSBLIT_FLIP_VERTICAL simultaniously in gStretchBlit()
+- Add planar YUV smooth scaling, only NV12 and NV21 for now.
+- backport various clipping fixes and improvements in the generic software rasterizer from 1.6
+- Use RGB accumulators only, adding YUV values does not work.
+- fixes for AYUV rendering, FillRect etc.
+- optimizations to the generic driver
+- Add dfb_gfx_clear() to fill buffer with fully transparent black.
+
+Input
+- Get lock state and other items from input device, not via events.
+- implement quitpipe also for the hotplug thread
+
+Fusion
+- Remove bogus assertion from fusion_call_init and fusion_call_init3.
+- Implement fusion_reactor_attach/dispatch_channel() for single app mode.
+- use s64 instad of int to calculate number of free bytes to prevent wraparound when having more than 2GB free in tmpfs.
+- Add fusion_call_init_from() to initialize a FusionCall structure in local slave memory from call id returned by call to master.
+- Add fusion_call_get_owner() to get the FusionID of the call creator.
+- Add fusion_world_set_leave_callback() dummy for single app core.
+- Increase return size limit to 32MB for calls.
+- Add fusion_call_execute2() using new linux-fusion 8.3 ioctl.
+- Add handling of call payload appended to FusionCallMessage rather than a pointer in the message.
+- When MADV_REMOVE is supported use static ftruncate and no longer resize file in brk().
+- Provide fusion_skirmish_init2 on single app builds
+- Increase main shm pool (e.g. for objects) max size from 1 to 16 MB.
+- Replace linked list by hash table for objects, finally, *sigh*
+- Add fusion_hash_foreach() working like direct_list_foreach() via FusionHashIterator
+ and inlined fusion_hash_iterator_init() and fusion_hash_iterator_next().
+
+Secure Fusion
+- Remove unnecessary locking to improve performance.
+- Add fusion_skirmish_add_permissions().
+- Avoid mmap/munmap on each Lock/Unlock in shared surface pool when being the master. This restores rendering speed a lot for
+ software fallbacks.
+- Convert two more dfb_layer_activate_context to CoreLayer_ActivateContext, thanks to Rob McConnell for spotting!
+
+Voodoo
+- Init host with "" if NULL to fix strcmp crash.
+- No DataBuffer_Init_Dispatch when DIRECTFB_BUILD_PURE_VOODOO is defined.
+
+ImageProvider
+- Add secure IPC to (hardware) image providers.
+- IPC: CPP -> C!
+- PNG: add libpng 1.5 support
+- JPEG: improve probe to recognize more valid jpeg formats
+
+PreAlloc Pool
+- Add preallocPrealloc() implemention in the preallocated surface pool to fill
+ out the new surface configuration entries for the preallocated buffers before
+ the CreateSurface call goes to master.
+- In preallocTestConfig() check the core identity against the buffer identity
+ and reject allocation for other processes than the creator of the preallocated
+ surface. This should not happen though.
+- In preallocAllocateBuffer() remove CSALF_VOLATILE flag from allocation to
+ ensure the allocation will not be removed before the buffer is destroyed.
+- In preallocLock() check the core identity against the buffer identity and
+ reject locking for other processes than the creator of the preallocated
+ surface. This should not happen though.
+
+libdirect
+- Check for error in DIRECT_ALLOCATE_INTERFACE
+- never return an uninitialized value in direct_recursive_mutex_init()
+- Add D_UNUSED(param) macro for cancelling compiler warnings.
+
+FBDev
+- Fix surface pool for new surface/buffer less allocation code.
+
+GLX
+- Choose config with depth buffer.
+- Work around crashing glDeleteTextures() by leaking it.
+- Force layer pixmap to 24 bit.
+
+X11
+- Add dfb_surface_notify_display() calls to primaryFlipRegion()
+- Fix broken expose event handling, many thanks to Loïc Yhuel!
+
+dfbdump
+- Add loop mode "-l" to be used as secure master for example.
+
+Tests
+- dfbtest_resize: Add threaded window resizing, surface locking test. Add Read/Write tests.
+- dfbtest_prealloc: Add dfbtest_prealloc for testing preallocated surfaces with and without the usage of DSCAPS_STATIC_ALLOC.
+- dfbtest_window_surface: Simple resource/reference counting test.
+- dfbtest_window_cursor: Add test for cursor flags and per window cursor shape.
+
+
+1.4.15
+------
+
+IDirectFBSurface
+- Fix missing CoreGraphicsStateClient_Deinit() that has led to a memory leak.
+
+ICoreResourceManager and ICoreResourceClient
+- Add new interfaces for resource management, optionally being loaded as modules.
+- The manager has one method to create a new client instance (called within master, per slave).
+- The client has a few methods for checking surface creation/reconfig, adding/removing/updating surfaces.
+
+Runtime Options
+- Add "resource-manager" option to load a resource manager implementation, default is none.
+
+Core
+- Secure Fusion final major update adding CoreScreen and CoreInputDevice interface
+- move from C++ to C using fluxcomp's C mode and slightly modified real implementations
+- Add ICore::Register() method for slaves joining to create a resource client instance in the master.
+- Make ICore_Real::CreateSurface() use the new Core_Resource_CheckSurface() function for
+ asking the resource manager (if any) for creation of the resource.
+- Add Core_Push/PopIdentity() to store the caller ID of an incoming request in TLS.
+- Add Core_GetIdentity() to query the current identity, i.e. ID of the Fusionee that made the IPC call.
+- Add Core_Resource methods wrapping and managing instances of ICoreResourceClient.
+- do not always call dfb_gfxcard_batchblit()
+- shutdown fixes
+- remove Dispatch class, use functions instead (even in C++ mode)
+- add prelock to manage interlocks at master
+- set permissions for FUSION_REF_UP/DOWN for secure-fusion
+- remove obsolete code
+- added missing files, got lost during merge
+- Add copy of surface type flags and resource id to surface buffer.
+- remove precheck for locked buffers in dfb_surface_reconfig()
+- Fix typo in last commit of Surface Buffer object changes
+- Make Surface Buffer a FusionObject and implement locked surface resizing
+- Use old shm surface pool for non-secure fusion, get rid of indices in secure surface pool.
+- Fix crash when dfb_wm_update_cursor() is called with 'no-cursor' option.
+- Export layer surface allocation functions.
+
+Flux
+- Run fluxcomp with argument "-i" to generate calls to Core_Push/PopIdentity().
+- Flux has its own package now, please checkout git://git.directfb.org/git/directfb/core/flux
+- remove workaround for c-mode (dummy data for fusion_call_execute3)
+- added option --include-prefix= to fix build of external projects(e.g sawman)
+- added semicolon to fix warning in generated C code
+- added C mode for generation C instead of C++
+
+Fusion
+- Add fusion_get_fusionee_path() to retrieve the executable file name of a Fusionee (as in /proc/*/exe).
+ This can be used when the resource client is created to apply special limitations, privileges...
+- Add fusion_world_set_leave_callback() to register a callback for processing the new FMT_LEAVE message
+ when a slave leaves the world. This is used by the master to cleanup the resource client instance.
+- Add FusionID parameter to fusion_object_create() to give objects an identity, i.e. the identity of the
+ Fusionee calling the master to create an object.
+- Fix crash by commenting out debug print after unref (in fusion_ref_down itself)
+- Fix fusion_vector_foreach_reverse for empty vectors
+
+Graphics
+- make use of clip_blit_rotated() in dfb_gfxcard_batchblit()
+- always initialize shared surface pool priority with CSPP_DEFAULT
+
+Genefx
+- Fix Bop_argb_blend_alphachannel_src_invsrc_Aop_argb for special case alpha = 0.
+- Fix top clipping of flat top triangles.
+- use 24bpp colorkey template for RGB18 and ARGBx666
+- use 24bpp colorkey template for RGB24, ARGB8565, VYU
+- add a colorkey template for 24bpp pixelformats
+- use 24bpp acc template for RGB18 and ARGBx666
+- use 24bpp acc template for RGB24 and ARGB8565
+- add an acc template for 24bpp pixelformats
+
+ICoreResourceManager_test
+- Add test implementation for ICoreResourceManager and ICoreResourceClient that keeps track of
+ and prints the amount of surface memory being used per slave process.
+
+JPEG
+- correctly setup iDCT scale factors for libjpeg version 7 or higher
+
+PNG
+- various fixes for colorkey handling and grayscale images
+- fixes for adam7 deinterlacing in 16->8bit per color component conversion case
+
+Dummy
+- Initialise buffer mode in display layer config.
+
+Joystick
+- wrong number for buttons and axes read
+
+VNC
+- Input driver is part of system module now,
+ special attach code no longer needed
+- Fixed several bugs in input event processing
+- Initialize rfbScreen once for the session, 32bit
+- Default screen size is 1280x720 if not set via mode option
+- Use preallocated shared memory surface for screen
+- Render layer onto preallocated ABGR screen surface
+- Layer positioning and scaling is supported
+- Only stream modified rects from clients to master
+ (calling rfbMarkRectAsModified there) using FusionCall2
+- Use automatic port allocation
+- Detect failure in setting up listen socket
+- Use rfbNewFramebuffer call
+
+Build
+- fix out-of-tree builds
+- set version to 1.4.15
+- remove dummy.cpp to prevent linkage of libstdc++
+- set CXX=g++ for fluxcomp, to avoid the cross compiler from being used
+- add more explicit rules for new generated headers
+- fix build of generated core files by specifying explicit rules
+
+SH772x
+- Only use the shjpeg library if available, thanks to Michael Szafranek
+- Move dfb_surface_lock/unlock to CoreSurface fns
+- Fix sh7722_jpeg destructor releasing a buffer it doesn't own
+- comsmetic changes only (tabs to spaces)
+- Correct device name in debug messages
+- Fix warnings in sh7722_jpeg.c
+- Fix build error, new arg to dfb_surface_create_simple
+
+X11
+- Fix crash in non-secure mode.
+
+
+1.4.14
+------
+
+This release purely contains the back port of the Secure Fusion work!
+
+
+1.4.13
+------
+
+Genefx
+- Implement TextureTriangles() and blitting with matrix (affine only for now).
+ Next to gTextureTriangles() there are two new operations, one for texture mapping a scanline
+ into accumulator (Sop_PFI_TEX_to_Dacc) and one for direct mapping into output buffer with
+ same format and no flags (Bop_PFI_TEX_to_Aop_PFI).
+ These operations simply interpolate s and t along the scanline.
+ For perspective correct TextureTriangles() we need to add Sop_PFI_TEXz_to_Dacc or similar.
+- Optimize fast path ARGB SrcOver and add fast path ARGB SrcOver premultiply.
+- Split code into a few files
+
+Graphics
+- Fix preclipping of fonts in some cases (broken since 1.4.4)
+
+Proxy
+- Add IDirectFBSurface::FillTrapezoids() implementations
+- Add IDirectFBDisplayLayer::GetRotation() implementations
+- Add dispatcher code for IDirectFBSurface::Read() which seemed lost
+- Discard unsupported DSDESC_PALETTE and DSDESC_PREALLOCATED flags
+
+libdirect
+- Fix small memory leak in DirectGetInterface()
+
+dfbtest_blit
+- Add a few options regarding scaling, transform...
+
+build
+- Fix out of tree builds...
+- libidirectfbfont_ft2 must be linked against libm as it uses sin() and cos() now
+
+
+1.4.12
+------
+
+API | IDirectFBFont
+- Add DFFA_AUTOHINTING forcing use of the auto-hinter over the font's native hinter.
+- Add DFFA_SOFTHINTING selecting a lighter hinting algorithm. It generates glyphs which
+ are more fuzzy, but better resemble their original shape. It implies use of the auto-hinter.
+
+Runtime Options
+- Add "no-core-sighandler" option to disable core signal handler for emergency shutdowns.
+
+Graphics Core
+- Support software clipping for vertical and horizontal flips.
+ This does not work in combination with DSBLIT_ROTATE_ flags yet. The software driver cannot combine DSBLIT_FLIP_
+ and DSBLIT_ROTATE_ anyway, correct clipping here would cause a segfault in software rendering code.
+- When falling back to triangles in dfb_gfxcard_filltrapezoids() the return value of card->funcs.FillTriangle() was misinterpreted.
+
+Modules
+- No longer try to call the constructor function directly as the name does not match the module name anyhow anymore.
+
+Build
+- Fix builds outside of the source directory.
+
+libvoodoo
+- Use 32bit message serials. Sorry for breaking compatibility, but most known applications use 32bit serials already anyhow...
+
+SH772x
+- Update calls to libshbeu for new API. Tested on MS7724 board (SH7724) using df_andi.
+- Use pkg-config to detect and use SH772x dependencies.
+- Register phys memory with UIOMux. This significantly improves the performance on sh772x devices.
+ The sh772x gfx code uses an external library (libshbeu) to access the BEU hardware. In order for this library to
+ understand that the virtual addresses passed to it are for contiguous memory, the memory must be registered with
+ another external library (UIOMux).
+- Update calls to libshjpeg for current API.
+- Fix DSPF_RGB24 handling.
+- Remove restriction for only one NV12 layer. The BEU driver can handle any mixture of color formats on each of inputs.
+
+
+1.4.11
+------
+
+Fix for broken multi application support and other fixes or enhancements.
+
+API | IDirectFBSurface
+- Add FillTrapezoids() with new type DFBTrapezoid.
+
+Runtime Option
+- Added option "server-single=" that allows to enable the single client feature that was accidentally committed without a run time option for it.
+
+libdirect
+- Fix deadlock in DirectGetInterface() for static builds.
+
+libfusion
+- Fix broken join due to new root page file.
+
+libvoodoo
+- Add parameter to choose between fork/thread to voodoo_server_create().
+- Add addr and port parameter to voodoo_server_create().
+
+Graphics Core
+- Add FillTrapezoid() to GraphicsDeviceFuncs.
+- Add dfb_gfxcard_fill_trapezoids() with software and hardware fallback to rectangles, matrix operations supported.
+- No more preclipping if matrix is set in DrawRectangle().
+
+Tests
+- Add simple Voodoo client/server test programs.
+
+Fixes
+- Add -lm flag to Libs.private when needed.
+
+
+1.4.10
+------
+
+Minor but important fixes for buffer displacement.
+
+Surfaces
+- refactor backup_allocation()
+- fix buffer passed to backup_allocation()
+- fix reset of 'read' allocation pointer
+
+
+1.4.9
+-----
+
+Major Voodoo improvements in this release!
+
+Configure Options
+- Add "--enable-pure-voodoo" to build a client only library.
+- Add "--without-setsockopt" to disable usage of setsockopt() call.
+- Generate directfb_build.h with Voodoo options.
+- When Voodoo is enabled, add library dependency to pkg-config file and pass runtime options to libvoodoo.
+
+Runtime Options
+- Add "[no-]server-fork" choosing between fork() and thread based connection handling.
+- Add "player-name=<name>", "player-vendor=<name>", "player-model=<name>", "player-uuid=<name>" to set Voodoo Player information.
+- Add "proxy-memory-max=<kB>" to set maximum amount of memory per connection.
+- Add "proxy-surface-max=<kB>" to set maximum amount of memory per surface.
+- Add "proxy-layer-mask" to limit the set of layers to be used by clients.
+- Add "proxy-stacking-mask" to limit the stacking classes to be used clients.
+- Add "proxy-resource-id" to make all surfaces system only except those with the specified resource ID.
+
+Voodoo
+- Reuse connections when same server is used.
+- Lookup remote player if no host has been specified.
+- Implement multi response adding voodoo_manager_next_response() call.
+- Add flush parameter to voodoo_manager_respond() to allow efficient transmission of multi response.
+- Add voodoo_manager_unregister_local() which should have been there since the beginning *sigh*
+- Add voodoo_manager_check_allocation() looking at VmRSS if "proxy-memory-max" option is used.
+
+Implementation
+- Add implementation for IDirectFBDisplayLayer::GetWindow() and GetWindowByResourceID().
+- Add implementation for IDirectFBWindow::EnableEvents(), GetProperty() and SendEvent().
+- Add implementation for IDirectFBSurface::Read().
+- Add Release calls to IDirectFBSurface and IDirectFBWindow.
+- Cache pixel format in IDirectFBSurface::GetPixelFormat().
+
+Voodoo Play
+- Introduce discovery and transport implementation, stay tuned...
+
+
+1.4.8
+-----
+
+This release adds font rotation, advanced cursor APIs and surface buffer displacement in FBDev pool
+along with some fixes and other enhancements.
+
+API | IDirectFBDisplayLayer
+- Add GetWindowByResourceID().
+
+API | IDirectFBFont
+- Add DFDESC_ROTATION to DFBFontDescriptionFlags.
+- Add rotation to DFBFontDescription.
+- Add DFB_DEGREES and DFB_RADIANS convenience macros.
+- Add GetLineSpacingVector() and GetGlyphExtentsXY().
+
+API | IDirectFBInputDevice
+- Extend custom key definitions from 100 to 255.
+
+API | IDirectFBWindow
+- Add SendEvent() to send a window event via a window.
+- Add DFBWindowCursorFlags (per window) with the following definitions:
+ DWCF_RELATIVE receive relative coordinates instead of absolute
+ DWCF_EXPLICIT if window has focus it's also the pointer window
+ DWCF_UNCLIPPED pointer is not clipped against stack boundaries
+ DWCF_TRAPPED pointer is clipped against the window boundaries
+ DWCF_FIXED pointer does not move at all, but still may send relative motion
+ DWCF_INVISIBLE cursor opacity is zero when this window is pointer window
+- Add DWEF_RELATIVE to DFBWindowEventFlags to indicate x/y are relative coordinates.
+- Add SetCursorFlags() to set the per window DFBWindowCursorFlags.
+- Add SetCursorResolution() to define per window coordinate space,
+ e.g. SetCursorResolution( 100, 300 ) will always send 50,150 in the middle of the window.
+- Add SetCursorPosition() to warp the pointer relative to the
+ window based on the per window coordinate space if set.
+- Add DWET_UPDATE for sending update events (upon Flip).
+
+Options
+- Add max-axis-rate to limit the amount of input axis events.
+
+Fonts
+- Try to mmap the font file before loading all of its contents via data buffer.
+
+Windows
+- Add CWCF_CURSOR_FLAGS and CWCF_CURSOR_RESOLUTION to CoreWindowConfigFlags.
+- Add cursor_flags and cursor_resolution to CoreWindowConfig.
+- Add dfb_wm_set_cursor_position() called by IDirectFBWindow::SetCursorPosition().
+- Add SetCursorPosition() to WMFuncs.
+- Add wm_set_cursor_position() to wm module header and set it for SetCursorPosition().
+- Remove setting of cx and cy from dfb_window_post_event(), instead this is done
+ in window manager modules now.
+
+Default WM
+- Fix wm_window_lookup to return DFB_IDNOTFOUND when window with specified ID wasn't found.
+- Set cx and cy of window events.
+- Add unimplemented wm_set_cursor_position() to default window manager module.
+- Send DWET_UPDATE events when the application does a Flip on the window surface.
+
+LinoType Font
+- Add new font module using LinoType library.
+
+FBDev System
+- Add MuckOut implementation for surfaces in fbdev pool using surface manager displace.
+
+
+1.4.7
+-----
+
+ directfb-csource: fix colour replacement for transparent pixels
+ Query GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_BLUE_SIZE, GLX_ALPHA_SIZE and add their values instead of querying GLX_BUFFER_SIZE. (Although the GLX specification says
+ image providers: refactoring exercise step 2
+ image providers: refactoring exercise step 1
+ fonts: set default max-font-rows to 99
+ surface pool: Fix namespace of surface_pool_get_local.
+ fonts: One more assertion fix, check on row != NULL, just removed cache member (unused).
+ - provide libshjpeg patch until merged upstream
+ - rewrote sh772x driver to use libshbeu - reintroduced jpeg provider, uses libshjpeg
+ dummy: Added new dummy system module, e.g. for using DirectFB offscreen only.
+ layers: Use surface_caps and surface_accessor if specified in DFBDisplayLayerDescription.
+ layers: Added surface_caps and surface_accessor to DFBDisplayLayerDescription.
+ test: Fixed warning in fusion_skirmish test.
+ voodoo: Fixed warning by adding cast to VOODOO_PARSER_GET_ODATA.
+ configure: Don't append '-std=gnu99' to CXXFLAGS.
+ generic: Fixed warnings about unused functions (via attribute).
+ fonts: Avoid too many surface switches during one string rendering.
+ fonts: Fixed wrong state member being used for blitting flags...
+ fonts: Fix assertion because of missing cache assignment.
+
+
+1.4.6
+-----
+
+ build fixes for new c++ code
+ use direct_snputs() instead of snprintf() (also fixes gcc warnings)
+ configure: add -std=gnu99 to CFLAGS
+ fonts: Reworked font cache for global cache row management.
+ map: added map implementation, like hash with custom objects as keys instead of primitives
+ graphics: Cleanup code by moving font state setup/restore into two functions.
+ font: Removed default font implementation, use of DGIFF is adviced instead.
+ list: Change direct_list_check_link to be a macro for getting the actual file:line in assertions.
+ mkdgifft: New tool to generate DGIFF from a description and image files.
+ linux_input: Fix build when HAVE_INPUT_ABSINFO is not defined though input_absinfo is available.
+ linux_input: Query vendor and product id.
+ input: Add vendor_id and product_id to DFBInputDeviceDescription.
+ DGIFF: Add blitting flags to structure in file (in place of padding), backward compatible.
+ generic: Show blend functions in Blit warning.
+ mkdgiff: Added option --premult (-p) for premultiplied alpha (ARGB only).
+ sh772x: Remove all jpeg related code
+ Merge branch 'master' of git+ssh://git.directfb.org/git/directfb/core/DirectFB
+ directfb-csource: Follow macro name change from previous commit.
+ dfbtest_font: Extended test to load font at different sizes.
+ Merge branch 'master' of git+ssh://git.directfb.org/git/directfb/core/DirectFB
+ header: add some comments to video provider structs to avoid errors in parser
+ gfx_util: Added dithering for non-RGB16 formats with separate configure option (only ARGB4444 so far)
+ Merge branch 'master' of git+ssh://git.directfb.org/git/directfb/core/DirectFB
+ IDirectFBFont: Added Dispose() to free resources used by the font, but keeps it usable, recreating resources as needed.
+ sh772x: Remove the hook for the BEU IRQ as it isn't used for anything and will soon conflict with kernel resources.
+ configure: add sh-) to detect toolchain (by Phil.Edworthy at renesas.com)
+ Added systems driver specific shared surface data structure
+ Added surface_pool_get_local
+ Added layer enumerators to CoreSurfaceAccessorID & updated handling
+ Default WM clears pending region updates on process_updates failure
+ options: Added "max-font-rows" and "max-font-row-width" font cache limit options.
+ linux_input: set DICAPS_KEYS for all input devices with key events
+ x11: don't blank the cursor
+ tools: add option 'transparent' to directfb-csource
+ input: initialize linux_input key states
+ config: properly allocate memory for getcwd call
+ options: added "[no-]cursor-automation" for "Automated cursor show/hide for windowed primary surface"
+ util: added dfb_gfx_stretch_to()
+ directfb: updated banner, added optional DIRECTFB_VERSION_VENDOR display (just define via CPPFLAGS)
+ version 1.4.6
+ debug: added D_DEBUG_CHECK() macro implemented by new function direct_debug_check_domain()
+
+
+1.4.5
+-----
+
+ surface: flipping enhancements
+ - added DSFLIP_QUEUE and DSFLIP_FLUSH
+ - added CSNF_DISPLAY
+ - added dfb_surface_notify_display()
+ - added dfb_gfx_copy_regions() utility function
+
+
+1.4.4
+-----
+
+ voodoo: one more warning/error
+ voodoo: fixed warnings
+ voodoo: fixed some warnings
+ voodoo: don't redefine htons
+ modules: avoid warning by adding missing #ifdef DYNAMIC_LINKING
+ memcpy: don't include dfb_types.h
+ direct/interface: Add missing pthread_mutex_unlock call
+ mach64: Enable auto block writes with WRAM
+ linux_input: Ignore devices w/o caps
+ surfaces: Add some missing dfb_surface_buffer_lock_deinit() calls
+ input: compatibility with system X11
+ core: Fix to not hold region buffer lock for lifetime of layer
+ core: Added USB hot-plug support to linux_input and input core.
+ core: Enable Fusion message dispatching usage during shutdown
+ core window stack: Fixed _dfb_windowstack_inputdevice_listener race condition with layer context
+ core: Fix various layer context lock related deadlock scenarios
+ fusion: Fixed global reaction handling to prevent multiple removals
+ direct: ntohl normally already defined in either in.h or inet.h
+ generic: fix software rendering for DSBLIT_FLIP_HORIZONTAL | VERTICAL
+ generic: use explicit indexes when initialising arrays based on pixelformat
+ generic: make function tables const where possible
+ generic: whitespace
+ pixelformats: add DSPF_YV16
+ tests: Added simple rectangle filling test.
+ build: added LIBPNG_CFLAGS to some Makefiles
+ voodoo: no __swap16
+ direct: use kill, no sigqueue
+ thread: added DIRECT_BUILD_NO_PTHREAD_CANCEL
+ thread: check for PTHREAD_EXPLICIT_SCHED
+ IDirectFBSurface_Window: use DirectThread for legacy flipping thread
+ conf: use unsigned long
+ fusion_bench: use pthread_mutexattr_t for recursive mutex initialization
+ direct: use sigqueue on own tid and if that returns use exit_group or _exit
+ voodoo: define htons ourselves
+ direct: define ntohl ourselves
+ voodoo: check for EAI_ADDRFAMILY
+ direct: include <sys/syscall.h>
+ direct: check for EAI_ADDRFAMILY
+ direct: use non-recursive mutex for interfaces lock
+ direct: use fallback killpg
+ direct: check for signal.h
+ jpeg: correctly setup iDCT downscale for libjpeg version < 7
+ fbdev: prevent assertion in debug mode
+ fusion/ref: prevent invalid assertion when destroying a ref
+ jpeg: fix libjpeg >= v7 usage
+ layers: Fix for showing unitialized buffer and superfluous clear at startup.
+ fusion/lock: fix single app memory corruption
+ fusion: fix compiler warning
+ generic: Fixed wrong conversion from A8 to RGBA5551
+ configure.in: fix --enable-sse help message
+ convert: handle DSPF_A8 in dfb_pixel_from_color() and dfb_pixel_to_color()
+ header: add some comments for DWCAPS_COLOR
+ configure.in: little whitespace cleanup
+ configure.in: use pkg-config for libpng
+ configure.in: use AC_HELP_STRING() where appropriate
+ input: handle button devices with just up/down keys as remote control
+ FusionRef: Added debugging messages
+ surface: Debug in error paths of surface_buffer_write()
+ IDirectFBSurface: Allow negative pitch in Write()
+ gfx: added LUT8 to LUT8 dest ckey blit fallback 'generic' routine
+ RGB24: fixed injection
+ pixelformat: Added DSPF_A1_LSB
+ fusion lock: single app mode: 'name' storing overwrites pointers
+ font: drawstring clipping
+ IDirectFBWindow: Implemented SetSrc/DstGeometry() in Dispatcher/Requestor.
+ Voodoo: Implemented RLE compression for 16 and 32 bit Write() calls.
+ Voodoo: Fixed fork bombing until child process accepted connection.
+ dfbtest_font: Added simple font loading/rendering test.
+ Voodoo: Support fonts via network just like images (sending encoded/compressed data).
+ font: Support chunked reading of font data into ctx.content.
+ voodoo: Print error if manager is quit while waiting for a response.
+ fbdev: Fix RGBA5551 transparency offset
+ dfblayer: allow to set layer position and size using command line
+ IDirectFBScreen: add a DVO 656 'connector' type
+ dfbinspector: add DSPF_AVYU and DSPF_VYU pixelformats
+ dfbscreen: little fixes
+ gfx: LUT8 is not a YUV format
+ doc: surface: add some source code level documentation
+ warning: fix
+ surface: replace GetFramebufferOffset() with GetPhysicalAddress()
+ font: fix off-by-one bug in IDirectFBFont_GetStringBreak()
+ jpeg: implement decimated decode for software JPEG decoder
+ fbdev: Reduce useless nesting
+ fbdev: Fix mode setting
+ linux_input: Use MAX() instead of open coding it
+ linux_input: Don't check quitpipe fd is select() was interrupted
+ png: support for 1.4.x libpng
+ IDirectFBScreen: add IDirectFBScreen::GetVSyncCount()
+ screen: NTSC and PAL60 standards are defined as 59.94Hz not 60Hz
+ x11: improved GLX-detection
+ IDirectFBWindow::SetOptions: add DWOP_INPUTONLY
+ IDirectFBWindow::SetOptions bit handling bug
+ tests: add fusion_call
+ x11: preliminary support for IDirectFBScreen functions
+ font: add API to load font from databuffer
+ hash: move externally unused func to .c file
+ X11: add error detection, better depth support
+ voodoo: Fork server for each client to have different Fusionees with full resource cleanup on disconnect.
+ gfxcard: Accelerate matrix fallback if possible, for FillRectangle() and Blit().
+ generic: Added Sop_a4_Sto_Dacc implementation.
+ configure.in: fix X11 detection - use pkgconfig
+
+
+
+
1.4.3
-----
diff --git a/aclocal.m4 b/aclocal.m4
index d1c0d75..65b13a4 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,8 @@
-# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.3 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
+# Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -13,108 +14,206 @@
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(AC_AUTOCONF_VERSION, [2.61],,
-[m4_warning([this file was generated for autoconf 2.61.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
+[m4_warning([this file was generated for autoconf 2.68.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])])
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
-# serial 52 Debian 1.5.26-1ubuntu1 AC_PROG_LIBTOOL
+# serial 57 LT_INIT
-# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
-# -----------------------------------------------------------
-# If this macro is not defined by Autoconf, define it here.
-m4_ifdef([AC_PROVIDE_IFELSE],
- [],
- [m4_define([AC_PROVIDE_IFELSE],
- [m4_ifdef([AC_PROVIDE_$1],
- [$2], [$3])])])
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+ [m4_default([$3],
+ [m4_fatal([Libtool version $1 or higher is required],
+ 63)])],
+ [$2])])
-# AC_PROG_LIBTOOL
-# ---------------
-AC_DEFUN([AC_PROG_LIBTOOL],
-[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
-dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
-dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
- AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [AC_LIBTOOL_CXX],
- [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
- ])])
-dnl And a similar setup for Fortran 77 support
- AC_PROVIDE_IFELSE([AC_PROG_F77],
- [AC_LIBTOOL_F77],
- [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
-])])
-
-dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
-dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
-dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
- AC_PROVIDE_IFELSE([AC_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [ifdef([AC_PROG_GCJ],
- [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
- ifdef([A][M_PROG_GCJ],
- [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
- ifdef([LT_AC_PROG_GCJ],
- [define([LT_AC_PROG_GCJ],
- defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
-])])# AC_PROG_LIBTOOL
-
-
-# _AC_PROG_LIBTOOL
-# ----------------
-AC_DEFUN([_AC_PROG_LIBTOOL],
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+ *\ * | *\ *)
+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+LIBTOOL_DEPS="$ltmain"
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
AC_SUBST(LIBTOOL)dnl
-# Prevent multiple expansion
-define([AC_PROG_LIBTOOL], [])
-])# _AC_PROG_LIBTOOL
+_LT_SETUP
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
-# AC_LIBTOOL_SETUP
-# ----------------
-AC_DEFUN([AC_LIBTOOL_SETUP],
-[AC_PREREQ(2.50)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
AC_REQUIRE([AC_PROG_LN_S])dnl
-AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-AC_REQUIRE([AC_OBJEXT])dnl
-AC_REQUIRE([AC_EXEEXT])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
dnl
-AC_LIBTOOL_SYS_MAX_CMD_LEN
-AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-AC_LIBTOOL_OBJDIR
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-_LT_AC_PROG_ECHO_BACKSLASH
+m4_require([_LT_TAG_COMPILER])dnl
case $host_os in
aix3*)
@@ -128,6550 +227,8407 @@ aix3*)
;;
esac
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
-
-# Same as above, but do not quote variable references.
-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Constants:
-rm="rm -f"
-
# Global variables:
-default_ofile=libtool
+ofile=libtool
can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-AC_CHECK_TOOL(AR, ar, false)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-AC_CHECK_TOOL(STRIP, strip, :)
+with_gnu_ld="$lt_cv_prog_gnu_ld"
old_CC="$CC"
old_CFLAGS="$CFLAGS"
# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
test -z "$CC" && CC=cc
test -z "$LTCC" && LTCC=$CC
test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
test -z "$ac_objext" && ac_objext=o
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
_LT_CC_BASENAME([$compiler])
# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- AC_PATH_MAGIC
+ _LT_PATH_MAGIC
fi
;;
esac
-_LT_REQUIRED_DARWIN_CHECKS
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
-AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-enable_win32_dll=yes, enable_win32_dll=no)
-AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
-AC_ARG_WITH([pic],
- [AC_HELP_STRING([--with-pic],
- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [pic_mode="$withval"],
- [pic_mode=default])
-test -z "$pic_mode" && pic_mode=default
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-# Use C for the default configuration in the libtool script
-tagname=
-AC_LIBTOOL_LANG_C_CONFIG
-_LT_AC_TAGCONFIG
-])# AC_LIBTOOL_SETUP
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-# _LT_AC_SYS_COMPILER
-# -------------------
-AC_DEFUN([_LT_AC_SYS_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_AC_SYS_COMPILER
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
-AC_DEFUN([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
- case $cc_temp in
- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
])
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-])# _LT_COMPILER_BOILERPLATE
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME. Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+ [m4_ifval([$1], [$1], [$2])])
+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+ m4_ifval([$4],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+ lt_dict_add_subkey([lt_decl_dict], [$2],
+ [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-])# _LT_LINKER_BOILERPLATE
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
-# _LT_REQUIRED_DARWIN_CHECKS
-# --------------------------
-# Check for some things on darwin
-AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
- case $host_os in
- rhapsody* | darwin*)
- AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
- AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
- AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
- [lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- echo "int foo(void){return 1;}" > conftest.c
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib ${wl}-single_module conftest.c
- if test -f libconftest.dylib; then
- lt_cv_apple_cc_single_mod=yes
- rm -rf libconftest.dylib*
- fi
- rm conftest.c
- fi])
- AC_CACHE_CHECK([for -exported_symbols_list linker flag],
- [lt_cv_ld_exported_symbols_list],
- [lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
- [lt_cv_ld_exported_symbols_list=yes],
- [lt_cv_ld_exported_symbols_list=no])
- LDFLAGS="$save_LDFLAGS"
- ])
- case $host_os in
- rhapsody* | darwin1.[[0123]])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*)
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[[012]]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
- fi
- if test "$DSYMUTIL" != ":"; then
- _lt_dsymutil="~$DSYMUTIL \$lib || :"
- else
- _lt_dsymutil=
- fi
- ;;
- esac
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+ [0], [m4_fatal([$0: too few arguments: $#])],
+ [1], [m4_fatal([$0: too few arguments: $#: $1])],
+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
])
-# _LT_AC_SYS_LIBPATH_AIX
-# ----------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_AC_SYS_LIBPATH_AIX
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
-# _LT_AC_SHELL_INIT(ARG)
-# ----------------------
-AC_DEFUN([_LT_AC_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
- [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
- [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_AC_SHELL_INIT
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
-# _LT_AC_PROG_ECHO_BACKSLASH
-# --------------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
-AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
-[_LT_AC_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
- ;;
-esac
-echo=${ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X[$]1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell.
- exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
-if test "X[$]1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-[$]*
-EOF
- exit 0
-fi
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_if([$2], [],
+ m4_quote(lt_decl_varnames),
+ m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string=`eval $cmd`) 2>/dev/null &&
- echo_test_string=`eval $cmd` &&
- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
- then
- break
- fi
- done
-fi
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
-else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'. VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
- if test "X$echo" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- echo='print -r'
- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
- else
- # Try using printf.
- echo='printf %s\n'
- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly. In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
- if test "$prev" != 'sed 50q "[$]0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
- else
- # Oops. We lost completely, so just stick with echo.
- echo=echo
- fi
- fi
- fi
- fi
-fi
-fi
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
- ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
-AC_SUBST(ECHO)
-])])# _LT_AC_PROG_ECHO_BACKSLASH
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+# # Some comment about what VAR is for.
+# visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+ [description])))[]dnl
+m4_pushdef([_libtool_name],
+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+ [0], [_libtool_name=[$]$1],
+ [1], [_libtool_name=$lt_[]$1],
+ [2], [_libtool_name=$lt_[]$1],
+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
-# _LT_AC_LOCK
-# -----------
-AC_DEFUN([_LT_AC_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'. Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+ dnl If the libtool generation code has been placed in $CONFIG_LT,
+ dnl instead of duplicating it all over again into config.status,
+ dnl then we will have config.status run $CONFIG_LT later, so it
+ dnl needs to know what name is stored there:
+ [AC_CONFIG_COMMANDS([libtool],
+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+ dnl If the libtool generation code is destined for config.status,
+ dnl expand the accumulated commands and init code now:
+ [AC_CONFIG_COMMANDS([libtool],
+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
;;
- *64-bit*)
- LD="${LD-ld} -64"
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
;;
esac
- fi
- fi
- rm -rf conftest*
- ;;
+done
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
;;
esac
- fi
- rm -rf conftest*
- ;;
+done
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
- [AC_LANG_PUSH(C)
- AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
- AC_LANG_POP])
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
+_LT_OUTPUT_LIBTOOL_INIT
+])
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
- AC_CHECK_TOOL(AS, as, false)
- AC_CHECK_TOOL(OBJDUMP, objdump, false)
- ;;
- ])
-esac
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable. If COMMENT is supplied, it is inserted after the
+# `#!' sequence but before initialization text begins. After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script. The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test $lt_write_fail = 0 && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+lt_cl_silent=false
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+ echo
+ AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
-need_locks="$enable_libtool_lock"
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
-])# _LT_AC_LOCK
+Usage: $[0] [[OPTIONS]]
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
-# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$3"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- fi
- $rm conftest*
-])
+Report bugs to <bug-libtool at gnu.org>."
-if test x"[$]$2" = xyes; then
- ifelse([$5], , :, [$5])
-else
- ifelse([$6], , :, [$6])
-fi
-])# AC_LIBTOOL_COMPILER_OPTION
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+Copyright (C) 2011 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
-# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [ACTION-SUCCESS], [ACTION-FAILURE])
-# ------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $3"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&AS_MESSAGE_LOG_FD
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- else
- $2=yes
- fi
- fi
- $rm -r conftest*
- LDFLAGS="$save_LDFLAGS"
-])
+while test $[#] != 0
+do
+ case $[1] in
+ --version | --v* | -V )
+ echo "$lt_cl_version"; exit 0 ;;
+ --help | --h* | -h )
+ echo "$lt_cl_help"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --quiet | --q* | --silent | --s* | -q )
+ lt_cl_silent=: ;;
+
+ -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+ *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+ esac
+ shift
+done
-if test x"[$]$2" = xyes; then
- ifelse([$4], , :, [$4])
-else
- ifelse([$5], , :, [$5])
+if $lt_cl_silent; then
+ exec AS_MESSAGE_FD>/dev/null
fi
-])# AC_LIBTOOL_LINKER_OPTION
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure. Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+lt_cl_success=:
+test "$silent" = yes &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars. Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+ m4_if(_LT_TAG, [C], [
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
-# AC_LIBTOOL_SYS_MAX_CMD_LEN
-# --------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
-[# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
- i=0
- teststring="ABCD"
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
- cygwin* | mingw*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
+_LT_EOF
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
;;
+ esac
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
+ _LT_PROG_LTMAIN
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
- = "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
- AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
- AC_MSG_RESULT(none)
-fi
-])# AC_LIBTOOL_SYS_MAX_CMD_LEN
-
-
-# _LT_AC_CHECK_DLFCN
-# ------------------
-AC_DEFUN([_LT_AC_CHECK_DLFCN],
-[AC_CHECK_HEADERS(dlfcn.h)dnl
-])# _LT_AC_CHECK_DLFCN
+ _LT_PROG_REPLACE_SHELLFNS
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
-# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ---------------------------------------------------------------------
-AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
- [$4]
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-[#line __oline__ "configure"
-#include "confdefs.h"
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-#include <stdio.h>
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+# autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+ [C], [_LT_LANG(C)],
+ [C++], [_LT_LANG(CXX)],
+ [Go], [_LT_LANG(GO)],
+ [Java], [_LT_LANG(GCJ)],
+ [Fortran 77], [_LT_LANG(F77)],
+ [Fortran], [_LT_LANG(FC)],
+ [Windows Resource], [_LT_LANG(RC)],
+ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+ [_LT_LANG($1)],
+ [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+ [LT_SUPPORTED_TAG([$1])dnl
+ m4_append([_LT_TAGS], [$1 ])dnl
+ m4_define([_LT_LANG_]$1[_enabled], [])dnl
+ _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
- exit (status);
-}]
-EOF
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) $1 ;;
- x$lt_dlneed_uscore) $2 ;;
- x$lt_dlunknown|x*) $3 ;;
- esac
- else :
- # compilation failed
- $3
+m4_ifndef([AC_PROG_GO], [
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_GO. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC], [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
fi
fi
-rm -fr conftest*
-])# _LT_AC_TRY_DLOPEN_SELF
+if test -z "$GOC"; then
+ AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
-# AC_LIBTOOL_DLOPEN_SELF
-# ----------------------
-AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [LT_LANG(CXX)],
+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [LT_LANG(F77)],
+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+ [LT_LANG(FC)],
+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [m4_ifdef([AC_PROG_GCJ],
+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([A][M_PROG_GCJ],
+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([LT_PROG_GCJ],
+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+ [LT_LANG(GO)],
+ [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+ [LT_LANG(RC)],
+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
- mingw* | pw32*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
- darwin*)
- # if libdl is installed we need to link against it
- AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ])
- ;;
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
- *)
- AC_CHECK_FUNC([shl_load],
- [lt_cv_dlopen="shl_load"],
- [AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
- [AC_CHECK_FUNC([dlopen],
- [lt_cv_dlopen="dlopen"],
- [AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
- [AC_CHECK_LIB([svld], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
- [AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
- ])
- ])
- ])
- ])
- ])
- ;;
- esac
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+ case $host_os in
+ rhapsody* | darwin*)
+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([LIPO], [lipo], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+ _LT_DECL([], [DSYMUTIL], [1],
+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+ _LT_DECL([], [NMEDIT], [1],
+ [Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [LIPO], [1],
+ [Tool to manipulate fat objects and archives on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
- AC_CACHE_CHECK([whether a program can dlopen itself],
- lt_cv_dlopen_self, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
- ])
+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+ [lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi])
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
- lt_cv_dlopen_self_static, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
- ])
- fi
+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+ [lt_cv_ld_exported_symbols_list],
+ [lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [lt_cv_ld_exported_symbols_list=yes],
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS="$save_LDFLAGS"
+ ])
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
+ AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+ [lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+ echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+ $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+ ])
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
;;
esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
esac
-fi
-])# AC_LIBTOOL_DLOPEN_SELF
+])
-# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
+# _LT_DARWIN_LINKER_FEATURES([TAG])
# ---------------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler
-AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
- fi
- fi
- chmod u+w . 2>&AS_MESSAGE_LOG_FD
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+ [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ m4_if([$1], [CXX],
+[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+],[])
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
])
-])# AC_LIBTOOL_PROG_CC_C_O
-
-# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
-# -----------------------------------------
-# Check to see if we can do hard links to lock some files if needed
-AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
-[AC_REQUIRE([_LT_AC_LOCK])dnl
-
-hard_links="nottested"
-if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- AC_MSG_CHECKING([if we can lock with hard links])
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- AC_MSG_RESULT([$hard_links])
- if test "$hard_links" = no; then
- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
- need_locks=warn
- fi
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
else
- need_locks=no
+ AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+ lt_aix_libpath_sed='[
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }]'
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi],[])
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
+ fi
+ ])
+ aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
fi
-])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
+])# _LT_SYS_MODULE_PATH_AIX
-# AC_LIBTOOL_OBJDIR
-# -----------------
-AC_DEFUN([AC_LIBTOOL_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-])# AC_LIBTOOL_OBJDIR
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
-# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
-# ----------------------------------------------
-# Check hardcoding attributes.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_AC_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
- test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
- test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
- # We can hardcode non-existant directories.
- if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
- test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
- # Linking always hardcodes the temporary library directory.
- _LT_AC_TAGVAR(hardcode_action, $1)=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- _LT_AC_TAGVAR(hardcode_action, $1)=immediate
- fi
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script which will find a shell with a builtin
+# printf (which we can use as an echo command).
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
fi
-AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
-if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+case "$ECHO" in
+ printf*) AC_MSG_RESULT([printf]) ;;
+ print*) AC_MSG_RESULT([print -r]) ;;
+ *) AC_MSG_RESULT([cat]) ;;
+esac
-# AC_LIBTOOL_SYS_LIB_STRIP
-# ------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
-[striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
-fi
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
- esac
-fi
-])# AC_LIBTOOL_SYS_LIB_STRIP
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test "X`printf %s $ECHO`" = "X$ECHO" \
+ || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
-# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-m4_if($1,[],[
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
- else
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[[lt_foo]]++; }
- if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
- sys_lib_search_path_spec=`echo $lt_search_path_spec`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-need_lib_prefix=unknown
-hardcode_into_libs=no
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[ --with-sysroot[=DIR] Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted. We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ AC_MSG_RESULT([${with_sysroot}])
+ AC_MSG_ERROR([The sysroot must be an absolute path.])
+ ;;
+esac
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and in which our libraries should be installed.])])
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AS_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-aix[[4-9]]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[[01]] | aix4.[[01]].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
fi
- shlibpath_var=LIBPATH
fi
+ rm -rf conftest*
;;
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
;;
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_PUSH(C)
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
;;
-
-bsdi[[45]]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
+*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*)
+ case $host in
+ i?86-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD="${LD-ld}_sol2"
+ fi
+ ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
;;
+esac
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
+need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+ [lt_cv_ar_at_file=no
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+ [echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([lt_ar_try])
+ if test "$ac_status" -eq 0; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ AC_TRY_EVAL([lt_ar_try])
+ if test "$ac_status" -ne 0; then
+ lt_cv_ar_at_file=@
+ fi
fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
+ rm -f conftest.* libconftest.a
+ ])
+ ])
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+ [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- m4_if([$1], [],[
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[_LT_PROG_AR
-freebsd1*)
- dynamic_linker=no
- ;;
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[[123]]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[[01]]* | freebsdelf3.[[01]]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
- freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+ [Commands used to install an old-style archive])
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
;;
esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
-interix[[3-9]]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
*)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
+ lock_old_archive_extraction=no ;;
+esac
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+ [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+ [Whether to use a lock for old archive extraction])
+])# _LT_CMD_OLD_ARCHIVE
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ fi
+ $RM conftest*
+])
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
+if test x"[$]$2" = xyes; then
+ m4_if([$5], , :, [$5])
+else
+ m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $3"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ else
+ $2=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+])
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
+if test x"[$]$2" = xyes; then
+ m4_if([$4], , :, [$4])
+else
+ m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[[89]] | openbsd2.[[89]].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ i=0
+ teststring="ABCD"
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
-rdos*)
- dynamic_linker=no
- ;;
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
-AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
-[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
-[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
-# _LT_AC_TAGCONFIG
-# ----------------
-AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_ARG_WITH([tags],
- [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
- [include additional configurations @<:@automatic@:>@])],
- [tagnames="$withval"])
-
-if test -f "$ltmain" && test -n "$tagnames"; then
- if test ! -f "${ofile}"; then
- AC_MSG_WARN([output file `$ofile' does not exist])
- fi
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
- if test -z "$LTCC"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
- if test -z "$LTCC"; then
- AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
else
- AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
+ lt_cv_sys_max_cmd_len=32768
fi
- fi
- if test -z "$LTCFLAGS"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
- fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+ AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+ [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
- # Extract list of available tagged configurations in $ofile.
- # Note that this assumes the entire list is on one line.
- available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for tagname in $tagnames; do
- IFS="$lt_save_ifs"
- # Check whether tagname contains only valid characters
- case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
- "") ;;
- *) AC_MSG_ERROR([invalid tag name: $tagname])
- ;;
- esac
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
- then
- AC_MSG_ERROR([tag name \"$tagname\" already exists])
- fi
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
- # Update the list of available tags.
- if test -n "$tagname"; then
- echo appending configuration tag \"$tagname\" to $ofile
- case $tagname in
- CXX)
- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_LIBTOOL_LANG_CXX_CONFIG
- else
- tagname=""
- fi
- ;;
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+[#line $LINENO "configure"
+#include "confdefs.h"
- F77)
- if test -n "$F77" && test "X$F77" != "Xno"; then
- AC_LIBTOOL_LANG_F77_CONFIG
- else
- tagname=""
- fi
- ;;
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
- GCJ)
- if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
- AC_LIBTOOL_LANG_GCJ_CONFIG
- else
- tagname=""
- fi
- ;;
+#include <stdio.h>
- RC)
- AC_LIBTOOL_LANG_RC_CONFIG
- ;;
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
- *)
- AC_MSG_ERROR([Unsupported tag name: $tagname])
- ;;
- esac
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
- # Append the new tag name to the list of available tags.
- if test -n "$tagname" ; then
- available_tags="$available_tags $tagname"
- fi
- fi
- done
- IFS="$lt_save_ifs"
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
- # Now substitute the updated list of available tags.
- if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
- mv "${ofile}T" "$ofile"
- chmod +x "$ofile"
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
else
- rm -f "${ofile}T"
- AC_MSG_ERROR([unable to update list of available tagged configurations.])
+ puts (dlerror ());
+
+ return status;
+}]
+_LT_EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_dlunknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
fi
fi
-])# _LT_AC_TAGCONFIG
-
-
-# AC_LIBTOOL_DLOPEN
-# -----------------
-# enable checks for dlopen support
-AC_DEFUN([AC_LIBTOOL_DLOPEN],
- [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_DLOPEN
-
-
-# AC_LIBTOOL_WIN32_DLL
-# --------------------
-# declare package support for building win32 DLLs
-AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_WIN32_DLL
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
-# AC_ENABLE_SHARED([DEFAULT])
-# ---------------------------
-# implement the --enable-shared flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_SHARED],
-[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([shared],
- [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
- [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
-])# AC_ENABLE_SHARED
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
-# AC_DISABLE_SHARED
-# -----------------
-# set the default shared flag to --disable-shared
-AC_DEFUN([AC_DISABLE_SHARED],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_SHARED(no)
-])# AC_DISABLE_SHARED
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
-# AC_ENABLE_STATIC([DEFAULT])
-# ---------------------------
-# implement the --enable-static flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_STATIC],
-[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([static],
- [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
- [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_static=]AC_ENABLE_STATIC_DEFAULT)
-])# AC_ENABLE_STATIC
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
-# AC_DISABLE_STATIC
-# -----------------
-# set the default static flag to --disable-static
-AC_DEFUN([AC_DISABLE_STATIC],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_STATIC(no)
-])# AC_DISABLE_STATIC
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-# AC_ENABLE_FAST_INSTALL([DEFAULT])
-# ---------------------------------
-# implement the --enable-fast-install flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_FAST_INSTALL],
-[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([fast-install],
- [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
- [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
-])# AC_ENABLE_FAST_INSTALL
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
-# AC_DISABLE_FAST_INSTALL
-# -----------------------
-# set the default to --disable-fast-install
-AC_DEFUN([AC_DISABLE_FAST_INSTALL],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_FAST_INSTALL(no)
-])# AC_DISABLE_FAST_INSTALL
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
-# AC_LIBTOOL_PICMODE([MODE])
-# --------------------------
-# implement the --with-pic flag
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
-AC_DEFUN([AC_LIBTOOL_PICMODE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-pic_mode=ifelse($#,1,$1,default)
-])# AC_LIBTOOL_PICMODE
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
-# AC_PROG_EGREP
-# -------------
-# This is predefined starting with Autoconf 2.54, so this conditional
-# definition can be removed once we require Autoconf 2.54 or later.
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
-[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
- [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
- fi])
- EGREP=$ac_cv_prog_egrep
- AC_SUBST([EGREP])
-])])
-
-
-# AC_PATH_TOOL_PREFIX
-# -------------------
-# find a file program which can recognize shared library
-AC_DEFUN([AC_PATH_TOOL_PREFIX],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] | ?:[\\/]*])
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word. This closes a longstanding sh security hole.
- ac_dummy="ifelse([$2], , $PATH, [$2])"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$1; then
- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+ [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+ [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+ [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool at gnu.org
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
-EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- AC_MSG_RESULT($MAGIC_CMD)
-else
- AC_MSG_RESULT(no)
-fi
-])# AC_PATH_TOOL_PREFIX
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-# AC_PATH_MAGIC
-# -------------
-# find a file program which can recognize a shared library
-AC_DEFUN([AC_PATH_MAGIC],
-[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
- else
- MAGIC_CMD=:
- fi
-fi
-])# AC_PATH_MAGIC
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w . 2>&AS_MESSAGE_LOG_FD
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+ [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
-# AC_PROG_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([AC_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
- [AC_HELP_STRING([--with-gnu-ld],
- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test "$withval" = no || with_gnu_ld=yes],
- [with_gnu_ld=no])
-AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by $CC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]]* | ?:[[\\/]]*)
- re_direlt='/[[^/]][[^/]]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test "$hard_links" = no; then
+ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ need_locks=warn
+ fi
else
- AC_MSG_RESULT(no)
+ need_locks=no
fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-])# AC_PROG_LD
-
-
-# AC_PROG_LD_GNU
-# --------------
-AC_DEFUN([AC_PROG_LD_GNU],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# AC_PROG_LD_GNU
-
-
-# AC_PROG_LD_RELOAD_FLAG
-# ----------------------
-# find reload flag for linker
-# -- PORTME Some linkers may need a different reload flag.
-AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
-[AC_CACHE_CHECK([for $LD option to reload object files],
- lt_cv_ld_reload_flag,
- [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-])# AC_PROG_LD_RELOAD_FLAG
-
-
-# AC_DEPLIBS_CHECK_METHOD
-# -----------------------
-# how to check for library dependencies
-# -- PORTME fill in with the dynamic library characteristics
-AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognize dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
-case $host_os in
-aix[[4-9]]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+ [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+ [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
-bsdi[[45]]*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+ test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- if ( file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
+ # We can hardcode non-existent directories.
+ if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+ test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_TAGVAR(hardcode_action, $1)=relink
else
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_TAGVAR(hardcode_action, $1)=immediate
fi
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+ test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+ [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
;;
*)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ AC_MSG_RESULT([no])
;;
esac
- ;;
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
-interix[[3-9]]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
- ;;
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+ [], [
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
+ *) lt_sed_strip_eq="s,=/,/,g" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
-netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
- fi
- ;;
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
+case $host_os in
+aix3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
-nto-qnx*)
- lt_cv_deplibs_check_method=unknown
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
;;
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+aix[[4-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
fi
;;
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
;;
-rdos*)
- lt_cv_deplibs_check_method=pass_all
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
;;
-solaris*)
- lt_cv_deplibs_check_method=pass_all
+bsdi[[45]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
;;
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='${libname}.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec="$LIB"
+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
;;
- pc)
- lt_cv_deplibs_check_method=pass_all
+
+ *)
+ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ dynamic_linker='Win32 ld.exe'
;;
esac
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
;;
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
-esac
-])
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-])# AC_DEPLIBS_CHECK_METHOD
+dgux*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
-# AC_PROG_NM
-# ----------
-# find the pathname to a BSD-compatible name lister
-AC_DEFUN([AC_PROG_NM],
-[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
-[if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[[23]].*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi])
-NM="$lt_cv_path_NM"
-])# AC_PROG_NM
-
-
-# AC_CHECK_LIBM
-# -------------
-# check for math library
-AC_DEFUN([AC_CHECK_LIBM],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
- # These system don't have libm, or don't need it
- ;;
-*-ncr-sysv4.3*)
- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2.*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
;;
-*)
- AC_CHECK_LIB(m, cos, LIBM="-lm")
+
+gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
;;
-esac
-])# AC_CHECK_LIBM
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
-# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl convenience library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments. Note that
-# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
-# it is assumed to be `libltdl'. LIBLTDL will be prefixed with
-# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
-# (note the single quotes!). If your package is not flat and you're not
-# using automake, define top_builddir and top_srcdir appropriately in
-# the Makefiles.
-AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- case $enable_ltdl_convenience in
- no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
- "") enable_ltdl_convenience=yes
- ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
esac
- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_CONVENIENCE
-
-
-# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl installable library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments. Note that
-# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
-# and an installed libltdl is not found, it is assumed to be `libltdl'.
-# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
-# '${top_srcdir}/' (note the single quotes!). If your package is not
-# flat and you're not using automake, define top_builddir and top_srcdir
-# appropriately in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- AC_CHECK_LIB(ltdl, lt_dlinit,
- [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
- [if test x"$enable_ltdl_install" = xno; then
- AC_MSG_WARN([libltdl not installed, but installation disabled])
- else
- enable_ltdl_install=yes
- fi
- ])
- if test x"$enable_ltdl_install" = x"yes"; then
- ac_configure_args="$ac_configure_args --enable-ltdl-install"
- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
- else
- ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
- LIBLTDL="-lltdl"
- LTDLINCL=
- fi
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_INSTALLABLE
-
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
-# AC_LIBTOOL_CXX
-# --------------
-# enable support for C++ libraries
-AC_DEFUN([AC_LIBTOOL_CXX],
-[AC_REQUIRE([_LT_AC_LANG_CXX])
-])# AC_LIBTOOL_CXX
+interix[[3-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
-# _LT_AC_LANG_CXX
-# ---------------
-AC_DEFUN([_LT_AC_LANG_CXX],
-[AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
-])# _LT_AC_LANG_CXX
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
-# _LT_AC_PROG_CXXCPP
-# ------------------
-AC_DEFUN([_LT_AC_PROG_CXXCPP],
-[
-AC_REQUIRE([AC_PROG_CXX])
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_PROG_CXXCPP
-fi
-])# _LT_AC_PROG_CXXCPP
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
-# AC_LIBTOOL_F77
-# --------------
-# enable support for Fortran 77 libraries
-AC_DEFUN([AC_LIBTOOL_F77],
-[AC_REQUIRE([_LT_AC_LANG_F77])
-])# AC_LIBTOOL_F77
+ # Some binutils ld are patched to set DT_RUNPATH
+ AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+ [lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [lt_cv_shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+ ])
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
-# _LT_AC_LANG_F77
-# ---------------
-AC_DEFUN([_LT_AC_LANG_F77],
-[AC_REQUIRE([AC_PROG_F77])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
-])# _LT_AC_LANG_F77
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
-# AC_LIBTOOL_GCJ
-# --------------
-# enable support for GCJ libraries
-AC_DEFUN([AC_LIBTOOL_GCJ],
-[AC_REQUIRE([_LT_AC_LANG_GCJ])
-])# AC_LIBTOOL_GCJ
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
-# _LT_AC_LANG_GCJ
-# ---------------
-AC_DEFUN([_LT_AC_LANG_GCJ],
-[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
- [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
- [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
- [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
-])# _LT_AC_LANG_GCJ
-
-
-# AC_LIBTOOL_RC
-# -------------
-# enable support for Windows resource files
-AC_DEFUN([AC_LIBTOOL_RC],
-[AC_REQUIRE([LT_AC_PROG_RC])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
-])# AC_LIBTOOL_RC
+newsos6)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
-# AC_LIBTOOL_LANG_C_CONFIG
-# ------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
-AC_DEFUN([_LT_AC_LANG_C_CONFIG],
-[lt_save_CC="$CC"
-AC_LANG_PUSH(C)
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
-# Source file extension for C test sources.
-ac_ext=c
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
-# Object file extension for compiled C test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
+rdos*)
+ dynamic_linker=no
+ ;;
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
+solaris*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
-_LT_AC_SYS_COMPILER
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
+sysv4 | sysv4.3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF
-
-# Report which library types will actually be built
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
fi
;;
-aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
fi
- ;;
-esac
-AC_MSG_RESULT([$enable_shared])
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
-AC_LIBTOOL_CONFIG($1)
+uts4*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_C_CONFIG
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
-# AC_LIBTOOL_LANG_CXX_CONFIG
+_LT_DECL([], [variables_saved_for_relink], [1],
+ [Variables whose values should be saved in libtool wrapper scripts and
+ restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+ [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+ [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+ [[List of archive names. First name is the real one, the rest are links.
+ The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+ [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+ [Permission mode override for installation of shared libraries])
+_LT_DECL([], [postinstall_cmds], [2],
+ [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+ [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+ [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+ [[As "finish_cmds", except a single script fragment to be evaled but
+ not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+ [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+ [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+ [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
-AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
-[AC_LANG_PUSH(C++)
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] | ?:[\\/]*])
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="m4_if([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$1; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
-# Dependencies to place before and after the object being linked:
-_LT_AC_TAGVAR(predep_objects, $1)=
-_LT_AC_TAGVAR(postdep_objects, $1)=
-_LT_AC_TAGVAR(predeps, $1)=
-_LT_AC_TAGVAR(postdeps, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
-# Source file extension for C++ test sources.
-ac_ext=cpp
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# _LT_PATH_MAGIC
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
else
- $as_unset lt_cv_prog_gnu_ld
+ AC_MSG_CHECKING([for non-GNU ld])
fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
else
- $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
else
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+ AC_MSG_RESULT(no)
fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
-if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
- AC_PROG_LD
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
- grep 'no-whole-archive' > /dev/null; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+ lt_cv_ld_reload_flag,
+ [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test "$GCC" != yes; then
+ reload_cmds=false
+ fi
+ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
+ ;;
+esac
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-else
- GXX=no
- with_gnu_ld=no
- wlarc=
-fi
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
-# PORTME: fill in a description of your system's C++ link characteristics
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-_LT_AC_TAGVAR(ld_shlibs, $1)=yes
case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- ;;
- esac
+aix[[4-9]]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+bsdi[[45]]*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
- _LT_AC_TAGVAR(archive_cmds, $1)=''
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
- if test "$GXX" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+ if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
esac
- ;;
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
;;
- darwin* | rhapsody*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
- if test "$GXX" = yes ; then
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
- _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
- fi
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
- ;;
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- freebsd[[12]]*)
- # C++ shared libraries reported to be fairly broken before switch to ELF
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- freebsd-elf*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- ;;
- freebsd* | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- ;;
- gnu*)
- ;;
- hpux9*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*) ;;
- *)
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- interix[[3-9]]*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
- fi
- fi
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
- esac
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc*)
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- ;;
- cxx*)
- # Compaq C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- runpath_var=LD_RUN_PATH
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
- # Not sure whether something based on
- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
- # would be better.
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- m88k*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ hppa*64*)
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
;;
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd='echo'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
;;
- osf3*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ esac
+ ;;
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+interix[[3-9]]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+ fi
+ ;;
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ fi
+ ;;
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
- $rm $lib.exp'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
;;
- psos*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- ;;
- esac
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
- # The C++ compiler must be used to create the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
- if $CC --version | grep -v '^2\.7' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- fi
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- ;;
- esac
- fi
- ;;
- esac
- ;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
+_LT_DECL([], [deplibs_check_method], [1],
+ [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+ [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+ [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+ [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- # So that behaviour is only enabled if SCOABSPATH is set to a
- # non-empty value in the environment. Most likely only useful for
- # creating official distributions of packages.
- # This is a hack until libtool officially supports absolute path
- # names for shared libraries.
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
esac
- ;;
- vxworks*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ AC_SUBST([DUMPBIN])
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+ [lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
+ cat conftest.out >&AS_MESSAGE_LOG_FD
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh
+ # decide which to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
;;
*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ ;;
esac
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-_LT_AC_TAGVAR(GCC, $1)="$GXX"
-_LT_AC_TAGVAR(LD, $1)="$LD"
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+ [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-AC_LIBTOOL_POSTDEP_PREDEP($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_CONFIG($1)
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+ [lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*])
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+ MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
-AC_LANG_POP
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-])# AC_LIBTOOL_LANG_CXX_CONFIG
-
-# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
-# ------------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library. It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
-int a;
-void foo (void) { a = 0; }
-EOF
-],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
- Foo (void) { a = 0; }
-private:
- int a;
-};
-EOF
-],[$1],[F77],[cat > conftest.$ac_ext <<EOF
- subroutine foo
- implicit none
- integer*4 a
- a=0
- return
- end
-EOF
-],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
-public class foo {
- private int a;
- public void bar (void) {
- a = 0;
- }
-};
-EOF
-])
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
- # Parse the compiler output and extract the necessary
- # objects, libraries and library flags.
- # Sentinel used to keep track of whether or not we are before
- # the conftest object file.
- pre_test_object_deps_done=no
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, cos, LIBM="-lm")
+ ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
- # The `*' in the case matches for architectures that use `case' in
- # $output_verbose_cmd can trigger glob expansion during the loop
- # eval without this substitution.
- output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
- for p in `eval $output_verbose_link_cmd`; do
- case $p in
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test $p = "-L" \
- || test $p = "-R"; then
- prev=$p
- continue
- else
- prev=
- fi
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
- if test "$pre_test_object_deps_done" = no; then
- case $p in
- -L* | -R*)
- # Internal compiler library paths should come after those
- # provided the user. The postdeps already come after the
- # user supplied libs so there is no need to process them.
- if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
- else
- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
- fi
- ;;
- # The "-l" case would never come before the object being
- # linked, so don't bother handling this case.
- esac
- else
- if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
- _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
- else
- _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
- fi
- fi
- ;;
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
- *.$objext)
- # This assumes that the test object file only shows up
- # once in the compiler output.
- if test "$p" = "conftest.$objext"; then
- pre_test_object_deps_done=yes
- continue
- fi
+if test "$GCC" = yes; then
+ case $cc_basename in
+ nvcc*)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+ esac
- if test "$pre_test_object_deps_done" = no; then
- if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
- _LT_AC_TAGVAR(predep_objects, $1)="$p"
- else
- _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
- fi
- else
- if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
- _LT_AC_TAGVAR(postdep_objects, $1)="$p"
- else
- _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
- fi
- fi
- ;;
+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+ [Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
- *) ;; # Ignore the rest.
- esac
- done
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
- # Clean up.
- rm -f a.out a.exe
-else
- echo "libtool.m4: error: problem compiling $1 test program"
-fi
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-$rm -f confest.$objext
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-# PORTME: override above test on systems where it is broken
-ifelse([$1],[CXX],
-[case $host_os in
-interix[[3-9]]*)
- # Interix 3.5 installs completely hosed .la files for C++, so rather than
- # hack all around it, let's just trust "g++" to DTRT.
- _LT_AC_TAGVAR(predep_objects,$1)=
- _LT_AC_TAGVAR(postdep_objects,$1)=
- _LT_AC_TAGVAR(postdeps,$1)=
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
;;
-
-linux*)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- #
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
- if test "$solaris_use_stlport4" != yes; then
- _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
;;
-
solaris*)
- case $cc_basename in
- CC*)
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- if test "$solaris_use_stlport4" != yes; then
- _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
+ symcode='[[BDRT]]'
;;
-esac
-])
-case " $_LT_AC_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
-])# AC_LIBTOOL_POSTDEP_PREDEP
-
-# AC_LIBTOOL_LANG_F77_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
-AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
-[AC_REQUIRE([AC_PROG_F77])
-AC_LANG_PUSH(Fortran 77)
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="\
- program t
- end
-"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
+sco3.2v5*)
+ symcode='[[DT]]'
;;
-aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
+sysv4.2uw2*)
+ symcode='[[DT]]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[[ABDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
;;
esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-_LT_AC_TAGVAR(GCC, $1)="$G77"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_F77_CONFIG
-
-
-# AC_LIBTOOL_LANG_GCJ_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
-AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGIRSTW]]' ;;
+esac
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK ['"\
+" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx]"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+ # Check to see that the pipe works correctly.
+ pipe_works=no
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
-AC_LIBTOOL_CONFIG($1)
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_GCJ_CONFIG
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT@&t at _DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT@&t at _DLSYM_CONST
+#else
+# define LT@&t at _DLSYM_CONST const
+#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
-# AC_LIBTOOL_LANG_RC_CONFIG
-# -------------------------
-# Ensure that the configuration vars for the Windows resource compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
-AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
-[AC_LANG_SAVE
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-# Source file extension for RC test sources.
-ac_ext=rc
+ cat <<_LT_EOF >> conftest.$ac_ext
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
+/* The mapping between symbol names and symbols. */
+LT@&t at _DLSYM_CONST struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+ [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+ [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+ [lt_cv_sys_global_symbol_to_c_name_address], [1],
+ [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+ [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([], [nm_file_list_spec], [1],
+ [Specify filename containing input files for $NM])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
-AC_LIBTOOL_CONFIG($1)
+m4_if([$1], [CXX], [
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_RC_CONFIG
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
-# AC_LIBTOOL_CONFIG([TAGNAME])
-# ----------------------------
-# If TAGNAME is not passed, then create an initial libtool script
-# with a default configuration from the untagged config vars. Otherwise
-# add code to config.status for appending the configuration named by
-# TAGNAME from the matching tagged config vars.
-AC_DEFUN([AC_LIBTOOL_CONFIG],
-[# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- _LT_AC_TAGVAR(compiler, $1) \
- _LT_AC_TAGVAR(CC, $1) \
- _LT_AC_TAGVAR(LD, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
- _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
- _LT_AC_TAGVAR(old_archive_cmds, $1) \
- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
- _LT_AC_TAGVAR(predep_objects, $1) \
- _LT_AC_TAGVAR(postdep_objects, $1) \
- _LT_AC_TAGVAR(predeps, $1) \
- _LT_AC_TAGVAR(postdeps, $1) \
- _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
- _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
- _LT_AC_TAGVAR(archive_cmds, $1) \
- _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
- _LT_AC_TAGVAR(postinstall_cmds, $1) \
- _LT_AC_TAGVAR(postuninstall_cmds, $1) \
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
- _LT_AC_TAGVAR(allow_undefined_flag, $1) \
- _LT_AC_TAGVAR(no_undefined_flag, $1) \
- _LT_AC_TAGVAR(export_symbols_cmds, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
- _LT_AC_TAGVAR(hardcode_automatic, $1) \
- _LT_AC_TAGVAR(module_cmds, $1) \
- _LT_AC_TAGVAR(module_expsym_cmds, $1) \
- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
- _LT_AC_TAGVAR(fix_srcfile_path, $1) \
- _LT_AC_TAGVAR(exclude_expsyms, $1) \
- _LT_AC_TAGVAR(include_expsyms, $1); do
-
- case $var in
- _LT_AC_TAGVAR(old_archive_cmds, $1) | \
- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
- _LT_AC_TAGVAR(archive_cmds, $1) | \
- _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
- _LT_AC_TAGVAR(module_cmds, $1) | \
- _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
- _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
;;
*)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
esac
- done
-
- case $lt_echo in
- *'\[$]0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
- ;;
- esac
-
-ifelse([$1], [],
- [cfgfile="${ofile}T"
- trap "$rm \"$cfgfile\"; exit 1" 1 2 15
- $rm -f "$cfgfile"
- AC_MSG_NOTICE([creating $ofile])],
- [cfgfile="$ofile"])
-
- cat <<__EOF__ >> "$cfgfile"
-ifelse([$1], [],
-[#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+ else
+ case $host_os in
+ aix[[4-9]]*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd* | netbsdelf*-gnu)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-# A sed program that does not truncate output.
-SED=$lt_SED
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
-# The names of the tagged configurations supported by this script.
-available_tags=
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
-# ### BEGIN LIBTOOL CONFIG],
-[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+ if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+ fi
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
+ hpux9* | hpux10* | hpux11*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ ;;
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
+ irix5* | irix6* | nonstopux*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
-# A C compiler.
-LTCC=$lt_LTCC
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ ccc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ *Sun\ F* | *Sun*Fortran*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ *Intel*\ [[CF]]*Compiler*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ *Portland\ Group*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
+ newsos6)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
-# A language-specific compiler.
-CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
-# Is the compiler the GNU C compiler?
-with_gcc=$_LT_AC_TAGVAR(GCC, $1)
+ osf3* | osf4* | osf5*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
-# An ERE matcher.
-EGREP=$lt_EGREP
+ rdos*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
-# The linker used to build libraries.
-LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
+ solaris*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+ esac
+ ;;
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
+ sunos4*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
-# A BSD-compatible nm program.
-NM=$lt_NM
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
-# A symbol stripping program
-STRIP=$lt_STRIP
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
+ unicos*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
+ uts4*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
-# Used on cygwin: assembler.
-AS="$AS"
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t at m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t at m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+ [Additional compiler flags for building library objects])
-# How to pass a linker flag through the compiler.
-wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+ [How to pass a linker flag through the compiler])
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+ $lt_tmp_static_flag,
+ [],
+ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+ [Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
-# Object file suffix (normally "o").
-objext="$ac_objext"
-# Old archive suffix (normally "a").
-libext="$libext"
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ case $host_os in
+ aix[[4-9]]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global defined
+ # symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ ;;
+ cygwin* | mingw* | cegcc*)
+ case $cc_basename in
+ cl*)
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+], [
+ runpath_var=
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)=
+ _LT_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_TAGVAR(compiler_needs_object, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(hardcode_automatic, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(inherit_rpath, $1)=no
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(module_cmds, $1)=
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_TAGVAR(include_expsyms, $1)=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+ extract_expsyms_cmds=
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ esac
-# Executable file suffix (normally "").
-exeext="$exeext"
+ _LT_TAGVAR(ld_shlibs, $1)=yes
-# Additional compiler flags for building library objects.
-pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-pic_mode=$pic_mode
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test "$with_gnu_ld" = yes; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+ *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
+ if test "$lt_use_gnu_ld_interface" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[[3-9]]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
-# Do we need a version for libraries?
-need_version=$need_version
+_LT_EOF
+ fi
+ ;;
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ tmp_sharedflag='--shared' ;;
+ xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
+ case $cc_basename in
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
-# Library versioning type.
-version_type=$version_type
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
-archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
-module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
+ sunos4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
+ if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+ runpath_var=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ fi
+ ;;
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
+ bsdi[[45]]*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ case $cc_basename in
+ cl*)
+ # Native MSVC
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC wrapper
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+ esac
+ ;;
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+ dgux*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2.*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
-# How to hardcode a shared library path into an executable.
-hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
+ hpux9*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ fi
+ ;;
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
+ hpux11*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ m4_if($1, [], [
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ _LT_LINKER_OPTION([if $CC understands -b],
+ _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+ [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ # This should be the same for all languages, so no per-tag cache variable.
+ AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+ [lt_cv_irix_exported_symbol],
+ [save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ AC_LINK_IFELSE(
+ [AC_LANG_SOURCE(
+ [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+ [C++], [[int foo (void) { return 0; }]],
+ [Fortran 77], [[
+ subroutine foo
+ end]],
+ [Fortran], [[
+ subroutine foo
+ end]])])],
+ [lt_cv_irix_exported_symbol=yes],
+ [lt_cv_irix_exported_symbol=no])
+ LDFLAGS="$save_LDFLAGS"])
+ if test "$lt_cv_irix_exported_symbol" = yes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ fi
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
+ newsos6)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
+ *nto* | *qnx*)
+ ;;
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+ osf3*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-# Set to yes if exported symbols are required.
-always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
+ # Both c and cxx compiler support -rpath directly
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
+ solaris*)
+ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
-# Symbols that must always be exported.
-include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
+ sysv4.3*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
-ifelse([$1],[],
-[# ### END LIBTOOL CONFIG],
-[# ### END LIBTOOL TAG CONFIG: $tagname])
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
-__EOF__
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
-ifelse([$1],[], [
- case $host_os in
- aix3*)
- cat <<\EOF >> "$cfgfile"
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-EOF
- ;;
- esac
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
- mv -f "$cfgfile" "$ofile" || \
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
+ uts4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
])
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+ [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $_LT_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+ [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+ [$RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+ then
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ ])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
+ ;;
+ esac
fi
-fi
-])# AC_LIBTOOL_CONFIG
+ ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+ [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+ [enable_shared_with_static_runtimes], [0],
+ [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+ [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+ [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+ [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+ [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+ [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+ [Commands used to build a loadable module if different from building
+ a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+ [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+ [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+ [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+ [Flag to hardcode $libdir into a binary during linking.
+ This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+ [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary and the resulting library dependency is
+ "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+ library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+ [Set to "yes" if building a shared library automatically hardcodes DIR
+ into the library and all subsequent libraries and executables linked
+ against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+ [Set to yes if linker adds runtime paths of dependent libraries
+ to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+ [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [always_export_symbols], [0],
+ [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+ [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+ [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+ [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+ [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+ [Commands necessary for finishing linking programs])
+_LT_TAGDECL([], [file_list_spec], [1],
+ [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+# Source file extension for C test sources.
+ac_ext=c
-# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
-_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
-if test "$GCC" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
- AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
- lt_cv_prog_compiler_rtti_exceptions,
- [-fno-rtti -fno-exceptions], [],
- [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
-# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-# ---------------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
-[AC_REQUIRE([AC_CANONICAL_HOST])
-AC_REQUIRE([LT_AC_PROG_SED])
-AC_REQUIRE([AC_PROG_NM])
-AC_REQUIRE([AC_OBJEXT])
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+ LT_SYS_DLOPEN_SELF
+ _LT_CMD_STRIPLIB
+
+ # Report which library types will actually be built
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+ _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[[BCDT]]'
- ;;
-cygwin* | mingw* | pw32*)
- symcode='[[ABCDGISTW]]'
- ;;
-hpux*) # Its linker distinguishes data from code symbols
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDEGRST]]'
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ AC_PROG_CXXCPP
+else
+ _lt_caught_CXX_error=yes
+fi
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_CFLAGS=$CFLAGS
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
fi
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- ;;
-linux* | k*bsd*-gnu)
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDGIRSTW]]'
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
fi
- ;;
-irix* | nonstopux*)
- symcode='[[BCDEGRST]]'
- ;;
-osf*)
- symcode='[[BCDEGQRST]]'
- ;;
-solaris*)
- symcode='[[BDRT]]'
- ;;
-sco3.2v5*)
- symcode='[[DT]]'
- ;;
-sysv4.2uw2*)
- symcode='[[DT]]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[[ABDT]]'
- ;;
-sysv4)
- symcode='[[DFNSTU]]'
- ;;
-esac
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ else
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+ fi
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[[ABCDGIRSTW]]' ;;
-esac
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
+ LT_PATH_LD
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- # Write the raw and C identifiers.
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- # Check to see that the pipe works correctly.
- pipe_works=no
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
- rm -f conftest*
- cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
- if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if grep ' nm_test_var$' "$nlist" >/dev/null; then
- if grep ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
-
- cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- lt_ptr_t address;
-}
-lt_preloaded_symbols[[]] =
-{
-EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
- cat <<\EOF >> conftest.$ac_ext
- {0, (lt_ptr_t) 0}
-};
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-#ifdef __cplusplus
-}
-#endif
-EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
- fi
else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
fi
- else
- echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- AC_MSG_RESULT(failed)
-else
- AC_MSG_RESULT(ok)
-fi
-]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+ # PORTME: fill in a description of your system's C++ link characteristics
+ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
-# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
-# ---------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
-[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
-AC_MSG_CHECKING([for $compiler option to produce PIC])
- ifelse([$1],[CXX],[
- # C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | cygwin* | os2* | pw32*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- m4_if([$1], [GCJ], [],
- [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
- *djgpp*)
- # DJGPP does not support shared libraries at all
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- interix[[3-9]]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- case $host_os in
- aix[[4-9]]*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
else
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ _LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
+
chorus*)
- case $cc_basename in
- cxch68*)
- # Green Hills C++ Compiler
- # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $GXX,$cc_basename in
+ ,cl* | no,cl*)
+ # Native MSVC
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # g++
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
;;
esac
;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
dgux*)
- case $cc_basename in
- ec++*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
;;
- ghcx*)
+ ghcx*)
# Green Hills C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
;;
- *)
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
;;
- esac
- ;;
+ esac
+ ;;
+
+ freebsd2.*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ freebsd-elf*)
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+
freebsd* | dragonfly*)
- # FreeBSD uses GNU C++
- ;;
- hpux9* | hpux10* | hpux11*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- fi
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ gnu*)
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ hpux9*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
;;
- aCC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ aCC*)
case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
- *)
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
;;
- esac
- ;;
- interix*)
- # This is c89, which is MS Visual C++ (no shared libs)
- # Anyone wants to do a port?
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- irix5* | irix6* | nonstopux*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- # CC pic flag -KPIC is the default.
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
;;
- *)
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ fi
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
;;
- esac
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # KAI C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ esac
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
;;
- icpc* | ecpc*)
+ icpc* | ecpc* )
# Intel C++
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler.
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
cxx*)
# Compaq C++
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ ;;
+ xl* | mpixl* | bgxl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
;;
*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
# Sun C++ 5.9
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
;;
esac
;;
esac
;;
+
lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
;;
+
m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
;;
+
mvs*)
- case $cc_basename in
- cxx*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
;;
*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
;;
esac
;;
- netbsd* | netbsdelf*-gnu)
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
;;
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- cxx*)
- # Digital/Compaq C++
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+
+ *nto* | *qnx*)
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=func_echo_all
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
;;
- esac
- ;;
+ esac
+ ;;
+
psos*)
- ;;
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
solaris*)
- case $cc_basename in
- CC*)
+ case $cc_basename in
+ CC* | sunCC*)
# Sun C++ 4.2, 5.x and Centerline C++
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
;;
- gcx*)
+ gcx*)
# Green Hills C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
;;
- *)
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ fi
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
;;
- esac
- ;;
- sunos4*)
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
case $cc_basename in
- CC*)
- # Sun C++ 4.x
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- lcc*)
- # Lucid
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+ '"$_LT_TAGVAR(old_archive_cmds, $1)"
+ _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+ '"$_LT_TAGVAR(reload_cmds, $1)"
;;
*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
- ;;
+ ;;
+
tandem*)
- case $cc_basename in
- NCC*)
+ case $cc_basename in
+ NCC*)
# NonStop-UX NCC 3.20
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
;;
- *)
- ;;
- esac
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
;;
- esac
- ;;
+ esac
+ ;;
+
vxworks*)
- ;;
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
*)
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
esac
- fi
-],
-[
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
+ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+ test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+ _LT_TAGVAR(GCC, $1)="$GXX"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+_LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
+])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case ${prev}${p} in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+ test $p = "-R"; then
+ prev=$p
+ continue
+ fi
+
+ # Expand the sysroot to ease extracting the directories later.
+ if test -z "$prev"; then
+ case $p in
+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+ esac
+ fi
+ case $p in
+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+ esac
+ if test "$pre_test_object_deps_done" = no; then
+ case ${prev} in
+ -L | -R)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+ _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
+ prev=
+ ;;
+
+ *.lto.$objext) ;; # Ignore GCC LTO objects
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+ _LT_TAGVAR(predep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+ _LT_TAGVAR(postdep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_TAGVAR(predep_objects,$1)=
+ _LT_TAGVAR(postdep_objects,$1)=
+ _LT_TAGVAR(postdeps,$1)=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
;;
+ esac
+
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+ [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+ [Dependencies to place before and after the objects being linked to
+ create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+ [The library search path used internally by the compiler when linking
+ a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test "X$F77" = "Xno"; then
+ _lt_disable_F77=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${F77-"f77"}
+ CFLAGS=$FFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+ GCC=$G77
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$G77"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
+ CFLAGS="$lt_save_CFLAGS"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test "X$FC" = "Xno"; then
+ _lt_disable_FC=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${FC-"f95"}
+ CFLAGS=$FCFLAGS
+ compiler=$CC
+ GCC=$ac_cv_fc_compiler_gnu
+
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- m4_if([$1], [GCJ], [],
- [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
+ _LT_CONFIG($1)
+fi
- interix[[3-9]]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
+AC_LANG_RESTORE
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- enable_shared=no
- ;;
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
+# Source file extension for RC test sources.
+ac_ext=rc
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- m4_if([$1], [GCJ], [],
- [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
- hpux9* | hpux10* | hpux11*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- ;;
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
- irix5* | irix6* | nonstopux*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC (with -KPIC) is the default.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
- newsos6)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
- linux* | k*bsd*-gnu)
- case $cc_basename in
- icc* | ecc*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- ccc*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All Alpha code is PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
- ;;
- esac
- ;;
- esac
- ;;
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
- osf3* | osf4* | osf5*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All OSF/1 code is PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+CFLAGS=
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
- rdos*)
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
+if test -n "$compiler"; then
+ :
+ _LT_CONFIG($1)
+fi
- solaris*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
- esac
- ;;
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_RC_CONFIG
- sunos4*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- sysv4 | sysv4.2uw2* | sysv4.3*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+ [AC_CHECK_TOOL(GCJ, gcj,)
+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)])])[]dnl
+])
- sysv4*MP*)
- if test -d /usr/nec ;then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- unicos*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
- uts4*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
- _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
- [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
- [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
- "" | " "*) ;;
- *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
- esac],
- [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
- ;;
-esac
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
- _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
- $lt_tmp_static_flag,
- [],
- [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
-])
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
-# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
-# ------------------------------------
-# See if the linker supports building shared libraries.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-ifelse([$1],[CXX],[
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- case $host_os in
- aix[[4-9]]*)
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- fi
- ;;
- pw32*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
- ;;
- cygwin* | mingw*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
- ;;
- linux* | k*bsd*-gnu)
- _LT_AC_TAGVAR(link_all_deplibs, $1)=no
- ;;
- *)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- esac
- _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-],[
- runpath_var=
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)=
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
- _LT_AC_TAGVAR(hardcode_automatic, $1)=no
- _LT_AC_TAGVAR(module_cmds, $1)=
- _LT_AC_TAGVAR(module_expsym_cmds, $1)=
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- _LT_AC_TAGVAR(include_expsyms, $1)=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- _LT_CC_BASENAME([$compiler])
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[[3-9]]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<EOF 1>&2
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
+m4_ifndef([AC_PROG_SED], [
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
-EOF
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
fi
- ;;
+ done
+ done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f $lt_ac_sed && continue
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test $lt_ac_count -gt 10 && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test $lt_ac_count -gt $lt_ac_max; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
- amigaos*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-
- # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
+# ------------------------------------------------------
+# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
+# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
+m4_defun([_LT_PROG_FUNCTION_REPLACE],
+[dnl {
+sed -e '/^$1 ()$/,/^} # $1 /c\
+$1 ()\
+{\
+m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
+} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+])
- interix[[3-9]]*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
- esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+# _LT_PROG_REPLACE_SHELLFNS
+# -------------------------
+# Replace existing portable implementations of several shell functions with
+# equivalent extended shell implementations where those features are available..
+m4_defun([_LT_PROG_REPLACE_SHELLFNS],
+[if test x"$xsi_shell" = xyes; then
+ _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac])
+
+ _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
+ func_basename_result="${1##*/}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"])
- if test $supports_anon_versioning = yes; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- _LT_AC_TAGVAR(link_all_deplibs, $1)=no
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
+ _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}])
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
+ _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
+ func_split_long_opt_name=${1%%=*}
+ func_split_long_opt_arg=${1#*=}])
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<EOF 1>&2
+ _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
+ func_split_short_opt_arg=${1#??}
+ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
+ _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac])
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
+ _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
+ _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
+ _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
+fi
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
+if test x"$lt_shell_append" = xyes; then
+ _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
- sunos4*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
+ _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
+ func_quote_for_eval "${2}"
+dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
+ eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
+ # Save a `func_append' function call where possible by direct use of '+='
+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+else
+ # Save a `func_append' function call even when '+=' is not available
+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+fi
- if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
- runpath_var=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- fi
- ;;
+if test x"$_lt_function_replace_fail" = x":"; then
+ AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
+fi
+])
- aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine which file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+ [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+ [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
+# Helper functions for option handling. -*- Autoconf -*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
+# serial 7 ltoptions.m4
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
- _LT_AC_TAGVAR(archive_cmds, $1)=''
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- if test "$GCC" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it. Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+ _LT_MANGLE_DEFUN([$1], [$2]),
+ [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
- amigaos*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- # see comment about different semantics on the GNU ld section
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- bsdi[[45]]*)
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
- ;;
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+ [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
- # FIXME: Should let the user specify the lib program.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
- _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- ;;
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
- ;;
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME. If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+ dnl
+ dnl Simply set some default values (i.e off) if boolean options were not
+ dnl specified:
+ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+ ])
+ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+ ])
+ dnl
+ dnl If no reference was made to various pairs of opposing options, then
+ dnl we run the default mode handler for the pair. For example, if neither
+ dnl `shared' nor `disable-shared' was passed, we enable building of shared
+ dnl archives by default:
+ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+ [_LT_ENABLE_FAST_INSTALL])
+ ])
+])# _LT_SET_OPTIONS
- dgux*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- freebsd1*)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
- hpux9*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- fi
- ;;
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+esac
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- fi
- ;;
+test -z "$AS" && AS=as
+_LT_DECL([], [AS], [1], [Assembler program])dnl
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
+])# win32-dll
- newsos6)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
- os2*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
- osf3*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
;;
+ esac],
+ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- else
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+ _LT_DECL([build_libtool_libs], [enable_shared], [0],
+ [Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
- # Both c and cxx compiler support -rpath directly
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
- solaris*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
fi
- ;;
- esac
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ done
+ IFS="$lt_save_ifs"
;;
+ esac],
+ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
+ _LT_DECL([build_old_libs], [enable_static], [0],
+ [Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
- sysv4)
- case $host_vendor in
- sni)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- ;;
- motorola)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
- sysv4.3*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
;;
+ esac],
+ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- fi
- ;;
+_LT_DECL([fast_install], [enable_fast_install], [0],
+ [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
- uts4*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+ [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
*)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for lt_pkg in $withval; do
+ IFS="$lt_save_ifs"
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
;;
- esac
- fi
+ esac],
+ [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
- # Assume -lc should be added
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $_LT_AC_TAGVAR(archive_cmds, $1) in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- AC_MSG_CHECKING([whether -lc should be explicitly linked in])
- $rm conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
- pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
- if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
- then
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- else
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- fi
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
- ;;
- esac
- fi
- ;;
-esac
-])# AC_LIBTOOL_PROG_LD_SHLIBS
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+ [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+ [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+ [m4_define([_LTDL_MODE], [subproject])])
-# _LT_AC_FILE_LTDLL_C
-# -------------------
-# Be careful that the start marker always follows a newline.
-AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
-# /* ltdll.c starts here */
-# #define WIN32_LEAN_AND_MEAN
-# #include <windows.h>
-# #undef WIN32_LEAN_AND_MEAN
-# #include <stdio.h>
-#
-# #ifndef __CYGWIN__
-# # ifdef __CYGWIN32__
-# # define __CYGWIN__ __CYGWIN32__
-# # endif
-# #endif
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+ [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+ [m4_define([_LTDL_TYPE], [convenience])])
+
+# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
#
-# #ifdef __cplusplus
-# extern "C" {
-# #endif
-# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
-# #ifdef __cplusplus
-# }
-# #endif
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
#
-# #ifdef __CYGWIN__
-# #include <cygwin/cygwin_dll.h>
-# DECLARE_CYGWIN_DLL( DllMain );
-# #endif
-# HINSTANCE __hDllInstance_base;
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+ [$#], [2], [[$2]],
+ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+ [$#], 1, [],
+ [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
#
-# BOOL APIENTRY
-# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
-# {
-# __hDllInstance_base = hInst;
-# return TRUE;
-# }
-# /* ltdll.c ends here */
-])# _LT_AC_FILE_LTDLL_C
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+ [m4_foreach([_Lt_suffix],
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+ [lt_append([$1], [$2], [$3])$4],
+ [$5])],
+ [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
-# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
-# ---------------------------------
-AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
-# old names
-AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
-AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
-AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
-# This is just to silence aclocal about the macro not being used
-ifelse([AC_DISABLE_FAST_INSTALL])
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+ [$5],
+ [$6])])
-AC_DEFUN([LT_AC_PROG_GCJ],
-[AC_CHECK_TOOL(GCJ, gcj, no)
- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
- AC_SUBST(GCJFLAGS)
-])
-AC_DEFUN([LT_AC_PROG_RC],
-[AC_CHECK_TOOL(RC, windres, no)
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+ [lt_join(m4_quote(m4_default([$4], [[, ]])),
+ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
])
+# ltversion.m4 -- version numbers -*- Autoconf -*-
+#
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
-# Cheap backport of AS_EXECUTABLE_P and required macros
-# from Autoconf 2.59; we should not use $as_executable_p directly.
+# @configure_input@
-# _AS_TEST_PREPARE
-# ----------------
-m4_ifndef([_AS_TEST_PREPARE],
-[m4_defun([_AS_TEST_PREPARE],
-[if test -x / >/dev/null 2>&1; then
- as_executable_p='test -x'
-else
- as_executable_p='test -f'
-fi
-])])# _AS_TEST_PREPARE
+# serial 3337 ltversion.m4
+# This file is part of GNU Libtool
-# AS_EXECUTABLE_P
-# ---------------
-# Check whether a file is executable.
-m4_ifndef([AS_EXECUTABLE_P],
-[m4_defun([AS_EXECUTABLE_P],
-[AS_REQUIRE([_AS_TEST_PREPARE])dnl
-$as_executable_p $1[]dnl
-])])# AS_EXECUTABLE_P
+m4_define([LT_PACKAGE_VERSION], [2.4.2])
+m4_define([LT_PACKAGE_REVISION], [1.3337])
-# NOTE: This macro has been submitted for inclusion into #
-# GNU Autoconf as AC_PROG_SED. When it is available in #
-# a released version of Autoconf we should remove this #
-# macro and use it instead. #
-# LT_AC_PROG_SED
-# --------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible. Prefer GNU sed if found.
-AC_DEFUN([LT_AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
- done
- done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
- fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.4.2'
+macro_revision='1.3337'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
])
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 5 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else. This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
+
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
#
# Copyright © 2004 Scott James Remnant <scott at netsplit.com>.
#
@@ -6698,8 +8654,12 @@ AC_MSG_RESULT([$SED])
# ----------------------------------
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
-AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
fi
@@ -6712,7 +8672,6 @@ if test -n "$PKG_CONFIG"; then
AC_MSG_RESULT([no])
PKG_CONFIG=""
fi
-
fi[]dnl
])# PKG_PROG_PKG_CONFIG
@@ -6721,34 +8680,32 @@ fi[]dnl
# Check to see whether a particular set of modules exists. Similar
# to PKG_CHECK_MODULES(), but does not set variables or print errors.
#
-#
-# Similar to PKG_CHECK_MODULES, make sure that the first instance of
-# this or PKG_CHECK_MODULES is called, or make sure to call
-# PKG_CHECK_EXISTS manually
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
# --------------------------------------------------------------
AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
- m4_ifval([$2], [$2], [:])
+ m4_default([$2], [:])
m4_ifvaln([$3], [else
$3])dnl
fi])
-
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
# ---------------------------------------------
m4_define([_PKG_CONFIG],
-[if test -n "$PKG_CONFIG"; then
- if test -n "$$1"; then
- pkg_cv_[]$1="$$1"
- else
- PKG_CHECK_EXISTS([$3],
- [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
- [pkg_failed=yes])
- fi
-else
- pkg_failed=untried
+[if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ],
+ [pkg_failed=yes])
+ else
+ pkg_failed=untried
fi[]dnl
])# _PKG_CONFIG
@@ -6790,16 +8747,17 @@ and $1[]_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.])
if test $pkg_failed = yes; then
+ AC_MSG_RESULT([no])
_PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then
- $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
else
- $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
- ifelse([$4], , [AC_MSG_ERROR(dnl
+ m4_default([$4], [AC_MSG_ERROR(
[Package requirements ($2) were not met:
$$1_PKG_ERRORS
@@ -6807,44 +8765,46 @@ $$1_PKG_ERRORS
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
-_PKG_TEXT
-])],
- [AC_MSG_RESULT([no])
- $4])
+_PKG_TEXT])[]dnl
+ ])
elif test $pkg_failed = untried; then
- ifelse([$4], , [AC_MSG_FAILURE(dnl
+ AC_MSG_RESULT([no])
+ m4_default([$4], [AC_MSG_FAILURE(
[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.
_PKG_TEXT
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
- [$4])
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+ ])
else
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
AC_MSG_RESULT([yes])
- ifelse([$3], , :, [$3])
+ $3
fi[]dnl
])# PKG_CHECK_MODULES
-# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
+# Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 1
+
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.10'
+[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.10.1], [],
+m4_if([$1], [1.11.3], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -6858,12 +8818,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10.1])dnl
+[AM_AUTOMAKE_VERSION([1.11.3])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# Figure out how to run the assembler. -*- Autoconf -*-
@@ -6889,12 +8849,14 @@ _AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 1
+
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
@@ -6942,14 +8904,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 8
+# serial 9
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
@@ -6962,6 +8924,7 @@ AC_SUBST([$1_TRUE])dnl
AC_SUBST([$1_FALSE])dnl
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
if $2; then
$1_TRUE=
$1_FALSE='#'
@@ -6975,14 +8938,14 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-# Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
+# 2010, 2011 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 9
+# serial 12
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
@@ -7022,6 +8985,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
# instance it was reported that on HP-UX the gcc test will end up
# making a dummy file named `D' -- because `-MD' means `put the output
# in D'.
+ rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
@@ -7039,6 +9003,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
@@ -7056,7 +9030,17 @@ AC_CACHE_CHECK([dependency style of $depcc],
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
nosideeffect)
# after this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested
@@ -7066,19 +9050,23 @@ AC_CACHE_CHECK([dependency style of $depcc],
break
fi
;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
none) break ;;
esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
@@ -7127,65 +9115,79 @@ AC_DEFUN([AM_DEP_TRACK],
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
+ am__nodep='_no'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH])dnl
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
])
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-#serial 3
+#serial 5
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[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.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ 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.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
done
-done
+}
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
@@ -7202,28 +9204,16 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008 Free Software Foundation, Inc.
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 13
+# serial 16
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
@@ -7240,7 +9230,7 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.60])dnl
+[AC_PREREQ([2.62])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -7291,8 +9281,8 @@ AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
AC_REQUIRE([AM_PROG_MKDIR_P])dnl
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
@@ -7300,24 +9290,37 @@ AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
])
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
@@ -7340,18 +9343,28 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
+# Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 1
+
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
AC_SUBST(install_sh)])
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
@@ -7378,27 +9391,38 @@ AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
+# 2011 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
+# serial 5
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless `enable' is passed literally.
+# For symmetry, `disable' may be passed as well. Anyway, the user
+# can override the default with the --enable/--disable switch.
AC_DEFUN([AM_MAINTAINER_MODE],
-[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode is disabled by default
- AC_ARG_ENABLE(maintainer-mode,
-[ --enable-maintainer-mode enable make rules and dependencies not useful
+[m4_case(m4_default([$1], [disable]),
+ [enable], [m4_define([am_maintainer_other], [disable])],
+ [disable], [m4_define([am_maintainer_other], [enable])],
+ [m4_define([am_maintainer_other], [enable])
+ m4_warn([syntax], [unexpected argument to AM@&t at _MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+ AC_ARG_ENABLE([maintainer-mode],
+[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
(and sometimes confusing) to the casual installer],
- USE_MAINTAINER_MODE=$enableval,
- USE_MAINTAINER_MODE=no)
+ [USE_MAINTAINER_MODE=$enableval],
+ [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+ AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST(MAINT)dnl
+ AC_SUBST([MAINT])dnl
]
)
@@ -7406,13 +9430,13 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 3
+# serial 4
# AM_MAKE_INCLUDE()
# -----------------
@@ -7421,7 +9445,7 @@ AC_DEFUN([AM_MAKE_INCLUDE],
[am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
- @echo done
+ @echo this is the am__doit target
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
@@ -7431,24 +9455,24 @@ am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
fi
AC_SUBST([am__include])
AC_SUBST([am__quote])
@@ -7456,14 +9480,14 @@ AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005
+# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 5
+# serial 6
# AM_PROG_CC_C_O
# --------------
@@ -7475,8 +9499,9 @@ AC_REQUIRE_AUX_FILE([compile])dnl
# FIXME: we rely on the cache variable name because
# there is no other way.
set dummy $CC
-ac_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then
+am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
+eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
+if test "$am_t" != yes; then
# Losing compiler, so override with the script.
# FIXME: It is wrong to rewrite CC.
# But if we don't then we get into trouble of one sort or another.
@@ -7492,14 +9517,14 @@ m4_define([AC_PROG_CC],
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 5
+# serial 6
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
@@ -7516,7 +9541,14 @@ AC_SUBST($1)])
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
@@ -7526,12 +9558,15 @@ else
fi
])
-# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
+# Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 1
+
# AM_PROG_MKDIR_P
# ---------------
# Check for `mkdir -p'.
@@ -7554,13 +9589,14 @@ esac
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
+# Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 3
+# serial 5
# _AM_MANGLE_OPTION(NAME)
# -----------------------
@@ -7568,16 +9604,16 @@ AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
# _AM_SET_OPTION(NAME)
-# ------------------------------
+# --------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
+# ------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
# -------------------------------------------
@@ -7587,14 +9623,14 @@ AC_DEFUN([_AM_IF_OPTION],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
+# serial 5
# AM_SANITY_CHECK
# ---------------
@@ -7603,16 +9639,29 @@ AC_DEFUN([AM_SANITY_CHECK],
# Just in case
sleep 1
echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
# Do `set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$[*]" = "X"; then
# -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
+ set X `ls -t "$srcdir/configure" conftest.file`
fi
rm -f conftest.file
if test "$[*]" != "X $srcdir/configure conftest.file" \
@@ -7637,12 +9686,71 @@ Check your system clock])
fi
AC_MSG_RESULT(yes)])
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# (`yes' being less verbose, `no' or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules],
+[ --enable-silent-rules less verbose build output (undo: `make V=1')
+ --disable-silent-rules verbose build output (undo: `make V=0')])
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no) AM_DEFAULT_VERBOSITY=1;;
+*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few `make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+ [am_cv_make_support_nested_variables],
+ [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+ dnl Using `$V' instead of `$(V)' breaks IRIX make.
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 1
+
# AM_PROG_INSTALL_STRIP
# ---------------------
# One issue with vendor `install' (even GNU) is that you can't
@@ -7665,21 +9773,28 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# serial 3
+
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE])
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -7701,10 +9816,11 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
# a tarball read from stdin.
# $(am__untar) < result.tar
AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
+[# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
m4_if([$1], [v7],
- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
[m4_case([$1], [ustar],, [pax],,
[m4_fatal([Unknown tar format])])
AC_MSG_CHECKING([how to create a $1 tar archive])
diff --git a/compile b/compile
index 1b1d232..b1f4749 100755
--- a/compile
+++ b/compile
@@ -1,9 +1,10 @@
#! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
+# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2005-05-14.22
+scriptversion=2012-01-04.17; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free
+# Software Foundation, Inc.
# Written by Tom Tromey <tromey at cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@@ -17,8 +18,7 @@ scriptversion=2005-05-14.22
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -29,21 +29,186 @@ scriptversion=2005-05-14.22
# bugs to <bug-automake at gnu.org> or send patches to
# <automake-patches at gnu.org>.
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l*)
+ lib=${1#-l}
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ set x "$@" "$dir/$lib.dll.lib"
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ set x "$@" "$dir/$lib.lib"
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ test "$found" != yes && set x "$@" "$lib.lib"
+ shift
+ ;;
+ -L*)
+ func_file_conv "${1#-L}"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
case $1 in
'')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
+right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake at gnu.org>.
EOF
@@ -53,11 +218,13 @@ EOF
echo "compile $scriptversion"
exit $?
;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
esac
ofile=
cfile=
-eat=
for arg
do
@@ -66,8 +233,8 @@ do
else
case $1 in
-o)
- # configure might choose to run compile as `compile cc -o foo foo.c'.
- # So we strip `-o arg' only if arg is an object.
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
@@ -94,22 +261,22 @@ do
done
if test -z "$ofile" || test -z "$cfile"; then
- # If no `-o' option was seen then we might have been invoked from a
+ # If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
- # `.c' file was seen then we are probably linking. That is also
+ # '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
-# Note: use `[/.-]' here to ensure that we don't use the same name
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
@@ -124,9 +291,9 @@ trap "rmdir '$lockdir'; exit 1" 1 2 15
ret=$?
if test -f "$cofile"; then
- mv "$cofile" "$ofile"
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
- mv "${cofile}bj" "$ofile"
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
@@ -138,5 +305,6 @@ exit $ret
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
# End:
diff --git a/config.guess b/config.guess
index 278f9e9..d622a44 100755
--- a/config.guess
+++ b/config.guess
@@ -1,10 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+# 2011, 2012 Free Software Foundation, Inc.
-timestamp='2007-07-22'
+timestamp='2012-02-10'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -17,9 +17,7 @@ timestamp='2007-07-22'
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -27,16 +25,16 @@ timestamp='2007-07-22'
# the same distribution terms that you use for the rest of that program.
-# Originally written by Per Bothner <per at bothner.com>.
-# Please send patches to <config-patches at gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
+# Originally written by Per Bothner. Please send patches (context
+# diff format) to <config-patches at gnu.org> and include a ChangeLog
+# entry.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
me=`echo "$0" | sed -e 's,.*/,,'`
@@ -56,7 +54,8 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
@@ -144,7 +143,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
@@ -170,7 +169,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep __ELF__ >/dev/null
+ | grep -q __ELF__
then
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
# Return netbsd for either. FIX?
@@ -180,7 +179,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
fi
;;
*)
- os=netbsd
+ os=netbsd
;;
esac
# The OS release
@@ -223,7 +222,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
;;
*5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
;;
esac
# According to Compaq, /usr/sbin/psrinfo has been available on
@@ -269,7 +268,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit ;;
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ exitcode=$?
+ trap '' 0
+ exit $exitcode ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
@@ -295,7 +297,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo s390-ibm-zvmoe
exit ;;
*:OS400:*:*)
- echo powerpc-ibm-os400
+ echo powerpc-ibm-os400
exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
@@ -324,14 +326,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
case `/usr/bin/uname -p` in
sparc) echo sparc-icl-nx7; exit ;;
esac ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+ echo i386-pc-auroraux${UNAME_RELEASE}
+ exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
@@ -375,23 +396,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
+ exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
m68k:machten:*:*)
echo m68k-apple-machten${UNAME_RELEASE}
exit ;;
@@ -461,8 +482,8 @@ EOF
echo m88k-motorola-sysv3
exit ;;
AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
@@ -475,7 +496,7 @@ EOF
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
- exit ;;
+ exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit ;;
@@ -532,7 +553,7 @@ EOF
echo rs6000-ibm-aix3.2
fi
exit ;;
- *:AIX:*:[45])
+ *:AIX:*:[4567])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
@@ -575,52 +596,52 @@ EOF
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
+ esac ;;
+ esac
fi
if [ "${HP_ARCH}" = "" ]; then
eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ sed 's/^ //' << EOF >$dummy.c
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
EOF
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
@@ -640,7 +661,7 @@ EOF
# => hppa64-hp-hpux11.23
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
- grep __LP64__ >/dev/null
+ grep -q __LP64__
then
HP_ARCH="hppa2.0w"
else
@@ -711,22 +732,22 @@ EOF
exit ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
- exit ;;
+ exit ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit ;;
+ exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
- exit ;;
+ exit ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
- exit ;;
+ exit ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
- exit ;;
+ exit ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
@@ -750,14 +771,14 @@ EOF
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
@@ -769,13 +790,12 @@ EOF
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:FreeBSD:*:*)
- case ${UNAME_MACHINE} in
- pc98)
- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ case ${UNAME_PROCESSOR} in
amd64)
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
*)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
esac
exit ;;
i*:CYGWIN*:*)
@@ -784,25 +804,34 @@ EOF
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
+ i*:MSYS*:*)
+ echo ${UNAME_MACHINE}-pc-msys
+ exit ;;
i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
exit ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
- *:Interix*:[3456]*)
- case ${UNAME_MACHINE} in
+ *:Interix*:*)
+ case ${UNAME_MACHINE} in
x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
- EM64T | authenticamd)
+ authenticamd | genuineintel | EM64T)
echo x86_64-unknown-interix${UNAME_RELEASE}
exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
@@ -832,20 +861,68 @@ EOF
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
- arm*:Linux:*:*)
+ aarch64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+ fi
+ fi
+ exit ;;
avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
cris:Linux:*:*)
- echo cris-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-gnu
exit ;;
crisv32:Linux:*:*)
- echo crisv32-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-gnu
exit ;;
frv:Linux:*:*)
- echo frv-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ hexagon:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ LIBC=gnu
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
exit ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -856,74 +933,33 @@ EOF
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
- mips:Linux:*:*)
+ mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
- #undef mips
- #undef mipsel
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mipsel
+ CPU=${UNAME_MACHINE}el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips
+ CPU=${UNAME_MACHINE}
#else
CPU=
#endif
#endif
EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
- ;;
- mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips64
- #undef mips64el
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mips64el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips64
- #else
- CPU=
- #endif
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
or32:Linux:*:*)
- echo or32-unknown-linux-gnu
- exit ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-gnu
exit ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
@@ -933,14 +969,17 @@ EOF
*) echo hppa-unknown-linux-gnu ;;
esac
exit ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux
exit ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -948,78 +987,18 @@ EOF
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
+ tile*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
vax:Linux:*:*)
echo ${UNAME_MACHINE}-dec-linux-gnu
exit ;;
x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
- xtensa:Linux:*:*)
- echo xtensa-unknown-linux-gnu
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
- i*86:Linux:*:*)
- # The BFD linker knows what the default object file format is, so
- # first see if it will tell us. cd to the root directory to prevent
- # problems with other programs or directories called `ld' in the path.
- # Set LC_ALL=C to ensure ld outputs messages in English.
- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
- | sed -ne '/supported targets:/!d
- s/[ ][ ]*/ /g
- s/.*supported targets: *//
- s/ .*//
- p'`
- case "$ld_supported_targets" in
- elf32-i386)
- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
- ;;
- a.out-i386-linux)
- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit ;;
- coff-i386)
- echo "${UNAME_MACHINE}-pc-linux-gnucoff"
- exit ;;
- "")
- # Either a pre-BFD a.out linker (linux-gnuoldld) or
- # one that does not give us useful --help.
- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit ;;
- esac
- # Determine whether the default compiler is a.out or elf
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #ifdef __ELF__
- # ifdef __GLIBC__
- # if __GLIBC__ >= 2
- LIBC=gnu
- # else
- LIBC=gnulibc1
- # endif
- # else
- LIBC=gnulibc1
- # endif
- #else
- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
- LIBC=gnu
- #else
- LIBC=gnuaout
- #endif
- #endif
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^LIBC/{
- s: ::g
- p
- }'`"
- test x"${LIBC}" != x && {
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
- exit
- }
- test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
- ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
@@ -1027,11 +1006,11 @@ EOF
echo i386-sequent-sysv4
exit ;;
i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
+ # Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit ;;
i*86:OS/2:*:*)
@@ -1048,7 +1027,7 @@ EOF
i*86:syllable:*:*)
echo ${UNAME_MACHINE}-pc-syllable
exit ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit ;;
i*86:*DOS:*:*)
@@ -1063,7 +1042,7 @@ EOF
fi
exit ;;
i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
@@ -1091,10 +1070,13 @@ EOF
exit ;;
pc:*:*:*)
# Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i386.
- echo i386-pc-msdosdjgpp
- exit ;;
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit ;;
@@ -1129,8 +1111,18 @@ EOF
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
exit ;;
@@ -1143,7 +1135,7 @@ EOF
rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
echo powerpc-unknown-lynxos${UNAME_RELEASE}
exit ;;
SM[BE]S:UNIX_SV:*:*)
@@ -1163,10 +1155,10 @@ EOF
echo ns32k-sni-sysv
fi
exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel at ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel at ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes at openmarket.com>.
# How about differentiating between stratus architectures? -djm
@@ -1192,11 +1184,11 @@ EOF
exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
+ echo mips-nec-sysv${UNAME_RELEASE}
else
- echo mips-unknown-sysv${UNAME_RELEASE}
+ echo mips-unknown-sysv${UNAME_RELEASE}
fi
- exit ;;
+ exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
exit ;;
@@ -1206,6 +1198,9 @@ EOF
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
echo i586-pc-beos
exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit ;;
@@ -1233,6 +1228,16 @@ EOF
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
case $UNAME_PROCESSOR in
+ i386)
+ eval $set_cc_for_build
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ UNAME_PROCESSOR="x86_64"
+ fi
+ fi ;;
unknown) UNAME_PROCESSOR=powerpc ;;
esac
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
@@ -1248,6 +1253,9 @@ EOF
*:QNX:*:4*)
echo i386-pc-qnx
exit ;;
+ NEO-?:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk${UNAME_RELEASE}
+ exit ;;
NSE-?:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit ;;
@@ -1293,13 +1301,13 @@ EOF
echo pdp10-unknown-its
exit ;;
SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
+ echo mips-sei-seiux${UNAME_RELEASE}
exit ;;
*:DragonFly:*:*)
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit ;;
*:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
case "${UNAME_MACHINE}" in
A*) echo alpha-dec-vms ; exit ;;
I*) echo ia64-dec-vms ; exit ;;
@@ -1314,6 +1322,12 @@ EOF
i*86:rdos:*:*)
echo ${UNAME_MACHINE}-pc-rdos
exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
+ x86_64:VMkernel:*:*)
+ echo ${UNAME_MACHINE}-unknown-esx
+ exit ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1336,11 +1350,11 @@ main ()
#include <sys/param.h>
printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
- "4"
+ "4"
#else
- ""
+ ""
#endif
- ); exit (0);
+ ); exit (0);
#endif
#endif
@@ -1474,9 +1488,9 @@ This script, last modified $timestamp, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
If the version you run ($0) is already up to date, please
send the following data and any information you think might be
diff --git a/config.h.in b/config.h.in
index a858224..a2ea14f 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,5 +1,8 @@
/* config.h.in. Generated from configure.in by autoheader. */
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
/* Define to 1 if you are compiling for ARM. */
#undef ARCH_ARM
@@ -15,6 +18,9 @@
/* Define to 1 if you are compiling for AMD64. */
#undef ARCH_X86_64
+/* Dithering to use when rendering to non-RGB16 surfaces */
+#undef DFB_DITHER
+
/* Dithering to use when rendering to RGB16 surfaces */
#undef DFB_DITHER565
@@ -50,6 +56,9 @@
/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK
+/* Define to 1 if sh772x */
+#undef HAVE_GFX_SH772X
+
/* Define to 1 if inb, outb and iopl are available. */
#undef HAVE_INB_OUTB_IOPL
@@ -77,6 +86,9 @@
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
+/* Define to 1 if you have the <signal.h> header file. */
+#undef HAVE_SIGNAL_H
+
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
@@ -105,6 +117,10 @@
console keymap queries. */
#undef LINUX_INPUT_USE_FBDEV
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O
@@ -120,6 +136,9 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
/* Define to the version of this package. */
#undef PACKAGE_VERSION
@@ -159,6 +178,14 @@
/* Define to 1 to build with zlib compression. */
#undef USE_ZLIB
-/* Define to 1 if your processor stores words with the most significant byte
- first (like Motorola and SPARC, unlike Intel and VAX). */
-#undef WORDS_BIGENDIAN
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+# undef WORDS_BIGENDIAN
+# endif
+#endif
diff --git a/config.sub b/config.sub
index 1761d8b..c894da4 100755
--- a/config.sub
+++ b/config.sub
@@ -1,10 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+# 2011, 2012 Free Software Foundation, Inc.
-timestamp='2007-06-28'
+timestamp='2012-02-10'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -21,9 +21,7 @@ timestamp='2007-06-28'
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -32,13 +30,16 @@ timestamp='2007-06-28'
# Please send patches to <config-patches at gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
+# diff and a properly formatted GNU ChangeLog entry.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
@@ -72,7 +73,8 @@ Report bugs and patches to <config-patches at gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
@@ -120,12 +122,18 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
@@ -148,10 +156,13 @@ case $os in
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray)
+ -apple | -axis | -knuth | -cray | -microblaze)
os=
basic_machine=$1
;;
+ -bluegene*)
+ os=-cnk
+ ;;
-sim | -cisco | -oki | -wec | -winbond)
os=
basic_machine=$1
@@ -166,10 +177,10 @@ case $os in
os=-chorusos
basic_machine=$1
;;
- -chorusrdb)
- os=-chorusrdb
+ -chorusrdb)
+ os=-chorusrdb
basic_machine=$1
- ;;
+ ;;
-hiux*)
os=-hiuxwe2
;;
@@ -238,24 +249,32 @@ case $basic_machine in
# Some are omitted here because they have special meanings below.
1750a | 580 \
| a29k \
+ | aarch64 | aarch64_be \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | be32 | be64 \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
+ | epiphany \
| fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
+ | le32 | le64 \
+ | lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep \
+ | maxq | mb | microblaze | mcore | mep | metag \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
- | mips64vr | mips64vrel \
+ | mips64octeon | mips64octeonel \
| mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
@@ -268,29 +287,42 @@ case $basic_machine in
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
+ | moxie \
| mt \
| msp430 \
+ | nds32 | nds32le | nds32be \
| nios | nios2 \
| ns16k | ns32k \
+ | open8 \
| or32 \
| pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
+ | rl78 | rx \
| score \
- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu | strongarm \
- | tahoe | thumb | tic4x | tic80 | tron \
- | v850 | v850e \
+ | spu \
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+ | ubicom32 \
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| we32k \
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
- | z8k)
+ | x86 | xc16x | xstormy16 | xtensa \
+ | z8k | z80)
basic_machine=$basic_machine-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12)
- # Motorola 68HC11/12.
+ c54x)
+ basic_machine=tic54x-unknown
+ ;;
+ c55x)
+ basic_machine=tic55x-unknown
+ ;;
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
@@ -300,6 +332,21 @@ case $basic_machine in
basic_machine=mt-unknown
;;
+ strongarm | thumb | xscale)
+ basic_machine=arm-unknown
+ ;;
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ xscaleeb)
+ basic_machine=armeb-unknown
+ ;;
+
+ xscaleel)
+ basic_machine=armel-unknown
+ ;;
+
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
@@ -314,29 +361,36 @@ case $basic_machine in
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
+ | aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
+ | be32-* | be64-* \
| bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
+ | le32-* | le64-* \
+ | lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
- | mips64vr-* | mips64vrel-* \
+ | mips64octeon-* | mips64octeonel-* \
| mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
| mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
@@ -351,27 +405,36 @@ case $basic_machine in
| mmix-* \
| mt-* \
| msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
| nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
+ | open8-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
- | romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | rl78-* | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tile*-* \
| tron-* \
- | v850-* | v850e-* | vax-* \
+ | ubicom32-* \
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+ | vax-* \
| we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
- | xstormy16-* | xtensa-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
+ | xstormy16-* | xtensa*-* \
| ymp-* \
- | z8k-*)
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
@@ -389,7 +452,7 @@ case $basic_machine in
basic_machine=a29k-amd
os=-udi
;;
- abacus)
+ abacus)
basic_machine=abacus-unknown
;;
adobe68k)
@@ -435,6 +498,10 @@ case $basic_machine in
basic_machine=m68k-apollo
os=-bsd
;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
aux)
basic_machine=m68k-apple
os=-aux
@@ -443,10 +510,35 @@ case $basic_machine in
basic_machine=ns32k-sequent
os=-dynix
;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
+ c54x-*)
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c55x-*)
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c6x-*)
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
c90)
basic_machine=c90-cray
os=-unicos
;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
convex-c1)
basic_machine=c1-convex
os=-bsd
@@ -475,7 +567,7 @@ case $basic_machine in
basic_machine=craynv-cray
os=-unicosmp
;;
- cr16)
+ cr16 | cr16-*)
basic_machine=cr16-unknown
os=-elf
;;
@@ -514,6 +606,10 @@ case $basic_machine in
basic_machine=m88k-motorola
os=-sysv3
;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
djgpp)
basic_machine=i586-pc
os=-msdosdjgpp
@@ -629,7 +725,6 @@ case $basic_machine in
i370-ibm* | ibm*)
basic_machine=i370-ibm
;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
@@ -668,6 +763,14 @@ case $basic_machine in
basic_machine=m68k-isi
os=-sysv
;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
m88k-omron*)
basic_machine=m88k-omron
;;
@@ -679,6 +782,9 @@ case $basic_machine in
basic_machine=ns32k-utek
os=-sysv
;;
+ microblaze)
+ basic_machine=microblaze-xilinx
+ ;;
mingw32)
basic_machine=i386-pc
os=-mingw32
@@ -715,10 +821,18 @@ case $basic_machine in
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
+ msys)
+ basic_machine=i386-pc
+ os=-msys
+ ;;
mvs)
basic_machine=i370-ibm
os=-mvs
;;
+ nacl)
+ basic_machine=le32-unknown
+ os=-nacl
+ ;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
@@ -783,6 +897,12 @@ case $basic_machine in
np1)
basic_machine=np1-gould
;;
+ neo-tandem)
+ basic_machine=neo-tandem
+ ;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
nsr-tandem)
basic_machine=nsr-tandem
;;
@@ -813,6 +933,14 @@ case $basic_machine in
basic_machine=i860-intel
os=-osf
;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
pbd)
basic_machine=sparc-tti
;;
@@ -857,9 +985,10 @@ case $basic_machine in
;;
power) basic_machine=power-ibm
;;
- ppc) basic_machine=powerpc-unknown
+ ppc | ppcbe) basic_machine=powerpc-unknown
;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ppc-* | ppcbe-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
@@ -953,6 +1082,9 @@ case $basic_machine in
basic_machine=i860-stratus
os=-sysv4
;;
+ strongarm-* | thumb-*)
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
sun2)
basic_machine=m68000-sun
;;
@@ -1009,17 +1141,9 @@ case $basic_machine in
basic_machine=t90-cray
os=-unicos
;;
- tic54x | c54x*)
- basic_machine=tic54x-unknown
- os=-coff
- ;;
- tic55x | c55x*)
- basic_machine=tic55x-unknown
- os=-coff
- ;;
- tic6x | c6x*)
- basic_machine=tic6x-unknown
- os=-coff
+ tile*)
+ basic_machine=$basic_machine-unknown
+ os=-linux-gnu
;;
tx39)
basic_machine=mipstx39-unknown
@@ -1088,6 +1212,9 @@ case $basic_machine in
xps | xps100)
basic_machine=xps100-honeywell
;;
+ xscale-* | xscalee[bl]-*)
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+ ;;
ymp)
basic_machine=ymp-cray
os=-unicos
@@ -1096,6 +1223,10 @@ case $basic_machine in
basic_machine=z8k-unknown
os=-sim
;;
+ z80-*-coff)
+ basic_machine=z80-unknown
+ os=-sim
+ ;;
none)
basic_machine=none-none
os=-none
@@ -1134,7 +1265,7 @@ case $basic_machine in
we32k)
basic_machine=we32k-att
;;
- sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
@@ -1181,9 +1312,12 @@ esac
if [ x"$os" != x"" ]
then
case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
+ # First match some system type aliases
+ # that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
+ -auroraux)
+ os=-auroraux
+ ;;
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
;;
@@ -1204,10 +1338,11 @@ case $os in
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+ | -sym* | -kopensolaris* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* \
+ | -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
@@ -1216,9 +1351,10 @@ case $os in
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1226,7 +1362,7 @@ case $os in
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1265,7 +1401,7 @@ case $os in
-opened*)
os=-openedition
;;
- -os400*)
+ -os400*)
os=-os400
;;
-wince*)
@@ -1314,7 +1450,7 @@ case $os in
-sinix*)
os=-sysv4
;;
- -tpf*)
+ -tpf*)
os=-tpf
;;
-triton*)
@@ -1356,6 +1492,11 @@ case $os in
-zvmoe)
os=-zvmoe
;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -nacl*)
+ ;;
-none)
;;
*)
@@ -1378,10 +1519,10 @@ else
# system, and we'll never get to this point.
case $basic_machine in
- score-*)
+ score-*)
os=-elf
;;
- spu-*)
+ spu-*)
os=-elf
;;
*-acorn)
@@ -1393,8 +1534,17 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
- c4x-* | tic4x-*)
- os=-coff
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ tic54x-*)
+ os=-coff
+ ;;
+ tic55x-*)
+ os=-coff
+ ;;
+ tic6x-*)
+ os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
@@ -1414,14 +1564,11 @@ case $basic_machine in
;;
m68000-sun)
os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
;;
m68*-cisco)
os=-aout
;;
- mep-*)
+ mep-*)
os=-elf
;;
mips*-cisco)
@@ -1448,7 +1595,7 @@ case $basic_machine in
*-ibm)
os=-aix
;;
- *-knuth)
+ *-knuth)
os=-mmixware
;;
*-wec)
@@ -1553,7 +1700,7 @@ case $basic_machine in
-sunos*)
vendor=sun
;;
- -aix*)
+ -cnk*|-aix*)
vendor=ibm
;;
-beos*)
diff --git a/configure b/configure
index bc5358a..9e7b455 100755
--- a/configure
+++ b/configure
@@ -1,60 +1,83 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61.
+# Generated by GNU Autoconf 2.68.
+#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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. ##
-## --------------------- ##
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+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+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
+ 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
-
-# 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=';'
+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
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (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
- PATH_SEPARATOR=:
+ 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
- rm -f conf$$.sh
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
fi
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
+# 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
@@ -63,20 +86,19 @@ fi
# 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.)
-as_nl='
-'
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
+as_myself=
+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
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
IFS=$as_save_IFS
;;
@@ -87,32 +109,285 @@ if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
fi
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && 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
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="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_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+
+ test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
+ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+ # We cannot yet assume a decent shell, so we have to provide a
+ # neutralization value for shells without unset; and this also
+ # works around shells that cannot unset nonexistent variables.
+ # Preserve -v and -x to the replacement shell.
+ BASH_ENV=/dev/null
+ ENV=/dev/null
+ (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+ export CONFIG_SHELL
+ case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+ esac
+ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ $as_echo "$0: Please tell bug-autoconf at gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
fi
-done
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ 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 ||
+$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 -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
-# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
@@ -126,13 +401,17 @@ else
as_basename=false
fi
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
-# Name of the executable.
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
@@ -147,568 +426,131 @@ echo X/"$0" |
}
s/.*/./; q'`
-# CDPATH.
-$as_unset CDPATH
+# 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
-if test "x$CONFIG_SHELL" = x; then
- if (eval ":") 2>/dev/null; then
- as_have_required=yes
-else
- as_have_required=no
-fi
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
- 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
+ # 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 sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
}
-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
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
-if as_func_ret_success; then
- :
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
else
- exitcode=1
- echo as_func_ret_success failed.
+ 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
+else
+ as_ln_s='cp -p'
fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
fi
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
else
- exitcode=1
- echo positional parameters were not saved.
+ 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
-test \$exitcode = 0) || { (exit 1); exit 1; }
+# 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'"
-(
- 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=.
- case $as_dir in
- /*)
- 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
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+SHELL=${CONFIG_SHELL-/bin/sh}
- 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=:
- # Zsh 3.x and 4.x performs 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
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
-
-:
-_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=:
- # Zsh 3.x and 4.x performs 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
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- 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 autoconf at gnu.org about your system,
- echo including any error possibly output before this
- echo message
-}
-
-
-
- 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 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
- # 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
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- 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
- { (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 sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-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
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-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
-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=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-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'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-
-
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
- ;;
-esac
-
-echo=${ECHO-echo}
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell.
- exec $SHELL "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-$*
-EOF
- exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string=`eval $cmd`) 2>/dev/null &&
- echo_test_string=`eval $cmd` &&
- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
- then
- break
- fi
- done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
-else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
-
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
-
- if test "X$echo" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- echo='print -r'
- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
- else
- # Try using printf.
- echo='printf %s\n'
- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- echo="$CONFIG_SHELL $0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$CONFIG_SHELL $0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
-
- for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
-
- if test "$prev" != 'sed 50q "$0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
- else
- # Oops. We lost completely, so just stick with echo.
- echo=echo
- fi
- fi
- fi
- fi
-fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
- ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
-fi
-
-
-
-
-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`
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
#
# Initializations.
@@ -721,7 +563,6 @@ cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME=
@@ -729,6 +570,7 @@ PACKAGE_TARNAME=
PACKAGE_VERSION=
PACKAGE_STRING=
PACKAGE_BUGREPORT=
+PACKAGE_URL=
ac_unique_file="include/directfb.h"
# Factoring default headers for most tests.
@@ -767,7208 +609,3882 @@ ac_includes_default="\
# 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
-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
-DIRECTFB_MAJOR_VERSION
-DIRECTFB_MINOR_VERSION
-DIRECTFB_MICRO_VERSION
-DIRECTFB_INTERFACE_AGE
-DIRECTFB_BINARY_AGE
-DIRECTFB_VERSION
-LT_RELEASE
-LT_CURRENT
-LT_BINARY
-LT_REVISION
-LT_AGE
-build
-build_cpu
-build_vendor
-build_os
-host
-host_cpu
-host_vendor
-host_os
-target
-target_cpu
-target_vendor
-target_os
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-am__isrc
-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
-PKG_CONFIG
-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
-CCAS
-CCASFLAGS
-CCASDEPMODE
-am__fastdepCCAS_TRUE
-am__fastdepCCAS_FALSE
-SED
-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
-LD
-PERL
-MAN2HTML
-HAVE_MAN2HTML_TRUE
-HAVE_MAN2HTML_FALSE
-OSX_CORE_TRUE
-OSX_CORE_FALSE
-X11_CORE_TRUE
-X11_CORE_FALSE
-HAVE_LINUX_TRUE
-HAVE_LINUX_FALSE
-BUILDPPCASM_TRUE
-BUILDPPCASM_FALSE
-BUILDARMASM_TRUE
-BUILDARMASM_FALSE
-THREADFLAGS
-THREADLIB
-DYNLIB
-AS
-ASFLAGS
-ENABLE_DEBUG_TRUE
-ENABLE_DEBUG_FALSE
-DIRECT_BUILD_DEBUG
-ENABLE_DEBUGS_TRUE
-ENABLE_DEBUGS_FALSE
-DIRECT_BUILD_DEBUGS
-ENABLE_TRACE_TRUE
-ENABLE_TRACE_FALSE
-DIRECT_BUILD_TRACE
-DIRECT_BUILD_TEXT
-DIRECT_BUILD_GETTID
-DIRECT_BUILD_NETWORK
-DIRECT_BUILD_STDBOOL
-ENABLE_MULTI_TRUE
-ENABLE_MULTI_FALSE
-FUSION_BUILD_MULTI
-FUSION_BUILD_KERNEL
-ENABLE_VOODOO_TRUE
-ENABLE_VOODOO_FALSE
-ENABLE_UNIQUE_TRUE
-ENABLE_UNIQUE_FALSE
-BUILDMMX_TRUE
-BUILDMMX_FALSE
-DEVMEM_CORE_TRUE
-DEVMEM_CORE_FALSE
-FBDEV_CORE_TRUE
-FBDEV_CORE_FALSE
-SDL_CFLAGS
-SDL_LIBS
-OSX_LIBS
-SDL_CORE_TRUE
-SDL_CORE_FALSE
-VNC_CONFIG
-VNC_CORE_TRUE
-VNC_CORE_FALSE
-VNC_LIBS
-VNC_CFLAGS
-SYSFS_LIBS
-JPEG_PROVIDER_TRUE
-JPEG_PROVIDER_FALSE
-ZLIB_LIBS
-LIBPNG_CONFIG
-PNG_PROVIDER_TRUE
-PNG_PROVIDER_FALSE
-BUILD_DIRECTFB_CSOURCE_TRUE
-BUILD_DIRECTFB_CSOURCE_FALSE
-GIF_PROVIDER_TRUE
-GIF_PROVIDER_FALSE
-FREETYPE_CFLAGS
-FREETYPE_LIBS
-FREETYPE_PROVIDER_TRUE
-FREETYPE_PROVIDER_FALSE
-V4L_PROVIDER_TRUE
-V4L_PROVIDER_FALSE
-TSLIB_CFLAGS
-TSLIB_LIBS
-SOFTWARE_RENDERING_TRUE
-SOFTWARE_RENDERING_FALSE
-DFB_SMOOTH_SCALING
-FUSION_MESSAGE_SIZE
-RUNTIME_SYSROOT
-DIRECTFB_CSOURCE
-GFX_ATI128_TRUE
-GFX_ATI128_FALSE
-GFX_CLE266_TRUE
-GFX_CLE266_FALSE
-GFX_CYBER5K_TRUE
-GFX_CYBER5K_FALSE
-GFX_DAVINCI_TRUE
-GFX_DAVINCI_FALSE
-GFX_EP9X_TRUE
-GFX_EP9X_FALSE
-GFX_GL_TRUE
-GFX_GL_FALSE
-GFX_GLX_TRUE
-GFX_GLX_FALSE
-GFX_I810_TRUE
-GFX_I810_FALSE
-GFX_I830_TRUE
-GFX_I830_FALSE
-GFX_MACH64_TRUE
-GFX_MACH64_FALSE
-GFX_MATROX_TRUE
-GFX_MATROX_FALSE
-GFX_NEOMAGIC_TRUE
-GFX_NEOMAGIC_FALSE
-GFX_NSC_TRUE
-GFX_NSC_FALSE
-GFX_NVIDIA_TRUE
-GFX_NVIDIA_FALSE
-GFX_OMAP_TRUE
-GFX_OMAP_FALSE
-GFX_PXA3XX_TRUE
-GFX_PXA3XX_FALSE
-GFX_RADEON_TRUE
-GFX_RADEON_FALSE
-GFX_SAVAGE_TRUE
-GFX_SAVAGE_FALSE
-GFX_SH772X_TRUE
-GFX_SH772X_FALSE
-GFX_SIS315_TRUE
-GFX_SIS315_FALSE
-GFX_TDFX_TRUE
-GFX_TDFX_FALSE
-GFX_UNICHROME_TRUE
-GFX_UNICHROME_FALSE
-GFX_VMWARE_TRUE
-GFX_VMWARE_FALSE
-DBOX2REMOTE_TRUE
-DBOX2REMOTE_FALSE
-DREAMBOXREMOTE_TRUE
-DREAMBOXREMOTE_FALSE
-DYNAPRO_INPUT_TRUE
-DYNAPRO_INPUT_FALSE
-ELO_INPUT_TRUE
-ELO_INPUT_FALSE
-GUNZE_INPUT_TRUE
-GUNZE_INPUT_FALSE
-H3600_TS_TRUE
-H3600_TS_FALSE
-JOYSTICK_INPUT_TRUE
-JOYSTICK_INPUT_FALSE
-KEYBOARD_INPUT_TRUE
-KEYBOARD_INPUT_FALSE
-LINUX_INPUT_TRUE
-LINUX_INPUT_FALSE
-LIRC_INPUT_TRUE
-LIRC_INPUT_FALSE
-MUTOUCH_TS_TRUE
-MUTOUCH_TS_FALSE
-ZYTRONIC_TS_TRUE
-ZYTRONIC_TS_FALSE
-PENMOUNT_TS_TRUE
-PENMOUNT_TS_FALSE
-PS2MOUSE_INPUT_TRUE
-PS2MOUSE_INPUT_FALSE
-SERIAL_MOUSE_INPUT_TRUE
-SERIAL_MOUSE_INPUT_FALSE
-SONYPI_TRUE
-SONYPI_FALSE
-TSLIB_TRUE
-TSLIB_FALSE
-UCB1X00_TS_TRUE
-UCB1X00_TS_FALSE
-WM97XX_TS_TRUE
-WM97XX_TS_FALSE
-BUILD_TESTS_TRUE
-BUILD_TESTS_FALSE
-BUILD_TOOLS_TRUE
-BUILD_TOOLS_FALSE
-CROSS_COMPILING_TRUE
-CROSS_COMPILING_FALSE
-BUILD_SHARED_TRUE
-BUILD_SHARED_FALSE
-BUILD_STATIC_TRUE
-BUILD_STATIC_FALSE
-SOPATH
-HAVE_LINUX
-DFB_CFLAGS_OMIT_FRAME_POINTER
-DFB_LDFLAGS
-DFB_INTERNAL_CFLAGS
-X11_CFLAGS
-X11_LIBS
-GIF_PROVIDER
-JPEG_PROVIDER
-LIBJPEG
-PNG_PROVIDER
-LIBPNG_CFLAGS
-LIBPNG_LIBS
-FREETYPE_PROVIDER
-DATADIR
-MODULEDIR
-MODULEDIRNAME
-INCLUDEDIR
-INTERNALINCLUDEDIR
-SYSCONFDIR
-LIBOBJS
-LTLIBOBJS'
-ac_subst_files=''
- ac_precious_vars='build_alias
-host_alias
-target_alias
-PKG_CONFIG
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CCAS
-CCASFLAGS
-CPP
-CXX
-CXXFLAGS
-CCC
-CXXCPP
-F77
-FFLAGS
-SDL_CFLAGS
-SDL_LIBS
-FREETYPE_CFLAGS
-FREETYPE_LIBS
-TSLIB_CFLAGS
-TSLIB_LIBS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# 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'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
-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
- ac_prev=
- continue
- fi
-
- 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_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -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-\(.*\)'`
- # 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
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=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-\([^=]*\)'`
- # 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
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -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 ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --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)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --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 ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_package=`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
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_package=`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
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- 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
- { (exit 1); exit 1; }; }
- 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
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
-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
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute directory names.
-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=\$$ac_var
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- { 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'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-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.
- 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
- fi
-fi
-
-ac_tool_prefix=
-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 .` ||
- { echo "$as_me: error: Working directory cannot be determined" >&2
- { (exit 1); exit 1; }; }
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- { 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 the parent directory.
- ac_confdir=`$as_dirname -- "$0" ||
-$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'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
- { (exit 1); exit 1; }; }
- 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.
-#
-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 this package to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-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]
- --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/PACKAGE]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-
- cat <<\_ACEOF
-
-Optional Features:
- --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]
- --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-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-osx build with Mac OS X support [default=auto]
- --enable-x11 build with X11 support [default=auto]
- --enable-extra-warnings enable extra warnings [default=no]
- --enable-profiling enable profiling support [default=no]
- --enable-debug enable debugging [default=no]
- --enable-debug-support enable debugging support [default=yes]
- --enable-trace enable call tracing [default=no]
- --enable-text enable text output [default=yes]
- --enable-gettid enable usage of gettid() [default=yes]
- --enable-network enable network support [default=yes]
- --enable-multi enable multi application core [default=no]
- --enable-voodoo enable Voodoo (network support) [default=no]
- --enable-unique enable Unique (WM Module) [default=no]
- --enable-mmx enable MMX support [default=auto]
- --enable-sse enable SSE support [default=auto]
- --enable-devmem build with generic /dev/mem support [default=yes]
- --enable-fbdev build with linux fbdev support [default=auto]
- --enable-sdl build with SDL support [default=no]
- --enable-vnc build with VNC support [default=auto]
- --enable-sysfs build with sysfs support [default=auto]
- --enable-jpeg build JPEG image provider [default=yes]
- --enable-zlib use zlib, e.g. for screen shots [default=no]
- --enable-png build PNG image provider [default=yes]
- --enable-gif build GIF image/video provider [default=yes]
- --enable-freetype build FreeType2 font provider [default=yes]
- --enable-video4linux build Video4Linux video provider [default=yes]
- --enable-video4linux2 build with Video4Linux2 support [default=no]
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --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-gfxdrivers=<list> compile gfxdrivers in <list>
- gfxdrivers may be comma separated
- 'all' builds all drivers (default), 'none' builds none
- Possible gfxdrivers are:
- ati128, cle266, cyber5k, davinci, ep9x, gl, i810, i830, mach64,
- matrox, neomagic, nsc, nvidia, omap, pxa3xx, radeon, savage, sh772x,
- sis315, tdfx, unichrome, vmware
- --with-inputdrivers=<list> compile inputdrivers in <list>
- inputdrivers may be comma separated
- 'all' builds all drivers (default), 'none' builds none
- Possible inputdrivers are:
- dbox2remote, dreamboxremote, dynapro, elo-input, gunze, h3600_ts,
- joystick, keyboard, linuxinput, lirc, mutouch, penmount, ps2mouse,
- serialmouse, sonypijogdial, tslib, ucb1x00, wm97xx, zytronic
- --without-software build without software rendering (can decrease binary size by >100k)
- --with-smooth-scaling build with smooth software scaling code (can increase binary size by >100k)
- --with-dither-rgb16=TYPE dithering to use when loading images into RGB16 surfaces [default=none]
- Possible types are:
- none - no dithering
- simple - simple dithering (increases data section by 256 bytes)
- advanced - advanced dithering (increases data section by 64 KBytes)
- --with-tests build test programs
- --with-message-size=SIZE allow fusion messages up to SIZE bytes [default=1024]
- --without-tools do not build any tools
- --with-sysroot=DIR search for lib/share et al within DIR at runtime
- (e.g. when loading modules)
-
-Some influential environment variables:
- PKG_CONFIG path to pkg-config utility
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib 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>
- CCAS assembler compiler command (defaults to CC)
- CCASFLAGS assembler compiler flags (defaults to CFLAGS)
- CPP C preprocessor
- CXX C++ compiler command
- CXXFLAGS C++ compiler flags
- CXXCPP C++ preprocessor
- F77 Fortran 77 compiler command
- FFLAGS Fortran 77 compiler flags
- SDL_CFLAGS C compiler flags for SDL, overriding pkg-config
- SDL_LIBS linker flags for SDL, overriding pkg-config
- FREETYPE_CFLAGS
- C compiler flags for FREETYPE, overriding pkg-config
- FREETYPE_LIBS
- linker flags for FREETYPE, overriding pkg-config
- TSLIB_CFLAGS
- C compiler flags for TSLIB, overriding pkg-config
- TSLIB_LIBS linker flags for TSLIB, overriding pkg-config
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" || continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`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
- .) # We are building in place.
- ac_srcdir=.
- 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
- 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
-
- 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 || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-configure
-generated by GNU Autoconf 2.61
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 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
-fi
-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 $as_me, which was
-generated by GNU Autoconf 2.61. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 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`
-/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`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
-done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
- 2)
- ac_configure_args1="$ac_configure_args1 '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- ac_configure_args="$ac_configure_args '$ac_arg'"
- ;;
- esac
- done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# 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: 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.
- {
- echo
-
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_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_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- *) $as_unset $ac_var ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- 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"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------------- ##
-## File substitutions. ##
-## ------------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 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 -f -r conftest* confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -n "$CONFIG_SITE"; then
- set x "$CONFIG_SITE"
-elif test "x$prefix" != xNONE; then
- set x "$prefix/share/config.site" "$prefix/etc/config.site"
-else
- set x "$ac_default_prefix/share/config.site" \
- "$ac_default_prefix/etc/config.site"
-fi
-shift
-for ac_site_file
-do
- 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;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
-done
-
-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;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-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 $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
- 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;}
- 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;}
- 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=:
- 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=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- 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;}
- { (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
-
-
-
-
-
-#
-# Making releases:
-# DIRECTFB_MICRO_VERSION += 1;
-# DIRECTFB_INTERFACE_AGE += 1;
-# DIRECTFB_BINARY_AGE += 1;
-# if any functions have been added, set DIRECTFB_INTERFACE_AGE to 0.
-# if backwards compatibility has been broken,
-# set DIRECTFB_BINARY_AGE and DIRECTFB_INTERFACE_AGE to 0.
-#
-#
-DIRECTFB_MAJOR_VERSION=1
-DIRECTFB_MINOR_VERSION=4
-DIRECTFB_MICRO_VERSION=3
-DIRECTFB_INTERFACE_AGE=0
-DIRECTFB_BINARY_AGE=3
-DIRECTFB_VERSION=$DIRECTFB_MAJOR_VERSION.$DIRECTFB_MINOR_VERSION.$DIRECTFB_MICRO_VERSION
-
-
-
-
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define DIRECTFB_VERSION "$DIRECTFB_VERSION"
-_ACEOF
-
-
-# libtool versioning
-LT_RELEASE=$DIRECTFB_MAJOR_VERSION.$DIRECTFB_MINOR_VERSION
-LT_CURRENT=`expr $DIRECTFB_MICRO_VERSION - $DIRECTFB_INTERFACE_AGE`
-LT_BINARY=`expr $DIRECTFB_MICRO_VERSION - $DIRECTFB_BINARY_AGE`
-LT_REVISION=$DIRECTFB_INTERFACE_AGE
-LT_AGE=`expr $DIRECTFB_BINARY_AGE - $DIRECTFB_INTERFACE_AGE`
-
-
-
-
-
-
-
-# The earliest version that this release has binary compatibility with.
-# This is used for module locations.
-BINARY_VERSION=$DIRECTFB_MAJOR_VERSION.$DIRECTFB_MINOR_VERSION-$LT_BINARY
-
-
-VERSION=$DIRECTFB_VERSION
-PACKAGE=DirectFB
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$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
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- 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\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-# 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.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-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; }
-if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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 &&
- { { 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;}
- { (exit 1); exit 1; }; }
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-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; }
-case $ac_cv_build in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-echo "$as_me: error: invalid value of canonical build" >&2;}
- { (exit 1); exit 1; }; };;
-esac
-build=$ac_cv_build
-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
-
-
-{ echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
-if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-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; }
-case $ac_cv_host in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-echo "$as_me: error: invalid value of canonical host" >&2;}
- { (exit 1); exit 1; }; };;
-esac
-host=$ac_cv_host
-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
-
-
-{ echo "$as_me:$LINENO: checking target system type" >&5
-echo $ECHO_N "checking target system type... $ECHO_C" >&6; }
-if test "${ac_cv_target+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_target" >&5
-echo "${ECHO_T}$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5
-echo "$as_me: error: invalid value of canonical target" >&2;}
- { (exit 1); exit 1; }; };;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-am__api_version='1.10'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# 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; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- 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.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # 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
- fi
- fi
- done
- done
- ;;
-esac
-done
-IFS=$as_save_IFS
-
-
-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. 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 value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
-Check your system clock" >&2;}
- { (exit 1); exit 1; }; }
-fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-test "$program_prefix" != NONE &&
- 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.
-# 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 -f conftest.sed
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-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;}
-fi
-
-{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
-echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
-if test -z "$MKDIR_P"; then
- if test "${ac_cv_path_mkdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
-done
-IFS=$as_save_IFS
-
-fi
-
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- test -d ./--version && rmdir ./--version
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
-echo "${ECHO_T}$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-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; }
-if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # 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_AWK="$ac_prog"
- 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; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}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 x ${MAKE-make}; ac_make=`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
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-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 \$ac_cv_prog_make_${ac_make}_set = yes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- SET_MAKE=
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if 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;}
- { (exit 1); exit 1; }; }
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE=$PACKAGE
- VERSION=$VERSION
-
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-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; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # 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_STRIP="${ac_tool_prefix}strip"
- 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; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}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; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # 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_ac_ct_STRIP="strip"
- 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_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; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ 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 at gnu.org." >&5
-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 at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-
-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; }
-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $PKG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- 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_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- 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; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}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; }
-if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $ac_pt_PKG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- 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_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
- 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; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_pt_PKG_CONFIG" = x; then
- PKG_CONFIG=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ 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 at gnu.org." >&5
-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 at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- PKG_CONFIG=$ac_pt_PKG_CONFIG
- fi
-else
- PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-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; }
- if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- PKG_CONFIG=""
- fi
-
-fi
-
-
-ac_config_headers="$ac_config_headers config.h"
-
-{ 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 was given.
-if test "${enable_maintainer_mode+set}" = set; then
- 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; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-# Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=no
-fi
-
-
-
-
-
-case x"$target" in
- xNONE | x)
- target_or_host="$host" ;;
- *)
- target_or_host="$target" ;;
-esac
-
-
-case "$target_or_host" in
- *-cygwin)
- ;;
-esac
-
-
-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
-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; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$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 { 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
- 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 "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; }
-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 { 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
- 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; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ 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 at gnu.org." >&5
-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 at 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.
-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; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$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 { 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
- 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
-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; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-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
- 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
- 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.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-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 "$CC"; then
- if test -n "$ac_tool_prefix"; then
- 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; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$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 { 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
- 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
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- 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; }
-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 { 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
- 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; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ 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 at gnu.org." >&5
-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 at 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
-See \`config.log' for more details." >&5
-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`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler --version >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -v >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -V >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-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
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out 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[^ ]*//'`
-#
-# List of possible output files, starting from the most likely.
-# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-# only as a last resort. b.out is created by i960 compilers.
-ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-#
-# The IRIX 6 linker writes into existing files which may not be
-# executable, retaining their permissions. Remove them first so a
-# subsequent execution test works.
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # 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 | *.map | *.inf | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- 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
- ac_file=''
-fi
-
-{ echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6; }
-if test -z "$ac_file"; then
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { 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
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-
-# 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; }
-# 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'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- 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.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-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; }
-
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# 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 { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- 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
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-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 | *.map | *.inf | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { 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
-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; }
-
-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; }
-if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- 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.o conftest.obj
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- 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 | *.map | *.inf ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- 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
-See \`config.log' for more details." >&5
-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; }
-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; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_compiler_gnu=no
-fi
-
-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`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- 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
-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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- :
-else
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-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
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$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
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* 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 -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 -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);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-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 { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_c89=$ac_arg
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
- xno)
- { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-
-
-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
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo done
-.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; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
-fi
-
-
-{ echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-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; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
- { echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5
-echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6; }
-else
- { echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5
-echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6; }
-fi
-set dummy $CC; ac_cc=`echo $2 |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- 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
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- test -f conftest2.$ac_objext && { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- test -f conftest2.$ac_objext && { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define NO_MINUS_C_MINUS_O 1
-_ACEOF
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-ac_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS" am_compiler_list=
-
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-if test "${am_cv_CCAS_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CCAS_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CCAS_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
- am__fastdepCCAS_TRUE=
- am__fastdepCCAS_FALSE='#'
-else
- am__fastdepCCAS_TRUE='#'
- am__fastdepCCAS_FALSE=
-fi
-
-
-# Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+SYSCONFDIR
+INTERNALINCLUDEDIR
+INCLUDEDIR
+MODULEDIRNAME
+MODULEDIR
+DATADIR
+FREETYPE_PROVIDER
+PNG_PROVIDER
+LIBJPEG
+JPEG_PROVIDER
+GIF_PROVIDER
+DFB_INTERNAL_CFLAGS
+DFB_LDFLAGS
+DFB_CFLAGS_OMIT_FRAME_POINTER
+HAVE_LINUX
+SOPATH
+BUILD_STATIC_FALSE
+BUILD_STATIC_TRUE
+BUILD_SHARED_FALSE
+BUILD_SHARED_TRUE
+CROSS_COMPILING_FALSE
+CROSS_COMPILING_TRUE
+BUILD_TOOLS_FALSE
+BUILD_TOOLS_TRUE
+BUILD_TESTS_FALSE
+BUILD_TESTS_TRUE
+WM97XX_TS_FALSE
+WM97XX_TS_TRUE
+UCB1X00_TS_FALSE
+UCB1X00_TS_TRUE
+TSLIB_FALSE
+TSLIB_TRUE
+SONYPI_FALSE
+SONYPI_TRUE
+SERIAL_MOUSE_INPUT_FALSE
+SERIAL_MOUSE_INPUT_TRUE
+PS2MOUSE_INPUT_FALSE
+PS2MOUSE_INPUT_TRUE
+PENMOUNT_TS_FALSE
+PENMOUNT_TS_TRUE
+ZYTRONIC_TS_FALSE
+ZYTRONIC_TS_TRUE
+MUTOUCH_TS_FALSE
+MUTOUCH_TS_TRUE
+LIRC_INPUT_FALSE
+LIRC_INPUT_TRUE
+LINUX_INPUT_FALSE
+LINUX_INPUT_TRUE
+KEYBOARD_INPUT_FALSE
+KEYBOARD_INPUT_TRUE
+JOYSTICK_INPUT_FALSE
+JOYSTICK_INPUT_TRUE
+H3600_TS_FALSE
+H3600_TS_TRUE
+GUNZE_INPUT_FALSE
+GUNZE_INPUT_TRUE
+ELO_INPUT_FALSE
+ELO_INPUT_TRUE
+DYNAPRO_INPUT_FALSE
+DYNAPRO_INPUT_TRUE
+DREAMBOXREMOTE_FALSE
+DREAMBOXREMOTE_TRUE
+DBOX2REMOTE_FALSE
+DBOX2REMOTE_TRUE
+SH772X_SHJPEG_FALSE
+SH772X_SHJPEG_TRUE
+GFX_VMWARE_FALSE
+GFX_VMWARE_TRUE
+GFX_UNICHROME_FALSE
+GFX_UNICHROME_TRUE
+GFX_TDFX_FALSE
+GFX_TDFX_TRUE
+GFX_SIS315_FALSE
+GFX_SIS315_TRUE
+GFX_SH772X_FALSE
+GFX_SH772X_TRUE
+GFX_SAVAGE_FALSE
+GFX_SAVAGE_TRUE
+GFX_RADEON_FALSE
+GFX_RADEON_TRUE
+GFX_PXA3XX_FALSE
+GFX_PXA3XX_TRUE
+GFX_OMAP_FALSE
+GFX_OMAP_TRUE
+GFX_NVIDIA_FALSE
+GFX_NVIDIA_TRUE
+GFX_NSC_FALSE
+GFX_NSC_TRUE
+GFX_NEOMAGIC_FALSE
+GFX_NEOMAGIC_TRUE
+GFX_MATROX_FALSE
+GFX_MATROX_TRUE
+GFX_MACH64_FALSE
+GFX_MACH64_TRUE
+GFX_I830_FALSE
+GFX_I830_TRUE
+GFX_I810_FALSE
+GFX_I810_TRUE
+GFX_GLX_FALSE
+GFX_GLX_TRUE
+GFX_GL_FALSE
+GFX_GL_TRUE
+GFX_EP9X_FALSE
+GFX_EP9X_TRUE
+GFX_DAVINCI_FALSE
+GFX_DAVINCI_TRUE
+GFX_CYBER5K_FALSE
+GFX_CYBER5K_TRUE
+GFX_CLE266_FALSE
+GFX_CLE266_TRUE
+GFX_ATI128_FALSE
+GFX_ATI128_TRUE
+DIRECTFB_CSOURCE
+RUNTIME_SYSROOT
+FUSION_MESSAGE_SIZE
+VOODOO_BUILD_NO_SETSOCKOPT
+DFB_SMOOTH_SCALING
+SOFTWARE_RENDERING_FALSE
+SOFTWARE_RENDERING_TRUE
+TSLIB_LIBS
+TSLIB_CFLAGS
+SH772X_SHJPEG_DEP_LIBS
+SH772X_SHJPEG_DEP_CFLAGS
+SH772X_DEP_LIBS
+SH772X_DEP_CFLAGS
+V4L_PROVIDER_FALSE
+V4L_PROVIDER_TRUE
+LINOTYPE_PROVIDER_FALSE
+LINOTYPE_PROVIDER_TRUE
+LINOTYPE_LIBS
+LINOTYPE_CFLAGS
+FREETYPE_PROVIDER_FALSE
+FREETYPE_PROVIDER_TRUE
+FREETYPE_LIBS
+FREETYPE_CFLAGS
+GIF_PROVIDER_FALSE
+GIF_PROVIDER_TRUE
+BUILD_DIRECTFB_CSOURCE_FALSE
+BUILD_DIRECTFB_CSOURCE_TRUE
+PNG_PROVIDER_FALSE
+PNG_PROVIDER_TRUE
+LIBPNG_LIBS
+LIBPNG_CFLAGS
+ZLIB_LIBS
+JPEG_PROVIDER_FALSE
+JPEG_PROVIDER_TRUE
+SYSFS_LIBS
+VNC_CFLAGS
+VNC_LIBS
+VNC_CORE_FALSE
+VNC_CORE_TRUE
+VNC_CONFIG
+SDL_CORE_FALSE
+SDL_CORE_TRUE
+OSX_LIBS
+SDL_LIBS
+SDL_CFLAGS
+FBDEV_CORE_FALSE
+FBDEV_CORE_TRUE
+DEVMEM_CORE_FALSE
+DEVMEM_CORE_TRUE
+BUILDMMX_FALSE
+BUILDMMX_TRUE
+ENABLE_UNIQUE_FALSE
+ENABLE_UNIQUE_TRUE
+ENABLE_VOODOO_FALSE
+ENABLE_VOODOO_TRUE
+ENABLE_ONE_FALSE
+ENABLE_ONE_TRUE
+FUSION_BUILD_KERNEL
+FUSION_BUILD_MULTI
+ENABLE_MULTI_FALSE
+ENABLE_MULTI_TRUE
+LIBM
+DEP_VOODOO
+DIRECTFB_BUILD_PURE_VOODOO_FALSE
+DIRECTFB_BUILD_PURE_VOODOO_TRUE
+DIRECTFB_BUILD_PURE_VOODOO
+DIRECTFB_BUILD_VOODOO_FALSE
+DIRECTFB_BUILD_VOODOO_TRUE
+DIRECTFB_BUILD_VOODOO
+DIRECT_BUILD_STDBOOL
+DIRECT_BUILD_NETWORK
+DIRECT_BUILD_GETTID
+DIRECT_BUILD_TEXT
+DIRECT_BUILD_TRACE
+ENABLE_TRACE_FALSE
+ENABLE_TRACE_TRUE
+DIRECT_BUILD_DEBUGS
+ENABLE_DEBUGS_FALSE
+ENABLE_DEBUGS_TRUE
+DIRECT_BUILD_DEBUG
+ENABLE_DEBUG_FALSE
+ENABLE_DEBUG_TRUE
+ASFLAGS
+AS
+DYNLIB
+THREADLIB
+THREADFLAGS
+BUILDARMASM_FALSE
+BUILDARMASM_TRUE
+BUILDPPCASM_FALSE
+BUILDPPCASM_TRUE
+HAVE_LINUX_FALSE
+HAVE_LINUX_TRUE
+X11_CORE_FALSE
+X11_CORE_TRUE
+X11_LIBS
+X11_CFLAGS
+OSX_CORE_FALSE
+OSX_CORE_TRUE
+FLUXCOMP
+HAVE_MAN2HTML_FALSE
+HAVE_MAN2HTML_TRUE
+MAN2HTML
+PERL
+CXXCPP
+CPP
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+MANIFEST_TOOL
+RANLIB
+ac_ct_AR
+AR
+DLLTOOL
+OBJDUMP
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+EGREP
+GREP
+SED
+LIBTOOL
+am__fastdepCCAS_FALSE
+am__fastdepCCAS_TRUE
+CCASDEPMODE
+CCASFLAGS
+CCAS
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+am__nodep
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
+PKG_CONFIG
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_os
+target_vendor
+target_cpu
+target
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+LT_AGE
+LT_REVISION
+LT_BINARY
+LT_CURRENT
+LT_RELEASE
+DIRECTFB_VERSION
+DIRECTFB_BINARY_AGE
+DIRECTFB_INTERFACE_AGE
+DIRECTFB_MICRO_VERSION
+DIRECTFB_MINOR_VERSION
+DIRECTFB_MAJOR_VERSION
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_silent_rules
+enable_maintainer_mode
+enable_static
+enable_dependency_tracking
+enable_shared
+with_pic
+enable_fast_install
+with_gnu_ld
+with_sysroot
+enable_libtool_lock
+enable_osx
+enable_x11
+enable_extra_warnings
+enable_profiling
+enable_debug
+enable_debug_support
+enable_trace
+enable_text
+enable_gettid
+enable_network
+enable_multi
+enable_one
+enable_voodoo
+enable_pure_voodoo
+enable_unique
+enable_mmx
+enable_sse
+enable_devmem
+enable_fbdev
+enable_sdl
+enable_vnc
+enable_sysfs
+enable_jpeg
+enable_zlib
+enable_png
+enable_gif
+enable_freetype
+enable_linotype
+enable_video4linux
+enable_video4linux2
+with_gfxdrivers
+with_inputdrivers
+with_software
+with_smooth_scaling
+with_dither_rgb16
+with_dither
+with_setsockopt
+with_tests
+with_message_size
+with_tools
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CXX
+CXXFLAGS
+CCC
+CCAS
+CCASFLAGS
+CPP
+CXXCPP
+X11_CFLAGS
+X11_LIBS
+SDL_CFLAGS
+SDL_LIBS
+LIBPNG_CFLAGS
+LIBPNG_LIBS
+FREETYPE_CFLAGS
+FREETYPE_LIBS
+LINOTYPE_CFLAGS
+LINOTYPE_LIBS
+SH772X_DEP_CFLAGS
+SH772X_DEP_LIBS
+SH772X_SHJPEG_DEP_CFLAGS
+SH772X_SHJPEG_DEP_LIBS
+TSLIB_CFLAGS
+TSLIB_LIBS'
-# Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi
+# 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
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# 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'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
-{ 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; }
-if test "${lt_cv_path_SED+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
+ac_prev=
+ac_dashdash=
+for ac_option
do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { 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
- done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
-fi
+ case $ac_option in
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
+ esac
-SED=$lt_cv_path_SED
+ # Accept the important Cygnus configure options, so we can diagnose typos.
-{ echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6; }
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
-{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Extract the first word of "grep ggrep" to use in msg output
-if test -z "$GREP"; then
-set dummy grep ggrep; ac_prog_name=$2
-if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- 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
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- 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
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
- $ac_path_GREP_found && break 3
- done
-done
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
-done
-IFS=$as_save_IFS
+ --config-cache | -C)
+ cache_file=config.cache ;;
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
-fi
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
-GREP="$ac_cv_path_GREP"
-if test -z "$GREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
- { (exit 1); exit 1; }; }
-fi
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ 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 ;;
-else
- ac_cv_path_GREP=$GREP
-fi
+ -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 ;;
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ 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_useropt=\$ac_optarg ;;
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
-{ echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- # Extract the first word of "egrep" to use in msg output
-if test -z "$EGREP"; then
-set dummy egrep; ac_prog_name=$2
-if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- 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
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- 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
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
- $ac_path_EGREP_found && break 3
- done
-done
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
-done
-IFS=$as_save_IFS
+ -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 ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
-fi
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
-EGREP="$ac_cv_path_EGREP"
-if test -z "$EGREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
- { (exit 1); exit 1; }; }
-fi
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
-else
- ac_cv_path_EGREP=$EGREP
-fi
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --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)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
- fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
-# 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
-else
- with_gnu_ld=no
-fi
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
-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; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
-else
- { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}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;}
- { (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; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
+ -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 ;;
-{ 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; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
-{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
-if test "${lt_cv_path_NM+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- 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; }
-NM="$lt_cv_path_NM"
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
-{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&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; }
-else
- { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6; }
-fi
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
-{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
-echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- if ( file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ 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_useropt=\$ac_optarg ;;
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ 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
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
+ eval with_$ac_useropt=no ;;
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
+
esac
- ;;
+done
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ as_fn_error $? "missing argument to $ac_option"
+fi
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
- lt_cv_deplibs_check_method=pass_all
- ;;
+fi
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
+# 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=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ 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_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
-netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ $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
fi
- ;;
+fi
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
-nto-qnx*)
- lt_cv_deplibs_check_method=unknown
- ;;
+test "$silent" = yes && exec 6>/dev/null
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ as_fn_error $? "pwd does not report name of working directory"
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
+# 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 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
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ 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
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
+#
+# Report the --help message.
+#
+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 this package to adapt to many kinds of systems.
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
+Usage: $0 [OPTION]... [VAR=VALUE]...
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$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
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+Defaults for the options are specified in brackets.
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+For better control, use the options below.
-# Allow CC to be a program name with arguments.
-compiler=$CC
+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]
+ --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/PACKAGE]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+ cat <<\_ACEOF
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval=$enable_libtool_lock;
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+ --target=TARGET configure for building compilers for TARGET [HOST]
+_ACEOF
fi
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+if test -n "$ac_init_help"; then
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line 5092 "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
- (exit $ac_status); }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
+ cat <<\_ACEOF
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > 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
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
+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-silent-rules less verbose build output (undo: `make V=1')
+ --disable-silent-rules verbose build output (undo: `make V=0')
+ --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]
+ --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-fast-install[=PKGS]
+ optimize for fast installation [default=yes]
+ --disable-libtool-lock avoid locking (might break parallel builds)
+ --enable-osx build with Mac OS X support [default=auto]
+ --enable-x11 build with X11 support [default=auto]
+ --enable-extra-warnings enable extra warnings [default=no]
+ --enable-profiling enable profiling support [default=no]
+ --enable-debug enable debugging [default=no]
+ --enable-debug-support enable debugging support [default=yes]
+ --enable-trace enable call tracing [default=no]
+ --enable-text enable text output [default=yes]
+ --enable-gettid enable usage of gettid() [default=yes]
+ --enable-network enable network support [default=yes]
+ --enable-multi enable multi application core [default=no]
+ --enable-one enable One (IPC) [default=no]
+ --enable-voodoo enable Voodoo (network support) [default=no]
+ --enable-pure-voodoo enable pure Voodoo mode [default=no]
+ --enable-unique enable Unique (WM Module) [default=no]
+ --enable-mmx enable MMX support [default=auto]
+ --enable-sse enable SSE support [default=auto]
+ --enable-devmem build with generic /dev/mem support [default=yes]
+ --enable-fbdev build with linux fbdev support [default=auto]
+ --enable-sdl build with SDL support [default=no]
+ --enable-vnc build with VNC support [default=auto]
+ --enable-sysfs build with sysfs support [default=auto]
+ --enable-jpeg build JPEG image provider [default=yes]
+ --enable-zlib use zlib, e.g. for screen shots [default=no]
+ --enable-png build PNG image provider, [default=yes]
+ --enable-gif build GIF image/video provider [default=yes]
+ --enable-freetype build FreeType2 font provider [default=yes]
+ --enable-linotype build LinoType font provider [default=yes]
+ --enable-video4linux build Video4Linux video provider [default=yes]
+ --enable-video4linux2 build with Video4Linux2 support [default=no]
-*-*-sco3.2v5*)
- # 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; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- 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
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+ --with-gfxdrivers=LIST LIST is a comma separated selection of gfxdrivers to
+ build. Possible gfxdrivers are: all (builds all
+ drivers), none (builds none), ati128, cle266,
+ cyber5k, davinci, ep9x, gl, i810, i830, mach64,
+ matrox, neomagic, nsc, nvidia, omap, pxa3xx, radeon,
+ savage, sh772x, sis315, tdfx, unichrome, vmware.
+ [default=all]
+ --with-inputdrivers=LIST
+ LIST is a comma separated selection of inputdrivers
+ to build. Possible inputdrivers are: all (builds all
+ drivers), none (builds none), dbox2remote,
+ dreamboxremote, dynapro, elo-input, gunze, h3600_ts,
+ joystick, keyboard, linuxinput, lirc, mutouch,
+ penmount, ps2mouse, serialmouse, sonypijogdial,
+ tslib, ucb1x00, wm97xx, zytronic. [default=all]
+ --without-software build without software rendering (can decrease
+ binary size by >100k)
+ --with-smooth-scaling build with smooth software scaling code (can
+ increase binary size by >100k)
+ --with-dither-rgb16=TYPE
+ dithering to use when loading images into RGB16
+ surfaces. Possible values for TYPE are: none (no
+ dithering), simple (simple dithering, which
+ increases the data section by 256 bytes), advanced
+ (advanced dithering, which increases the data
+ section by 64 KBytes). [default=none]
+ --with-dither=TYPE dithering to use when loading images into non-RGB16
+ surfaces. Possible values for TYPE are: none (no
+ dithering), simple (simple dithering, which
+ increases the data section by 64 bytes), advanced
+ (advanced dithering, which increases the data
+ section by 16 KBytes). [default=none]
+ --without-setsockopt build without setsockopt
+ --with-tests build test programs
+ --with-message-size=SIZE
+ allow fusion messages up to SIZE bytes
+ [default=1024]
+ --without-tools do not build any tools
+ --with-sysroot=DIR search for lib/share et al within DIR at runtime,
+ e.g. when loading modules
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
+Some influential environment variables:
+ PKG_CONFIG path to pkg-config utility
+ PKG_CONFIG_PATH
+ directories to add to pkg-config's search path
+ PKG_CONFIG_LIBDIR
+ path overriding pkg-config's built-in search path
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CXX C++ compiler command
+ CXXFLAGS C++ compiler flags
+ CCAS assembler compiler command (defaults to CC)
+ CCASFLAGS assembler compiler flags (defaults to CFLAGS)
+ CPP C preprocessor
+ CXXCPP C++ preprocessor
+ X11_CFLAGS C compiler flags for X11, overriding pkg-config
+ X11_LIBS linker flags for X11, overriding pkg-config
+ SDL_CFLAGS C compiler flags for SDL, overriding pkg-config
+ SDL_LIBS linker flags for SDL, overriding pkg-config
+ LIBPNG_CFLAGS
+ C compiler flags for LIBPNG, overriding pkg-config
+ LIBPNG_LIBS linker flags for LIBPNG, overriding pkg-config
+ FREETYPE_CFLAGS
+ C compiler flags for FREETYPE, overriding pkg-config
+ FREETYPE_LIBS
+ linker flags for FREETYPE, overriding pkg-config
+ LINOTYPE_CFLAGS
+ C compiler flags for LINOTYPE, overriding pkg-config
+ LINOTYPE_LIBS
+ linker flags for LINOTYPE, overriding pkg-config
+ SH772X_DEP_CFLAGS
+ C compiler flags for SH772X_DEP, overriding pkg-config
+ SH772X_DEP_LIBS
+ linker flags for SH772X_DEP, overriding pkg-config
+ SH772X_SHJPEG_DEP_CFLAGS
+ C compiler flags for SH772X_SHJPEG_DEP, overriding pkg-config
+ SH772X_SHJPEG_DEP_LIBS
+ linker flags for SH772X_SHJPEG_DEP, overriding pkg-config
+ TSLIB_CFLAGS
+ C compiler flags for TSLIB, overriding pkg-config
+ TSLIB_LIBS linker flags for TSLIB, overriding pkg-config
-int
-main ()
-{
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
- ;
- return 0;
-}
+Report bugs to the package provider.
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- lt_cv_cc_needs_belf=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- lt_cv_cc_needs_belf=no
+ac_status=$?
fi
-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'
-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
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$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"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > 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
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+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
+ .) # We are building in place.
+ ac_srcdir=.
+ 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
+ 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
-need_locks="$enable_libtool_lock"
+ 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
+ $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 $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.68
-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
-{ 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; }
-# 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
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
+Copyright (C) 2010 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+ exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
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 && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- }; then
- :
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
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
+ ac_retval=1
fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
-rm -f conftest.err conftest.$ac_ext
+} # ac_fn_c_try_compile
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
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 && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- }; then
- # Broken: success on invalid input.
-continue
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
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
+ ac_retval=1
fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
-rm -f conftest.err conftest.$ac_ext
+} # ac_fn_cxx_try_compile
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ 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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ 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_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
- done
- ac_cv_prog_CPP=$CPP
+} # ac_fn_c_try_link
-fi
- CPP=$ac_cv_prog_CPP
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- ac_cv_prog_CPP=$CPP
-fi
-{ echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
+$4
+#include <$2>
_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
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 && {
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
- }; then
- :
+ }; then :
+ ac_retval=0
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
+ ac_retval=1
fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
-rm -f conftest.err conftest.$ac_ext
+} # ac_fn_c_try_cpp
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
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 && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- # Broken: success on invalid input.
-continue
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
else
- 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
- # Passes both tests.
-ac_preproc_ok=:
-break
+ ac_retval=$ac_status
fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
-rm -f conftest.err conftest.$ac_ext
+} # ac_fn_c_try_run
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- { { 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
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $2 innocuous_$2
-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
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $2 (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+#undef $2
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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 <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
+/* 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
+char $2 ();
+/* 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_$2 || defined __stub___$2
+choke me
+#endif
int
main ()
{
-
+return $2 ();
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_func
+
+# ac_fn_cxx_try_cpp LINENO
+# ------------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
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); } && {
- test -z "$ac_c_werror_flag" ||
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_header_stdc=yes
+ }; then :
+ ac_retval=0
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
-fi
-
-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.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
+ ac_retval=1
fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
- :
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-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))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
+} # ac_fn_cxx_try_cpp
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
+# ac_fn_cxx_try_link LINENO
+# -------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_link ()
{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ 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 :
+ ac_retval=0
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&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 core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ ac_retval=1
fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+} # ac_fn_cxx_try_link
-fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
+# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
+# --------------------------------------------
+# Tries to find the compile-time value of EXPR in a program that includes
+# INCLUDES, setting VAR accordingly. Returns whether the value could be
+# computed
+ac_fn_c_compute_int ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= 0)];
+test_array [0] = 0
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
+ ;
+ return 0;
+}
_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_hi=$ac_mid; break
+else
+ as_fn_arith $ac_mid + 1 && ac_lo=$as_val
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) < 0)];
+test_array [0] = 0
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
-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 { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
+ ;
+ return 0;
+}
_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_includes_default
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= $ac_mid)];
+test_array [0] = 0
-#include <$ac_header>
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- eval "$as_ac_Header=yes"
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_lo=$ac_mid; break
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_Header=no"
+ as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
fi
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ ac_lo= ac_hi=
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_hi=$ac_mid
+else
+ as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
done
+case $ac_lo in #((
+?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
+'') ac_retval=1 ;;
+esac
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+static long int longval () { return $2; }
+static unsigned long int ulongval () { return $2; }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (($2) < 0)
+ {
+ long int i = longval ();
+ if (i != ($2))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ($2))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ echo >>conftest.val; read $3 <conftest.val; ac_retval=0
+else
+ ac_retval=1
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f conftest.val
+ fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
-for ac_header in dlfcn.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+} # ac_fn_c_compute_int
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if eval \${$3+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$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; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
+$4
+#include <$2>
_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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
ac_header_compiler=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
+ ac_header_compiler=no
fi
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
+{ $as_echo "$as_me:${as_lineno-$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; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <$ac_header>
+#include <$2>
_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
+if ac_fn_c_try_cpp "$LINENO"; then :
ac_header_preproc=yes
else
- 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; }
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$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
+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;}
- ac_header_preproc=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
;;
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;}
-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
;;
esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- eval "$as_ac_Header=\$ac_header_preproc"
+ eval "$3=\$ac_header_compiler"
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-fi
+} # ac_fn_c_check_header_mongrel
-done
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_c_check_decl ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ as_decl_name=`echo $2|sed 's/ *(.*//'`
+ as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+#ifndef $as_decl_name
+#ifdef __cplusplus
+ (void) $as_decl_use;
+#else
+ (void) $as_decl_name;
+#endif
+#endif
-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 -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; }
-if test "${ac_cv_prog_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
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_CXX="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
+ eval "$3=no"
fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
- { echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_decl
+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 $as_me, which was
+generated by GNU Autoconf 2.68. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 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`
+/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`
+_ASUNAME
- test -n "$CXX" && break
- done
-fi
-if test -z "$CXX"; then
- ac_ct_CXX=$CXX
- 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; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CXX"; then
- ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # 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_ac_ct_CXX="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
+ $as_echo "PATH: $as_dir"
+ 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; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
+} >&5
- test -n "$ac_ct_CXX" && break
-done
+cat >&5 <<_ACEOF
- if test "x$ac_ct_CXX" = x; then
- CXX="g++"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ 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 at gnu.org." >&5
-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 at 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`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler --version >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -v >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -V >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
+## ----------- ##
+## Core tests. ##
+## ----------- ##
-{ 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; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 2)
+ as_fn_append ac_configure_args1 " '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ as_fn_append ac_configure_args " '$ac_arg'"
+ ;;
+ esac
+ done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
- ac_compiler_gnu=no
-fi
+# 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: 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.
+ {
+ echo
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+ $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+ 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:${as_lineno-$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= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ 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"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
-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`
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- 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
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
+ $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ 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
-int
-main ()
-{
+ if test -n "$ac_subst_files"; then
+ $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+ 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
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test -s confdefs.h; then
+ $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
- CXXFLAGS=""
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
-int
-main ()
-{
+$as_echo "/* confdefs.h */" > confdefs.h
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# Predefined preprocessor variables.
- ac_cxx_werror_flag=$ac_save_cxx_werror_flag
- CXXFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-main ()
-{
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
- ;
- return 0;
-}
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
_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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
-fi
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
-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
-{ 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
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
else
- if test "$GXX" = yes; then
- CXXFLAGS="-O2"
- else
- CXXFLAGS=
- fi
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
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'
-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; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CXX_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+ { $as_echo "$as_me:${as_lineno-$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" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+done
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CXX_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
+ fi
else
- am_cv_CXX_dependencies_compiler_type=none
+ { $as_echo "$as_me:${as_lineno-$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 $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
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:${as_lineno-$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)
+ { $as_echo "$as_me:${as_lineno-$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
+ # 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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:${as_lineno-$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=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$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_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
fi
-{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
- am__fastdepCXX_TRUE=
- am__fastdepCXX_FALSE='#'
-else
- am__fastdepCXX_TRUE='#'
- am__fastdepCXX_FALSE=
-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
-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=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; }
-if test -z "$CXXCPP"; then
- if test "${ac_cv_prog_CXXCPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Double quotes because CXXCPP needs to be expanded
- for CXXCPP in "$CXX -E" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- # Broken: fails on valid input.
-continue
-fi
+#
+# Making releases:
+# DIRECTFB_MICRO_VERSION += 1;
+# DIRECTFB_INTERFACE_AGE += 1;
+# DIRECTFB_BINARY_AGE += 1;
+# if any functions have been added, set DIRECTFB_INTERFACE_AGE to 0.
+# if backwards compatibility has been broken,
+# set DIRECTFB_BINARY_AGE and DIRECTFB_INTERFACE_AGE to 0.
+#
+#
+DIRECTFB_MAJOR_VERSION=1
+DIRECTFB_MINOR_VERSION=4
+DIRECTFB_MICRO_VERSION=17
+DIRECTFB_INTERFACE_AGE=11
+DIRECTFB_BINARY_AGE=11
+DIRECTFB_VERSION=$DIRECTFB_MAJOR_VERSION.$DIRECTFB_MINOR_VERSION.$DIRECTFB_MICRO_VERSION
+
+#fluxcomp 1.3.0
+FLUXCOMP_REQUIRED_VERSIONCODE=1003000
+
+
-rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
- done
- ac_cv_prog_CXXCPP=$CXXCPP
-fi
- CXXCPP=$ac_cv_prog_CXXCPP
-else
- ac_cv_prog_CXXCPP=$CXXCPP
-fi
-{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
+cat >>confdefs.h <<_ACEOF
+#define DIRECTFB_VERSION "$DIRECTFB_VERSION"
_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- }; then
- :
-else
- 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
+# libtool versioning
+LT_RELEASE=$DIRECTFB_MAJOR_VERSION.$DIRECTFB_MINOR_VERSION
+LT_CURRENT=`expr $DIRECTFB_MICRO_VERSION - $DIRECTFB_INTERFACE_AGE`
+LT_BINARY=`expr $DIRECTFB_MICRO_VERSION - $DIRECTFB_BINARY_AGE`
+LT_REVISION=$DIRECTFB_INTERFACE_AGE
+LT_AGE=`expr $DIRECTFB_BINARY_AGE - $DIRECTFB_INTERFACE_AGE`
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
-else
- { { 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
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-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'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-fi
+# The earliest version that this release has binary compatibility with.
+# This is used for module locations.
+BINARY_VERSION=$DIRECTFB_MAJOR_VERSION.$DIRECTFB_MINOR_VERSION-$LT_BINARY
-ac_ext=f
-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 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; }
-if test "${ac_cv_prog_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$F77"; then
- ac_cv_prog_F77="$F77" # 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_F77="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
+
+VERSION=$DIRECTFB_VERSION
+PACKAGE=DirectFB
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$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
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
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; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+if test -z "$ac_aux_dir"; then
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
fi
+# 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.
- test -n "$F77" && break
- done
-fi
-if test -z "$F77"; then
- ac_ct_F77=$F77
- 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; }
-if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_F77"; then
- ac_cv_prog_ac_ct_F77="$ac_ct_F77" # 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_ac_ct_F77="$ac_prog"
- 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; }
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
+ 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_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+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
- test -n "$ac_ct_F77" && break
-done
- if test "x$ac_ct_F77" = x; then
- F77=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ 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 at gnu.org." >&5
-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 at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- F77=$ac_ct_F77
- fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+ $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_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
fi
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler --version >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -v >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -V >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-rm -f a.out
-
-# If we don't use `.F' as extension, the preprocessor is not run on the
-# 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; }
-if test "${ac_cv_f77_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
- program main
-#ifndef __GNUC__
- choke me
-#endif
+host=$ac_cv_host
+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
- end
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_f77_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_compiler_gnu=yes
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
+$as_echo_n "checking target system type... " >&6; }
+if ${ac_cv_target+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test "x$target_alias" = x; then
+ ac_cv_target=$ac_cv_host
+else
+ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+fi
- ac_compiler_gnu=no
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
+$as_echo "$ac_cv_target" >&6; }
+case $ac_cv_target in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
+esac
+target=$ac_cv_target
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_target
+shift
+target_cpu=$1
+target_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+target_os=$*
+IFS=$ac_save_IFS
+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-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; }
-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; }
-if test "${ac_cv_prog_f77_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- FFLAGS=-g
-cat >conftest.$ac_ext <<_ACEOF
- program main
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+test -n "$target_alias" &&
+ test "$program_prefix$program_suffix$program_transform_name" = \
+ NONENONEs,x,x, &&
+ program_prefix=${target_alias}-
- end
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_f77_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_f77_g=yes
+am__api_version='1.11'
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# 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.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+ ./ | .// | /[cC]/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ 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.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ 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
- ac_cv_prog_f77_g=no
-fi
+ done
+IFS=$as_save_IFS
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.one conftest.two conftest.dir
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$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
- if test "x$ac_cv_f77_compiler_gnu" = xyes; then
- FFLAGS="-g -O2"
- else
- FFLAGS="-g"
- fi
-else
- if test "x$ac_cv_f77_compiler_gnu" = xyes; then
- FFLAGS="-O2"
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
else
- FFLAGS=
+ # 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 value is a relative name.
+ INSTALL=$ac_install_sh
fi
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
-G77=`test $ac_compiler_gnu = yes && echo yes`
-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
-
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-# 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; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- i=0
- teststring="ABCD"
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+esac
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
- cygwin* | mingw*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+ fi
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+test "$program_prefix" != NONE &&
+ 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 $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
*)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
- = "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # 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_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
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; }
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
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; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*) # Its linker distinguishes data from code symbols
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- ;;
-linux* | k*bsd*-gnu)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDGIRSTW]'
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # 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_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
+done
+ done
+IFS=$as_save_IFS
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- 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
- (exit $ac_status); } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if grep ' nm_test_var$' "$nlist" >/dev/null; then
- if grep ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
- cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+ if ${ac_cv_path_mkdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+ done
+IFS=$as_save_IFS
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{
-EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
- cat <<\EOF >> conftest.$ac_ext
- {0, (lt_ptr_t) 0}
-};
+fi
-#ifdef __cplusplus
-}
-#endif
-EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
+ test -d ./--version && rmdir ./--version
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ MKDIR_P="$ac_install_sh -d"
fi
- rm -rf conftest* conftst*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # 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_AWK="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$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
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
-fi
+ test -n "$AWK" && break
+done
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
+{ $as_echo "$as_me:${as_lineno-$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 eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+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 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; }
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
else
- { echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
fi
-{ echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
-if test "${lt_cv_objdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
+ am__leading_dot=_
fi
-rmdir .libs 2>/dev/null
+rmdir .tst 2>/dev/null
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+ fi
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+# Define the identity of the package.
+ PACKAGE=$PACKAGE
+ VERSION=$VERSION
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
+# Some tools Automake needs.
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-# Constants:
-rm="rm -f"
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-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; }
-if test "${ac_cv_prog_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
+
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+
+
+
+
+
+
+
+
+
+
+
+
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ 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
+ 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_AR="${ac_tool_prefix}ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
+ ;;
+esac
fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6; }
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ case $ac_pt_PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ 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
+ 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_ac_ct_AR="ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
+ ;;
+esac
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; }
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
- if test "x$ac_ct_AR" = x; then
- AR="false"
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ 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 at gnu.org." >&5
-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 at gnu.org." >&2;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
- AR=$ac_ct_AR
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
fi
else
- AR="$ac_cv_prog_AR"
+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=0.9.0
+ { $as_echo "$as_me:${as_lineno-$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
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ PKG_CONFIG=""
+ fi
+fi
+
+#
+# Enable silent compilation showing just CC or CCLD rather than the full
+# compile-time GCC output.
+#
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no) AM_DEFAULT_VERBOSITY=1;;
+*) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+
+ac_config_headers="$ac_config_headers config.h"
+
+
+{ $as_echo "$as_me:${as_lineno-$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
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
+ if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+# Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+ enableval=$enable_static; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_static=no
fi
+
+
+
+
+
+
+
+
+
+
+case x"$target" in
+ xNONE | x)
+ target_or_host="$host" ;;
+ *)
+ target_or_host="$target" ;;
+esac
+
+
+case "$target_or_host" in
+ *-cygwin)
+ ;;
+esac
+
+
+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
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; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ # 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$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
+ 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_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-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; }
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $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.
+ 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
+ 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_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
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; }
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
+ if test "x$ac_ct_CC" = x; then
+ CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ 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 at gnu.org." >&5
-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 at gnu.org." >&2;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-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; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # 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_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
+ CC=$ac_ct_CC
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; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ CC="$ac_cv_prog_CC"
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; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+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.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $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.
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$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
+ 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_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
-IFS=$as_save_IFS
-
-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; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ 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 at gnu.org." >&5
-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 at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
-test -z "$ac_objext" && ac_objext=o
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-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; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool at gnu.org
-
-EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-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; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}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; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool at gnu.org
-
-EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
+ done
+IFS=$as_save_IFS
-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; }
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
- else
- MAGIC_CMD=:
+
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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+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
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:${as_lineno-$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.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
fi
- ;;
-esac
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- case $host_os in
- rhapsody* | darwin*)
- 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; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$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
+ 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_DSYMUTIL="${ac_tool_prefix}dsymutil"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-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; }
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
+ test -n "$CC" && break
+ done
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; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $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.
+ 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
+ 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_ac_ct_DSYMUTIL="dsymutil"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
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; }
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ 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 at gnu.org." >&5
-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 at gnu.org." >&2;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
- DSYMUTIL=$ac_ct_DSYMUTIL
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+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.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # 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 | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ 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
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+ ac_file=''
+fi
+if test -z "$ac_file"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+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 | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+ { { 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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if { ac_try='./conftest$ac_cv_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ fi
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
- 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; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if ${ac_cv_objext+:} false; then :
+ $as_echo_n "(cached) " >&6
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_NMEDIT="${ac_tool_prefix}nmedit"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ 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 | *.map | *.inf | *.dSYM ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
done
-IFS=$as_save_IFS
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
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:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$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 ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
-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; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
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_ac_ct_NMEDIT="nmedit"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
+ ac_compiler_gnu=no
fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
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:${as_lineno-$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
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ GCC=
fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ 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 at gnu.org." >&5
-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 at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
- fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int
+main ()
+{
- { echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
-echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- echo "int foo(void){return 1;}" > conftest.c
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib ${wl}-single_module conftest.c
- if test -f libconftest.dylib; then
- lt_cv_apple_cc_single_mod=yes
- rm -rf libconftest.dylib*
- fi
- 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; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
+ ;
+ return 0;
+}
_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
@@ -7979,8328 +4495,7025 @@ main ()
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- lt_cv_ld_exported_symbols_list=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_compile "$LINENO"; then :
- lt_cv_ld_exported_symbols_list=no
-fi
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
-echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; }
- case $host_os in
- rhapsody* | darwin1.[0123])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*)
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
- fi
- if test "$DSYMUTIL" != ":"; then
- _lt_dsymutil="~$DSYMUTIL \$lib || :"
- else
- _lt_dsymutil=
- fi
- ;;
- esac
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+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:${as_lineno-$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
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* 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 -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 -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];
-enable_dlopen=no
-enable_win32_dll=no
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval=$enable_libtool_lock;
fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then
- withval=$with_pic; pic_mode="$withval"
-else
- pic_mode=default
fi
-test -z "$pic_mode" && pic_mode=default
-
-# Use C for the default configuration in the libtool script
-tagname=
-lt_save_CC="$CC"
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
+DEPDIR="${am__leading_dot}deps"
+ac_config_commands="$ac_config_commands depfiles"
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-
-
-
-lt_prog_compiler_no_builtin_flag=
-if test "$GCC" = yes; then
- lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$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
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
-{ 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; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8144: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:8148: \$? = $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.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $rm conftest*
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+ enableval=$enable_dependency_tracking;
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$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"
-else
- :
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
fi
-
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
fi
-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; }
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
+depcc="$CC" am_compiler_list=
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic='-qnocommon'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $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
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
;;
-
- linux* | k*bsd*-gnu)
- case $cc_basename in
- icc* | ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- esac
- ;;
- esac
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
+fi
+{ $as_echo "$as_me:${as_lineno-$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
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
+if test "x$CC" != xcc; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
+$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
+$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
+fi
+set dummy $CC; ac_cc=`$as_echo "$2" |
+ sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+# Make sure it works both with $CC and with simple cc.
+# We do the test twice because some compilers refuse to overwrite an
+# existing .o file with -o, though they will create one.
+ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+rm -f conftest2.*
+if { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } &&
+ test -f conftest2.$ac_objext && { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; };
+then
+ eval ac_cv_prog_cc_${ac_cc}_c_o=yes
+ if test "x$CC" != xcc; then
+ # Test first that cc exists at all.
+ if { ac_try='cc -c conftest.$ac_ext >&5'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+ rm -f conftest2.*
+ if { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } &&
+ test -f conftest2.$ac_objext && { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; };
+ then
+ # cc works too.
+ :
+ else
+ # cc exists but doesn't like -o.
+ eval ac_cv_prog_cc_${ac_cc}_c_o=no
fi
- ;;
+ fi
+ fi
+else
+ eval ac_cv_prog_cc_${ac_cc}_c_o=no
+fi
+rm -f core conftest*
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
+fi
+if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
+$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
+fi
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
+if test "$am_t" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+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'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # 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_CXX="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
fi
+done
+ done
+IFS=$as_save_IFS
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-#
-# 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; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ test -n "$CXX" && break
+ done
+fi
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8434: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:8438: \$? = $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.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $rm conftest*
+ if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # 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_ac_ct_CXX="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-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; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $rm -r conftest*
- LDFLAGS="$save_LDFLAGS"
+ test -n "$ac_ct_CXX" && break
+done
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works" >&6; }
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
+ fi
fi
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
-
-{ 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; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$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 ${ac_cv_cxx_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- lt_cv_prog_compiler_c_o=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8538: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:8542: \$? = $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
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
-
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-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; }
- 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; }
- 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;}
- need_locks=warn
- fi
+fi
+{ $as_echo "$as_me:${as_lineno-$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
- need_locks=no
+ GXX=
fi
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if ${ac_cv_prog_cxx_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-{ 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; }
-
- runpath_var=
- allow_undefined_flag=
- enable_shared_with_static_runtimes=no
- archive_cmds=
- archive_expsym_cmds=
- old_archive_From_new_cmds=
- old_archive_from_expsyms_cmds=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- thread_safe_flag_spec=
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
- hardcode_libdir_separator=
- hardcode_direct=no
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- link_all_deplibs=unknown
- hardcode_automatic=no
- module_cmds=
- module_expsym_cmds=
- always_export_symbols=no
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
+int
+main ()
+{
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_prog_cxx_g=yes
+else
+ CXXFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<EOF 1>&2
+int
+main ()
+{
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
-EOF
- fi
- ;;
+else
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
- amigaos*)
- archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
+int
+main ()
+{
- # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs=no
- ;;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_prog_cxx_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+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:${as_lineno-$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=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
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
+depcc="$CXX" am_compiler_list=
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
+ $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
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ am_cv_CXX_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
else
- ld_shlibs=no
+ break
fi
;;
-
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CXX_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CXX_dependencies_compiler_type=none
+fi
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- link_all_deplibs=no
- else
- ld_shlibs=no
- fi
- ;;
+fi
+{ $as_echo "$as_me:${as_lineno-$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
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+ am__fastdepCXX_TRUE=
+ am__fastdepCXX_FALSE='#'
+else
+ am__fastdepCXX_TRUE='#'
+ am__fastdepCXX_FALSE=
+fi
+
+
+# By default we simply use the C compiler to build assembly code.
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<EOF 1>&2
+test "${CCAS+set}" = set || CCAS=$CC
+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
+depcc="$CCAS" am_compiler_list=
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
+ $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
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
+ am_cv_CCAS_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
else
- ld_shlibs=no
+ break
fi
;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CCAS_dependencies_compiler_type=$depmode
+ break
fi
- ;;
+ fi
+ done
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CCAS_dependencies_compiler_type=none
+fi
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
+CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
+ am__fastdepCCAS_TRUE=
+ am__fastdepCCAS_FALSE='#'
+else
+ am__fastdepCCAS_TRUE='#'
+ am__fastdepCCAS_FALSE=
+fi
+
+
+case `pwd` in
+ *\ * | *\ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.4.2'
+macro_revision='1.3337'
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
- archive_cmds=''
- hardcode_direct=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- 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 conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-fi
-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
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- 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 conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ltmain="$ac_aux_dir/ltmain.sh"
+
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+$as_echo_n "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
fi
-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
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO ""
+}
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
+case "$ECHO" in
+ printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+$as_echo "printf" >&6; } ;;
+ print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+$as_echo "print -r" >&6; } ;;
+ *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+$as_echo "cat" >&6; } ;;
+esac
- amigaos*)
- archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs=no
- ;;
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes=yes
- ;;
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- whole_archive_flag_spec=''
- link_all_deplibs=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs=no
- ;;
- esac
- fi
- ;;
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
- freebsd1*)
- ld_shlibs=no
- ;;
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- export_dynamic_flag_spec='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
+{ $as_echo "$as_me:${as_lineno-$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 ${ac_cv_path_SED+:} false; 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
+ { ac_script=; unset 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
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ 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
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
+ $ac_path_SED_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- export_dynamic_flag_spec='${wl}-E'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- fi
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- link_all_deplibs=yes
- ;;
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- hardcode_libdir_separator=:
- ;;
- solaris*)
- no_undefined_flag=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
+{ $as_echo "$as_me:${as_lineno-$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 ${ac_cv_path_GREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ 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
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ 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
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; 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
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ 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
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
- *)
- ld_shlibs=no
- ;;
- esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if ${ac_cv_path_FGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+ then ac_cv_path_FGREP="$GREP -F"
+ else
+ if test -z "$FGREP"; then
+ ac_path_FGREP_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 fgrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+ # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_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 'FGREP' >> "conftest.nl"
+ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_FGREP="$ac_path_FGREP"
+ ac_path_FGREP_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_FGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_FGREP"; then
+ as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
+else
+ ac_cv_path_FGREP=$FGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
-{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { 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; }
- $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
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- 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
- (exit $ac_status); }
- then
- archive_cmds_need_lc=no
- else
- archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- 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; }
- ;;
- esac
- fi
- ;;
-esac
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
- else
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- sys_lib_search_path_spec=`echo $lt_search_path_spec`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-need_lib_prefix=unknown
-hardcode_into_libs=no
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+# 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
+else
+ with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:${as_lineno-$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
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
;;
- esac
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
;;
-
*)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
;;
esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${lt_cv_path_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${lt_cv_prog_gnu_ld+:} false; then :
+ $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
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-freebsd1*)
- dynamic_linker=no
- ;;
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if ${lt_cv_path_NM+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in dumpbin "link -dump"
+ 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DUMPBIN+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DUMPBIN"; then
+ ac_cv_prog_DUMPBIN="$DUMPBIN" # 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_DUMPBIN="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
+done
+ done
+IFS=$as_save_IFS
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
+ test -n "$DUMPBIN" && break
+ done
+fi
+if test -z "$DUMPBIN"; then
+ ac_ct_DUMPBIN=$DUMPBIN
+ for ac_prog in dumpbin "link -dump"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DUMPBIN"; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # 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_ac_ct_DUMPBIN="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
+ test -n "$ac_ct_DUMPBIN" && break
+done
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
+ if test "x$ac_ct_DUMPBIN" = x; then
+ DUMPBIN=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DUMPBIN=$ac_ct_DUMPBIN
+ fi
+fi
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
fi
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if ${lt_cv_nm_interface+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
fi
- ;;
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
+{ $as_echo "$as_me:${as_lineno-$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
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if ${lt_cv_sys_max_cmd_len+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ i=0
+ teststring="ABCD"
-rdos*)
- dynamic_linker=no
- ;;
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
-*)
- dynamic_linker=no
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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
+if test -n $lt_cv_sys_max_cmd_len ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
else
- lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-{ 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; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" || \
- test -n "$runpath_var" || \
- test "X$hardcode_automatic" = "Xyes" ; then
- # We can hardcode non-existant directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6; }
-if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-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; }
-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; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
- ;;
- *)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
- esac
-fi
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
- mingw* | pw32*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
- 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; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
+ lt_unset=false
+fi
-/* 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
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_cv_lib_dl_dlopen=no
-fi
-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; }
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-fi
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
- ;;
- *)
- { echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
-if test "${ac_cv_func_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define shl_load innocuous_shl_load
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char shl_load (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-#undef shl_load
-/* 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
-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
-choke me
-#endif
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_func_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_cv_func_shl_load=no
-fi
-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; }
-if test $ac_cv_func_shl_load = yes; then
- lt_cv_dlopen="shl_load"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
+if ${lt_cv_to_host_file_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* 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
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
+ case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_dld_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_cv_lib_dld_shl_load=no
fi
-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; }
-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; }
-if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define dlopen innocuous_dlopen
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
+$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char dlopen (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-#undef dlopen
-/* 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
-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
-choke me
-#endif
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_func_dlopen=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
+if ${lt_cv_to_tool_file_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ #assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
- ac_cv_func_dlopen=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
+$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if ${lt_cv_ld_reload_flag+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_reload_flag='-r'
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
-if test $ac_cv_func_dlopen = yes; then
- lt_cv_dlopen="dlopen"
+{ $as_echo "$as_me:${as_lineno-$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
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test "$GCC" != yes; then
+ reload_cmds=false
+ fi
+ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
+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_OBJDUMP="${ac_tool_prefix}objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-/* 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
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_dl_dlopen=yes
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_dl_dlopen=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-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; }
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
+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_ac_ct_OBJDUMP="objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-/* 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
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_svld_dlopen=yes
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- ac_cv_lib_svld_dlopen=no
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
fi
-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; }
-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; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if ${lt_cv_deplibs_check_method+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[45]*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+ if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
-/* 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
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_dld_dld_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- ac_cv_lib_dld_dld_link=no
-fi
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
-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; }
-if test $ac_cv_lib_dld_dld_link = yes; then
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
+interix[3-9]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+ ;;
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
-fi
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+ fi
+ ;;
-fi
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
-fi
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ fi
+ ;;
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
-fi
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
-fi
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
;;
esac
+ ;;
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
+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
- 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; }
-if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 10915 "configure"
-#include "confdefs.h"
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-#include <stdio.h>
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
- exit (status);
-}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- 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=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$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; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 11015 "configure"
-#include "confdefs.h"
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-#include <stdio.h>
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
- exit (status);
-}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- 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=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DLLTOOL"; then
+ ac_cv_prog_DLLTOOL="$DLLTOOL" # 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_DLLTOOL="${ac_tool_prefix}dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-rm -fr conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
+if test -z "$ac_cv_prog_DLLTOOL"; then
+ ac_ct_DLLTOOL=$DLLTOOL
+ # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DLLTOOL"; then
+ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # 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_ac_ct_DLLTOOL="dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
+ if test "x$ac_ct_DLLTOOL" = x; then
+ DLLTOOL="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DLLTOOL=$ac_ct_DLLTOOL
+ fi
+else
+ DLLTOOL="$ac_cv_prog_DLLTOOL"
fi
+test -z "$DLLTOOL" && DLLTOOL=dlltool
-# 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; }
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
-test "$can_build_shared" = "no" && enable_shared=no
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$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; }
-# 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; }
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler \
- CC \
- LD \
- lt_prog_compiler_wl \
- lt_prog_compiler_pic \
- lt_prog_compiler_static \
- lt_prog_compiler_no_builtin_flag \
- export_dynamic_flag_spec \
- thread_safe_flag_spec \
- whole_archive_flag_spec \
- enable_shared_with_static_runtimes \
- old_archive_cmds \
- old_archive_from_new_cmds \
- predep_objects \
- postdep_objects \
- predeps \
- postdeps \
- compiler_lib_search_path \
- compiler_lib_search_dirs \
- archive_cmds \
- archive_expsym_cmds \
- postinstall_cmds \
- postuninstall_cmds \
- old_archive_from_expsyms_cmds \
- allow_undefined_flag \
- no_undefined_flag \
- export_symbols_cmds \
- hardcode_libdir_flag_spec \
- hardcode_libdir_flag_spec_ld \
- hardcode_libdir_separator \
- hardcode_automatic \
- module_cmds \
- module_expsym_cmds \
- lt_cv_prog_compiler_c_o \
- fix_srcfile_path \
- exclude_expsyms \
- include_expsyms; do
-
- case $var in
- old_archive_cmds | \
- old_archive_from_new_cmds | \
- archive_cmds | \
- archive_expsym_cmds | \
- module_cmds | \
- module_expsym_cmds | \
- old_archive_from_expsyms_cmds | \
- export_symbols_cmds | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-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;}
- cat <<__EOF__ >> "$cfgfile"
-#! $SHELL
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-# A sed program that does not truncate output.
-SED=$lt_SED
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
+if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sharedlib_from_linklib_cmd='unknown'
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh
+ # decide which to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ ;;
+esac
-# The names of the tagged configurations supported by this script.
-available_tags=
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
+$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-# ### BEGIN LIBTOOL CONFIG
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
+if test -n "$ac_tool_prefix"; then
+ for ac_prog in ar
+ 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # 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_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
+ test -n "$AR" && break
+ done
+fi
+if test -z "$AR"; then
+ ac_ct_AR=$AR
+ for ac_prog in ar
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $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.
+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_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-# A C compiler.
-LTCC=$lt_LTCC
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
+ test -n "$ac_ct_AR" && break
+done
-# A language-specific compiler.
-CC=$lt_compiler
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+fi
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC
+: ${AR=ar}
+: ${AR_FLAGS=cru}
-# An ERE matcher.
-EGREP=$lt_EGREP
-# The linker used to build libraries.
-LD=$lt_LD
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-# A BSD-compatible nm program.
-NM=$lt_NM
-# A symbol stripping program
-STRIP=$lt_STRIP
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-# Used on cygwin: assembler.
-AS="$AS"
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if ${lt_cv_ar_at_file+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ar_at_file=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
+int
+main ()
+{
-# Object file suffix (normally "o").
-objext="$ac_objext"
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+ (eval $lt_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -eq 0; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+ (eval $lt_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -ne 0; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
-# Old archive suffix (normally "a").
-libext="$libext"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
-# Executable file suffix (normally "").
-exeext="$exeext"
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-pic_mode=$pic_mode
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-# Do we need a version for libraries?
-need_version=$need_version
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # 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_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $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.
+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_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
+test -z "$STRIP" && STRIP=:
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec
-# Library versioning type.
-version_type=$version_type
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # 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_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+ $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.
+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_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects
+test -z "$RANLIB" && RANLIB=:
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-# ### END LIBTOOL CONFIG
-__EOF__
- case $host_os in
- aix3*)
- cat <<\EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-EOF
- ;;
- esac
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
- mv -f "$cfgfile" "$ofile" || \
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-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
-CC="$lt_save_CC"
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-# Check whether --with-tags was given.
-if test "${with_tags+set}" = set; then
- withval=$with_tags; tagnames="$withval"
-fi
+# Allow CC to be a program name with arguments.
+compiler=$CC
-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;}
- fi
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$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 ${lt_cv_sys_global_symbol_pipe+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
- 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;}
- else
- { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
-echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
- fi
- fi
- if test -z "$LTCFLAGS"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
- fi
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
- # Extract list of available tagged configurations in $ofile.
- # Note that this assumes the entire list is on one line.
- available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for tagname in $tagnames; do
- IFS="$lt_save_ifs"
- # 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;}
- { (exit 1); exit 1; }; }
- ;;
- esac
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
- 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;}
- { (exit 1); exit 1; }; }
- fi
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[BCDT]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[ABCDGISTW]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[ABCDEGRST]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[BCDEGRST]'
+ ;;
+osf*)
+ symcode='[BCDEGQRST]'
+ ;;
+solaris*)
+ symcode='[BDRT]'
+ ;;
+sco3.2v5*)
+ symcode='[DT]'
+ ;;
+sysv4.2uw2*)
+ symcode='[DT]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[ABDT]'
+ ;;
+sysv4)
+ symcode='[DFNSTU]'
+ ;;
+esac
- # Update the list of available tags.
- if test -n "$tagname"; then
- echo appending configuration tag \"$tagname\" to $ofile
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[ABCDGIRSTW]' ;;
+esac
- case $tagname in
- CXX)
- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- ac_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
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
-archive_cmds_need_lc_CXX=no
-allow_undefined_flag_CXX=
-always_export_symbols_CXX=no
-archive_expsym_cmds_CXX=
-export_dynamic_flag_spec_CXX=
-hardcode_direct_CXX=no
-hardcode_libdir_flag_spec_CXX=
-hardcode_libdir_flag_spec_ld_CXX=
-hardcode_libdir_separator_CXX=
-hardcode_minus_L_CXX=no
-hardcode_shlibpath_var_CXX=unsupported
-hardcode_automatic_CXX=no
-module_cmds_CXX=
-module_expsym_cmds_CXX=
-link_all_deplibs_CXX=unknown
-old_archive_cmds_CXX=$old_archive_cmds
-no_undefined_flag_CXX=
-whole_archive_flag_spec_CXX=
-enable_shared_with_static_runtimes_CXX=no
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
-# Dependencies to place before and after the object being linked:
-predep_objects_CXX=
-postdep_objects_CXX=
-predeps_CXX=
-postdeps_CXX=
-compiler_lib_search_path_CXX=
-compiler_lib_search_dirs_CXX=
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK '"\
+" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-# Source file extension for C++ test sources.
-ac_ext=cpp
+ # Check to see that the pipe works correctly.
+ pipe_works=no
-# Object file extension for compiled C++ test sources.
-objext=o
-objext_CXX=$objext
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { { eval echo "\"\$as_me\":${as_lineno-$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=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+#ifdef __cplusplus
+extern "C" {
+#endif
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+ cat <<_LT_EOF >> conftest.$ac_ext
-# Allow CC to be a program name with arguments.
-compiler=$CC
+/* The mapping between symbol names and symbols. */
+LT_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&5
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+ fi
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+fi
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
- $as_unset lt_cv_prog_gnu_ld
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
else
- $as_unset lt_cv_path_LD
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-compiler_CXX=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
- lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
-else
- lt_prog_compiler_no_builtin_flag_CXX=
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
+ nm_file_list_spec='@'
fi
-if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
-# 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
-else
- with_gnu_ld=no
-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; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
-else
- { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}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;}
- { (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; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
- grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_CXX=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-else
- GXX=no
- with_gnu_ld=no
- wlarc=
-fi
-# PORTME: fill in a description of your system's C++ link characteristics
-{ 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; }
-ld_shlibs_CXX=yes
-case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- ;;
- esac
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
- archive_cmds_CXX=''
- hardcode_direct_CXX=yes
- hardcode_libdir_separator_CXX=':'
- link_all_deplibs_CXX=yes
- if test "$GXX" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct_CXX=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_CXX=yes
- hardcode_libdir_flag_spec_CXX='-L$libdir'
- hardcode_libdir_separator_CXX=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_CXX=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_CXX='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- 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 conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-fi
-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
- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_CXX="-z nodefs"
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-main ()
-{
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
+# Check whether --with-sysroot was given.
+if test "${with_sysroot+set}" = set; then :
+ withval=$with_sysroot;
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
+ with_sysroot=no
fi
-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
- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_CXX=' ${wl}-bernotok'
- allow_undefined_flag_CXX=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_CXX='$convenience'
- archive_cmds_need_lc_CXX=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+$as_echo "${with_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+esac
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_CXX=unsupported
- # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_CXX=no
- fi
- ;;
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_CXX='-L$libdir'
- allow_undefined_flag_CXX=unsupported
- always_export_symbols_CXX=no
- enable_shared_with_static_runtimes_CXX=yes
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_CXX=no
- fi
- ;;
- darwin* | rhapsody*)
- archive_cmds_need_lc_CXX=no
- hardcode_direct_CXX=no
- hardcode_automatic_CXX=yes
- hardcode_shlibpath_var_CXX=unsupported
- whole_archive_flag_spec_CXX=''
- link_all_deplibs_CXX=yes
- allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
- if test "$GXX" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
- archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
- fi
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_CXX=no
- ;;
- esac
- fi
- ;;
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- freebsd[12]*)
- # C++ shared libraries reported to be fairly broken before switch to ELF
- ld_shlibs_CXX=no
- ;;
- freebsd-elf*)
- archive_cmds_need_lc_CXX=no
- ;;
- freebsd* | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- ld_shlibs_CXX=yes
- ;;
- gnu*)
- ;;
- hpux9*)
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
- export_dynamic_flag_spec_CXX='${wl}-E'
- hardcode_direct_CXX=yes
- hardcode_minus_L_CXX=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aCC*)
- archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
- case $host_cpu in
- hppa*64*|ia64*) ;;
- *)
- export_dynamic_flag_spec_CXX='${wl}-E'
- ;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct_CXX=no
- hardcode_shlibpath_var_CXX=no
- ;;
- *)
- hardcode_direct_CXX=yes
- hardcode_minus_L_CXX=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+ enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- interix[3-9]*)
- hardcode_direct_CXX=no
- hardcode_shlibpath_var_CXX=no
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
- fi
- fi
- link_all_deplibs_CXX=yes
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
;;
esac
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc*)
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
;;
- esac
- archive_cmds_need_lc_CXX=no
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler
- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- ;;
- cxx*)
- # Compaq C++
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_CXX='-rpath $libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- no_undefined_flag_CXX=' -zdefs'
- archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
- # Not sure whether something based on
- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
- # would be better.
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
esac
;;
- esac
- ;;
- lynxos*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- m88k*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
;;
esac
- ;;
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- hardcode_direct_CXX=yes
- hardcode_shlibpath_var_CXX=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- ld_shlibs_CXX=no
- ;;
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct_CXX=yes
- hardcode_shlibpath_var_CXX=no
- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- export_dynamic_flag_spec_CXX='${wl}-E'
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd='echo'
- else
- ld_shlibs_CXX=no
- fi
- ;;
- osf3*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- hardcode_libdir_separator_CXX=:
+ fi
+ rm -rf conftest*
+ ;;
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if ${lt_cv_cc_needs_belf+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ 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
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- cxx*)
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
+int
+main ()
+{
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_cc_needs_belf=yes
+else
+ lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ 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
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
+fi
+{ $as_echo "$as_me:${as_lineno-$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"
+ fi
+ ;;
+*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*)
+ case $host in
+ i?86-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD="${LD-ld}_sol2"
+ fi
+ ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
fi
;;
+ esac
+ ;;
esac
- ;;
- osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
+ fi
+ rm -rf conftest*
+ ;;
+esac
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+need_locks="$enable_libtool_lock"
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- hardcode_libdir_separator_CXX=:
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$MANIFEST_TOOL"; then
+ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # 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_MANIFEST_TOOL="${ac_tool_prefix}mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
+if test -n "$MANIFEST_TOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
+$as_echo "$MANIFEST_TOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
+ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
+ # Extract the first word of "mt", so it can be a program name with args.
+set dummy mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_MANIFEST_TOOL"; then
+ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # 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_ac_ct_MANIFEST_TOOL="mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
+if test -n "$ac_ct_MANIFEST_TOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_MANIFEST_TOOL" = x; then
+ MANIFEST_TOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+ fi
+else
+ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+fi
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- cxx*)
- allow_undefined_flag_CXX=' -expect_unresolved \*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
- $rm $lib.exp'
-
- hardcode_libdir_flag_spec_CXX='-rpath $libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
+if ${lt_cv_path_mainfest_tool+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&5
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+ MANIFEST_TOOL=:
+fi
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- psos*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- archive_cmds_need_lc_CXX=yes
- no_undefined_flag_CXX=' -zdefs'
- archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- hardcode_shlibpath_var_CXX=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
- ;;
- esac
- link_all_deplibs_CXX=yes
- output_verbose_link_cmd='echo'
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- # The C++ compiler must be used to create the archive.
- old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
- if $CC --version | grep -v '^2\.7' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+ case $host_os in
+ rhapsody* | darwin*)
+ 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # 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_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- fi
- hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- ;;
- esac
- fi
- ;;
- esac
- ;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag_CXX='${wl}-z,text'
- archive_cmds_need_lc_CXX=no
- hardcode_shlibpath_var_CXX=no
- runpath_var='LD_RUN_PATH'
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
+ $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.
+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_ac_ct_DSYMUTIL="dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- case $cc_basename in
- CC*)
- archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- # So that behaviour is only enabled if SCOABSPATH is set to a
- # non-empty value in the environment. Most likely only useful for
- # creating official distributions of packages.
- # This is a hack until libtool officially supports absolute path
- # names for shared libraries.
- no_undefined_flag_CXX='${wl}-z,text'
- allow_undefined_flag_CXX='${wl}-z,nodefs'
- archive_cmds_need_lc_CXX=no
- hardcode_shlibpath_var_CXX=no
- hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator_CXX=':'
- link_all_deplibs_CXX=yes
- export_dynamic_flag_spec_CXX='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- case $cc_basename in
- CC*)
- archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- vxworks*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
esac
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-
-GCC_CXX="$GXX"
-LD_CXX="$LD"
-
-cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
- Foo (void) { a = 0; }
-private:
- int a;
-};
-EOF
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
+else
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Parse the compiler output and extract the necessary
- # objects, libraries and library flags.
+ 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_NMEDIT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # 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_NMEDIT="${ac_tool_prefix}nmedit"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- # Sentinel used to keep track of whether or not we are before
- # the conftest object file.
- pre_test_object_deps_done=no
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- # The `*' in the case matches for architectures that use `case' in
- # $output_verbose_cmd can trigger glob expansion during the loop
- # eval without this substitution.
- output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
- for p in `eval $output_verbose_link_cmd`; do
- case $p in
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
+ $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.
+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_ac_ct_NMEDIT="nmedit"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test $p = "-L" \
- || test $p = "-R"; then
- prev=$p
- continue
- else
- prev=
- fi
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- if test "$pre_test_object_deps_done" = no; then
- case $p in
- -L* | -R*)
- # Internal compiler library paths should come after those
- # provided the user. The postdeps already come after the
- # user supplied libs so there is no need to process them.
- if test -z "$compiler_lib_search_path_CXX"; then
- compiler_lib_search_path_CXX="${prev}${p}"
- else
- compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
- fi
- ;;
- # The "-l" case would never come before the object being
- # linked, so don't bother handling this case.
- esac
- else
- if test -z "$postdeps_CXX"; then
- postdeps_CXX="${prev}${p}"
- else
- postdeps_CXX="${postdeps_CXX} ${prev}${p}"
- fi
- fi
- ;;
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ NMEDIT=$ac_ct_NMEDIT
+ fi
+else
+ NMEDIT="$ac_cv_prog_NMEDIT"
+fi
- *.$objext)
- # This assumes that the test object file only shows up
- # once in the compiler output.
- if test "$p" = "conftest.$objext"; then
- pre_test_object_deps_done=yes
- continue
- fi
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LIPO+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$LIPO"; then
+ ac_cv_prog_LIPO="$LIPO" # 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_LIPO="${ac_tool_prefix}lipo"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- if test "$pre_test_object_deps_done" = no; then
- if test -z "$predep_objects_CXX"; then
- predep_objects_CXX="$p"
- else
- predep_objects_CXX="$predep_objects_CXX $p"
- fi
- else
- if test -z "$postdep_objects_CXX"; then
- postdep_objects_CXX="$p"
- else
- postdep_objects_CXX="$postdep_objects_CXX $p"
- fi
- fi
- ;;
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- *) ;; # Ignore the rest.
- esac
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+ ac_ct_LIPO=$LIPO
+ # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_LIPO"; then
+ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # 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_ac_ct_LIPO="lipo"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
done
+IFS=$as_save_IFS
- # Clean up.
- rm -f a.out a.exe
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
else
- echo "libtool.m4: error: problem compiling CXX test program"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-$rm -f confest.$objext
-
-compiler_lib_search_dirs_CXX=
-if test -n "$compiler_lib_search_path_CXX"; then
- compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+ if test "x$ac_ct_LIPO" = x; then
+ LIPO=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ LIPO=$ac_ct_LIPO
+ fi
+else
+ LIPO="$ac_cv_prog_LIPO"
fi
-# PORTME: override above test on systems where it is broken
-case $host_os in
-interix[3-9]*)
- # Interix 3.5 installs completely hosed .la files for C++, so rather than
- # hack all around it, let's just trust "g++" to DTRT.
- predep_objects_CXX=
- postdep_objects_CXX=
- postdeps_CXX=
- ;;
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL"; then
+ ac_cv_prog_OTOOL="$OTOOL" # 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_OTOOL="${ac_tool_prefix}otool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-linux*)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- #
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
- if test "$solaris_use_stlport4" != yes; then
- postdeps_CXX='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-solaris*)
- case $cc_basename in
- CC*)
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- if test "$solaris_use_stlport4" != yes; then
- postdeps_CXX='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-esac
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+ ac_ct_OTOOL=$OTOOL
+ # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL"; then
+ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # 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_ac_ct_OTOOL="otool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-case " $postdeps_CXX " in
-*" -lc "*) archive_cmds_need_lc_CXX=no ;;
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL" = x; then
+ OTOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
esac
+ OTOOL=$ac_ct_OTOOL
+ fi
+else
+ OTOOL="$ac_cv_prog_OTOOL"
+fi
-lt_prog_compiler_wl_CXX=
-lt_prog_compiler_pic_CXX=
-lt_prog_compiler_static_CXX=
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL64+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL64"; then
+ ac_cv_prog_OTOOL64="$OTOOL64" # 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_OTOOL64="${ac_tool_prefix}otool64"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-{ 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; }
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- # C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX='-static'
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_CXX='-Bstatic'
- fi
- ;;
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
- ;;
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | cygwin* | os2* | pw32*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_CXX='-fno-common'
- ;;
- *djgpp*)
- # DJGPP does not support shared libraries at all
- lt_prog_compiler_pic_CXX=
- ;;
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_CXX=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- ;;
- *)
- lt_prog_compiler_pic_CXX='-fPIC'
- ;;
- esac
- ;;
- *)
- lt_prog_compiler_pic_CXX='-fPIC'
- ;;
- esac
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+ ac_ct_OTOOL64=$OTOOL64
+ # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL64"; then
+ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # 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_ac_ct_OTOOL64="otool64"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL64" = x; then
+ OTOOL64=":"
else
- case $host_os in
- aix[4-9]*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_CXX='-Bstatic'
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL64=$ac_ct_OTOOL64
+ fi
+else
+ OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if ${lt_cv_apple_cc_single_mod+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&5
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+ lt_cv_apple_cc_single_mod=yes
else
- lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
+ cat conftest.err >&5
fi
- ;;
- chorus*)
- case $cc_basename in
- cxch68*)
- # Green Hills C++ Compiler
- # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
- ;;
- esac
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_CXX='-qnocommon'
- lt_prog_compiler_wl_CXX='-Wl,'
- ;;
- esac
- ;;
- dgux*)
- case $cc_basename in
- ec++*)
- lt_prog_compiler_pic_CXX='-KPIC'
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- lt_prog_compiler_pic_CXX='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- freebsd* | dragonfly*)
- # FreeBSD uses GNU C++
- ;;
- hpux9* | hpux10* | hpux11*)
- case $cc_basename in
- CC*)
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
- if test "$host_cpu" != ia64; then
- lt_prog_compiler_pic_CXX='+Z'
- fi
- ;;
- aCC*)
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_CXX='+Z'
- ;;
- esac
- ;;
- *)
- ;;
- esac
- ;;
- interix*)
- # This is c89, which is MS Visual C++ (no shared libs)
- # Anyone wants to do a port?
- ;;
- irix5* | irix6* | nonstopux*)
- case $cc_basename in
- CC*)
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX='-non_shared'
- # CC pic flag -KPIC is the default.
- ;;
- *)
- ;;
- esac
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # KAI C++ Compiler
- lt_prog_compiler_wl_CXX='--backend -Wl,'
- lt_prog_compiler_pic_CXX='-fPIC'
- ;;
- icpc* | ecpc*)
- # Intel C++
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_pic_CXX='-KPIC'
- lt_prog_compiler_static_CXX='-static'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler.
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_pic_CXX='-fpic'
- lt_prog_compiler_static_CXX='-Bstatic'
- ;;
- cxx*)
- # Compaq C++
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- lt_prog_compiler_pic_CXX=
- lt_prog_compiler_static_CXX='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- lt_prog_compiler_pic_CXX='-KPIC'
- lt_prog_compiler_static_CXX='-Bstatic'
- lt_prog_compiler_wl_CXX='-Qoption ld '
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- ;;
- m88k*)
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- lt_prog_compiler_pic_CXX='-W c,exportall'
- ;;
- *)
- ;;
- esac
- ;;
- netbsd* | netbsdelf*-gnu)
- ;;
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- lt_prog_compiler_wl_CXX='--backend -Wl,'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- lt_prog_compiler_pic_CXX='-pic'
- ;;
- cxx*)
- # Digital/Compaq C++
- lt_prog_compiler_wl_CXX='-Wl,'
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- lt_prog_compiler_pic_CXX=
- lt_prog_compiler_static_CXX='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- psos*)
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- lt_prog_compiler_pic_CXX='-KPIC'
- lt_prog_compiler_static_CXX='-Bstatic'
- lt_prog_compiler_wl_CXX='-Qoption ld '
- ;;
- gcx*)
- # Green Hills C++ Compiler
- lt_prog_compiler_pic_CXX='-PIC'
- ;;
- *)
- ;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- lt_prog_compiler_pic_CXX='-pic'
- lt_prog_compiler_static_CXX='-Bstatic'
- ;;
- lcc*)
- # Lucid
- lt_prog_compiler_pic_CXX='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- lt_prog_compiler_pic_CXX='-KPIC'
- ;;
- *)
- ;;
- esac
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- case $cc_basename in
- CC*)
- lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_pic_CXX='-KPIC'
- lt_prog_compiler_static_CXX='-Bstatic'
- ;;
- esac
- ;;
- vxworks*)
- ;;
- *)
- lt_prog_compiler_can_build_shared_CXX=no
- ;;
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_ld_exported_symbols_list=yes
+else
+ lt_cv_ld_exported_symbols_list=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+$as_echo_n "checking for -force_load linker flag... " >&6; }
+if ${lt_cv_ld_force_load+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cru libconftest.a conftest.o" >&5
+ $AR cru libconftest.a conftest.o 2>&5
+ echo "$RANLIB libconftest.a" >&5
+ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&5
+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+$as_echo "$lt_cv_ld_force_load" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[012]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+
+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
+{ $as_echo "$as_me:${as_lineno-$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 ${ac_cv_prog_CPP+:} false; then :
+ $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"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+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
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ ac_cv_header_stdc=no
+fi
+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.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+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=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in dlfcn.h
+do :
+ ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+func_stripname_cnf ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname_cnf
+
+
+
+
+
+# Set options
+
+
+
+ enable_dlopen=no
+
+
+ enable_win32_dll=no
+
+
+ # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+ enableval=$enable_shared; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
esac
- fi
+else
+ enable_shared=yes
+fi
+
+
+
+
+
+
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$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; }
-if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then :
+ withval=$with_pic; lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for lt_pkg in $withval; do
+ IFS="$lt_save_ifs"
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
else
- lt_cv_prog_compiler_pic_works_CXX=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13416: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:13420: \$? = $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.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works_CXX=yes
- fi
- fi
- $rm conftest*
+ pic_mode=default
+fi
+
+
+test -z "$pic_mode" && pic_mode=default
+
+
+
+
+
+
+
+ # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then :
+ enableval=$enable_fast_install; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if ${lt_cv_objdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-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; }
-if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
- case $lt_prog_compiler_pic_CXX in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
- esac
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_pic_CXX=
- lt_prog_compiler_can_build_shared_CXX=no
-fi
-
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_CXX=
- ;;
- *)
- lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
- ;;
-esac
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/${ac_tool_prefix}file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
-#
-# 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; }
-if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_static_works_CXX=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works_CXX=yes
- fi
- else
- lt_cv_prog_compiler_static_works_CXX=yes
- fi
- fi
- $rm -r conftest*
- LDFLAGS="$save_LDFLAGS"
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
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; }
-if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
- :
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
else
- lt_prog_compiler_static_CXX=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
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; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_CXX=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13520: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:13524: \$? = $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
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_CXX=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $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; }
-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; }
- 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; }
- 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;}
- need_locks=warn
- fi
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- need_locks=no
-fi
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
-{ 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; }
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- case $host_os in
- aix[4-9]*)
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
fi
- ;;
- pw32*)
- export_symbols_cmds_CXX="$ltdll_cmds"
- ;;
- cygwin* | mingw*)
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- ;;
- linux* | k*bsd*-gnu)
- link_all_deplibs_CXX=no
- ;;
- *)
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
;;
- esac
- exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+esac
+fi
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
-test "$ld_shlibs_CXX" = no && can_build_shared=no
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_CXX" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_CXX=yes
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_CXX in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { 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; }
- $rm conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ else
+ MAGIC_CMD=:
+ fi
+fi
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_CXX
- pic_flag=$lt_prog_compiler_pic_CXX
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
- allow_undefined_flag_CXX=
- 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
- (exit $ac_status); }
- then
- archive_cmds_need_lc_CXX=no
- else
- archive_cmds_need_lc_CXX=yes
- fi
- allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
- else
- 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; }
- ;;
- esac
fi
;;
esac
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
+# Use C for the default configuration in the libtool script
+
+lt_save_CC="$CC"
+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
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
-need_lib_prefix=unknown
-hardcode_into_libs=no
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
+# Allow CC to be a program name with arguments.
+compiler=$CC
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+if test -n "$compiler"; then
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+ case $cc_basename in
+ nvcc*)
+ lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
*)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
+ lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_rtti_exceptions=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-fno-rtti -fno-exceptions"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $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.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_rtti_exceptions=yes
+ fi
+ fi
+ $RM conftest*
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
+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"
+else
+ :
+fi
-freebsd1*)
- dynamic_linker=no
- ;;
+fi
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
+ lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_static='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ ;;
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ lt_prog_compiler_static=
+ ;;
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ ;;
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ lt_prog_compiler_can_build_shared=no
+ enable_shared=no
+ ;;
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic=-Kconform_pic
+ fi
+ ;;
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ lt_prog_compiler_wl='-Xlinker '
+ if test -n "$lt_prog_compiler_pic"; then
+ lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+ fi
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
+ aix*)
+ lt_prog_compiler_wl='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ else
+ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ lt_prog_compiler_static='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC (with -KPIC) is the default.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ lt_prog_compiler_wl='-Wl,-Wl,,'
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ ccc*)
+ lt_prog_compiler_wl='-Wl,'
+ # All Alpha code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-qpic'
+ lt_prog_compiler_static='-qstaticlink'
;;
*)
- shlibpath_overrides_runpath=yes
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl=''
+ ;;
+ *Sun\ F* | *Sun*Fortran*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Qoption ld '
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Wl,'
+ ;;
+ *Intel*\ [CF]*Compiler*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ *Portland\ Group*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ esac
;;
esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
+ ;;
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
+ newsos6)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
-rdos*)
- dynamic_linker=no
- ;;
+ osf3* | osf4* | osf5*)
+ lt_prog_compiler_wl='-Wl,'
+ # All OSF/1 code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
+ rdos*)
+ lt_prog_compiler_static='-non_shared'
+ ;;
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
+ solaris*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+ esac
+ ;;
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
+ sunos4*)
+ lt_prog_compiler_wl='-Qoption ld '
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
;;
- siemens)
- need_lib_prefix=no
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_prog_compiler_pic='-Kconform_pic'
+ lt_prog_compiler_static='-Bstatic'
+ fi
;;
- esac
- ;;
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
+ unicos*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_can_build_shared=no
+ ;;
+
+ uts4*)
+ lt_prog_compiler_pic='-pic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *)
+ lt_prog_compiler_can_build_shared=no
+ ;;
esac
fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic=
+ ;;
+ *)
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+esac
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
+$as_echo "$lt_cv_prog_compiler_pic" >&6; }
+lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+ { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_pic_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic_works=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $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.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$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
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+ esac
+else
+ lt_prog_compiler_pic=
+ lt_prog_compiler_can_build_shared=no
+fi
+
+fi
-*)
- dynamic_linker=no
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$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
+
+
+
+
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_static_works+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+ lt_cv_prog_compiler_static_works=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ else
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-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
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+ :
else
- lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+ lt_prog_compiler_static=
fi
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-{ 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; }
-hardcode_action_CXX=
-if test -n "$hardcode_libdir_flag_spec_CXX" || \
- test -n "$runpath_var_CXX" || \
- test "X$hardcode_automatic_CXX" = "Xyes" ; then
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_CXX" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
- test "$hardcode_minus_L_CXX" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_CXX=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_CXX=immediate
- fi
+
+
+
+ { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_CXX=unsupported
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $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
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $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
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
-if test "$hardcode_action_CXX" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_CXX \
- CC_CXX \
- LD_CXX \
- lt_prog_compiler_wl_CXX \
- lt_prog_compiler_pic_CXX \
- lt_prog_compiler_static_CXX \
- lt_prog_compiler_no_builtin_flag_CXX \
- export_dynamic_flag_spec_CXX \
- thread_safe_flag_spec_CXX \
- whole_archive_flag_spec_CXX \
- enable_shared_with_static_runtimes_CXX \
- old_archive_cmds_CXX \
- old_archive_from_new_cmds_CXX \
- predep_objects_CXX \
- postdep_objects_CXX \
- predeps_CXX \
- postdeps_CXX \
- compiler_lib_search_path_CXX \
- compiler_lib_search_dirs_CXX \
- archive_cmds_CXX \
- archive_expsym_cmds_CXX \
- postinstall_cmds_CXX \
- postuninstall_cmds_CXX \
- old_archive_from_expsyms_cmds_CXX \
- allow_undefined_flag_CXX \
- no_undefined_flag_CXX \
- export_symbols_cmds_CXX \
- hardcode_libdir_flag_spec_CXX \
- hardcode_libdir_flag_spec_ld_CXX \
- hardcode_libdir_separator_CXX \
- hardcode_automatic_CXX \
- module_cmds_CXX \
- module_expsym_cmds_CXX \
- lt_cv_prog_compiler_c_o_CXX \
- fix_srcfile_path_CXX \
- exclude_expsyms_CXX \
- include_expsyms_CXX; do
-
- case $var in
- old_archive_cmds_CXX | \
- old_archive_from_new_cmds_CXX | \
- archive_cmds_CXX | \
- archive_expsym_cmds_CXX | \
- module_cmds_CXX | \
- module_expsym_cmds_CXX | \
- old_archive_from_expsyms_cmds_CXX | \
- export_symbols_cmds_CXX | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-cfgfile="$ofile"
+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
+ { $as_echo "$as_me:${as_lineno-$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
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:${as_lineno-$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
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_CXX
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+ runpath_var=
+ allow_undefined_flag=
+ always_export_symbols=no
+ archive_cmds=
+ archive_expsym_cmds=
+ compiler_needs_object=no
+ enable_shared_with_static_runtimes=no
+ export_dynamic_flag_spec=
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ hardcode_automatic=no
+ hardcode_direct=no
+ hardcode_direct_absolute=no
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_separator=
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=unsupported
+ inherit_rpath=no
+ link_all_deplibs=unknown
+ module_cmds=
+ module_expsym_cmds=
+ old_archive_from_new_cmds=
+ old_archive_from_expsyms_cmds=
+ thread_safe_flag_spec=
+ whole_archive_flag_spec=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ include_expsyms=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+ extract_expsyms_cmds=
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ link_all_deplibs=no
+ ;;
+ esac
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
+ ld_shlibs=yes
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test "$with_gnu_ld" = yes; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+ *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
+ if test "$lt_use_gnu_ld_interface" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
-# A C compiler.
-LTCC=$lt_LTCC
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[3-9]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
-# A language-specific compiler.
-CC=$lt_compiler_CXX
+_LT_EOF
+ fi
+ ;;
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_CXX
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
-# An ERE matcher.
-EGREP=$lt_EGREP
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag=unsupported
+ # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
-# The linker used to build libraries.
-LD=$lt_LD_CXX
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ export_dynamic_flag_spec='${wl}--export-all-symbols'
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
-# A BSD-compatible nm program.
-NM=$lt_NM
+ haiku*)
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ link_all_deplibs=yes
+ ;;
-# A symbol stripping program
-STRIP=$lt_STRIP
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ whole_archive_flag_spec=
+ tmp_sharedflag='--shared' ;;
+ xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
+ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
+ case $cc_basename in
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ ld_shlibs=no
+ fi
+ ;;
-# Used on cygwin: assembler.
-AS="$AS"
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
-# Object file suffix (normally "o").
-objext="$ac_objext"
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
-# Old archive suffix (normally "a").
-libext="$libext"
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
-# Executable file suffix (normally "").
-exeext="$exeext"
+ sunos4*)
+ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_CXX
-pic_mode=$pic_mode
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
+ if test "$ld_shlibs" = no; then
+ runpath_var=
+ hardcode_libdir_flag_spec=
+ export_dynamic_flag_spec=
+ whole_archive_flag_spec=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
-# Do we need a version for libraries?
-need_version=$need_version
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
+ archive_cmds=''
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ file_list_spec='${wl}-f,'
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ link_all_deplibs=no
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
+ export_dynamic_flag_spec='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ always_export_symbols=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath_+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_CXX
+int
+main ()
+{
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_="/usr/lib:/lib"
+ fi
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+fi
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
+ aix_libpath=$lt_cv_aix_libpath_
+fi
-# Library versioning type.
-version_type=$version_type
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag="-z nodefs"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath_+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
+int
+main ()
+{
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_="/usr/lib:/lib"
+ fi
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_CXX
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
+fi
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+ aix_libpath=$lt_cv_aix_libpath_
+fi
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag=' ${wl}-bernotok'
+ allow_undefined_flag=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec='$convenience'
+ fi
+ archive_cmds_need_lc=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_CXX
-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_CXX
-module_expsym_cmds=$lt_module_expsym_cmds_CXX
+ bsdi[45]*)
+ export_dynamic_flag_spec=-rdynamic
+ ;;
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ case $cc_basename in
+ cl*)
+ # Native MSVC
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ file_list_spec='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
+ enable_shared_with_static_runtimes=yes
+ exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ old_postinstall_cmds='chmod 644 $oldlib'
+ postlink_cmds='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC wrapper
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_from_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ enable_shared_with_static_runtimes=yes
+ ;;
+ esac
+ ;;
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_CXX
+ darwin* | rhapsody*)
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_CXX
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_CXX
+ archive_cmds_need_lc=no
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_CXX
+ else
+ whole_archive_flag_spec=''
+ fi
+ link_all_deplibs=yes
+ allow_undefined_flag="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+ else
+ ld_shlibs=no
+ fi
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+ ;;
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
+ dgux*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_CXX
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2.*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_CXX
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
+ hpux9*)
+ if test "$GCC" = yes; then
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ export_dynamic_flag_spec='${wl}-E'
+ ;;
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+ hpux11*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+$as_echo_n "checking if $CC understands -b... " >&6; }
+if ${lt_cv_prog_compiler__b+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler__b=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -b"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler__b=yes
+ fi
+ else
+ lt_cv_prog_compiler__b=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+$as_echo "$lt_cv_prog_compiler__b" >&6; }
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
+if test x"$lt_cv_prog_compiler__b" = xyes; then
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+fi
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_CXX
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ ;;
+ *)
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ # This should be the same for all languages, so no per-tag cache variable.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
+if ${lt_cv_irix_exported_symbol+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int foo (void) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_irix_exported_symbol=yes
+else
+ lt_cv_irix_exported_symbol=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+$as_echo "$lt_cv_irix_exported_symbol" >&6; }
+ if test "$lt_cv_irix_exported_symbol" = yes; then
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ fi
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ inherit_rpath=yes
+ link_all_deplibs=yes
+ ;;
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+ newsos6)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_shlibpath_var=no
+ ;;
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_CXX
+ *nto* | *qnx*)
+ ;;
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_CXX
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ hardcode_direct_absolute=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ ld_shlibs=no
+ fi
+ ;;
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_CXX
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_CXX
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_separator=:
+ ;;
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+ solaris*)
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_shlibpath_var=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ link_all_deplibs=yes
+ ;;
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds='$CC -r -o $output$reload_objs'
+ hardcode_direct=no
+ ;;
+ motorola)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_CXX
+ sysv4.3*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='-Bexport'
+ ;;
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_CXX
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs=yes
+ fi
+ ;;
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag='${wl}-z,text'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ runpath_var='LD_RUN_PATH'
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_CXX
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_CXX
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag='${wl}-z,text'
+ allow_undefined_flag='${wl}-z,nodefs'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-R,$libdir'
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ export_dynamic_flag_spec='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
-# ### END LIBTOOL TAG CONFIG: $tagname
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
-__EOF__
+ uts4*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
fi
-fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test "$ld_shlibs" = no && can_build_shared=no
-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
+with_gnu_ld=$with_gnu_ld
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
- else
- tagname=""
- fi
- ;;
- F77)
- if test -n "$F77" && test "X$F77" != "Xno"; then
-
-ac_ext=f
-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
-
-
-archive_cmds_need_lc_F77=no
-allow_undefined_flag_F77=
-always_export_symbols_F77=no
-archive_expsym_cmds_F77=
-export_dynamic_flag_spec_F77=
-hardcode_direct_F77=no
-hardcode_libdir_flag_spec_F77=
-hardcode_libdir_flag_spec_ld_F77=
-hardcode_libdir_separator_F77=
-hardcode_minus_L_F77=no
-hardcode_automatic_F77=no
-module_cmds_F77=
-module_expsym_cmds_F77=
-link_all_deplibs_F77=unknown
-old_archive_cmds_F77=$old_archive_cmds
-no_undefined_flag_F77=
-whole_archive_flag_spec_F77=
-enable_shared_with_static_runtimes_F77=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-objext_F77=$objext
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-# Code to be used in simple link tests
-lt_simple_link_test_code="\
- program t
- end
-"
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-# Allow CC to be a program name with arguments.
-compiler=$CC
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-compiler_F77=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc=yes
-{ 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; }
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
-test "$can_build_shared" = "no" && enable_shared=no
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl
+ pic_flag=$lt_prog_compiler_pic
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if { { eval echo "\"\$as_me\":${as_lineno-$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=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ then
+ lt_cv_archive_cmds_need_lc=no
+ else
+ lt_cv_archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+ archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
+ ;;
+ esac
fi
;;
esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$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; }
-# 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; }
-GCC_F77="$G77"
-LD_F77="$LD"
-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; }
- if test "$GCC" = yes; then
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_static_F77='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_F77='-Bstatic'
- fi
- ;;
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
- ;;
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic_F77='-DDLL_EXPORT'
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_F77='-fno-common'
- ;;
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared_F77=no
- enable_shared=no
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_F77=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_F77='-fPIC'
- ;;
- esac
- ;;
- *)
- lt_prog_compiler_pic_F77='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl_F77='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_F77='-Bstatic'
- else
- lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_F77='-qnocommon'
- lt_prog_compiler_wl_F77='-Wl,'
- ;;
- esac
- ;;
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_F77='-DDLL_EXPORT'
- ;;
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl_F77='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_F77='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static_F77='${wl}-a ${wl}archive'
- ;;
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl_F77='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
- newsos6)
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- icc* | ecc*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-fpic'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl_F77='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- lt_prog_compiler_wl_F77='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- lt_prog_compiler_wl_F77=''
- ;;
- esac
- ;;
- esac
- ;;
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl_F77='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
- rdos*)
- lt_prog_compiler_static_F77='-non_shared'
- ;;
- solaris*)
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl_F77='-Qoption ld ';;
- *)
- lt_prog_compiler_wl_F77='-Wl,';;
- esac
- ;;
- sunos4*)
- lt_prog_compiler_wl_F77='-Qoption ld '
- lt_prog_compiler_pic_F77='-PIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic_F77='-Kconform_pic'
- lt_prog_compiler_static_F77='-Bstatic'
- fi
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- unicos*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_can_build_shared_F77=no
- ;;
- uts4*)
- lt_prog_compiler_pic_F77='-pic'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- *)
- lt_prog_compiler_can_build_shared_F77=no
- ;;
- esac
- fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$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; }
-if test "${lt_cv_prog_compiler_pic_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_pic_works_F77=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_F77"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15118: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:15122: \$? = $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.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works_F77=yes
- fi
- fi
- $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; }
-if test x"$lt_cv_prog_compiler_pic_works_F77" = xyes; then
- case $lt_prog_compiler_pic_F77 in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
- esac
-else
- lt_prog_compiler_pic_F77=
- lt_prog_compiler_can_build_shared_F77=no
-fi
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_F77=
- ;;
- *)
- lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
- ;;
-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; }
-if test "${lt_cv_prog_compiler_static_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_static_works_F77=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works_F77=yes
- fi
- else
- lt_cv_prog_compiler_static_works_F77=yes
- fi
- fi
- $rm -r conftest*
- 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; }
-if test x"$lt_cv_prog_compiler_static_works_F77" = xyes; then
- :
-else
- lt_prog_compiler_static_F77=
-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; }
-if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_F77=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15222: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:15226: \$? = $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
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_F77=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $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; }
-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; }
- 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; }
- 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;}
- 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; }
- runpath_var=
- allow_undefined_flag_F77=
- enable_shared_with_static_runtimes_F77=no
- archive_cmds_F77=
- archive_expsym_cmds_F77=
- old_archive_From_new_cmds_F77=
- old_archive_from_expsyms_cmds_F77=
- export_dynamic_flag_spec_F77=
- whole_archive_flag_spec_F77=
- thread_safe_flag_spec_F77=
- hardcode_libdir_flag_spec_F77=
- hardcode_libdir_flag_spec_ld_F77=
- hardcode_libdir_separator_F77=
- hardcode_direct_F77=no
- hardcode_minus_L_F77=no
- hardcode_shlibpath_var_F77=unsupported
- link_all_deplibs_F77=unknown
- hardcode_automatic_F77=no
- module_cmds_F77=
- module_expsym_cmds_F77=
- always_export_symbols_F77=no
- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms_F77=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
- ld_shlibs_F77=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_F77='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_F77=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs_F77=no
- cat <<EOF 1>&2
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-EOF
- fi
- ;;
- amigaos*)
- archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
-
- # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs_F77=no
- ;;
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_F77=unsupported
- # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_F77='-L$libdir'
- allow_undefined_flag_F77=unsupported
- always_export_symbols_F77=no
- enable_shared_with_static_runtimes_F77=yes
- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- interix[3-9]*)
- hardcode_direct_F77=no
- hardcode_shlibpath_var_F77=no
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_F77='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
- esac
- archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- link_all_deplibs_F77=no
- else
- ld_shlibs_F77=no
- fi
- ;;
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs_F77=no
- cat <<EOF 1>&2
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs_F77=no
- cat <<_LT_EOF 1>&2
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- esac
- ;;
- sunos4*)
- archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- esac
- if test "$ld_shlibs_F77" = no; then
- runpath_var=
- hardcode_libdir_flag_spec_F77=
- export_dynamic_flag_spec_F77=
- whole_archive_flag_spec_F77=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag_F77=unsupported
- always_export_symbols_F77=yes
- archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L_F77=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct_F77=unsupported
- fi
- ;;
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
- archive_cmds_F77=''
- hardcode_direct_F77=yes
- hardcode_libdir_separator_F77=':'
- link_all_deplibs_F77=yes
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct_F77=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_F77=yes
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_libdir_separator_F77=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_F77=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_F77='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
- program main
- end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_f77_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-fi
-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
- hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_F77="-z nodefs"
- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
- program main
- end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_f77_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-fi
-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
- hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_F77=' ${wl}-bernotok'
- allow_undefined_flag_F77=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_F77='$convenience'
- archive_cmds_need_lc_F77=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
- amigaos*)
- archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs_F77=no
- ;;
- bsdi[45]*)
- export_dynamic_flag_spec_F77=-rdynamic
- ;;
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec_F77=' '
- allow_undefined_flag_F77=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds_F77='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes_F77=yes
- ;;
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc_F77=no
- hardcode_direct_F77=no
- hardcode_automatic_F77=yes
- hardcode_shlibpath_var_F77=unsupported
- whole_archive_flag_spec_F77=''
- link_all_deplibs_F77=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds_F77="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds_F77="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_F77=no
- ;;
- esac
- fi
- ;;
- dgux*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_shlibpath_var_F77=no
- ;;
- freebsd1*)
- ld_shlibs_F77=no
- ;;
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes
- hardcode_minus_L_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- hardcode_direct_F77=yes
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
- ;;
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- hardcode_direct_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- fi
- ;;
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld_F77='+b $libdir'
- hardcode_direct_F77=no
- hardcode_shlibpath_var_F77=no
- ;;
- *)
- hardcode_direct_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- ;;
- esac
- fi
- ;;
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld_F77='-rpath $libdir'
- fi
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- link_all_deplibs_F77=yes
- ;;
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
- newsos6)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- hardcode_shlibpath_var_F77=no
- ;;
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_F77='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- ;;
- *)
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs_F77=no
- fi
- ;;
- os2*)
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
- allow_undefined_flag_F77=unsupported
- archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag_F77=' -expect_unresolved \*'
- archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- ;;
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag_F77=' -expect_unresolved \*'
- archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec_F77='-rpath $libdir'
- fi
- hardcode_libdir_separator_F77=:
- ;;
- solaris*)
- no_undefined_flag_F77=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_shlibpath_var_F77=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs_F77=yes
- ;;
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_direct_F77=yes
- hardcode_minus_L_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds_F77='$CC -r -o $output$reload_objs'
- hardcode_direct_F77=no
- ;;
- motorola)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_F77=no
- ;;
- sysv4.3*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_F77=no
- export_dynamic_flag_spec_F77='-Bexport'
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_F77=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs_F77=yes
- fi
- ;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag_F77='${wl}-z,text'
- archive_cmds_need_lc_F77=no
- hardcode_shlibpath_var_F77=no
- runpath_var='LD_RUN_PATH'
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag_F77='${wl}-z,text'
- allow_undefined_flag_F77='${wl}-z,nodefs'
- archive_cmds_need_lc_F77=no
- hardcode_shlibpath_var_F77=no
- hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator_F77=':'
- link_all_deplibs_F77=yes
- export_dynamic_flag_spec_F77='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
- uts4*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_shlibpath_var_F77=no
- ;;
- *)
- ld_shlibs_F77=no
- ;;
- esac
- fi
-{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6; }
-test "$ld_shlibs_F77" = no && can_build_shared=no
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_F77" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_F77=yes
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_F77 in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { 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; }
- $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
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_F77
- pic_flag=$lt_prog_compiler_pic_F77
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_F77
- allow_undefined_flag_F77=
- 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
- (exit $ac_status); }
- then
- archive_cmds_need_lc_F77=no
- else
- archive_cmds_need_lc_F77=yes
- fi
- allow_undefined_flag_F77=$lt_save_allow_undefined_flag
- else
- 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; }
- ;;
- 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:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
+ *) lt_sed_strip_eq="s,=/,/,g" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[lt_foo]++; }
+ if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -16314,7 +11527,6 @@ shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -16324,7 +11536,7 @@ need_version=unknown
case $host_os in
aix3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
shlibpath_var=LIBPATH
@@ -16333,7 +11545,7 @@ aix3*)
;;
aix[4-9]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
@@ -16351,7 +11563,7 @@ aix[4-9]*)
aix4 | aix4.[01] | aix4.[01].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
@@ -16377,9 +11589,18 @@ aix[4-9]*)
;;
amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
;;
beos*)
@@ -16389,7 +11610,7 @@ beos*)
;;
bsdi[45]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
@@ -16402,61 +11623,112 @@ bsdi[45]*)
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
shrext_cmds=".dll"
need_version=no
need_lib_prefix=no
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
- $rm \$dlpath'
+ $RM \$dlpath'
shlibpath_overrides_runpath=yes
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
;;
- mingw*)
+ mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='${libname}.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec="$LIB"
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
;;
*)
+ # Assume MSVC wrapper
library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ dynamic_linker='Win32 ld.exe'
;;
esac
- dynamic_linker='Win32 ld.exe'
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
@@ -16466,17 +11738,18 @@ darwin* | rhapsody*)
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
soname_spec='${libname}${release}${major}$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
dgux*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -16484,10 +11757,6 @@ dgux*)
shlibpath_var=LD_LIBRARY_PATH
;;
-freebsd1*)
- dynamic_linker=no
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
@@ -16495,7 +11764,7 @@ freebsd* | dragonfly*)
objformat=`/usr/bin/objformat`
else
case $host_os in
- freebsd[123]*) objformat=aout ;;
+ freebsd[23].*) objformat=aout ;;
*) objformat=elf ;;
esac
fi
@@ -16513,7 +11782,7 @@ freebsd* | dragonfly*)
esac
shlibpath_var=LD_LIBRARY_PATH
case $host_os in
- freebsd2*)
+ freebsd2.*)
shlibpath_overrides_runpath=yes
;;
freebsd3.[01]* | freebsdelf3.[01]*)
@@ -16533,12 +11802,26 @@ freebsd* | dragonfly*)
;;
gnu*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;
@@ -16564,18 +11847,18 @@ hpux9* | hpux10* | hpux11*)
fi
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
shrext_cmds='.sl'
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
@@ -16584,12 +11867,14 @@ hpux9* | hpux10* | hpux11*)
soname_spec='${libname}${release}${shared_ext}$major'
;;
esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
;;
interix[3-9]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -16605,7 +11890,7 @@ irix5* | irix6* | nonstopux*)
nonstopux*) version_type=nonstopux ;;
*)
if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
fi ;;
@@ -16642,9 +11927,9 @@ linux*oldld* | linux*aout* | linux*coff*)
dynamic_linker=no
;;
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -16652,6 +11937,41 @@ linux* | k*bsd*-gnu)
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+ lt_cv_shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
+fi
+
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# before this can be enabled.
@@ -16659,7 +11979,7 @@ linux* | k*bsd*-gnu)
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
@@ -16688,7 +12008,7 @@ netbsd*)
version_type=sunos
need_lib_prefix=no
need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
@@ -16703,20 +12023,22 @@ netbsd*)
;;
newsos6)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
-nto-qnx*)
- version_type=linux
+*nto* | *qnx*)
+ version_type=qnx
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
;;
openbsd*)
@@ -16725,13 +12047,13 @@ openbsd*)
need_lib_prefix=no
# Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
esac
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
case $host_os in
openbsd2.[89] | openbsd2.[89].*)
shlibpath_overrides_runpath=no
@@ -16770,7 +12092,7 @@ rdos*)
;;
solaris*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -16795,7 +12117,7 @@ sunos4*)
;;
sysv4 | sysv4.3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -16803,7 +12125,6 @@ sysv4 | sysv4.3*)
sni)
shlibpath_overrides_runpath=no
need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
runpath_var=LD_RUN_PATH
;;
siemens)
@@ -16820,7 +12141,7 @@ sysv4 | sysv4.3*)
sysv4*MP*)
if test -d /usr/nec ;then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
soname_spec='$libname${shared_ext}.$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -16834,13 +12155,12 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
if test "$with_gnu_ld" = yes; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
case $host_os in
sco3.2v5*)
sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
@@ -16850,8 +12170,19 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
sys_lib_dlsearch_path_spec='/usr/lib'
;;
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
uts4*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -16861,1446 +12192,1295 @@ uts4*)
dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
fi
-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
-else
- lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
-fi
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-{ 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; }
-hardcode_action_F77=
-if test -n "$hardcode_libdir_flag_spec_F77" || \
- test -n "$runpath_var_F77" || \
- test "X$hardcode_automatic_F77" = "Xyes" ; then
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_F77" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
- test "$hardcode_minus_L_F77" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_F77=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_F77=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_F77=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6; }
-if test "$hardcode_action_F77" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_F77 \
- CC_F77 \
- LD_F77 \
- lt_prog_compiler_wl_F77 \
- lt_prog_compiler_pic_F77 \
- lt_prog_compiler_static_F77 \
- lt_prog_compiler_no_builtin_flag_F77 \
- export_dynamic_flag_spec_F77 \
- thread_safe_flag_spec_F77 \
- whole_archive_flag_spec_F77 \
- enable_shared_with_static_runtimes_F77 \
- old_archive_cmds_F77 \
- old_archive_from_new_cmds_F77 \
- predep_objects_F77 \
- postdep_objects_F77 \
- predeps_F77 \
- postdeps_F77 \
- compiler_lib_search_path_F77 \
- compiler_lib_search_dirs_F77 \
- archive_cmds_F77 \
- archive_expsym_cmds_F77 \
- postinstall_cmds_F77 \
- postuninstall_cmds_F77 \
- old_archive_from_expsyms_cmds_F77 \
- allow_undefined_flag_F77 \
- no_undefined_flag_F77 \
- export_symbols_cmds_F77 \
- hardcode_libdir_flag_spec_F77 \
- hardcode_libdir_flag_spec_ld_F77 \
- hardcode_libdir_separator_F77 \
- hardcode_automatic_F77 \
- module_cmds_F77 \
- module_expsym_cmds_F77 \
- lt_cv_prog_compiler_c_o_F77 \
- fix_srcfile_path_F77 \
- exclude_expsyms_F77 \
- include_expsyms_F77; do
-
- case $var in
- old_archive_cmds_F77 | \
- old_archive_from_new_cmds_F77 | \
- archive_cmds_F77 | \
- archive_expsym_cmds_F77 | \
- module_cmds_F77 | \
- module_expsym_cmds_F77 | \
- old_archive_from_expsyms_cmds_F77 | \
- export_symbols_cmds_F77 | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-cfgfile="$ofile"
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_F77
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-# A C compiler.
-LTCC=$lt_LTCC
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-# A language-specific compiler.
-CC=$lt_compiler_F77
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_F77
-# An ERE matcher.
-EGREP=$lt_EGREP
-# The linker used to build libraries.
-LD=$lt_LD_F77
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-# A BSD-compatible nm program.
-NM=$lt_NM
-# A symbol stripping program
-STRIP=$lt_STRIP
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-# Used on cygwin: assembler.
-AS="$AS"
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_F77
-# Object file suffix (normally "o").
-objext="$ac_objext"
-# Old archive suffix (normally "a").
-libext="$libext"
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-# Executable file suffix (normally "").
-exeext="$exeext"
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_F77
-pic_mode=$pic_mode
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-# Do we need a version for libraries?
-need_version=$need_version
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_F77
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77
-# Library versioning type.
-version_type=$version_type
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_F77
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_F77
-archive_expsym_cmds=$lt_archive_expsym_cmds_F77
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_F77
-module_expsym_cmds=$lt_module_expsym_cmds_F77
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_F77
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_F77
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_F77
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_F77
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_F77
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_F77
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_F77
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_F77
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_F77
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_F77
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
+ { $as_echo "$as_me:${as_lineno-$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" ||
+ test "X$hardcode_automatic" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$hardcode_direct" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
+ test "$hardcode_minus_L" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test "$hardcode_action" = relink ||
+ test "$inherit_rpath" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+
+
+
+
+
+ if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* 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
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+
+fi
+
+ ;;
+
+ *)
+ ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = xyes; then :
+ lt_cv_dlopen="shl_load"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if ${ac_cv_lib_dld_shl_load+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* 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
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_shl_load=yes
+else
+ ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+ ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* 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
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if ${ac_cv_lib_svld_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* 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
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_svld_dlopen=yes
+else
+ ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if ${ac_cv_lib_dld_dld_link+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* 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
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_dld_link=yes
+else
+ ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_F77
+fi
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
+ ;;
+ esac
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_F77
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_F77
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_F77
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
+#include <stdio.h>
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_F77
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_F77
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
-# ### END LIBTOOL TAG CONFIG: $tagname
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
-__EOF__
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
+ return status;
+}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self=no
fi
fi
+rm -fr conftest*
-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
-
-CC="$lt_save_CC"
-
- else
- tagname=""
- fi
- ;;
-
- GCJ)
- if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-
-
-# Source file extension for Java test sources.
-ac_ext=java
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
-# Object file extension for compiled Java test sources.
-objext=o
-objext_GCJ=$objext
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_dlopen_self_static+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self_static=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
+#include <stdio.h>
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
-# Allow CC to be a program name with arguments.
-compiler=$CC
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
+ return status;
+}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self_static=no
+ fi
+fi
+rm -fr conftest*
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+ fi
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-compiler_GCJ=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-archive_cmds_need_lc_GCJ=no
-old_archive_cmds_GCJ=$old_archive_cmds
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
-lt_prog_compiler_no_builtin_flag_GCJ=
-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; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17442: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:17446: \$? = $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.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $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; }
-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"
-else
- :
-fi
-fi
-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; }
- if test "$GCC" = yes; then
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_static_GCJ='-static'
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_GCJ='-Bstatic'
- fi
- ;;
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
- ;;
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_GCJ='-fno-common'
- ;;
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$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"
+ { $as_echo "$as_me:${as_lineno-$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
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ ;;
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared_GCJ=no
- enable_shared=no
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_GCJ=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_GCJ='-fPIC'
- ;;
- esac
- ;;
- *)
- lt_prog_compiler_pic_GCJ='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_GCJ='-Bstatic'
- else
- lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_GCJ='-qnocommon'
- lt_prog_compiler_wl_GCJ='-Wl,'
- ;;
- esac
- ;;
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- ;;
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_GCJ='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
- ;;
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
- newsos6)
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- icc* | ecc*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-fpic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- lt_prog_compiler_wl_GCJ='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- lt_prog_compiler_wl_GCJ=''
- ;;
- esac
- ;;
- esac
- ;;
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
- rdos*)
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
+ # Report which library types will actually be built
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
- solaris*)
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl_GCJ='-Qoption ld ';;
- *)
- lt_prog_compiler_wl_GCJ='-Wl,';;
- esac
- ;;
+ { $as_echo "$as_me:${as_lineno-$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
- sunos4*)
- lt_prog_compiler_wl_GCJ='-Qoption ld '
- lt_prog_compiler_pic_GCJ='-PIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
+ aix[4-9]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic_GCJ='-Kconform_pic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- fi
- ;;
+ { $as_echo "$as_me:${as_lineno-$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
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
- unicos*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_can_build_shared_GCJ=no
- ;;
- uts4*)
- lt_prog_compiler_pic_GCJ='-pic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
- *)
- lt_prog_compiler_can_build_shared_GCJ=no
- ;;
- esac
- fi
+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
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; }
+CC="$lt_save_CC"
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_GCJ"; then
+ 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=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
+{ $as_echo "$as_me:${as_lineno-$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 ${ac_cv_prog_CXXCPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CXXCPP needs to be expanded
+ for CXXCPP in "$CXX -E" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; 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; }
-if test "${lt_cv_prog_compiler_pic_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
else
- lt_cv_prog_compiler_pic_works_GCJ=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17732: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:17736: \$? = $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.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works_GCJ=yes
- fi
- fi
- $rm conftest*
-
+ # Broken: fails on valid input.
+continue
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; }
+rm -f conftest.err conftest.i conftest.$ac_ext
-if test x"$lt_cv_prog_compiler_pic_works_GCJ" = xyes; then
- case $lt_prog_compiler_pic_GCJ in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
- esac
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
else
- lt_prog_compiler_pic_GCJ=
- lt_prog_compiler_can_build_shared_GCJ=no
+ # Passes both tests.
+ac_preproc_ok=:
+break
fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_GCJ=
- ;;
- *)
- lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
- ;;
-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; }
-if test "${lt_cv_prog_compiler_static_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_static_works_GCJ=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works_GCJ=yes
- fi
- else
- lt_cv_prog_compiler_static_works_GCJ=yes
- fi
- fi
- $rm -r conftest*
- LDFLAGS="$save_LDFLAGS"
+ done
+ ac_cv_prog_CXXCPP=$CXXCPP
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; }
-
-if test x"$lt_cv_prog_compiler_static_works_GCJ" = xyes; then
- :
+ CXXCPP=$ac_cv_prog_CXXCPP
else
- lt_prog_compiler_static_GCJ=
+ ac_cv_prog_CXXCPP=$CXXCPP
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
-{ 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; }
-if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
else
- lt_cv_prog_compiler_c_o_GCJ=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17836: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:17840: \$? = $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
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_GCJ=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
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; }
+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
-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; }
- 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; }
- 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;}
- need_locks=warn
- fi
else
- need_locks=no
+ _lt_caught_CXX_error=yes
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; }
+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
- runpath_var=
- allow_undefined_flag_GCJ=
- enable_shared_with_static_runtimes_GCJ=no
- archive_cmds_GCJ=
- archive_expsym_cmds_GCJ=
- old_archive_From_new_cmds_GCJ=
- old_archive_from_expsyms_cmds_GCJ=
- export_dynamic_flag_spec_GCJ=
- whole_archive_flag_spec_GCJ=
- thread_safe_flag_spec_GCJ=
- hardcode_libdir_flag_spec_GCJ=
- hardcode_libdir_flag_spec_ld_GCJ=
- hardcode_libdir_separator_GCJ=
- hardcode_direct_GCJ=no
- hardcode_minus_L_GCJ=no
- hardcode_shlibpath_var_GCJ=unsupported
- link_all_deplibs_GCJ=unknown
- hardcode_automatic_GCJ=no
- module_cmds_GCJ=
- module_expsym_cmds_GCJ=
- always_export_symbols_GCJ=no
- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms_GCJ=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+archive_cmds_need_lc_CXX=no
+allow_undefined_flag_CXX=
+always_export_symbols_CXX=no
+archive_expsym_cmds_CXX=
+compiler_needs_object_CXX=no
+export_dynamic_flag_spec_CXX=
+hardcode_direct_CXX=no
+hardcode_direct_absolute_CXX=no
+hardcode_libdir_flag_spec_CXX=
+hardcode_libdir_separator_CXX=
+hardcode_minus_L_CXX=no
+hardcode_shlibpath_var_CXX=unsupported
+hardcode_automatic_CXX=no
+inherit_rpath_CXX=no
+module_cmds_CXX=
+module_expsym_cmds_CXX=
+link_all_deplibs_CXX=unknown
+old_archive_cmds_CXX=$old_archive_cmds
+reload_flag_CXX=$reload_flag
+reload_cmds_CXX=$reload_cmds
+no_undefined_flag_CXX=
+whole_archive_flag_spec_CXX=
+enable_shared_with_static_runtimes_CXX=no
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
+# Source file extension for C++ test sources.
+ac_ext=cpp
- ld_shlibs_GCJ=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
+# Object file extension for compiled C++ test sources.
+objext=o
+objext_CXX=$objext
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_GCJ=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs_GCJ=no
- cat <<EOF 1>&2
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-EOF
- fi
- ;;
- amigaos*)
- archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
-
- # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs_GCJ=no
- ;;
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_GCJ=unsupported
- # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- allow_undefined_flag_GCJ=unsupported
- always_export_symbols_GCJ=no
- enable_shared_with_static_runtimes_GCJ=yes
- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
- interix[3-9]*)
- hardcode_direct_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_GCJ='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
- esac
- archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+ # save warnings/boilerplate of simple test code
+ ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- link_all_deplibs_GCJ=no
- else
- ld_shlibs_GCJ=no
- fi
- ;;
+ ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_CFLAGS=$CFLAGS
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ compiler_CXX=$CC
+ for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs_GCJ=no
- cat <<EOF 1>&2
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+ else
+ lt_prog_compiler_no_builtin_flag_CXX=
+ fi
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs_GCJ=no
- cat <<_LT_EOF 1>&2
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
+# 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
+else
+ with_gnu_ld=no
+fi
-_LT_EOF
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:${as_lineno-$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
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${lt_cv_path_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
+ *)
+ test "$with_gnu_ld" != yes && break
;;
esac
- ;;
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
- sunos4*)
- archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${lt_cv_prog_gnu_ld+:} false; then :
+ $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
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
- esac
- if test "$ld_shlibs_GCJ" = no; then
- runpath_var=
- hardcode_libdir_flag_spec_GCJ=
- export_dynamic_flag_spec_GCJ=
- whole_archive_flag_spec_GCJ=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag_GCJ=unsupported
- always_export_symbols_GCJ=yes
- archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L_GCJ=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct_GCJ=unsupported
- fi
- ;;
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
+
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec_CXX=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
fi
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
- archive_cmds_GCJ=''
- hardcode_direct_GCJ=yes
- hardcode_libdir_separator_GCJ=':'
- link_all_deplibs_GCJ=yes
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+ fi
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
+ # PORTME: fill in a description of your system's C++ link characteristics
+ { $as_echo "$as_me:${as_lineno-$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*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds_CXX=''
+ hardcode_direct_CXX=yes
+ hardcode_direct_absolute_CXX=yes
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ file_list_spec_CXX='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
- # We have reworked collect2
- :
+ # We have reworked collect2
+ :
else
- # We have old collect2
- hardcode_direct_GCJ=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_GCJ=yes
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_libdir_separator_GCJ=
+ # We have old collect2
+ hardcode_direct_CXX=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L_CXX=yes
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ hardcode_libdir_separator_CXX=
fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
+ esac
+ shared_flag='-shared'
if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
+ shared_flag="$shared_flag "'${wl}-G'
fi
- fi
- fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_GCJ=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_GCJ='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ export_dynamic_flag_spec_CXX='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ always_export_symbols_CXX=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag_CXX='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath__CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
@@ -18311,62 +13491,50 @@ main ()
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+if ac_fn_cxx_try_link "$LINENO"; then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX="/usr/lib:/lib"
+ fi
+fi
+ aix_libpath=$lt_cv_aix_libpath__CXX
fi
-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
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
- hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_GCJ="-z nodefs"
- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag_CXX="-z nodefs"
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath__CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
@@ -18377,2085 +13545,2609 @@ main ()
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+if ac_fn_cxx_try_link "$LINENO"; then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX="/usr/lib:/lib"
+ fi
+fi
+ aix_libpath=$lt_cv_aix_libpath__CXX
fi
-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
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag_CXX=' ${wl}-bernotok'
+ allow_undefined_flag_CXX=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec_CXX='$convenience'
+ fi
+ archive_cmds_need_lc_CXX=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
- hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_GCJ=' ${wl}-bernotok'
- allow_undefined_flag_GCJ=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_GCJ='$convenience'
- archive_cmds_need_lc_GCJ=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag_CXX=unsupported
+ # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs_CXX=no
fi
- fi
- ;;
-
- amigaos*)
- archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs_GCJ=no
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec_GCJ=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec_GCJ=' '
- allow_undefined_flag_GCJ=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds_GCJ='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes_GCJ=yes
- ;;
+ ;;
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc_GCJ=no
- hardcode_direct_GCJ=no
- hardcode_automatic_GCJ=yes
- hardcode_shlibpath_var_GCJ=unsupported
- whole_archive_flag_spec_GCJ=''
- link_all_deplibs_GCJ=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds_GCJ="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds_GCJ="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_GCJ=no
- ;;
- esac
- fi
- ;;
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
- dgux*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_shlibpath_var_GCJ=no
- ;;
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $GXX,$cc_basename in
+ ,cl* | no,cl*)
+ # Native MSVC
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec_CXX=' '
+ allow_undefined_flag_CXX=unsupported
+ always_export_symbols_CXX=yes
+ file_list_spec_CXX='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
+ enable_shared_with_static_runtimes_CXX=yes
+ # Don't use ranlib
+ old_postinstall_cmds_CXX='chmod 644 $oldlib'
+ postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # g++
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
+ allow_undefined_flag_CXX=unsupported
+ always_export_symbols_CXX=no
+ enable_shared_with_static_runtimes_CXX=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+ darwin* | rhapsody*)
- freebsd1*)
- ld_shlibs_GCJ=no
- ;;
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
+ archive_cmds_need_lc_CXX=no
+ hardcode_direct_CXX=no
+ hardcode_automatic_CXX=yes
+ hardcode_shlibpath_var_CXX=unsupported
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes
- hardcode_minus_L_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
+ else
+ whole_archive_flag_spec_CXX=''
+ fi
+ link_all_deplibs_CXX=yes
+ allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
+ else
+ ld_shlibs_CXX=no
+ fi
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- hardcode_direct_GCJ=yes
+ ;;
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
- ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
+ freebsd2.*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ ld_shlibs_CXX=no
+ ;;
- hardcode_direct_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
+ freebsd-elf*)
+ archive_cmds_need_lc_CXX=no
+ ;;
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- fi
- ;;
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ ld_shlibs_CXX=yes
+ ;;
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
+ gnu*)
+ ;;
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
- hardcode_direct_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- ;;
- *)
- hardcode_direct_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
+ haiku*)
+ archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ link_all_deplibs_CXX=yes
+ ;;
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- ;;
- esac
- fi
- ;;
+ hpux9*)
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ hardcode_direct_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- link_all_deplibs_GCJ=yes
- ;;
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
- netbsd* | netbsdelf*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ ;;
+ *)
+ hardcode_direct_CXX=yes
+ hardcode_direct_absolute_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
- newsos6)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- hardcode_shlibpath_var_GCJ=no
- ;;
+ interix[3-9]*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ fi
+ fi
+ link_all_deplibs_CXX=yes
+ ;;
+ esac
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ inherit_rpath_CXX=yes
+ ;;
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_GCJ='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- ;;
- *)
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs_GCJ=no
- fi
- ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
- os2*)
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
- allow_undefined_flag_GCJ=unsupported
- archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ archive_cmds_need_lc_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
+ prelink_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ old_archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ archive_expsym_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag_GCJ=' -expect_unresolved \*'
- archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- ;;
+ hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag_GCJ=' -expect_unresolved \*'
- archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ hardcode_libdir_separator_CXX=:
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
- fi
- hardcode_libdir_separator_GCJ=:
- ;;
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ ;;
+ xl* | mpixl* | bgxl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object_CXX=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
- solaris*)
- no_undefined_flag_GCJ=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_shlibpath_var_GCJ=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract'
- fi
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
;;
- esac
- link_all_deplibs_GCJ=yes
- ;;
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_direct_GCJ=yes
- hardcode_minus_L_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
+ m88k*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes # is this really true???
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds_GCJ='$CC -r -o $output$reload_objs'
- hardcode_direct_GCJ=no
- ;;
- motorola)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_GCJ=no
- ;;
- sysv4.3*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_GCJ=no
- export_dynamic_flag_spec_GCJ='-Bexport'
- ;;
+ *nto* | *qnx*)
+ ld_shlibs_CXX=yes
+ ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_GCJ=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs_GCJ=yes
- fi
- ;;
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ ld_shlibs_CXX=no
+ ;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag_GCJ='${wl}-z,text'
- archive_cmds_need_lc_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- runpath_var='LD_RUN_PATH'
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ hardcode_direct_absolute_CXX=yes
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=func_echo_all
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ allow_undefined_flag_CXX=' -expect_unresolved \*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ ;;
+ esac
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag_GCJ='${wl}-z,text'
- allow_undefined_flag_GCJ='${wl}-z,nodefs'
- archive_cmds_need_lc_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator_GCJ=':'
- link_all_deplibs_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
+ hardcode_libdir_separator_CXX=:
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
- uts4*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_shlibpath_var_GCJ=no
- ;;
+ psos*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
- *)
- ld_shlibs_GCJ=no
- ;;
- esac
- fi
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
-{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6; }
-test "$ld_shlibs_GCJ" = no && can_build_shared=no
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ archive_cmds_need_lc_CXX=yes
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_shlibpath_var_CXX=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ link_all_deplibs_CXX=yes
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_GCJ" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_GCJ=yes
+ output_verbose_link_cmd='func_echo_all'
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_GCJ in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { 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; }
- $rm conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_GCJ
- pic_flag=$lt_prog_compiler_pic_GCJ
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
- allow_undefined_flag_GCJ=
- 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
- (exit $ac_status); }
- then
- archive_cmds_need_lc_GCJ=no
- else
- archive_cmds_need_lc_GCJ=yes
- fi
- allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
- else
- 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; }
- ;;
- esac
- fi
- ;;
-esac
+ # The C++ compiler must be used to create the archive.
+ old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag_CXX='${wl}-z,text'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ runpath_var='LD_RUN_PATH'
-need_lib_prefix=unknown
-hardcode_into_libs=no
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag_CXX='${wl}-z,text'
+ allow_undefined_flag_CXX='${wl}-z,nodefs'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ export_dynamic_flag_spec_CXX='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
+ '"$old_archive_cmds_CXX"
+ reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
+ '"$reload_cmds_CXX"
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+ test "$ld_shlibs_CXX" = no && can_build_shared=no
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
+ GCC_CXX="$GXX"
+ LD_CXX="$LD"
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ # Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
+cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
+if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case ${prev}${p} in
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+ test $p = "-R"; then
+ prev=$p
+ continue
+ fi
-freebsd1*)
- dynamic_linker=no
- ;;
+ # Expand the sysroot to ease extracting the directories later.
+ if test -z "$prev"; then
+ case $p in
+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+ esac
+ fi
+ case $p in
+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+ esac
+ if test "$pre_test_object_deps_done" = no; then
+ case ${prev} in
+ -L | -R)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$compiler_lib_search_path_CXX"; then
+ compiler_lib_search_path_CXX="${prev}${p}"
+ else
+ compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$postdeps_CXX"; then
+ postdeps_CXX="${prev}${p}"
+ else
+ postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+ fi
+ fi
+ prev=
+ ;;
+
+ *.lto.$objext) ;; # Ignore GCC LTO objects
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$predep_objects_CXX"; then
+ predep_objects_CXX="$p"
+ else
+ predep_objects_CXX="$predep_objects_CXX $p"
+ fi
+ else
+ if test -z "$postdep_objects_CXX"; then
+ postdep_objects_CXX="$p"
+ else
+ postdep_objects_CXX="$postdep_objects_CXX $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
+ done
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling CXX test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+case $host_os in
+interix[3-9]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ predep_objects_CXX=
+ postdep_objects_CXX=
+ postdeps_CXX=
;;
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ if test "$solaris_use_stlport4" != yes; then
+ postdeps_CXX='-library=Cstd -library=Crun'
fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
;;
esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
;;
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
+solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
esac
+
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ if test "$solaris_use_stlport4" != yes; then
+ postdeps_CXX='-library=Cstd -library=Crun'
+ fi
;;
esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
;;
+esac
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
+case " $postdeps_CXX " in
+*" -lc "*) archive_cmds_need_lc_CXX=no ;;
+esac
+ compiler_lib_search_dirs_CXX=
+if test -n "${compiler_lib_search_path_CXX}"; then
+ compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ lt_prog_compiler_wl_CXX=
+lt_prog_compiler_pic_CXX=
+lt_prog_compiler_static_CXX=
+
+
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='-static'
+
case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_CXX='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic_CXX='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ lt_prog_compiler_pic_CXX=
+ ;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ lt_prog_compiler_static_CXX=
+ ;;
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic_CXX=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
;;
*)
- shlibpath_overrides_runpath=yes
+ lt_prog_compiler_pic_CXX='-fPIC'
;;
esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
;;
- siemens)
- need_lib_prefix=no
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic_CXX='-fPIC -shared'
;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ *)
+ lt_prog_compiler_pic_CXX='-fPIC'
;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
+ esac
else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ aix[4-9]*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_CXX='-Bstatic'
+ else
+ lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ lt_prog_compiler_pic_CXX='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ lt_prog_compiler_pic_CXX='+Z'
+ fi
+ ;;
+ aCC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ lt_prog_compiler_wl_CXX='--backend -Wl,'
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-fPIC'
+ lt_prog_compiler_static_CXX='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-fpic'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_static_CXX='-non_shared'
+ ;;
+ xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-qpic'
+ lt_prog_compiler_static_CXX='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ lt_prog_compiler_wl_CXX='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ lt_prog_compiler_pic_CXX='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd* | netbsdelf*-gnu)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic_CXX='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ lt_prog_compiler_wl_CXX='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ lt_prog_compiler_wl_CXX='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_static_CXX='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ lt_prog_compiler_wl_CXX='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ lt_prog_compiler_pic_CXX='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ lt_prog_compiler_pic_CXX='-pic'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ lt_prog_compiler_pic_CXX='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ lt_prog_compiler_can_build_shared_CXX=no
;;
esac
fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-*)
- dynamic_linker=no
- ;;
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic_CXX=
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+ ;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$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 "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+ lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }
+lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
-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
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_CXX"; then
+ { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_pic_works_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
-fi
-
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+ lt_cv_prog_compiler_pic_works_CXX=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $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.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works_CXX=yes
+ fi
+ fi
+ $RM conftest*
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
-{ 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; }
-hardcode_action_GCJ=
-if test -n "$hardcode_libdir_flag_spec_GCJ" || \
- test -n "$runpath_var_GCJ" || \
- test "X$hardcode_automatic_GCJ" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_GCJ" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
- test "$hardcode_minus_L_GCJ" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_GCJ=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_GCJ=immediate
- fi
+if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
+ case $lt_prog_compiler_pic_CXX in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
+ esac
else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_GCJ=unsupported
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_can_build_shared_CXX=no
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6; }
-if test "$hardcode_action_GCJ" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
fi
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_GCJ \
- CC_GCJ \
- LD_GCJ \
- lt_prog_compiler_wl_GCJ \
- lt_prog_compiler_pic_GCJ \
- lt_prog_compiler_static_GCJ \
- lt_prog_compiler_no_builtin_flag_GCJ \
- export_dynamic_flag_spec_GCJ \
- thread_safe_flag_spec_GCJ \
- whole_archive_flag_spec_GCJ \
- enable_shared_with_static_runtimes_GCJ \
- old_archive_cmds_GCJ \
- old_archive_from_new_cmds_GCJ \
- predep_objects_GCJ \
- postdep_objects_GCJ \
- predeps_GCJ \
- postdeps_GCJ \
- compiler_lib_search_path_GCJ \
- compiler_lib_search_dirs_GCJ \
- archive_cmds_GCJ \
- archive_expsym_cmds_GCJ \
- postinstall_cmds_GCJ \
- postuninstall_cmds_GCJ \
- old_archive_from_expsyms_cmds_GCJ \
- allow_undefined_flag_GCJ \
- no_undefined_flag_GCJ \
- export_symbols_cmds_GCJ \
- hardcode_libdir_flag_spec_GCJ \
- hardcode_libdir_flag_spec_ld_GCJ \
- hardcode_libdir_separator_GCJ \
- hardcode_automatic_GCJ \
- module_cmds_GCJ \
- module_expsym_cmds_GCJ \
- lt_cv_prog_compiler_c_o_GCJ \
- fix_srcfile_path_GCJ \
- exclude_expsyms_GCJ \
- include_expsyms_GCJ; do
-
- case $var in
- old_archive_cmds_GCJ | \
- old_archive_from_new_cmds_GCJ | \
- archive_cmds_GCJ | \
- archive_expsym_cmds_GCJ | \
- module_cmds_GCJ | \
- module_expsym_cmds_GCJ | \
- old_archive_from_expsyms_cmds_GCJ | \
- export_symbols_cmds_GCJ | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_GCJ
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-# A language-specific compiler.
-CC=$lt_compiler_GCJ
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_GCJ
-# An ERE matcher.
-EGREP=$lt_EGREP
+#
+# 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\"
+{ $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_static_works_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_static_works_CXX=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works_CXX=yes
+ fi
+ else
+ lt_cv_prog_compiler_static_works_CXX=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
-# The linker used to build libraries.
-LD=$lt_LD_GCJ
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
+if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
+ :
+else
+ lt_prog_compiler_static_CXX=
+fi
-# A BSD-compatible nm program.
-NM=$lt_NM
-# A symbol stripping program
-STRIP=$lt_STRIP
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
+ { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o_CXX=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $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
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o_CXX=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
-# Used on cygwin: assembler.
-AS="$AS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_GCJ
+ { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o_CXX=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-# Object file suffix (normally "o").
-objext="$ac_objext"
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $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
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o_CXX=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
-# Old archive suffix (normally "a").
-libext="$libext"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-# Executable file suffix (normally "").
-exeext="$exeext"
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_GCJ
-pic_mode=$pic_mode
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
+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
+ { $as_echo "$as_me:${as_lineno-$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
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:${as_lineno-$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
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-# Do we need a version for libraries?
-need_version=$need_version
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+ case $host_os in
+ aix[4-9]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global defined
+ # symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ export_symbols_cmds_CXX="$ltdll_cmds"
+ ;;
+ cygwin* | mingw* | cegcc*)
+ case $cc_basename in
+ cl*)
+ exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ ;;
+ *)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+ exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ link_all_deplibs_CXX=no
+ ;;
+ *)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+test "$ld_shlibs_CXX" = no && can_build_shared=no
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
+with_gnu_ld_CXX=$with_gnu_ld
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_GCJ
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_CXX" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc_CXX=yes
-# Library versioning type.
-version_type=$version_type
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds_CXX in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl_CXX
+ pic_flag=$lt_prog_compiler_pic_CXX
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+ allow_undefined_flag_CXX=
+ if { { eval echo "\"\$as_me\":${as_lineno-$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=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ then
+ lt_cv_archive_cmds_need_lc_CXX=no
+ else
+ lt_cv_archive_cmds_need_lc_CXX=yes
+ fi
+ allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
+ archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
+ ;;
+ esac
+ fi
+ ;;
+esac
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_GCJ
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_GCJ
-archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_GCJ
-module_expsym_cmds=$lt_module_expsym_cmds_GCJ
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_GCJ
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_GCJ
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_GCJ
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_GCJ
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_GCJ
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_GCJ
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_GCJ
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_GCJ
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_GCJ
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_GCJ
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_GCJ
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_GCJ
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_GCJ
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_GCJ
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_GCJ
-# ### END LIBTOOL TAG CONFIG: $tagname
-__EOF__
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-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
-CC="$lt_save_CC"
- else
- tagname=""
- fi
- ;;
- RC)
-# Source file extension for RC test sources.
-ac_ext=rc
-# Object file extension for compiled RC test sources.
-objext=o
-objext_RC=$objext
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-# Allow CC to be a program name with arguments.
-compiler=$CC
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
+case $host_os in
+aix3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-compiler_RC=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-lt_cv_prog_compiler_c_o_RC=yes
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_RC \
- CC_RC \
- LD_RC \
- lt_prog_compiler_wl_RC \
- lt_prog_compiler_pic_RC \
- lt_prog_compiler_static_RC \
- lt_prog_compiler_no_builtin_flag_RC \
- export_dynamic_flag_spec_RC \
- thread_safe_flag_spec_RC \
- whole_archive_flag_spec_RC \
- enable_shared_with_static_runtimes_RC \
- old_archive_cmds_RC \
- old_archive_from_new_cmds_RC \
- predep_objects_RC \
- postdep_objects_RC \
- predeps_RC \
- postdeps_RC \
- compiler_lib_search_path_RC \
- compiler_lib_search_dirs_RC \
- archive_cmds_RC \
- archive_expsym_cmds_RC \
- postinstall_cmds_RC \
- postuninstall_cmds_RC \
- old_archive_from_expsyms_cmds_RC \
- allow_undefined_flag_RC \
- no_undefined_flag_RC \
- export_symbols_cmds_RC \
- hardcode_libdir_flag_spec_RC \
- hardcode_libdir_flag_spec_ld_RC \
- hardcode_libdir_separator_RC \
- hardcode_automatic_RC \
- module_cmds_RC \
- module_expsym_cmds_RC \
- lt_cv_prog_compiler_c_o_RC \
- fix_srcfile_path_RC \
- exclude_expsyms_RC \
- include_expsyms_RC; do
-
- case $var in
- old_archive_cmds_RC | \
- old_archive_from_new_cmds_RC | \
- archive_cmds_RC | \
- archive_expsym_cmds_RC | \
- module_cmds_RC | \
- module_expsym_cmds_RC | \
- old_archive_from_expsyms_cmds_RC | \
- export_symbols_cmds_RC | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+aix[4-9]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
;;
esac
- done
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
;;
esac
+ ;;
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
+bsdi[45]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_RC
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='${libname}.dll.lib'
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec="$LIB"
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
+ ;;
-# A C compiler.
-LTCC=$lt_LTCC
+ *)
+ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-# A language-specific compiler.
-CC=$lt_compiler_RC
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_RC
+dgux*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
-# An ERE matcher.
-EGREP=$lt_EGREP
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[23].*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2.*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
-# The linker used to build libraries.
-LD=$lt_LD_RC
+gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
-# A BSD-compatible nm program.
-NM=$lt_NM
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
-# A symbol stripping program
-STRIP=$lt_STRIP
+interix[3-9]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
-# Used on cygwin: assembler.
-AS="$AS"
+ # Some binutils ld are patched to set DT_RUNPATH
+ if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
+int
+main ()
+{
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+ lt_cv_shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_RC
+fi
-# Object file suffix (normally "o").
-objext="$ac_objext"
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-# Old archive suffix (normally "a").
-libext="$libext"
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
-# Executable file suffix (normally "").
-exeext="$exeext"
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_RC
-pic_mode=$pic_mode
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
+newsos6)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
-# Do we need a version for libraries?
-need_version=$need_version
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
+rdos*)
+ dynamic_linker=no
+ ;;
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
+solaris*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_RC
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
+sysv4 | sysv4.3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
-# Library versioning type.
-version_type=$version_type
+uts4*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_RC
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_RC
-archive_expsym_cmds=$lt_archive_expsym_cmds_RC
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_RC
-module_expsym_cmds=$lt_module_expsym_cmds_RC
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_RC
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_RC
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_RC
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_RC
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_RC
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_RC
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_RC
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_RC
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_RC
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_RC
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_RC
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_RC
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
+ { $as_echo "$as_me:${as_lineno-$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" ||
+ test "X$hardcode_automatic_CXX" = "Xyes" ; then
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_RC
+ # We can hardcode non-existent directories.
+ if test "$hardcode_direct_CXX" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+ test "$hardcode_minus_L_CXX" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action_CXX=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action_CXX=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action_CXX=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
+$as_echo "$hardcode_action_CXX" >&6; }
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_RC
+if test "$hardcode_action_CXX" = relink ||
+ test "$inherit_rpath_CXX" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_RC
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_RC
-# ### END LIBTOOL TAG CONFIG: $tagname
-__EOF__
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
+ fi # test -n "$compiler"
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -20463,46 +16155,7 @@ 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
-CC="$lt_save_CC"
-
- ;;
-
- *)
- { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
-echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
-
- # Append the new tag name to the list of available tags.
- if test -n "$tagname" ; then
- available_tags="$available_tags $tagname"
- fi
- fi
- done
- IFS="$lt_save_ifs"
-
- # Now substitute the updated list of available tags.
- if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
- mv "${ofile}T" "$ofile"
- 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;}
- { (exit 1); exit 1; }; }
- fi
-fi
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-# Prevent multiple expansion
@@ -20516,28 +16169,42 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+ ac_config_commands="$ac_config_commands libtool"
+# Only expand once:
-
-{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
# Just in case
sleep 1
echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+esac
+
# Do `set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$*" = "X"; then
# -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
+ set X `ls -t "$srcdir/configure" conftest.file`
fi
rm -f conftest.file
if test "$*" != "X $srcdir/configure conftest.file" \
@@ -20547,11 +16214,8 @@ if (
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+alias in your environment" "$LINENO" 5
fi
test "$2" = conftest.file
@@ -20560,26 +16224,19 @@ then
# Ok.
:
else
- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
-Check your system clock" >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-{ echo "$as_me:$LINENO: checking for library containing strerror" >&5
-echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6; }
-if test "${ac_cv_search_strerror+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
+$as_echo_n "checking for library containing strerror... " >&6; }
+if ${ac_cv_search_strerror+:} false; then :
+ $as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
@@ -20604,146 +16261,45 @@ for ac_lib in '' cposix; do
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
- rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ if ac_fn_c_try_link "$LINENO"; then :
ac_cv_search_strerror=$ac_res
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext
- if test "${ac_cv_search_strerror+set}" = set; then
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_strerror+:} false; then :
break
fi
done
-if test "${ac_cv_search_strerror+set}" = set; then
- :
+if ${ac_cv_search_strerror+:} false; then :
+
else
ac_cv_search_strerror=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
-echo "${ECHO_T}$ac_cv_search_strerror" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5
+$as_echo "$ac_cv_search_strerror" >&6; }
ac_res=$ac_cv_search_strerror
-if test "$ac_res" != no; then
+if test "$ac_res" != no; then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# 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; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- 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.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # 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
- fi
- fi
- done
- done
- ;;
-esac
-done
-IFS=$as_save_IFS
-
-
-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. 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 value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-set x ${MAKE-make}; ac_make=`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
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$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 eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
all:
@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
case `${MAKE-make} -f conftest.make 2>/dev/null` in
*@@@%%%=?*=@@@%%%*)
eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -20753,25 +16309,21 @@ esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; 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
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
#include <stdarg.h>
@@ -20786,47 +16338,23 @@ 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_header_stdc=yes
else
- 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 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.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <string.h>
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
+ $EGREP "memchr" >/dev/null 2>&1; then :
+
else
ac_cv_header_stdc=no
fi
@@ -20836,18 +16364,14 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
+ $EGREP "free" >/dev/null 2>&1; then :
+
else
ac_cv_header_stdc=no
fi
@@ -20857,14 +16381,10 @@ fi
if test $ac_cv_header_stdc = yes; then
# /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
+ if test "$cross_compiling" = yes; then :
:
else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <ctype.h>
#include <stdlib.h>
@@ -20890,1535 +16410,1091 @@ main ()
return 2;
return 0;
}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
-( exit $ac_status )
-ac_cv_header_stdc=no
+else
+ ac_cv_header_stdc=no
fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam 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:${as_lineno-$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
-#define STDC_HEADERS 1
-_ACEOF
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
fi
-{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
-echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if ${ac_cv_c_bigendian+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- # See if sys/param.h defines the BYTE_ORDER macro.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ ac_cv_c_bigendian=unknown
+ # See if we're dealing with a universal compiler.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ # Check for potential -arch flags. It is not universal unless
+ # there are at least two -arch flags with different values.
+ ac_arch=
+ ac_prev=
+ for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+ if test -n "$ac_prev"; then
+ case $ac_word in
+ i?86 | x86_64 | ppc | ppc64)
+ if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+ ac_arch=$ac_word
+ else
+ ac_cv_c_bigendian=universal
+ break
+ fi
+ ;;
+ esac
+ ac_prev=
+ elif test "x$ac_word" = "x-arch"; then
+ ac_prev=arch
+ fi
+ done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
-#include <sys/param.h>
+ #include <sys/param.h>
int
main ()
{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \
- && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN)
- bogus endian macros
-#endif
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+ && LITTLE_ENDIAN)
+ bogus endian macros
+ #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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
# It does; now see whether it defined to BIG_ENDIAN or not.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
-#include <sys/param.h>
+ #include <sys/param.h>
int
main ()
{
#if BYTE_ORDER != BIG_ENDIAN
- not big endian
-#endif
+ not big endian
+ #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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_c_bigendian=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_c_bigendian=no
+ ac_cv_c_bigendian=no
fi
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
- # It does not; compile a test program.
-if test "$cross_compiling" = yes; then
- # try to guess the endianness by grepping values into an object file
- ac_cv_c_bigendian=unknown
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to _BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
-short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
+#include <limits.h>
+
int
main ()
{
- _ascii (); _ebcdic ();
+#ifndef _BIG_ENDIAN
+ not big endian
+ #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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
+if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
fi
-if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # Compile a test program.
+ if test "$cross_compiling" = yes; then :
+ # Try to guess by grepping values from an object file.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ short int ascii_ii[] =
+ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ int use_ascii (int i) {
+ return ascii_mm[i] + ascii_ii[i];
+ }
+ short int ebcdic_ii[] =
+ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ short int ebcdic_mm[] =
+ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+ extern int foo;
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+ fi
fi
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int
main ()
{
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ return u.c[sizeof (long int) - 1] == 1;
;
return 0;
}
_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
+if ac_fn_c_try_run "$LINENO"; then :
ac_cv_c_bigendian=no
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+ yes)
+ $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
+;; #(
+ no)
+ ;; #(
+ universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+ ;; #(
+ *)
+ as_fn_error $? "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ esac
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
+$as_echo_n "checking size of int... " >&6; }
+if ${ac_cv_sizeof_int+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_int" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (int)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_int=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
+$as_echo "$ac_cv_sizeof_int" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_INT $ac_cv_sizeof_int
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
+$as_echo_n "checking size of long... " >&6; }
+if ${ac_cv_sizeof_long+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
-( exit $ac_status )
-ac_cv_c_bigendian=yes
+else
+ if test "$ac_cv_type_long" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (long)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_long=0
+ fi
fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
+$as_echo "$ac_cv_sizeof_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG $ac_cv_sizeof_long
+_ACEOF
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
+$as_echo_n "checking size of long long... " >&6; }
+if ${ac_cv_sizeof_long_long+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_long_long" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (long long)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_long_long=0
+ fi
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
-echo "${ECHO_T}$ac_cv_c_bigendian" >&6; }
-case $ac_cv_c_bigendian in
- yes)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5
+$as_echo "$ac_cv_sizeof_long_long" >&6; }
+
-cat >>confdefs.h <<\_ACEOF
-#define WORDS_BIGENDIAN 1
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
_ACEOF
- ;;
- no)
- ;;
+
+
+for ac_func in fork
+do :
+ ac_fn_c_check_func "$LINENO" "fork" "ac_cv_func_fork"
+if test "x$ac_cv_func_fork" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_FORK 1
+_ACEOF
+
+fi
+done
+
+
+
+## Work around libstuhl during cross build...
+if test "$host" != "$build"; then
+ sys_lib_dlsearch_path_spec=""
+ sys_lib_search_path_spec=""
+fi
+
+for ac_prog in perl5 perl
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PERL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PERL in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
+ ;;
*)
- { { echo "$as_me:$LINENO: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&5
-echo "$as_me: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
- { (exit 1); exit 1; }; } ;;
+ 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_path_PERL="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
esac
+fi
+PERL=$ac_cv_path_PERL
+if test -n "$PERL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
+$as_echo "$PERL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ test -n "$PERL" && break
+done
-{ echo "$as_me:$LINENO: checking for int" >&5
-echo $ECHO_N "checking for int... $ECHO_C" >&6; }
-if test "${ac_cv_type_int+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+# Extract the first word of "man2html", so it can be a program name with args.
+set dummy man2html; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_MAN2HTML+:} false; 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. */
-$ac_includes_default
-typedef int ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- 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;;
+ case $MAN2HTML in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MAN2HTML="$MAN2HTML" # Let the user override the test with a path.
+ ;;
+ *)
+ 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_path_MAN2HTML="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_MAN2HTML" && ac_cv_path_MAN2HTML="no"
+ ;;
esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_int=yes
+fi
+MAN2HTML=$ac_cv_path_MAN2HTML
+if test -n "$MAN2HTML"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAN2HTML" >&5
+$as_echo "$MAN2HTML" >&6; }
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_int=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5
-echo "${ECHO_T}$ac_cv_type_int" >&6; }
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ echo "$as_me:$LINENO: checking size of int" >&5
-echo $ECHO_N "checking size of int... $ECHO_C" >&6; }
-if test "${ac_cv_sizeof_int+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+ if test "$MAN2HTML" != "no"; then
+ HAVE_MAN2HTML_TRUE=
+ HAVE_MAN2HTML_FALSE='#'
else
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef int ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
-test_array [0] = 0
+ HAVE_MAN2HTML_TRUE='#'
+ HAVE_MAN2HTML_FALSE=
+fi
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef int ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
- ;
- 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;;
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}fluxcomp", so it can be a program name with args.
+set dummy ${ac_tool_prefix}fluxcomp; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_FLUXCOMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $FLUXCOMP in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_FLUXCOMP="$FLUXCOMP" # Let the user override the test with a path.
+ ;;
+ *)
+ 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_path_FLUXCOMP="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid; break
+fi
+FLUXCOMP=$ac_cv_path_FLUXCOMP
+if test -n "$FLUXCOMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FLUXCOMP" >&5
+$as_echo "$FLUXCOMP" >&6; }
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef int ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
-test_array [0] = 0
+fi
+if test -z "$ac_cv_path_FLUXCOMP"; then
+ ac_pt_FLUXCOMP=$FLUXCOMP
+ # Extract the first word of "fluxcomp", so it can be a program name with args.
+set dummy fluxcomp; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_FLUXCOMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_FLUXCOMP in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_FLUXCOMP="$ac_pt_FLUXCOMP" # Let the user override the test with a path.
+ ;;
+ *)
+ 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_path_ac_pt_FLUXCOMP="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef int ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
-test_array [0] = 0
+fi
+ac_pt_FLUXCOMP=$ac_cv_path_ac_pt_FLUXCOMP
+if test -n "$ac_pt_FLUXCOMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_FLUXCOMP" >&5
+$as_echo "$ac_pt_FLUXCOMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- ;
- 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;;
+ if test "x$ac_pt_FLUXCOMP" = x; then
+ FLUXCOMP=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=$ac_mid; break
+ FLUXCOMP=$ac_pt_FLUXCOMP
+ fi
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
+ FLUXCOMP="$ac_cv_path_FLUXCOMP"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_lo= ac_hi=
-fi
+if test -z "$FLUXCOMP"; then
+ if ! test -e src/core/CoreDFB.c; then
+ as_fn_error $? "
+*** DirectFB compilation requires fluxcomp ***
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+Unless you are compiling from a distributed tarball you need fluxcomp
+available from git://git.directfb.org/git/directfb/core/flux installed
+in your PATH.
+" "$LINENO" 5
+ fi
+else
+ FLUXCOMP_VERSIONCODE=`$FLUXCOMP -V`
+ if test $FLUXCOMP_VERSIONCODE -lt $FLUXCOMP_REQUIRED_VERSIONCODE ; then
+ as_fn_error $? "
+*** DirectFB compilation requires a newer fluxcomp ***
+available from git://git.directfb.org/git/directfb/core/flux
+" "$LINENO" 5
+ fi
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef int ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
+# Check whether --enable-osx was given.
+if test "${enable_osx+set}" = set; then :
+ enableval=$enable_osx;
+else
+ enable_osx=yes
+fi
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid
+if test "$enable_osx" = "yes"; then
+ ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
+if test "x$ac_cv_header_Carbon_Carbon_h" = xyes; then :
+ osx_found=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ osx_found=no
+fi
- ac_lo=`expr '(' $ac_mid ')' + 1`
+
+ if test "$osx_found" = no; then
+ enable_osx=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+*** no Carbon/Carbon.h found -- building without Mac OS X support." >&5
+$as_echo "$as_me: WARNING:
+*** no Carbon/Carbon.h found -- building without Mac OS X support." >&2;}
+ else
+ OSX_LIBS="-framework Carbon"
+ fi
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_int=$ac_lo;;
-'') if test "$ac_cv_type_int" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_int=0
- fi ;;
-esac
+ if test "$enable_osx" = "yes"; then
+ OSX_CORE_TRUE=
+ OSX_CORE_FALSE='#'
else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef int ac__type_sizeof_;
-static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
-static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
+ OSX_CORE_TRUE='#'
+ OSX_CORE_FALSE=
+fi
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (((long int) (sizeof (ac__type_sizeof_))) < 0)
- {
- long int i = longval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%lu\n", i);
- }
- return ferror (f) || fclose (f) != 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
+# Check whether --enable-x11 was given.
+if test "${enable_x11+set}" = set; then :
+ enableval=$enable_x11;
+else
+ enable_x11=yes
+fi
+
+if test "$enable_x11" = "yes"; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X11" >&5
+$as_echo_n "checking for X11... " >&6; }
+
+if test -n "$X11_CFLAGS"; then
+ pkg_cv_X11_CFLAGS="$X11_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xproto x11 xext\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "xproto x11 xext") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_int=`cat conftest.val`
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_X11_CFLAGS=`$PKG_CONFIG --cflags "xproto x11 xext" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_int" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_int=0
- fi
+ pkg_failed=yes
fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ else
+ pkg_failed=untried
+fi
+if test -n "$X11_LIBS"; then
+ pkg_cv_X11_LIBS="$X11_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xproto x11 xext\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "xproto x11 xext") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_X11_LIBS=`$PKG_CONFIG --libs "xproto x11 xext" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
fi
-rm -f conftest.val
+ else
+ pkg_failed=untried
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_INT $ac_cv_sizeof_int
-_ACEOF
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
-{ echo "$as_me:$LINENO: checking for long" >&5
-echo $ECHO_N "checking for long... $ECHO_C" >&6; }
-if test "${ac_cv_type_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-typedef long ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_long=yes
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_long=no
+ _pkg_short_errors_supported=no
fi
+ if test $_pkg_short_errors_supported = yes; then
+ X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xproto x11 xext" 2>&1`
+ else
+ X11_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xproto x11 xext" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$X11_PKG_ERRORS" >&5
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ enable_x11="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** no X11 found -- building without X11 support" >&5
+$as_echo "$as_me: WARNING: *** no X11 found -- building without X11 support" >&2;}
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ enable_x11="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** no X11 found -- building without X11 support" >&5
+$as_echo "$as_me: WARNING: *** no X11 found -- building without X11 support" >&2;}
+else
+ X11_CFLAGS=$pkg_cv_X11_CFLAGS
+ X11_LIBS=$pkg_cv_X11_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ enable_x11="yes"
+fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
-echo "${ECHO_T}$ac_cv_type_long" >&6; }
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ echo "$as_me:$LINENO: checking size of long" >&5
-echo $ECHO_N "checking size of long... $ECHO_C" >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ if test "$enable_x11" = "yes"; then
+ X11_CORE_TRUE=
+ X11_CORE_FALSE='#'
else
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
-test_array [0] = 0
+ X11_CORE_TRUE='#'
+ X11_CORE_FALSE=
+fi
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
- ;
- return 0;
-}
+
+for ac_header in linux/compiler.h linux/unistd.h asm/page.h signal.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
-test_array [0] = 0
+done
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
-test_array [0] = 0
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
+if test x"$CFLAGS" = x"-g -O2"; then
+ CFLAGS=
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
+CFLAGS="-O3 -ffast-math -pipe $CFLAGS"
+
+DFB_INTERNAL_CFLAGS="-D_GNU_SOURCE $DFB_INTERNAL_CFLAGS"
+
+# Check whether --enable-extra-warnings was given.
+if test "${enable_extra_warnings+set}" = set; then :
+ enableval=$enable_extra_warnings;
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ enable_extra_warnings=no
+fi
- ac_lo= ac_hi=
+if test "$enable_extra_warnings" = "yes"; then
+ CFLAGS="-W -Wno-sign-compare -Wno-unused-parameter -Wundef -Wcast-qual -Wcast-align -Waggregate-return -Wmissing-declarations -Winline $CFLAGS"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# FIXME
+#if test "$GCC" = "yes"; then
+# CFLAGS="-Wall -Wno-strict-aliasing $CFLAGS"
+#fi
+
+if test "$GCC" = "yes"; then
+ CFLAGS_STD="-std=gnu99"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+#
+# check target architecture
+#
+have_x86=no
+have_x86_64=no
+have_arm=no
+have_ppc=no
+have_sh4=no
- ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
+case "$target_or_host" in
+ i*86-*-*)
+ have_x86=yes
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_long=$ac_lo;;
-'') if test "$ac_cv_type_long" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_long=0
- fi ;;
-esac
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long ac__type_sizeof_;
-static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
-static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
+$as_echo "#define ARCH_X86 1" >>confdefs.h
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (((long int) (sizeof (ac__type_sizeof_))) < 0)
- {
- long int i = longval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%lu\n", i);
- }
- return ferror (f) || fclose (f) != 0;
+ ;;
+
+ x86_64-*)
+ have_x86=yes
+ have_x86_64=yes
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_long=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+$as_echo "#define ARCH_X86_64 1" >>confdefs.h
-( exit $ac_status )
-if test "$ac_cv_type_long" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_long=0
- fi
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
-echo "${ECHO_T}$ac_cv_sizeof_long" >&6; }
+ ;;
+ *arm*)
+ have_arm=yes
+$as_echo "#define ARCH_ARM 1" >>confdefs.h
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG $ac_cv_sizeof_long
-_ACEOF
+ ;;
+ ppc-*-linux* | powerpc-*)
+ have_ppc=yes
-{ echo "$as_me:$LINENO: checking for long long" >&5
-echo $ECHO_N "checking for long long... $ECHO_C" >&6; }
-if test "${ac_cv_type_long_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-typedef long long ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_long_long=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+$as_echo "#define ARCH_PPC 1" >>confdefs.h
- ac_cv_type_long_long=no
-fi
+ ;;
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_long_long" >&5
-echo "${ECHO_T}$ac_cv_type_long_long" >&6; }
+ sh4-* | sh3-* | sh-*)
+ have_sh4=yes
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ echo "$as_me:$LINENO: checking size of long long" >&5
-echo $ECHO_N "checking size of long long... $ECHO_C" >&6; }
-if test "${ac_cv_sizeof_long_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
-test_array [0] = 0
+$as_echo "#define ARCH_SH4 1" >>confdefs.h
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
- ;
- 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;;
+
+have_linux=no
+have_cygwin=no
+have_kos=no
+need_libc_r=no
+need_libdl=yes
+want_ppcasm=yes
+want_armasm=yes
+
+case "$target_or_host" in
+ *-*linux*)
+ have_linux=yes
+ ;;
+
+ *-cygwin)
+ have_cygwin=yes
+ need_libdl=no
+ ;;
+
+ *-freebsd*)
+ need_libc_r=yes
+ need_libdl=no
+ want_ppcasm=yes
+ want_armasm=yes
+ CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+ LDFLAGS="$LDFLAGS -L/usr/local/lib"
+ ;;
+
+ *-openbsd*)
+ need_libc_r=yes
+ need_libdl=no
+ want_ppcasm=no
+ want_armasm=no
+ CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+ LDFLAGS="$LDFLAGS -L/usr/local/lib"
+ ;;
+
+ *-netbsd*)
+ need_libc_r=no
+ need_libdl=no
+ want_ppcasm=yes
+ want_armasm=yes
+ CPPFLAGS="$CPPFLAGS -I/usr/pkg/include"
+ LDFLAGS="$LDFLAGS -L/usr/pkg/lib"
+ ;;
+
+ *-darwin*)
+ need_libc_r=no
+ need_libdl=yes
+ want_ppcasm=no
+ want_armasm=no
+ CPPFLAGS="$CPPFLAGS -I/sw/include"
+ LDFLAGS="$LDFLAGS -L/sw/lib"
+ ;;
+
+ sh-*-elf)
+ if test "$CC" = "kos-cc"; then
+ need_libc_r=no
+ need_libdl=no
+ have_kos=yes
+ fi
+ ;;
esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
+ if test "$have_linux" = "yes"; then
+ HAVE_LINUX_TRUE=
+ HAVE_LINUX_FALSE='#'
+else
+ HAVE_LINUX_TRUE='#'
+ HAVE_LINUX_FALSE=
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
+
+ if test "$have_ppc" = "yes" && test "$want_ppcasm" = "yes"; then
+ BUILDPPCASM_TRUE=
+ BUILDPPCASM_FALSE='#'
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ BUILDPPCASM_TRUE='#'
+ BUILDPPCASM_FALSE=
+fi
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
-test_array [0] = 0
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
- typedef long long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
-test_array [0] = 0
+if test "$have_ppc" = "yes" && test "$want_ppcasm" = "yes"; then
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+$as_echo "#define USE_PPCASM 1" >>confdefs.h
- ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
+
+ if test "$have_arm" = "yes" && test "$want_armasm" = "yes"; then
+ BUILDARMASM_TRUE=
+ BUILDARMASM_FALSE='#'
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ BUILDARMASM_TRUE='#'
+ BUILDARMASM_FALSE=
+fi
+
+
+if test "$have_arm" = "yes" && test "$want_armasm" = "yes"; then
+
+$as_echo "#define USE_ARMASM 1" >>confdefs.h
- ac_lo= ac_hi=
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+if test "$have_kos" = "yes"; then
+
+$as_echo "#define USE_KOS 1" >>confdefs.h
+
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+
+THREADFLAGS="-D_REENTRANT"
+
+if test "$have_kos" = "no"; then
+ if test "$need_libc_r" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_attr_init in -lc_r" >&5
+$as_echo_n "checking for pthread_attr_init in -lc_r... " >&6; }
+if ${ac_cv_lib_c_r_pthread_attr_init+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lc_r $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_includes_default
- typedef long long ac__type_sizeof_;
+
+/* 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
+char pthread_attr_init ();
int
main ()
{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
+return pthread_attr_init ();
;
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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_hi=$ac_mid
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_c_r_pthread_attr_init=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ ac_cv_lib_c_r_pthread_attr_init=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_attr_init" >&5
+$as_echo "$ac_cv_lib_c_r_pthread_attr_init" >&6; }
+if test "x$ac_cv_lib_c_r_pthread_attr_init" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBC_R 1
+_ACEOF
+
+ LIBS="-lc_r $LIBS"
- ac_lo=`expr '(' $ac_mid ')' + 1`
+else
+ as_fn_error $? "
+*** DirectFB requires phtreads in libc_r." "$LINENO" 5
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_long_long=$ac_lo;;
-'') if test "$ac_cv_type_long_long" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long long)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_long_long=0
- fi ;;
-esac
+ THREADLIB="-lc_r"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_attr_init in -lpthread" >&5
+$as_echo_n "checking for pthread_attr_init in -lpthread... " >&6; }
+if ${ac_cv_lib_pthread_pthread_attr_init+:} false; 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
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthread $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_includes_default
- typedef long long ac__type_sizeof_;
-static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
-static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
-#include <stdio.h>
-#include <stdlib.h>
+
+/* 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
+char pthread_attr_init ();
int
main ()
{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (((long int) (sizeof (ac__type_sizeof_))) < 0)
- {
- long int i = longval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ((long int) (sizeof (ac__type_sizeof_))))
- return 1;
- fprintf (f, "%lu\n", i);
- }
- return ferror (f) || fclose (f) != 0;
-
+return pthread_attr_init ();
;
return 0;
}
_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_long_long=`cat conftest.val`
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_pthread_pthread_attr_init=yes
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_long_long" = yes; then
- { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long long)
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
- else
- ac_cv_sizeof_long_long=0
- fi
+ ac_cv_lib_pthread_pthread_attr_init=no
fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
fi
-rm -f conftest.val
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_attr_init" >&5
+$as_echo "$ac_cv_lib_pthread_pthread_attr_init" >&6; }
+if test "x$ac_cv_lib_pthread_pthread_attr_init" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBPTHREAD 1
+_ACEOF
+
+ LIBS="-lpthread $LIBS"
+
+else
+ as_fn_error $? "
+*** DirectFB requires libpthread." "$LINENO" 5
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_long" >&5
-echo "${ECHO_T}$ac_cv_sizeof_long_long" >&6; }
+ THREADLIB="-lpthread"
+ fi
+fi
+ac_fn_c_check_decl "$LINENO" "PTHREAD_MUTEX_RECURSIVE" "ac_cv_have_decl_PTHREAD_MUTEX_RECURSIVE" "
+#define _GNU_SOURCE
+#include <pthread.h>
+"
+if test "x$ac_cv_have_decl_PTHREAD_MUTEX_RECURSIVE" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
+#define HAVE_DECL_PTHREAD_MUTEX_RECURSIVE $ac_have_decl
_ACEOF
+if test $ac_have_decl = 1; then :
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+*** PTHREAD_MUTEX_RECURSIVE is not defined! Dead locks might occur!" >&5
+$as_echo "$as_me: WARNING:
+*** PTHREAD_MUTEX_RECURSIVE is not defined! Dead locks might occur!" >&2;}
+fi
-for ac_func in fork
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
+ac_fn_c_check_decl "$LINENO" "PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP" "ac_cv_have_decl_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP" "
+#define _GNU_SOURCE
+#include <pthread.h>
+"
+if test "x$ac_cv_have_decl_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP $ac_have_decl
_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
+if test $ac_have_decl = 1; then :
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+*** PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP is not defined! Dead locks might occur!" >&5
+$as_echo "$as_me: WARNING:
+*** PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP is not defined! Dead locks might occur!" >&2;}
+fi
+
+
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-#undef $ac_func
+CPPFLAGS="$THREADFLAGS $CPPFLAGS"
+
+
+DYNLIB=""
+if test "$need_libdl" = "yes"; then
+ if test "$enable_shared" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
@@ -22426,1151 +17502,796 @@ cat >>conftest.$ac_ext <<_ACEOF
#ifdef __cplusplus
extern "C"
#endif
-char $ac_func ();
-/* 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_$ac_func || defined __stub___$ac_func
-choke me
-#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBDL 1
+_ACEOF
+
+ LIBS="-ldl $LIBS"
+
+else
+ as_fn_error $? "
+*** DirectFB requires libdl." "$LINENO" 5
+fi
+
+ DYNLIB="-ldl"
+ fi
+fi
+
+
+
+
+if test "$have_x86" = "yes"; then
+##
+## HACK HACK HACK automake uses @AS@ like a gcc
+##
+ AS=$CC
+ ASFLAGS=$CFLAGS
+
+
+
+$as_echo "#define HAVE_INB_OUTB_IOPL 1" >>confdefs.h
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/io.h" >&5
+$as_echo_n "checking for sys/io.h... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/io.h>
int
main ()
{
-return $ac_func ();
+char x = inb(0); (void)x;
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
+if ac_fn_c_try_compile "$LINENO"; then :
+
+$as_echo "#define HAVE_SYSIO 1" >>confdefs.h
+
+ have_sysio=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ have_sysio=no
+fi
+
+
+# Check whether --enable-profiling was given.
+if test "${enable_profiling+set}" = set; then :
+ enableval=$enable_profiling;
+else
+ enable_profiling=no
+fi
+
+if test "$enable_profiling" = "yes"; then
+ CFLAGS="$CFLAGS -pg -g3"
+else
+ DFB_CFLAGS_OMIT_FRAME_POINTER="-fomit-frame-pointer"
+fi
+
+
+# Check whether --enable-debug was given.
+if test "${enable_debug+set}" = set; then :
+ enableval=$enable_debug;
+else
+ enable_debug=no
+fi
+
+if test "$enable_debug" = "yes"; then
+ CFLAGS="$CFLAGS -g3 -fno-inline -Wno-inline"
+ DIRECT_BUILD_DEBUG=1
+else
+ DIRECT_BUILD_DEBUG=0
+fi
+ if test "$enable_debug" = "yes"; then
+ ENABLE_DEBUG_TRUE=
+ ENABLE_DEBUG_FALSE='#'
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
+ ENABLE_DEBUG_TRUE='#'
+ ENABLE_DEBUG_FALSE=
fi
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-fi
-done
-## Work around libstuhl during cross build...
-if test "$host" != "$build"; then
- sys_lib_dlsearch_path_spec=""
- sys_lib_search_path_spec=""
+# Check whether --enable-debug-support was given.
+if test "${enable_debug_support+set}" = set; then :
+ enableval=$enable_debug_support;
+else
+ enable_debug_support=yes
fi
-for ac_prog in perl5 perl
-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; }
-if test "${ac_cv_path_PERL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test "$enable_debug_support" = "yes" || test "$enable_debug" = "yes"; then
+ enable_debug_support=yes
+ DIRECT_BUILD_DEBUGS=1
else
- case $PERL in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
- ;;
- *)
- 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_path_PERL="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
+ DIRECT_BUILD_DEBUGS=0
fi
-PERL=$ac_cv_path_PERL
-if test -n "$PERL"; then
- { echo "$as_me:$LINENO: result: $PERL" >&5
-echo "${ECHO_T}$PERL" >&6; }
+ if test "$enable_debug_support" = "yes"; then
+ ENABLE_DEBUGS_TRUE=
+ ENABLE_DEBUGS_FALSE='#'
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ ENABLE_DEBUGS_TRUE='#'
+ ENABLE_DEBUGS_FALSE=
fi
- test -n "$PERL" && break
-done
-# Extract the first word of "man2html", so it can be a program name with args.
-set dummy man2html; 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_path_MAN2HTML+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+# Check whether --enable-trace was given.
+if test "${enable_trace+set}" = set; then :
+ enableval=$enable_trace;
else
- case $MAN2HTML in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_MAN2HTML="$MAN2HTML" # Let the user override the test with a path.
- ;;
- *)
- 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_path_MAN2HTML="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
+ enable_trace=no
+fi
- test -z "$ac_cv_path_MAN2HTML" && ac_cv_path_MAN2HTML="no"
- ;;
-esac
+if test "$enable_trace" = "yes"; then
+ DFB_INTERNAL_CFLAGS="$DFB_INTERNAL_CFLAGS -finstrument-functions"
+ DIRECT_BUILD_TRACE=1
+else
+ DIRECT_BUILD_TRACE=0
fi
-MAN2HTML=$ac_cv_path_MAN2HTML
-if test -n "$MAN2HTML"; then
- { echo "$as_me:$LINENO: result: $MAN2HTML" >&5
-echo "${ECHO_T}$MAN2HTML" >&6; }
+ if test "$enable_trace" = "yes"; then
+ ENABLE_TRACE_TRUE=
+ ENABLE_TRACE_FALSE='#'
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ ENABLE_TRACE_TRUE='#'
+ ENABLE_TRACE_FALSE=
fi
- if test "$MAN2HTML" != "no"; then
- HAVE_MAN2HTML_TRUE=
- HAVE_MAN2HTML_FALSE='#'
-else
- HAVE_MAN2HTML_TRUE='#'
- HAVE_MAN2HTML_FALSE=
-fi
-
-# Check whether --enable-osx was given.
-if test "${enable_osx+set}" = set; then
- enableval=$enable_osx;
+# Check whether --enable-text was given.
+if test "${enable_text+set}" = set; then :
+ enableval=$enable_text;
else
- enable_osx=yes
+ enable_text=yes
fi
-
-if test "$enable_osx" = "yes"; then
- if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5
-echo $ECHO_N "checking for Carbon/Carbon.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_Carbon_Carbon_h" >&5
-echo "${ECHO_T}$ac_cv_header_Carbon_Carbon_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking Carbon/Carbon.h usability" >&5
-echo $ECHO_N "checking Carbon/Carbon.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <Carbon/Carbon.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
+if test "$enable_text" = "no"; then
+ DIRECT_BUILD_TEXT=0
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
+ DIRECT_BUILD_TEXT=1
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-# Is the header present?
-{ echo "$as_me:$LINENO: checking Carbon/Carbon.h presence" >&5
-echo $ECHO_N "checking Carbon/Carbon.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <Carbon/Carbon.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
+
+
+# Check whether --enable-gettid was given.
+if test "${enable_gettid+set}" = set; then :
+ enableval=$enable_gettid;
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ enable_gettid=yes
+fi
- ac_header_preproc=no
+if test "$enable_gettid" = "no"; then
+ DIRECT_BUILD_GETTID=0
+else
+ DIRECT_BUILD_GETTID=1
fi
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$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: Carbon/Carbon.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h: in the future, the compiler will take precedence" >&2;}
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5
-echo $ECHO_N "checking for Carbon/Carbon.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+# Check whether --enable-network was given.
+if test "${enable_network+set}" = set; then :
+ enableval=$enable_network;
else
- ac_cv_header_Carbon_Carbon_h=$ac_header_preproc
+ enable_network=yes
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_Carbon_Carbon_h" >&5
-echo "${ECHO_T}$ac_cv_header_Carbon_Carbon_h" >&6; }
-fi
-if test $ac_cv_header_Carbon_Carbon_h = yes; then
- osx_found=yes
+if test "$enable_network" = "no"; then
+ DIRECT_BUILD_NETWORK=0
else
- osx_found=no
+ DIRECT_BUILD_NETWORK=1
fi
- if test "$osx_found" = no; then
- enable_osx=no
- { echo "$as_me:$LINENO: WARNING:
-*** no Carbon/Carbon.h found -- building without Mac OS X support." >&5
-echo "$as_me: WARNING:
-*** no Carbon/Carbon.h found -- building without Mac OS X support." >&2;}
- else
- OSX_LIBS="-framework Carbon"
- fi
-fi
- if test "$enable_osx" = "yes"; then
- OSX_CORE_TRUE=
- OSX_CORE_FALSE='#'
+
+ac_fn_c_check_header_mongrel "$LINENO" "stdbool.h" "ac_cv_header_stdbool_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdbool_h" = xyes; then :
+ DIRECT_BUILD_STDBOOL=1
else
- OSX_CORE_TRUE='#'
- OSX_CORE_FALSE=
+ DIRECT_BUILD_STDBOOL=0
fi
-# Check whether --enable-x11 was given.
-if test "${enable_x11+set}" = set; then
- enableval=$enable_x11;
-else
- enable_x11=yes
-fi
-if test "$enable_x11" = "yes"; then
- CFLAGS_saved="$CFLAGS"
- CFLAGS="$CFLAGS -I/usr/X11R6/include"
- if test "${ac_cv_header_X11_X_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for X11/X.h" >&5
-echo $ECHO_N "checking for X11/X.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_X11_X_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_X_h" >&5
-echo "${ECHO_T}$ac_cv_header_X11_X_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking X11/X.h usability" >&5
-echo $ECHO_N "checking X11/X.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <X11/X.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_header_compiler=no
+
+linux_fusion="N/A"
+# Check whether --enable-multi was given.
+if test "${enable_multi+set}" = set; then :
+ enableval=$enable_multi;
+else
+ enable_multi=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
+if test "$enable_multi" = "yes"; then
+ linux_fusion=yes
+ ac_fn_c_check_header_mongrel "$LINENO" "linux/fusion.h" "ac_cv_header_linux_fusion_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_fusion_h" = xyes; then :
-# Is the header present?
-{ echo "$as_me:$LINENO: checking X11/X.h presence" >&5
-echo $ECHO_N "checking X11/X.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <X11/X.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
+ linux_fusion=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; }
-
-# 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: X11/X.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: X11/X.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: X11/X.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: X11/X.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: X11/X.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: X11/X.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: X11/X.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: X11/X.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: X11/X.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: X11/X.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: X11/X.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: X11/X.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: X11/X.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: X11/X.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: X11/X.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: X11/X.h: in the future, the compiler will take precedence" >&2;}
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for X11/X.h" >&5
-echo $ECHO_N "checking for X11/X.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_X11_X_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ if test "$linux_fusion" = "yes"; then
+ FUSION_BUILD_KERNEL=1
+ else
+ fusion_warning="
+Linux-Fusion header not found. Using EXPERIMENTAL Builtin Multi application core!"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** $fusion_warning *** " >&5
+$as_echo "$as_me: WARNING: *** $fusion_warning *** " >&2;}
+ FUSION_BUILD_KERNEL=0
+ fi
+ FUSION_BUILD_MULTI=1
else
- ac_cv_header_X11_X_h=$ac_header_preproc
+ FUSION_BUILD_MULTI=0
+ FUSION_BUILD_KERNEL=0
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_X_h" >&5
-echo "${ECHO_T}$ac_cv_header_X11_X_h" >&6; }
-fi
-if test $ac_cv_header_X11_X_h = yes; then
- x11_found=yes
+# Check whether --enable-one was given.
+if test "${enable_one+set}" = set; then :
+ enableval=$enable_one;
else
- x11_found=no
+ enable_one=no
fi
-
- CFLAGS="$CFLAGS_saved"
- if test "$x11_found" = no; then
- enable_x11=no
- { echo "$as_me:$LINENO: WARNING:
-*** no X11/X.h found -- building without X11 support." >&5
-echo "$as_me: WARNING:
-*** no X11/X.h found -- building without X11 support." >&2;}
- else
- X11_LIBS="-L/usr/X11R6/lib -lX11 -lXext"
- X11_CFLAGS="-I/usr/X11R6/include"
- fi
+if test "$enable_one" = "yes"; then
+ DIRECTFB_BUILD_ONE=1
+ DEP_ONE=one
+else
+ DIRECTFB_BUILD_ONE=0
+ enable_one=no
+ DEP_ONE=
fi
- if test "$enable_x11" = "yes"; then
- X11_CORE_TRUE=
- X11_CORE_FALSE='#'
+# Check whether --enable-voodoo was given.
+if test "${enable_voodoo+set}" = set; then :
+ enableval=$enable_voodoo;
else
- X11_CORE_TRUE='#'
- X11_CORE_FALSE=
+ enable_voodoo=no
fi
+if test "$enable_voodoo" = "yes"; then
+ DIRECTFB_BUILD_VOODOO=1
+ DEP_VOODOO=voodoo
+else
+ DIRECTFB_BUILD_VOODOO=0
+ enable_voodoo=no
+ DEP_VOODOO=
+fi
+# Check whether --enable-pure_voodoo was given.
+if test "${enable_pure_voodoo+set}" = set; then :
+ enableval=$enable_pure_voodoo;
+else
+ enable_pure_voodoo=no
+fi
+if test "$enable_pure_voodoo" = "yes"; then
+ enable_voodoo=yes
+ DIRECTFB_BUILD_VOODOO=1
+ DIRECTFB_BUILD_PURE_VOODOO=1
+ DEP_VOODOO=voodoo
+ enable_multi=no
-for ac_header in linux/compiler.h linux/unistd.h asm/page.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$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; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
+ FUSION_BUILD_MULTI=0
+ FUSION_BUILD_KERNEL=0
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
+ DIRECTFB_BUILD_PURE_VOODOO=0
+ enable_pure_voodoo=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$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; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
+ if test "$DIRECTFB_BUILD_VOODOO" = "1"; then
+ DIRECTFB_BUILD_VOODOO_TRUE=
+ DIRECTFB_BUILD_VOODOO_FALSE='#'
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
+ DIRECTFB_BUILD_VOODOO_TRUE='#'
+ DIRECTFB_BUILD_VOODOO_FALSE=
fi
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$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;}
- 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;}
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ if test "$DIRECTFB_BUILD_PURE_VOODOO" = "1"; then
+ DIRECTFB_BUILD_PURE_VOODOO_TRUE=
+ DIRECTFB_BUILD_PURE_VOODOO_FALSE='#'
else
- eval "$as_ac_Header=\$ac_header_preproc"
+ DIRECTFB_BUILD_PURE_VOODOO_TRUE='#'
+ DIRECTFB_BUILD_PURE_VOODOO_FALSE=
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-fi
-done
+LIBM=""
+if test "$enable_pure_voodoo" = "no"; then
+ safe_LIBS=$LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sqrt" >&5
+$as_echo_n "checking for library containing sqrt... " >&6; }
+if ${ac_cv_search_sqrt+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* 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
+char sqrt ();
+int
+main ()
+{
+return sqrt ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' m; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_sqrt=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_sqrt+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_sqrt+:} false; then :
-if test x"$CFLAGS" = x"-g -O2"; then
- CFLAGS=
+else
+ ac_cv_search_sqrt=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sqrt" >&5
+$as_echo "$ac_cv_search_sqrt" >&6; }
+ac_res=$ac_cv_search_sqrt
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+ LIBM=$ac_cv_search_sqrt
+else
+ LIBM=no
fi
-CFLAGS="-O3 -ffast-math -pipe $CFLAGS"
+ LIBS=$safe_LIBS
+ if test "$LIBM" = "none required" ; then
+ LIBM=""
+ elif test "$LIBM" = "no" ; then
+ as_fn_error $? "*** DirectFB requires libm." "$LINENO" 5
+ fi
+fi
-DFB_INTERNAL_CFLAGS="-D_GNU_SOURCE $DFB_INTERNAL_CFLAGS"
-# Check whether --enable-extra-warnings was given.
-if test "${enable_extra_warnings+set}" = set; then
- enableval=$enable_extra_warnings;
+ if test "$enable_multi" = "yes"; then
+ ENABLE_MULTI_TRUE=
+ ENABLE_MULTI_FALSE='#'
else
- enable_extra_warnings=no
+ ENABLE_MULTI_TRUE='#'
+ ENABLE_MULTI_FALSE=
fi
-if test "$enable_extra_warnings" = "yes"; then
- CFLAGS="-W -Wno-sign-compare -Wno-unused-parameter -Wundef -Wcast-qual -Wcast-align -Waggregate-return -Wmissing-declarations -Winline $CFLAGS"
-fi
-# FIXME
-#if test "$GCC" = "yes"; then
-# CFLAGS="-Wall -Wno-strict-aliasing $CFLAGS"
-#fi
-#
-# check target architecture
-#
-have_x86=no
-have_x86_64=no
-have_arm=no
-have_ppc=no
-have_sh4=no
-case "$target_or_host" in
- i*86-*-*)
- have_x86=yes
+ if test "$enable_one" = "yes"; then
+ ENABLE_ONE_TRUE=
+ ENABLE_ONE_FALSE='#'
+else
+ ENABLE_ONE_TRUE='#'
+ ENABLE_ONE_FALSE=
+fi
-cat >>confdefs.h <<\_ACEOF
-#define ARCH_X86 1
-_ACEOF
+ if test "$enable_voodoo" = "yes"; then
+ ENABLE_VOODOO_TRUE=
+ ENABLE_VOODOO_FALSE='#'
+else
+ ENABLE_VOODOO_TRUE='#'
+ ENABLE_VOODOO_FALSE=
+fi
- ;;
- x86_64-*)
- have_x86=yes
- have_x86_64=yes
-cat >>confdefs.h <<\_ACEOF
-#define ARCH_X86_64 1
-_ACEOF
+# Check whether --enable-unique was given.
+if test "${enable_unique+set}" = set; then :
+ enableval=$enable_unique;
+else
+ enable_unique=no
+fi
- ;;
- *arm*)
- have_arm=yes
+ if test "$enable_unique" = "yes"; then
+ ENABLE_UNIQUE_TRUE=
+ ENABLE_UNIQUE_FALSE='#'
+else
+ ENABLE_UNIQUE_TRUE='#'
+ ENABLE_UNIQUE_FALSE=
+fi
-cat >>confdefs.h <<\_ACEOF
-#define ARCH_ARM 1
-_ACEOF
- ;;
- ppc-*-linux* | powerpc-*)
- have_ppc=yes
+# Check whether --enable-mmx was given.
+if test "${enable_mmx+set}" = set; then :
+ enableval=$enable_mmx;
+else
+ enable_mmx=$have_x86
+fi
-cat >>confdefs.h <<\_ACEOF
-#define ARCH_PPC 1
-_ACEOF
- ;;
+# Check whether --enable-sse was given.
+if test "${enable_sse+set}" = set; then :
+ enableval=$enable_sse;
+else
+ enable_sse=$have_x86
+fi
- sh4-* | sh3-*)
- have_sh4=yes
-cat >>confdefs.h <<\_ACEOF
-#define ARCH_SH4 1
-_ACEOF
+if test "$enable_mmx" = "yes"; then
- ;;
+ save_ac_ext="$ac_ext"
+ ac_ext=S
- *)
- ;;
-esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the binutils support MMX" >&5
+$as_echo_n "checking whether the binutils support MMX... " >&6; }
+ echo " movq 0, %mm0" > conftest.S
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
-have_linux=no
-have_cygwin=no
-have_kos=no
-need_libc_r=no
-need_libdl=yes
-want_ppcasm=yes
-want_armasm=yes
+$as_echo "#define USE_MMX 1" >>confdefs.h
-case "$target_or_host" in
- *-*linux*)
- have_linux=yes
- ;;
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
- *-cygwin)
- have_cygwin=yes
- need_libdl=no
- ;;
+ if test "$enable_sse" = "yes"; then
- *-freebsd*)
- need_libc_r=yes
- need_libdl=no
- want_ppcasm=yes
- want_armasm=yes
- CPPFLAGS="$CPPFLAGS -I/usr/local/include"
- LDFLAGS="$LDFLAGS -L/usr/local/lib"
- ;;
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the binutils support SSE" >&5
+$as_echo_n "checking whether the binutils support SSE... " >&6; }
- *-openbsd*)
- need_libc_r=yes
- need_libdl=no
- want_ppcasm=no
- want_armasm=no
- CPPFLAGS="$CPPFLAGS -I/usr/local/include"
- LDFLAGS="$LDFLAGS -L/usr/local/lib"
- ;;
+ echo " movntps %xmm0, 0" > conftest.S
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
- *-netbsd*)
- need_libc_r=no
- need_libdl=no
- want_ppcasm=yes
- want_armasm=yes
- CPPFLAGS="$CPPFLAGS -I/usr/pkg/include"
- LDFLAGS="$LDFLAGS -L/usr/pkg/lib"
- ;;
+$as_echo "#define USE_SSE 1" >>confdefs.h
- *-darwin*)
- need_libc_r=no
- need_libdl=yes
- want_ppcasm=no
- want_armasm=no
- CPPFLAGS="$CPPFLAGS -I/sw/include"
- LDFLAGS="$LDFLAGS -L/sw/lib"
- ;;
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ enable_sse=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+****************************************************************
+ The installed assembler does not support the SSE command set.
+ Update your binutils package, if you want to compile SSE code.
+****************************************************************" >&5
+$as_echo "$as_me: WARNING:
+****************************************************************
+ The installed assembler does not support the SSE command set.
+ Update your binutils package, if you want to compile SSE code.
+****************************************************************" >&2;}
+ fi
+
+ fi
+
+ else
+ enable_mmx=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+****************************************************************
+ The installed assembler does not support the MMX command set.
+ Update your binutils package, if you want to compile MMX code.
+****************************************************************" >&5
+$as_echo "$as_me: WARNING:
+****************************************************************
+ The installed assembler does not support the MMX command set.
+ Update your binutils package, if you want to compile MMX code.
+****************************************************************" >&2;}
+ fi
- sh-*-elf)
- if test "$CC" = "kos-cc"; then
- need_libc_r=no
- need_libdl=no
- have_kos=yes
- fi
- ;;
-esac
+ rm conftest*
+ ac_ext="$save_ac_ext"
- if test "$have_linux" = "yes"; then
- HAVE_LINUX_TRUE=
- HAVE_LINUX_FALSE='#'
else
- HAVE_LINUX_TRUE='#'
- HAVE_LINUX_FALSE=
+ enable_sse=no
fi
-
- if test "$have_ppc" = "yes" && test "$want_ppcasm" = "yes"; then
- BUILDPPCASM_TRUE=
- BUILDPPCASM_FALSE='#'
+ if test "$enable_mmx" = "yes"; then
+ BUILDMMX_TRUE=
+ BUILDMMX_FALSE='#'
else
- BUILDPPCASM_TRUE='#'
- BUILDPPCASM_FALSE=
+ BUILDMMX_TRUE='#'
+ BUILDMMX_FALSE=
fi
-if test "$have_ppc" = "yes" && test "$want_ppcasm" = "yes"; then
-cat >>confdefs.h <<\_ACEOF
-#define USE_PPCASM 1
-_ACEOF
+# Check whether --enable-devmem was given.
+if test "${enable_devmem+set}" = set; then :
+ enableval=$enable_devmem;
+else
+ enable_devmem=yes
fi
- if test "$have_arm" = "yes" && test "$want_armasm" = "yes"; then
- BUILDARMASM_TRUE=
- BUILDARMASM_FALSE='#'
+ if test "$enable_devmem" = "yes"; then
+ DEVMEM_CORE_TRUE=
+ DEVMEM_CORE_FALSE='#'
else
- BUILDARMASM_TRUE='#'
- BUILDARMASM_FALSE=
+ DEVMEM_CORE_TRUE='#'
+ DEVMEM_CORE_FALSE=
fi
-if test "$have_arm" = "yes" && test "$want_armasm" = "yes"; then
-cat >>confdefs.h <<\_ACEOF
-#define USE_ARMASM 1
-_ACEOF
+# Check whether --enable-fbdev was given.
+if test "${enable_fbdev+set}" = set; then :
+ enableval=$enable_fbdev;
+else
+ enable_fbdev=yes
fi
-if test "$have_kos" = "yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define USE_KOS 1
-_ACEOF
+if test "$have_linux" = "no"; then
+ enable_fbdev=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+*** no linux kernel -- building without linux fbdev support." >&5
+$as_echo "$as_me: WARNING:
+*** no linux kernel -- building without linux fbdev support." >&2;}
fi
+if test "$enable_fbdev" = "yes"; then
-THREADFLAGS="-D_REENTRANT"
-
-if test "$have_kos" = "no"; then
- if test "$need_libc_r" = "yes"; then
+$as_echo "#define LINUX_INPUT_USE_FBDEV 1" >>confdefs.h
-{ echo "$as_me:$LINENO: checking for pthread_attr_init in -lc_r" >&5
-echo $ECHO_N "checking for pthread_attr_init in -lc_r... $ECHO_C" >&6; }
-if test "${ac_cv_lib_c_r_pthread_attr_init+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lc_r $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
+fi
-/* 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
-char pthread_attr_init ();
-int
-main ()
-{
-return pthread_attr_init ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_c_r_pthread_attr_init=yes
+ if test "$enable_fbdev" = "yes"; then
+ FBDEV_CORE_TRUE=
+ FBDEV_CORE_FALSE='#'
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_c_r_pthread_attr_init=no
+ FBDEV_CORE_TRUE='#'
+ FBDEV_CORE_FALSE=
fi
-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_c_r_pthread_attr_init" >&5
-echo "${ECHO_T}$ac_cv_lib_c_r_pthread_attr_init" >&6; }
-if test $ac_cv_lib_c_r_pthread_attr_init = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBC_R 1
-_ACEOF
- LIBS="-lc_r $LIBS"
+
+# Check whether --enable-sdl was given.
+if test "${enable_sdl+set}" = set; then :
+ enableval=$enable_sdl;
else
- { { echo "$as_me:$LINENO: error:
-*** DirectFB requires phtreads in libc_r." >&5
-echo "$as_me: error:
-*** DirectFB requires phtreads in libc_r." >&2;}
- { (exit 1); exit 1; }; }
+ enable_sdl=no
fi
- THREADLIB="-lc_r"
+if test "$enable_sdl" = "yes"; then
+ if test "$enable_osx" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+*** SDL is now unsupported on OSX." >&5
+$as_echo "$as_me: WARNING:
+*** SDL is now unsupported on OSX." >&2;}
+ enable_sdl=no
else
-{ echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthread" >&5
-echo $ECHO_N "checking for pthread_attr_init in -lpthread... $ECHO_C" >&6; }
-if test "${ac_cv_lib_pthread_pthread_attr_init+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL" >&5
+$as_echo_n "checking for SDL... " >&6; }
+
+if test -n "$SDL_CFLAGS"; then
+ pkg_cv_SDL_CFLAGS="$SDL_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "sdl") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_SDL_CFLAGS=`$PKG_CONFIG --cflags "sdl" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpthread $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* 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
-char pthread_attr_init ();
-int
-main ()
-{
-return pthread_attr_init ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$SDL_LIBS"; then
+ pkg_cv_SDL_LIBS="$SDL_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "sdl") 2>&5
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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_pthread_pthread_attr_init=yes
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_SDL_LIBS=`$PKG_CONFIG --libs "sdl" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_pthread_pthread_attr_init=no
+ pkg_failed=yes
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+ else
+ pkg_failed=untried
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_attr_init" >&5
-echo "${ECHO_T}$ac_cv_lib_pthread_pthread_attr_init" >&6; }
-if test $ac_cv_lib_pthread_pthread_attr_init = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBPTHREAD 1
-_ACEOF
- LIBS="-lpthread $LIBS"
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
else
- { { echo "$as_me:$LINENO: error:
-*** DirectFB requires libpthread." >&5
-echo "$as_me: error:
-*** DirectFB requires libpthread." >&2;}
- { (exit 1); exit 1; }; }
+ _pkg_short_errors_supported=no
fi
+ if test $_pkg_short_errors_supported = yes; then
+ SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "sdl" 2>&1`
+ else
+ SDL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "sdl" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$SDL_PKG_ERRORS" >&5
- THREADLIB="-lpthread"
- fi
-fi
-{ echo "$as_me:$LINENO: checking whether PTHREAD_MUTEX_RECURSIVE is declared" >&5
-echo $ECHO_N "checking whether PTHREAD_MUTEX_RECURSIVE is declared... $ECHO_C" >&6; }
-if test "${ac_cv_have_decl_PTHREAD_MUTEX_RECURSIVE+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
+ enable_sdl=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** no sdl -- building without SDL support." >&5
+$as_echo "$as_me: WARNING: *** no sdl -- building without SDL support." >&2;}
-#define _GNU_SOURCE
-#include <pthread.h>
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
-int
-main ()
-{
-#ifndef PTHREAD_MUTEX_RECURSIVE
- (void) PTHREAD_MUTEX_RECURSIVE;
-#endif
+ enable_sdl=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** no sdl -- building without SDL support." >&5
+$as_echo "$as_me: WARNING: *** no sdl -- building without SDL support." >&2;}
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_have_decl_PTHREAD_MUTEX_RECURSIVE=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_have_decl_PTHREAD_MUTEX_RECURSIVE=no
+ SDL_CFLAGS=$pkg_cv_SDL_CFLAGS
+ SDL_LIBS=$pkg_cv_SDL_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ enable_sdl=yes
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_PTHREAD_MUTEX_RECURSIVE" >&5
-echo "${ECHO_T}$ac_cv_have_decl_PTHREAD_MUTEX_RECURSIVE" >&6; }
-if test $ac_cv_have_decl_PTHREAD_MUTEX_RECURSIVE = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_PTHREAD_MUTEX_RECURSIVE 1
-_ACEOF
+ if test "$enable_sdl" = "yes"; then
+ SDL_CORE_TRUE=
+ SDL_CORE_FALSE='#'
else
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_PTHREAD_MUTEX_RECURSIVE 0
-_ACEOF
-
-{ echo "$as_me:$LINENO: WARNING:
-*** PTHREAD_MUTEX_RECURSIVE is not defined! Dead locks might occur!" >&5
-echo "$as_me: WARNING:
-*** PTHREAD_MUTEX_RECURSIVE is not defined! Dead locks might occur!" >&2;}
+ SDL_CORE_TRUE='#'
+ SDL_CORE_FALSE=
fi
-{ echo "$as_me:$LINENO: checking whether PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP is declared" >&5
-echo $ECHO_N "checking whether PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP is declared... $ECHO_C" >&6; }
-if test "${ac_cv_have_decl_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#define _GNU_SOURCE
-#include <pthread.h>
+# Check whether --enable-vnc was given.
+if test "${enable_vnc+set}" = set; then :
+ enableval=$enable_vnc;
+else
+ enable_vnc=yes
+fi
-int
-main ()
-{
-#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
- (void) PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
-#endif
+if test "$enable_vnc" = "yes"; then
+ # Extract the first word of "libvncserver-config", so it can be a program name with args.
+set dummy libvncserver-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_VNC_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $VNC_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_VNC_CONFIG="$VNC_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ 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_path_VNC_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- ;
- 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;;
+ test -z "$ac_cv_path_VNC_CONFIG" && ac_cv_path_VNC_CONFIG="no"
+ ;;
esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_have_decl_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_have_decl_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP=no
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+VNC_CONFIG=$ac_cv_path_VNC_CONFIG
+if test -n "$VNC_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VNC_CONFIG" >&5
+$as_echo "$VNC_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP" >&5
-echo "${ECHO_T}$ac_cv_have_decl_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP" >&6; }
-if test $ac_cv_have_decl_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP = yes; then
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP 1
-_ACEOF
+ if test "$VNC_CONFIG" = "no"; then
+ enable_vnc=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+*** libvncserver-config not found -- building without VNC support. See http://libvncserver.sourceforge.net" >&5
+$as_echo "$as_me: WARNING:
+*** libvncserver-config not found -- building without VNC support. See http://libvncserver.sourceforge.net" >&2;}
+ else
+ VNC_CFLAGS=`$VNC_CONFIG --cflags`
+ VNC_LIBS=`$VNC_CONFIG --libs`
+ fi
+fi
+ if test "$enable_vnc" = "yes"; then
+ VNC_CORE_TRUE=
+ VNC_CORE_FALSE='#'
else
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP 0
-_ACEOF
-
-{ echo "$as_me:$LINENO: WARNING:
-*** PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP is not defined! Dead locks might occur!" >&5
-echo "$as_me: WARNING:
-*** PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP is not defined! Dead locks might occur!" >&2;}
+ VNC_CORE_TRUE='#'
+ VNC_CORE_FALSE=
fi
@@ -23578,25 +18299,26 @@ fi
-CPPFLAGS="$THREADFLAGS $CPPFLAGS"
+# Check whether --enable-sysfs was given.
+if test "${enable_sysfs+set}" = set; then :
+ enableval=$enable_sysfs;
+else
+ enable_sysfs=yes
+fi
-DYNLIB=""
-if test "$need_libdl" = "yes"; then
- if test "$enable_shared" = "yes"; then
+use_sysfs=no
+SYSFS_LIBS=
-{ echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test "$enable_sysfs" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysfs_get_mnt_path in -lsysfs" >&5
+$as_echo_n "checking for sysfs_get_mnt_path in -lsysfs... " >&6; }
+if ${ac_cv_lib_sysfs_sysfs_get_mnt_path+:} false; then :
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+LIBS="-lsysfs $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
@@ -23605,7199 +18327,5198 @@ cat >>conftest.$ac_ext <<_ACEOF
#ifdef __cplusplus
extern "C"
#endif
-char dlopen ();
+char sysfs_get_mnt_path ();
int
main ()
{
-return dlopen ();
+return sysfs_get_mnt_path ();
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_dl_dlopen=yes
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_sysfs_sysfs_get_mnt_path=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_dl_dlopen=no
+ ac_cv_lib_sysfs_sysfs_get_mnt_path=no
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ 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; }
-if test $ac_cv_lib_dl_dlopen = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBDL 1
-_ACEOF
-
- LIBS="-ldl $LIBS"
-
-else
- { { echo "$as_me:$LINENO: error:
-*** DirectFB requires libdl." >&5
-echo "$as_me: error:
-*** DirectFB requires libdl." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
- DYNLIB="-ldl"
- fi
-fi
-
-
-
-
-if test "$have_x86" = "yes"; then
-##
-## HACK HACK HACK automake uses @AS@ like a gcc
-##
- AS=$CC
- ASFLAGS=$CFLAGS
-
-
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INB_OUTB_IOPL 1
-_ACEOF
-
- { echo "$as_me:$LINENO: checking for sys/io.h" >&5
-echo $ECHO_N "checking for sys/io.h... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/io.h>
-int
-main ()
-{
-char x = inb(0); (void)x;
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYSIO 1
-_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sysfs_sysfs_get_mnt_path" >&5
+$as_echo "$ac_cv_lib_sysfs_sysfs_get_mnt_path" >&6; }
+if test "x$ac_cv_lib_sysfs_sysfs_get_mnt_path" = xyes; then :
- have_sysio=yes
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ ac_fn_c_check_header_mongrel "$LINENO" "sysfs/libsysfs.h" "ac_cv_header_sysfs_libsysfs_h" "$ac_includes_default"
+if test "x$ac_cv_header_sysfs_libsysfs_h" = xyes; then :
+ use_sysfs=yes
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
+$as_echo "#define USE_SYSFS 1" >>confdefs.h
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ SYSFS_LIBS='-lsysfs'
else
- have_sysio=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+*** libsysfs header files not found -- Building without sysfs support." >&5
+$as_echo "$as_me: WARNING:
+*** libsysfs header files not found -- Building without sysfs support." >&2;}
fi
-# Check whether --enable-profiling was given.
-if test "${enable_profiling+set}" = set; then
- enableval=$enable_profiling;
-else
- enable_profiling=no
-fi
-if test "$enable_profiling" = "yes"; then
- CFLAGS="$CFLAGS -pg -g3"
else
- DFB_CFLAGS_OMIT_FRAME_POINTER="-fomit-frame-pointer"
-fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** libsysfs not found -- Building without sysfs support." >&5
+$as_echo "$as_me: WARNING: *** libsysfs not found -- Building without sysfs support." >&2;}
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then
- enableval=$enable_debug;
-else
- enable_debug=no
fi
-if test "$enable_debug" = "yes"; then
- CFLAGS="$CFLAGS -g3 -fno-inline -Wno-inline"
- DIRECT_BUILD_DEBUG=1
-else
- DIRECT_BUILD_DEBUG=0
-fi
- if test "$enable_debug" = "yes"; then
- ENABLE_DEBUG_TRUE=
- ENABLE_DEBUG_FALSE='#'
-else
- ENABLE_DEBUG_TRUE='#'
- ENABLE_DEBUG_FALSE=
fi
-# Check whether --enable-debug-support was given.
-if test "${enable_debug_support+set}" = set; then
- enableval=$enable_debug_support;
-else
- enable_debug_support=yes
-fi
+JPEG=no
-if test "$enable_debug_support" = "yes" || test "$enable_debug" = "yes"; then
- enable_debug_support=yes
- DIRECT_BUILD_DEBUGS=1
-else
- DIRECT_BUILD_DEBUGS=0
-fi
- if test "$enable_debug_support" = "yes"; then
- ENABLE_DEBUGS_TRUE=
- ENABLE_DEBUGS_FALSE='#'
+# Check whether --enable-jpeg was given.
+if test "${enable_jpeg+set}" = set; then :
+ enableval=$enable_jpeg;
else
- ENABLE_DEBUGS_TRUE='#'
- ENABLE_DEBUGS_FALSE=
+ enable_jpeg=yes
fi
-
-
-
-# Check whether --enable-trace was given.
-if test "${enable_trace+set}" = set; then
- enableval=$enable_trace;
+if test "$enable_jpeg" = "yes"; then
+ if test -z "$LIBJPEG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeg_destroy_decompress in -ljpeg" >&5
+$as_echo_n "checking for jpeg_destroy_decompress in -ljpeg... " >&6; }
+if ${ac_cv_lib_jpeg_jpeg_destroy_decompress+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- enable_trace=no
-fi
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ljpeg $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-if test "$enable_trace" = "yes"; then
- DFB_INTERNAL_CFLAGS="$DFB_INTERNAL_CFLAGS -finstrument-functions"
- DIRECT_BUILD_TRACE=1
+/* 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
+char jpeg_destroy_decompress ();
+int
+main ()
+{
+return jpeg_destroy_decompress ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_jpeg_jpeg_destroy_decompress=yes
else
- DIRECT_BUILD_TRACE=0
+ ac_cv_lib_jpeg_jpeg_destroy_decompress=no
fi
- if test "$enable_trace" = "yes"; then
- ENABLE_TRACE_TRUE=
- ENABLE_TRACE_FALSE='#'
-else
- ENABLE_TRACE_TRUE='#'
- ENABLE_TRACE_FALSE=
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
fi
-
-
-
-
-
-# Check whether --enable-text was given.
-if test "${enable_text+set}" = set; then
- enableval=$enable_text;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jpeg_destroy_decompress" >&5
+$as_echo "$ac_cv_lib_jpeg_jpeg_destroy_decompress" >&6; }
+if test "x$ac_cv_lib_jpeg_jpeg_destroy_decompress" = xyes; then :
+ jpeg_ok=yes
else
- enable_text=yes
+ jpeg_ok=no
fi
-if test "$enable_text" = "no"; then
- DIRECT_BUILD_TEXT=0
+ if test "$jpeg_ok" = yes; then
+ ac_fn_c_check_header_mongrel "$LINENO" "jpeglib.h" "ac_cv_header_jpeglib_h" "$ac_includes_default"
+if test "x$ac_cv_header_jpeglib_h" = xyes; then :
+ jpeg_ok=yes
else
- DIRECT_BUILD_TEXT=1
+ jpeg_ok=no
fi
-
-
-# Check whether --enable-gettid was given.
-if test "${enable_gettid+set}" = set; then
- enableval=$enable_gettid;
-else
- enable_gettid=yes
+ if test "$jpeg_ok" = yes; then
+ JPEG=yes
+ LIBJPEG='-ljpeg'
+ else
+ JPEG=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+*** JPEG header files not found. JPEG image provider will not be built." >&5
+$as_echo "$as_me: WARNING:
+*** JPEG header files not found. JPEG image provider will not be built." >&2;}
+ fi
+ else
+ JPEG=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+*** JPEG library not found. JPEG image provider will not be built." >&5
+$as_echo "$as_me: WARNING:
+*** JPEG library not found. JPEG image provider will not be built." >&2;}
+ fi
+ else
+ JPEG=yes
+ fi
fi
-if test "$enable_gettid" = "no"; then
- DIRECT_BUILD_GETTID=0
+ if test "$JPEG" = "yes"; then
+ JPEG_PROVIDER_TRUE=
+ JPEG_PROVIDER_FALSE='#'
else
- DIRECT_BUILD_GETTID=1
+ JPEG_PROVIDER_TRUE='#'
+ JPEG_PROVIDER_FALSE=
fi
+if test "$enable_jpeg" != "no" && test "$JPEG" != "yes"; then
+ jpeg_warning="
+JPEG support is missing - many applications won't work correctly!"
+fi
-# Check whether --enable-network was given.
-if test "${enable_network+set}" = set; then
- enableval=$enable_network;
-else
- enable_network=yes
-fi
-if test "$enable_network" = "no"; then
- DIRECT_BUILD_NETWORK=0
+# Check whether --enable-zlib was given.
+if test "${enable_zlib+set}" = set; then :
+ enableval=$enable_zlib;
else
- DIRECT_BUILD_NETWORK=1
+ enable_zlib=no
fi
+use_zlib=no
+ZLIB_LIBS=
-
-if test "${ac_cv_header_stdbool_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for stdbool.h" >&5
-echo $ECHO_N "checking for stdbool.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_stdbool_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5
-echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6; }
+if test "$enable_zlib" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gzsetparams in -lz" >&5
+$as_echo_n "checking for gzsetparams in -lz... " >&6; }
+if ${ac_cv_lib_z_gzsetparams+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking stdbool.h usability" >&5
-echo $ECHO_N "checking stdbool.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lz $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_includes_default
-#include <stdbool.h>
+
+/* 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
+char gzsetparams ();
+int
+main ()
+{
+return gzsetparams ();
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_z_gzsetparams=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
+ ac_cv_lib_z_gzsetparams=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_gzsetparams" >&5
+$as_echo "$ac_cv_lib_z_gzsetparams" >&6; }
+if test "x$ac_cv_lib_z_gzsetparams" = xyes; then :
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
+ ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_zlib_h" = xyes; then :
+ use_zlib=yes
-# Is the header present?
-{ echo "$as_me:$LINENO: checking stdbool.h presence" >&5
-echo $ECHO_N "checking stdbool.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdbool.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
+$as_echo "#define USE_ZLIB 1" >>confdefs.h
- ac_header_preproc=no
+ ZLIB_LIBS='-lz'
+else
+ as_fn_error $? "
+*** libz header files not found." "$LINENO" 5
fi
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$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: stdbool.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: stdbool.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: stdbool.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: stdbool.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: stdbool.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: stdbool.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: stdbool.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: stdbool.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: stdbool.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: stdbool.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: stdbool.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: stdbool.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: stdbool.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: stdbool.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: stdbool.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: stdbool.h: in the future, the compiler will take precedence" >&2;}
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for stdbool.h" >&5
-echo $ECHO_N "checking for stdbool.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_stdbool_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_header_stdbool_h=$ac_header_preproc
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5
-echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6; }
+
+ as_fn_error $? " *** libz not found." "$LINENO" 5
fi
-if test $ac_cv_header_stdbool_h = yes; then
- DIRECT_BUILD_STDBOOL=1
-else
- DIRECT_BUILD_STDBOOL=0
+
fi
+PNG=no
-linux_fusion="N/A"
-# Check whether --enable-multi was given.
-if test "${enable_multi+set}" = set; then
- enableval=$enable_multi;
+# Check whether --enable-png was given.
+if test "${enable_png+set}" = set; then :
+ enableval=$enable_png;
else
- enable_multi=no
+ enable_png=yes
fi
-if test "$enable_multi" = "yes"; then
- linux_fusion=yes
- if test "${ac_cv_header_linux_fusion_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for linux/fusion.h" >&5
-echo $ECHO_N "checking for linux/fusion.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_fusion_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_fusion_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_fusion_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking linux/fusion.h usability" >&5
-echo $ECHO_N "checking linux/fusion.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <linux/fusion.h>
-_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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
+if test "$enable_png" = "yes"; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBPNG" >&5
+$as_echo_n "checking for LIBPNG... " >&6; }
+
+if test -n "$LIBPNG_CFLAGS"; then
+ pkg_cv_LIBPNG_CFLAGS="$LIBPNG_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng >= 1.2.2\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libpng >= 1.2.2") 2>&5
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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBPNG_CFLAGS=`$PKG_CONFIG --cflags "libpng >= 1.2.2" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
+ pkg_failed=yes
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking linux/fusion.h presence" >&5
-echo $ECHO_N "checking linux/fusion.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <linux/fusion.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ else
+ pkg_failed=untried
+fi
+if test -n "$LIBPNG_LIBS"; then
+ pkg_cv_LIBPNG_LIBS="$LIBPNG_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng >= 1.2.2\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libpng >= 1.2.2") 2>&5
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 && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBPNG_LIBS=`$PKG_CONFIG --libs "libpng >= 1.2.2" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
fi
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$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: linux/fusion.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: linux/fusion.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/fusion.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: linux/fusion.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: linux/fusion.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: linux/fusion.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/fusion.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: linux/fusion.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/fusion.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: linux/fusion.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/fusion.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: linux/fusion.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/fusion.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: linux/fusion.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/fusion.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: linux/fusion.h: in the future, the compiler will take precedence" >&2;}
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for linux/fusion.h" >&5
-echo $ECHO_N "checking for linux/fusion.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_fusion_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
else
- ac_cv_header_linux_fusion_h=$ac_header_preproc
+ _pkg_short_errors_supported=no
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_fusion_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_fusion_h" >&6; }
+ if test $_pkg_short_errors_supported = yes; then
+ LIBPNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libpng >= 1.2.2" 2>&1`
+ else
+ LIBPNG_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libpng >= 1.2.2" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$LIBPNG_PKG_ERRORS" >&5
-fi
-if test $ac_cv_header_linux_fusion_h = yes; then
- :
+ PNG=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** PNG library not found. PNG image provider will not be built." >&5
+$as_echo "$as_me: WARNING: *** PNG library not found. PNG image provider will not be built." >&2;}
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ PNG=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** PNG library not found. PNG image provider will not be built." >&5
+$as_echo "$as_me: WARNING: *** PNG library not found. PNG image provider will not be built." >&2;}
else
- linux_fusion=no
+ LIBPNG_CFLAGS=$pkg_cv_LIBPNG_CFLAGS
+ LIBPNG_LIBS=$pkg_cv_LIBPNG_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ PNG=yes
+fi
fi
+ if test "$PNG" = "yes"; then
+ PNG_PROVIDER_TRUE=
+ PNG_PROVIDER_FALSE='#'
+else
+ PNG_PROVIDER_TRUE='#'
+ PNG_PROVIDER_FALSE=
+fi
- if test "$linux_fusion" = "yes"; then
- FUSION_BUILD_KERNEL=1
- else
- fusion_warning="
-Linux-Fusion header not found. Using EXPERIMENTAL Builtin Multi application core!"
- { echo "$as_me:$LINENO: WARNING: *** $fusion_warning *** " >&5
-echo "$as_me: WARNING: *** $fusion_warning *** " >&2;}
- FUSION_BUILD_KERNEL=0
- fi
- FUSION_BUILD_MULTI=1
+ if test "$PNG" = "yes"; then
+ BUILD_DIRECTFB_CSOURCE_TRUE=
+ BUILD_DIRECTFB_CSOURCE_FALSE='#'
else
- FUSION_BUILD_MULTI=0
- FUSION_BUILD_KERNEL=0
+ BUILD_DIRECTFB_CSOURCE_TRUE='#'
+ BUILD_DIRECTFB_CSOURCE_FALSE=
fi
- if test "$enable_multi" = "yes"; then
- ENABLE_MULTI_TRUE=
- ENABLE_MULTI_FALSE='#'
+
+if test "$enable_png" != "no" && test "$PNG" != "yes"; then
+ png_warning="
+PNG support is missing - many applications won't work correctly!"
+fi
+
+
+
+# Check whether --enable-gif was given.
+if test "${enable_gif+set}" = set; then :
+ enableval=$enable_gif;
else
- ENABLE_MULTI_TRUE='#'
- ENABLE_MULTI_FALSE=
+ enable_gif=yes
fi
+ if test "$enable_gif" = "yes"; then
+ GIF_PROVIDER_TRUE=
+ GIF_PROVIDER_FALSE='#'
+else
+ GIF_PROVIDER_TRUE='#'
+ GIF_PROVIDER_FALSE=
+fi
-# Check whether --enable-voodoo was given.
-if test "${enable_voodoo+set}" = set; then
- enableval=$enable_voodoo;
+# Check whether --enable-freetype was given.
+if test "${enable_freetype+set}" = set; then :
+ enableval=$enable_freetype;
else
- enable_voodoo=no
+ enable_freetype=yes
fi
+if test "$enable_freetype" = "yes"; then
- if test "$enable_voodoo" = "yes"; then
- ENABLE_VOODOO_TRUE=
- ENABLE_VOODOO_FALSE='#'
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FREETYPE" >&5
+$as_echo_n "checking for FREETYPE... " >&6; }
+
+if test -n "$FREETYPE_CFLAGS"; then
+ pkg_cv_FREETYPE_CFLAGS="$FREETYPE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
- ENABLE_VOODOO_TRUE='#'
- ENABLE_VOODOO_FALSE=
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$FREETYPE_LIBS"; then
+ pkg_cv_FREETYPE_LIBS="$FREETYPE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
fi
-# Check whether --enable-unique was given.
-if test "${enable_unique+set}" = set; then
- enableval=$enable_unique;
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
else
- enable_unique=no
+ _pkg_short_errors_supported=no
fi
+ if test $_pkg_short_errors_supported = yes; then
+ FREETYPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "freetype2" 2>&1`
+ else
+ FREETYPE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "freetype2" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$FREETYPE_PKG_ERRORS" >&5
-
- if test "$enable_unique" = "yes"; then
- ENABLE_UNIQUE_TRUE=
- ENABLE_UNIQUE_FALSE='#'
+ FREETYPE="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** no freetype -- FreeType font provider will not be built." >&5
+$as_echo "$as_me: WARNING: *** no freetype -- FreeType font provider will not be built." >&2;}
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ FREETYPE="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** no freetype -- FreeType font provider will not be built." >&5
+$as_echo "$as_me: WARNING: *** no freetype -- FreeType font provider will not be built." >&2;}
else
- ENABLE_UNIQUE_TRUE='#'
- ENABLE_UNIQUE_FALSE=
+ FREETYPE_CFLAGS=$pkg_cv_FREETYPE_CFLAGS
+ FREETYPE_LIBS=$pkg_cv_FREETYPE_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ FREETYPE="yes"
+fi
fi
-
-
-# Check whether --enable-mmx was given.
-if test "${enable_mmx+set}" = set; then
- enableval=$enable_mmx;
+ if test "$FREETYPE" = "yes"; then
+ FREETYPE_PROVIDER_TRUE=
+ FREETYPE_PROVIDER_FALSE='#'
else
- enable_mmx=$have_x86
+ FREETYPE_PROVIDER_TRUE='#'
+ FREETYPE_PROVIDER_FALSE=
fi
-# Check whether --enable-sse was given.
-if test "${enable_sse+set}" = set; then
- enableval=$enable_sse;
-else
- enable_sse=$have_x86
+if test "$enable_freetype" != "no" && test "$FREETYPE" != "yes"; then
+ freetype_warning="
+FreeType2 support is missing - many applications won't work correctly!"
fi
-if test "$enable_mmx" = "yes"; then
- save_ac_ext="$ac_ext"
- ac_ext=S
- { echo "$as_me:$LINENO: checking whether the binutils support MMX" >&5
-echo $ECHO_N "checking whether the binutils support MMX... $ECHO_C" >&6; }
+# Check whether --enable-linotype was given.
+if test "${enable_linotype+set}" = set; then :
+ enableval=$enable_linotype;
+fi
- echo " movq 0, %mm0" > conftest.S
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
+if test "x$enable_linotype" != "xno"; then
-cat >>confdefs.h <<\_ACEOF
-#define USE_MMX 1
-_ACEOF
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LINOTYPE" >&5
+$as_echo_n "checking for LINOTYPE... " >&6; }
+
+if test -n "$LINOTYPE_CFLAGS"; then
+ pkg_cv_LINOTYPE_CFLAGS="$LINOTYPE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"linotype\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "linotype") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LINOTYPE_CFLAGS=`$PKG_CONFIG --cflags "linotype" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$LINOTYPE_LIBS"; then
+ pkg_cv_LINOTYPE_LIBS="$LINOTYPE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"linotype\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "linotype") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LINOTYPE_LIBS=`$PKG_CONFIG --libs "linotype" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- if test "$enable_sse" = "yes"; then
- { echo "$as_me:$LINENO: checking whether the binutils support SSE" >&5
-echo $ECHO_N "checking whether the binutils support SSE... $ECHO_C" >&6; }
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
- echo " movntps %xmm0, 0" > conftest.S
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; 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
+ LINOTYPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "linotype" 2>&1`
+ else
+ LINOTYPE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "linotype" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$LINOTYPE_PKG_ERRORS" >&5
-cat >>confdefs.h <<\_ACEOF
-#define USE_SSE 1
-_ACEOF
+ LINOTYPE="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** no linotype -- LinoType font provider will not be built." >&5
+$as_echo "$as_me: WARNING: *** no linotype -- LinoType font provider will not be built." >&2;}
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ LINOTYPE="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** no linotype -- LinoType font provider will not be built." >&5
+$as_echo "$as_me: WARNING: *** no linotype -- LinoType font provider will not be built." >&2;}
+else
+ LINOTYPE_CFLAGS=$pkg_cv_LINOTYPE_CFLAGS
+ LINOTYPE_LIBS=$pkg_cv_LINOTYPE_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ LINOTYPE="yes"
+fi
+fi
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- else
- enable_sse=no
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { echo "$as_me:$LINENO: WARNING:
-****************************************************************
- The installed assembler does not supports the SSE command set.
- Update your binutils package, if you want to compile SSE code.
-****************************************************************" >&5
-echo "$as_me: WARNING:
-****************************************************************
- The installed assembler does not supports the SSE command set.
- Update your binutils package, if you want to compile SSE code.
-****************************************************************" >&2;}
- fi
+ if test "$LINOTYPE" = "yes"; then
+ LINOTYPE_PROVIDER_TRUE=
+ LINOTYPE_PROVIDER_FALSE='#'
+else
+ LINOTYPE_PROVIDER_TRUE='#'
+ LINOTYPE_PROVIDER_FALSE=
+fi
- fi
- else
- enable_mmx=no
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { echo "$as_me:$LINENO: WARNING:
-****************************************************************
- The installed assembler does not supports the MMX command set.
- Update your binutils package, if you want to compile MMX code.
-****************************************************************" >&5
-echo "$as_me: WARNING:
-****************************************************************
- The installed assembler does not supports the MMX command set.
- Update your binutils package, if you want to compile MMX code.
-****************************************************************" >&2;}
- fi
- rm conftest*
- ac_ext="$save_ac_ext"
+V4L=no
+if test "$have_linux" = "yes"; then
+ # Check whether --enable-video4linux was given.
+if test "${enable_video4linux+set}" = set; then :
+ enableval=$enable_video4linux;
else
- enable_sse=no
+ enable_video4linux=yes
fi
- if test "$enable_mmx" = "yes"; then
- BUILDMMX_TRUE=
- BUILDMMX_FALSE='#'
+ if test "$enable_video4linux" = "yes"; then
+ V4L=yes
+ fi
+fi
+
+ if test "$V4L" = "yes"; then
+ V4L_PROVIDER_TRUE=
+ V4L_PROVIDER_FALSE='#'
else
- BUILDMMX_TRUE='#'
- BUILDMMX_FALSE=
+ V4L_PROVIDER_TRUE='#'
+ V4L_PROVIDER_FALSE=
fi
-# Check whether --enable-devmem was given.
-if test "${enable_devmem+set}" = set; then
- enableval=$enable_devmem;
+
+V4L2=no
+
+if test "$V4L" = "yes"; then
+ # Check whether --enable-video4linux2 was given.
+if test "${enable_video4linux2+set}" = set; then :
+ enableval=$enable_video4linux2;
else
- enable_devmem=yes
+ enable_video4linux2=no
fi
+ if test "$enable_video4linux2" = "yes"; then
+ V4L2=yes
+
+$as_echo "#define DFB_HAVE_V4L2 1" >>confdefs.h
- if test "$enable_devmem" = "yes"; then
- DEVMEM_CORE_TRUE=
- DEVMEM_CORE_FALSE='#'
-else
- DEVMEM_CORE_TRUE='#'
- DEVMEM_CORE_FALSE=
+ fi
fi
+ati128=no
+cle266=no
+cyber5k=no
+davinci=no
+ep9x=no
+gl=no
+glx=no
+i810=no
+i830=no
+mach64=no
+matrox=no
+neomagic=no
+nsc=no
+nvidia=no
+omap=no
+pxa3xx=no
+radeon=no
+savage=no
+sh772x=no
+sis315=no
+tdfx=no
+unichrome=no
+vmware=no
+
+if test "$have_linux" = "yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which gfxdrivers should be built" >&5
+$as_echo_n "checking which gfxdrivers should be built... " >&6; }
-# Check whether --enable-fbdev was given.
-if test "${enable_fbdev+set}" = set; then
- enableval=$enable_fbdev;
+# Check whether --with-gfxdrivers was given.
+if test "${with_gfxdrivers+set}" = set; then :
+ withval=$with_gfxdrivers; gfxdrivers="$withval"
else
- enable_fbdev=yes
+ gfxdrivers=all
fi
+if test "$gfxdrivers" = "all"; then
+ checkfor_ati128=yes
+ checkfor_cle266=no
+ checkfor_cyber5k=yes
+ checkfor_davinci="$have_arm"
+ checkfor_ep9x=yes
+ checkfor_gl=yes
+ checkfor_i810=yes
+ checkfor_i830=yes
+ checkfor_mach64=yes
+ checkfor_matrox=yes
+ checkfor_neomagic=yes
+ checkfor_nsc=yes
+ checkfor_nvidia=yes
+ checkfor_omap="$have_arm"
+ checkfor_pxa3xx=yes
+ checkfor_radeon=yes
+ checkfor_savage=yes
+ checkfor_sh772x=yes
+ checkfor_sis315=yes
+ checkfor_tdfx=yes
+ checkfor_unichrome=yes
+ checkfor_vmware=yes
-if test "$have_linux" = "no"; then
- enable_fbdev=no
- { echo "$as_me:$LINENO: WARNING:
-*** no linux kernel -- building without linux fbdev support." >&5
-echo "$as_me: WARNING:
-*** no linux kernel -- building without linux fbdev support." >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: all" >&5
+$as_echo "all" >&6; }
+else
+ if test "$gfxdrivers" != "none"; then
+ gfxdrivers=`echo $gfxdrivers | sed 's/,/ /g'`
+ for gfxdriver in $gfxdrivers
+ do
+ case "$gfxdriver" in
+ ati128)
+ checkfor_ati128=yes
+ ;;
+ cle266)
+ checkfor_cle266=yes
+ ;;
+ cyber5k)
+ checkfor_cyber5k=yes
+ ;;
+ davinci)
+ checkfor_davinci=yes
+ ;;
+ ep9x)
+ checkfor_ep9x=yes
+ ;;
+ gl)
+ checkfor_gl=yes
+ ;;
+ i810)
+ checkfor_i810=yes
+ ;;
+ i830)
+ checkfor_i830=yes
+ ;;
+ mach64)
+ checkfor_mach64=yes
+ ;;
+ matrox)
+ checkfor_matrox=yes
+ ;;
+ neomagic)
+ checkfor_neomagic=yes
+ ;;
+ nsc)
+ checkfor_nsc=yes
+ ;;
+ nvidia)
+ checkfor_nvidia=yes
+ ;;
+ omap)
+ checkfor_omap=yes
+ ;;
+ pxa3xx)
+ checkfor_pxa3xx=yes
+ ;;
+ radeon)
+ checkfor_radeon=yes
+ ;;
+ savage)
+ checkfor_savage=yes
+ ;;
+ sh772x)
+ checkfor_sh772x=yes
+ ;;
+ sis315)
+ checkfor_sis315=yes
+ ;;
+ tdfx)
+ checkfor_tdfx=yes
+ ;;
+ unichrome)
+ checkfor_unichrome=yes
+ ;;
+ vmware)
+ checkfor_vmware=yes
+ ;;
+ *)
+ echo "Unknown gfxdriver $gfxdriver, exiting!"
+ exit 1
+ ;;
+ esac
+ done
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gfxdrivers" >&5
+$as_echo "$gfxdrivers" >&6; }
+ fi
fi
-if test "$enable_fbdev" = "yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define LINUX_INPUT_USE_FBDEV 1
-_ACEOF
-
+if test "$checkfor_ati128" = "yes"; then
+ ati128=yes
fi
- if test "$enable_fbdev" = "yes"; then
- FBDEV_CORE_TRUE=
- FBDEV_CORE_FALSE='#'
-else
- FBDEV_CORE_TRUE='#'
- FBDEV_CORE_FALSE=
+if test "$checkfor_cle266" = "yes" && test "$have_sysio" = "yes"; then
+ cle266=yes
fi
+if test "$checkfor_cyber5k" = "yes"; then
+ cyber5k=yes
+fi
+if test "$checkfor_davinci" = "yes"; then
+ davinci=yes
+fi
+if test "$checkfor_ep9x" = "yes"; then
+ ep9x=yes
+fi
-# Check whether --enable-sdl was given.
-if test "${enable_sdl+set}" = set; then
- enableval=$enable_sdl;
-else
- enable_sdl=no
+if test "$checkfor_gl" = "yes"; then
+ ac_fn_c_check_header_mongrel "$LINENO" "GL/gl.h" "ac_cv_header_GL_gl_h" "$ac_includes_default"
+if test "x$ac_cv_header_GL_gl_h" = xyes; then :
+ gl=yes
fi
-if test "$enable_sdl" = "yes"; then
- if test "$enable_osx" = "yes"; then
- { echo "$as_me:$LINENO: WARNING:
-*** SDL is now unsupported on OSX." >&5
-echo "$as_me: WARNING:
-*** SDL is now unsupported on OSX." >&2;}
- enable_sdl=no
- else
+ ac_fn_c_check_header_mongrel "$LINENO" "GL/glx.h" "ac_cv_header_GL_glx_h" "$ac_includes_default"
+if test "x$ac_cv_header_GL_glx_h" = xyes; then :
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for SDL" >&5
-echo $ECHO_N "checking for SDL... $ECHO_C" >&6; }
+ glx=yes
-if test -n "$PKG_CONFIG"; then
- if test -n "$SDL_CFLAGS"; then
- pkg_cv_SDL_CFLAGS="$SDL_CFLAGS"
- else
- if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sdl\"") >&5
- ($PKG_CONFIG --exists --print-errors "sdl") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- pkg_cv_SDL_CFLAGS=`$PKG_CONFIG --cflags "sdl" 2>/dev/null`
-else
- pkg_failed=yes
-fi
- fi
-else
- pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
- if test -n "$SDL_LIBS"; then
- pkg_cv_SDL_LIBS="$SDL_LIBS"
- else
- if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sdl\"") >&5
- ($PKG_CONFIG --exists --print-errors "sdl") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- pkg_cv_SDL_LIBS=`$PKG_CONFIG --libs "sdl" 2>/dev/null`
-else
- pkg_failed=yes
-fi
- fi
-else
- pkg_failed=untried
-fi
+$as_echo "#define USE_GLX 1" >>confdefs.h
+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
- SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sdl"`
- else
- SDL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sdl"`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$SDL_PKG_ERRORS" >&5
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- enable_sdl=no,
- { echo "$as_me:$LINENO: WARNING: *** no sdl -- building without SDL support." >&5
-echo "$as_me: WARNING: *** no sdl -- building without SDL support." >&2;}
-elif test $pkg_failed = untried; then
- enable_sdl=no,
- { echo "$as_me:$LINENO: WARNING: *** no sdl -- building without SDL support." >&5
-echo "$as_me: WARNING: *** no sdl -- building without SDL support." >&2;}
-else
- SDL_CFLAGS=$pkg_cv_SDL_CFLAGS
- SDL_LIBS=$pkg_cv_SDL_LIBS
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- enable_sdl=yes
-fi
- fi
+if test "$checkfor_i810" = "yes" && test "$have_sysio" = "yes"; then
+ i810=yes
fi
-
- if test "$enable_sdl" = "yes"; then
- SDL_CORE_TRUE=
- SDL_CORE_FALSE='#'
-else
- SDL_CORE_TRUE='#'
- SDL_CORE_FALSE=
+if test "$checkfor_i830" = "yes" && test "$have_sysio" = "yes"; then
+ i830=yes
fi
-
-# Check whether --enable-vnc was given.
-if test "${enable_vnc+set}" = set; then
- enableval=$enable_vnc;
-else
- enable_vnc=yes
+if test "$checkfor_mach64" = "yes"; then
+ mach64=yes
fi
-
-
-
-if test "$enable_vnc" = "yes"; then
- # Extract the first word of "libvncserver-config", so it can be a program name with args.
-set dummy libvncserver-config; 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_path_VNC_CONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $VNC_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_VNC_CONFIG="$VNC_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- 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_path_VNC_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- 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_path_VNC_CONFIG" && ac_cv_path_VNC_CONFIG="no"
- ;;
-esac
-fi
-VNC_CONFIG=$ac_cv_path_VNC_CONFIG
-if test -n "$VNC_CONFIG"; then
- { echo "$as_me:$LINENO: result: $VNC_CONFIG" >&5
-echo "${ECHO_T}$VNC_CONFIG" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+if test "$checkfor_matrox" = "yes"; then
+ matrox=yes
fi
-
- if test "$VNC_CONFIG" = "no"; then
- enable_vnc=no
- { echo "$as_me:$LINENO: WARNING:
-*** libvncserver-config not found -- building without VNC support. See http://libvncserver.sourceforge.net" >&5
-echo "$as_me: WARNING:
-*** libvncserver-config not found -- building without VNC support. See http://libvncserver.sourceforge.net" >&2;}
- else
- VNC_CFLAGS=`$VNC_CONFIG --cflags`
- VNC_LIBS=`$VNC_CONFIG --libs`
- fi
+if test "$checkfor_neomagic" = "yes" && test "$have_sysio" = "yes"; then
+ neomagic=yes
fi
-
-
-
- if test "$enable_vnc" = "yes"; then
- VNC_CORE_TRUE=
- VNC_CORE_FALSE='#'
-else
- VNC_CORE_TRUE='#'
- VNC_CORE_FALSE=
+if test "$checkfor_nsc" = "yes"; then
+ nsc=yes
fi
-
-
-
-# Check whether --enable-sysfs was given.
-if test "${enable_sysfs+set}" = set; then
- enableval=$enable_sysfs;
-else
- enable_sysfs=yes
+if test "$checkfor_nvidia" = "yes"; then
+ nvidia=yes
fi
-
-use_sysfs=no
-SYSFS_LIBS=
-
-if test "$enable_sysfs" = "yes"; then
- { echo "$as_me:$LINENO: checking for sysfs_get_mnt_path in -lsysfs" >&5
-echo $ECHO_N "checking for sysfs_get_mnt_path in -lsysfs... $ECHO_C" >&6; }
-if test "${ac_cv_lib_sysfs_sysfs_get_mnt_path+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsysfs $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* 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
-char sysfs_get_mnt_path ();
-int
-main ()
-{
-return sysfs_get_mnt_path ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_sysfs_sysfs_get_mnt_path=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_sysfs_sysfs_get_mnt_path=no
+if test "$checkfor_omap" = "yes"; then
+ omap=yes
fi
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+if test "$checkfor_pxa3xx" = "yes"; then
+ pxa3xx=yes
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_sysfs_sysfs_get_mnt_path" >&5
-echo "${ECHO_T}$ac_cv_lib_sysfs_sysfs_get_mnt_path" >&6; }
-if test $ac_cv_lib_sysfs_sysfs_get_mnt_path = yes; then
- if test "${ac_cv_header_sysfs_libsysfs_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for sysfs/libsysfs.h" >&5
-echo $ECHO_N "checking for sysfs/libsysfs.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_sysfs_libsysfs_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test "$checkfor_radeon" = "yes"; then
+ radeon=yes
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_sysfs_libsysfs_h" >&5
-echo "${ECHO_T}$ac_cv_header_sysfs_libsysfs_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking sysfs/libsysfs.h usability" >&5
-echo $ECHO_N "checking sysfs/libsysfs.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <sysfs/libsysfs.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_header_compiler=no
+if test "$checkfor_savage" = "yes" && test "$have_sysio" = "yes"; then
+ savage=yes
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
+if test "$checkfor_sh772x" = "yes" && test "$have_sh4" = "yes"; then
-# Is the header present?
-{ echo "$as_me:$LINENO: checking sysfs/libsysfs.h presence" >&5
-echo $ECHO_N "checking sysfs/libsysfs.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sysfs/libsysfs.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SH772X_DEP" >&5
+$as_echo_n "checking for SH772X_DEP... " >&6; }
+
+if test -n "$SH772X_DEP_CFLAGS"; then
+ pkg_cv_SH772X_DEP_CFLAGS="$SH772X_DEP_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"uiomux >= 1.5.0 shbeu >= 1.0.2\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "uiomux >= 1.5.0 shbeu >= 1.0.2") 2>&5
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 && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_SH772X_DEP_CFLAGS=`$PKG_CONFIG --cflags "uiomux >= 1.5.0 shbeu >= 1.0.2" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
+ pkg_failed=yes
fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$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: sysfs/libsysfs.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: sysfs/libsysfs.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: sysfs/libsysfs.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: sysfs/libsysfs.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: sysfs/libsysfs.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: sysfs/libsysfs.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: sysfs/libsysfs.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: sysfs/libsysfs.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: sysfs/libsysfs.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: sysfs/libsysfs.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: sysfs/libsysfs.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: sysfs/libsysfs.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: sysfs/libsysfs.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: sysfs/libsysfs.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: sysfs/libsysfs.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: sysfs/libsysfs.h: in the future, the compiler will take precedence" >&2;}
-
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for sysfs/libsysfs.h" >&5
-echo $ECHO_N "checking for sysfs/libsysfs.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_sysfs_libsysfs_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ pkg_failed=untried
+fi
+if test -n "$SH772X_DEP_LIBS"; then
+ pkg_cv_SH772X_DEP_LIBS="$SH772X_DEP_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"uiomux >= 1.5.0 shbeu >= 1.0.2\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "uiomux >= 1.5.0 shbeu >= 1.0.2") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_SH772X_DEP_LIBS=`$PKG_CONFIG --libs "uiomux >= 1.5.0 shbeu >= 1.0.2" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
- ac_cv_header_sysfs_libsysfs_h=$ac_header_preproc
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_sysfs_libsysfs_h" >&5
-echo "${ECHO_T}$ac_cv_header_sysfs_libsysfs_h" >&6; }
-fi
-if test $ac_cv_header_sysfs_libsysfs_h = yes; then
- use_sysfs=yes
-cat >>confdefs.h <<\_ACEOF
-#define USE_SYSFS 1
-_ACEOF
- SYSFS_LIBS='-lsysfs'
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
else
- { echo "$as_me:$LINENO: WARNING:
-*** libsysfs header files not found -- Building without sysfs support." >&5
-echo "$as_me: WARNING:
-*** libsysfs header files not found -- Building without sysfs support." >&2;}
+ _pkg_short_errors_supported=no
fi
+ if test $_pkg_short_errors_supported = yes; then
+ SH772X_DEP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "uiomux >= 1.5.0 shbeu >= 1.0.2" 2>&1`
+ else
+ SH772X_DEP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "uiomux >= 1.5.0 shbeu >= 1.0.2" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$SH772X_DEP_PKG_ERRORS" >&5
+ sh772x=no
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ sh772x=no
+else
+ SH772X_DEP_CFLAGS=$pkg_cv_SH772X_DEP_CFLAGS
+ SH772X_DEP_LIBS=$pkg_cv_SH772X_DEP_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ sh772x=yes
+fi
+ if test "$sh772x" = "no"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Missing UIOMUX or SHBEU library -- sh772x driver will not be built." >&5
+$as_echo "$as_me: WARNING: *** Missing UIOMUX or SHBEU library -- sh772x driver will not be built." >&2;}
+ fi
-
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SH772X_SHJPEG_DEP" >&5
+$as_echo_n "checking for SH772X_SHJPEG_DEP... " >&6; }
+
+if test -n "$SH772X_SHJPEG_DEP_CFLAGS"; then
+ pkg_cv_SH772X_SHJPEG_DEP_CFLAGS="$SH772X_SHJPEG_DEP_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"shjpeg >= 1.3.3\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "shjpeg >= 1.3.3") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_SH772X_SHJPEG_DEP_CFLAGS=`$PKG_CONFIG --cflags "shjpeg >= 1.3.3" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
-
- { echo "$as_me:$LINENO: WARNING: *** libsysfs not found -- Building without sysfs support." >&5
-echo "$as_me: WARNING: *** libsysfs not found -- Building without sysfs support." >&2;}
-
+ pkg_failed=yes
fi
-
+ else
+ pkg_failed=untried
+fi
+if test -n "$SH772X_SHJPEG_DEP_LIBS"; then
+ pkg_cv_SH772X_SHJPEG_DEP_LIBS="$SH772X_SHJPEG_DEP_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"shjpeg >= 1.3.3\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "shjpeg >= 1.3.3") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_SH772X_SHJPEG_DEP_LIBS=`$PKG_CONFIG --libs "shjpeg >= 1.3.3" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
fi
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
-JPEG=no
-
-# Check whether --enable-jpeg was given.
-if test "${enable_jpeg+set}" = set; then
- enableval=$enable_jpeg; enable_jpeg="$enableval"
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
else
- enable_jpeg=yes
+ _pkg_short_errors_supported=no
fi
+ if test $_pkg_short_errors_supported = yes; then
+ SH772X_SHJPEG_DEP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "shjpeg >= 1.3.3" 2>&1`
+ else
+ SH772X_SHJPEG_DEP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "shjpeg >= 1.3.3" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$SH772X_SHJPEG_DEP_PKG_ERRORS" >&5
+ sh772x_shjpeg=no
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ sh772x_shjpeg=no
+else
+ SH772X_SHJPEG_DEP_CFLAGS=$pkg_cv_SH772X_SHJPEG_DEP_CFLAGS
+ SH772X_SHJPEG_DEP_LIBS=$pkg_cv_SH772X_SHJPEG_DEP_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ sh772x_shjpeg=yes
+fi
+ if test "$sh772x_shjpeg" = "no"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Missing SHJPEG library -- sh772x driver will be build without shjpeg support." >&5
+$as_echo "$as_me: WARNING: *** Missing SHJPEG library -- sh772x driver will be build without shjpeg support." >&2;}
+ fi
+fi
+if test "$sh772x" = "yes"; then
-if test "$enable_jpeg" = "yes"; then
- if test -z "$LIBJPEG"; then
- { echo "$as_me:$LINENO: checking for jpeg_destroy_decompress in -ljpeg" >&5
-echo $ECHO_N "checking for jpeg_destroy_decompress in -ljpeg... $ECHO_C" >&6; }
-if test "${ac_cv_lib_jpeg_jpeg_destroy_decompress+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ljpeg $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* 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
-char jpeg_destroy_decompress ();
-int
-main ()
-{
-return jpeg_destroy_decompress ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_jpeg_jpeg_destroy_decompress=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+$as_echo "#define HAVE_GFX_SH772X /**/" >>confdefs.h
- ac_cv_lib_jpeg_jpeg_destroy_decompress=no
fi
-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_jpeg_jpeg_destroy_decompress" >&5
-echo "${ECHO_T}$ac_cv_lib_jpeg_jpeg_destroy_decompress" >&6; }
-if test $ac_cv_lib_jpeg_jpeg_destroy_decompress = yes; then
- jpeg_ok=yes
-else
- jpeg_ok=no
+if test "$checkfor_sis315" = "yes"; then
+ sis315=yes
fi
- if test "$jpeg_ok" = yes; then
- if test "${ac_cv_header_jpeglib_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for jpeglib.h" >&5
-echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_jpeglib_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test "$checkfor_tdfx" = "yes"; then
+ tdfx=yes
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5
-echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking jpeglib.h usability" >&5
-echo $ECHO_N "checking jpeglib.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <jpeglib.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_header_compiler=no
+if test "$checkfor_unichrome" = "yes" && test "$have_sysio" = "yes"; then
+ unichrome=yes
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking jpeglib.h presence" >&5
-echo $ECHO_N "checking jpeglib.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <jpeglib.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
+if test "$checkfor_vmware" = "yes"; then
+ vmware=yes
fi
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
+# lets check for input driver
-# 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: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: jpeglib.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: jpeglib.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: jpeglib.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: jpeglib.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: jpeglib.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: jpeglib.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: jpeglib.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&2;}
+checkfor_dbox2remote=no
+checkfor_dreamboxremote=no
+checkfor_dynapro=no
+checkfor_elo=no
+checkfor_gunze=no
+checkfor_h3600ts=no
+checkfor_joystick=no
+checkfor_keyboard=no
+checkfor_linux_input=no
+checkfor_lirc=no
+checkfor_mutouch=no
+checkfor_zytronic=no
+checkfor_penmount=no
+checkfor_ps2mouse=no
+checkfor_serialmouse=no
+checkfor_sonypijogdial=no
+checkfor_tslib=no
+checkfor_ucb1x00=no
+checkfor_wm97xx=no
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for jpeglib.h" >&5
-echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_jpeglib_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_jpeglib_h=$ac_header_preproc
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5
-echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which inputdrivers should be built" >&5
+$as_echo_n "checking which inputdrivers should be built... " >&6; }
-fi
-if test $ac_cv_header_jpeglib_h = yes; then
- jpeg_ok=yes
+# Check whether --with-inputdrivers was given.
+if test "${with_inputdrivers+set}" = set; then :
+ withval=$with_inputdrivers; inputdrivers="$withval"
else
- jpeg_ok=no
+ inputdrivers=all
fi
- if test "$jpeg_ok" = yes; then
- JPEG=yes
- LIBJPEG='-ljpeg'
- else
- JPEG=no
- { echo "$as_me:$LINENO: WARNING:
-*** JPEG header files not found. JPEG image provider will not be built." >&5
-echo "$as_me: WARNING:
-*** JPEG header files not found. JPEG image provider will not be built." >&2;}
- fi
- else
- JPEG=no
- { echo "$as_me:$LINENO: WARNING:
-*** JPEG library not found. JPEG image provider will not be built." >&5
-echo "$as_me: WARNING:
-*** JPEG library not found. JPEG image provider will not be built." >&2;}
- fi
- else
- JPEG=yes
+if test "$inputdrivers" = "all"; then
+ checkfor_dbox2remote=yes
+ checkfor_dreamboxremote=yes
+ checkfor_dynapro=no
+ checkfor_elo=no
+ checkfor_gunze=no
+ checkfor_h3600ts=yes
+ checkfor_joystick=yes
+ checkfor_keyboard=yes
+ checkfor_linux_input=yes
+ checkfor_lirc=yes
+ checkfor_mutouch=yes
+ checkfor_zytronic=yes
+ checkfor_penmount=yes
+ checkfor_ps2mouse=yes
+ checkfor_serialmouse=yes
+ checkfor_sonypijogdial=yes
+ checkfor_tslib=yes
+ checkfor_ucb1x00="$have_arm"
+ checkfor_wm97xx=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: all" >&5
+$as_echo "all" >&6; }
+else
+ if test "$inputdrivers" != "none"; then
+ inputdrivers=`echo $inputdrivers | sed 's/,/ /g'`
+ for inputdriver in $inputdrivers
+ do
+ case "$inputdriver" in
+ dbox2remote)
+ checkfor_dbox2remote=yes
+ ;;
+ dreamboxremote)
+ checkfor_dreamboxremote=yes
+ ;;
+ dynapro)
+ checkfor_dynapro=yes
+ ;;
+ elo-input)
+ checkfor_elo=yes
+ ;;
+ gunze)
+ checkfor_gunze=yes
+ ;;
+ h3600_ts)
+ checkfor_h3600ts=yes
+ ;;
+ joystick)
+ checkfor_joystick=yes
+ ;;
+ keyboard)
+ checkfor_keyboard=yes
+ ;;
+ linuxinput)
+ checkfor_linux_input=yes
+ ;;
+ lirc)
+ checkfor_lirc=yes
+ ;;
+ mutouch)
+ checkfor_mutouch=yes
+ ;;
+ zytronic)
+ checkfor_zytronic=yes
+ ;;
+ penmount)
+ checkfor_penmount=yes
+ ;;
+ ps2mouse)
+ checkfor_ps2mouse=yes
+ ;;
+ serialmouse)
+ checkfor_serialmouse=yes
+ ;;
+ sonypijogdial)
+ checkfor_sonypijogdial=yes
+ ;;
+ tslib)
+ checkfor_tslib=yes
+ ;;
+ ucb1x00)
+ checkfor_ucb1x00=yes
+ ;;
+ wm97xx)
+ checkfor_wm97xx=yes
+ ;;
+ *)
+ echo "Unknown inputdriver $inputdriver, exiting!"
+ exit 1
+ ;;
+ esac
+ done
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $inputdrivers" >&5
+$as_echo "$inputdrivers" >&6; }
fi
fi
- if test "$JPEG" = "yes"; then
- JPEG_PROVIDER_TRUE=
- JPEG_PROVIDER_FALSE='#'
+enable_dbox2remote=no
+if test "$checkfor_dbox2remote" = "yes"; then
+ ac_fn_c_check_header_mongrel "$LINENO" "dbox/fp.h" "ac_cv_header_dbox_fp_h" "$ac_includes_default"
+if test "x$ac_cv_header_dbox_fp_h" = xyes; then :
+ enable_dbox2remote=yes
else
- JPEG_PROVIDER_TRUE='#'
- JPEG_PROVIDER_FALSE=
+ enable_dbox2remote=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** DBox2 Remote input driver will not be built." >&5
+$as_echo "$as_me: WARNING: *** DBox2 Remote input driver will not be built." >&2;}
fi
-if test "$enable_jpeg" != "no" && test "$JPEG" != "yes"; then
- jpeg_warning="
-JPEG support is missing - many applications won't work correctly!"
fi
-
-# Check whether --enable-zlib was given.
-if test "${enable_zlib+set}" = set; then
- enableval=$enable_zlib; enable_zlib="$enableval"
+enable_dreamboxremote=no
+if test "$checkfor_dreamboxremote" = "yes"; then
+ ac_fn_c_check_header_mongrel "$LINENO" "dbox/fp.h" "ac_cv_header_dbox_fp_h" "$ac_includes_default"
+if test "x$ac_cv_header_dbox_fp_h" = xyes; then :
+ enable_dreamboxremote=yes
else
- enable_zlib=no
+ enable_dreamboxremote=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** DreamBox Remote input driver will not be built." >&5
+$as_echo "$as_me: WARNING: *** DreamBox Remote input driver will not be built." >&2;}
fi
-use_zlib=no
-ZLIB_LIBS=
-
-if test "$enable_zlib" = "yes"; then
- { echo "$as_me:$LINENO: checking for gzsetparams in -lz" >&5
-echo $ECHO_N "checking for gzsetparams in -lz... $ECHO_C" >&6; }
-if test "${ac_cv_lib_z_gzsetparams+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lz $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* 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
-char gzsetparams ();
-int
-main ()
-{
-return gzsetparams ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_z_gzsetparams=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_z_gzsetparams=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+enable_dynapro_ts=no
+if test "$checkfor_dynapro" = "yes"; then
+ enable_dynapro_ts=yes
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_gzsetparams" >&5
-echo "${ECHO_T}$ac_cv_lib_z_gzsetparams" >&6; }
-if test $ac_cv_lib_z_gzsetparams = yes; then
- if test "${ac_cv_header_zlib_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for zlib.h" >&5
-echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_zlib_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+enable_elo_input=no
+if test "$checkfor_elo" = "yes"; then
+ enable_elo_input=yes
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
-echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking zlib.h usability" >&5
-echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <zlib.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_header_compiler=no
+enable_gunze_input=no
+if test "$checkfor_gunze" = "yes"; then
+ enable_gunze_input=yes
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking zlib.h presence" >&5
-echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <zlib.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
+enable_h3600_ts=no
+if test "$checkfor_h3600ts" = "yes"; then
+ ac_fn_c_check_header_mongrel "$LINENO" "linux/h3600_ts.h" "ac_cv_header_linux_h3600_ts_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_h3600_ts_h" = xyes; then :
+ enable_h3600_ts=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
+ enable_h3600_ts=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** H3600 Touchscreen driver will not be built." >&5
+$as_echo "$as_me: WARNING: *** H3600 Touchscreen driver will not be built." >&2;}
fi
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$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: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;}
-
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for zlib.h" >&5
-echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_zlib_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_zlib_h=$ac_header_preproc
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
-echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; }
fi
-if test $ac_cv_header_zlib_h = yes; then
- use_zlib=yes
-cat >>confdefs.h <<\_ACEOF
-#define USE_ZLIB 1
-_ACEOF
+enable_joystick=no
+if test "$checkfor_joystick" = "yes"; then
- ZLIB_LIBS='-lz'
+ ac_fn_c_check_header_mongrel "$LINENO" "linux/joystick.h" "ac_cv_header_linux_joystick_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_joystick_h" = xyes; then :
+ enable_joystick=yes
else
- { { echo "$as_me:$LINENO: error:
-*** libz header files not found." >&5
-echo "$as_me: error:
-*** libz header files not found." >&2;}
- { (exit 1); exit 1; }; }
+ enable_joystick=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** no linux/joystick.h -- Joystick driver will not be built." >&5
+$as_echo "$as_me: WARNING: *** no linux/joystick.h -- Joystick driver will not be built." >&2;}
fi
-
-else
-
- { { echo "$as_me:$LINENO: error: *** libz not found." >&5
-echo "$as_me: error: *** libz not found." >&2;}
- { (exit 1); exit 1; }; }
-
fi
+enable_keyboard=no
+if test "$checkfor_keyboard" = "yes"; then
+ enable_keyboard=yes
fi
-
-
-
-PNG=no
-
-# Check whether --enable-png was given.
-if test "${enable_png+set}" = set; then
- enableval=$enable_png; enable_png="$enableval"
+enable_linux_input=no
+if test "$checkfor_linux_input" = "yes"; then
+ ac_fn_c_check_header_mongrel "$LINENO" "linux/input.h" "ac_cv_header_linux_input_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_input_h" = xyes; then :
+ enable_linux_input=yes
else
- enable_png=yes
+ enable_linux_input=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** no linux/input.h -- Linux Input driver will not be built." >&5
+$as_echo "$as_me: WARNING: *** no linux/input.h -- Linux Input driver will not be built." >&2;}
fi
-if test "$enable_png" = "yes"; then
- if test -z "$ZLIB_LIBS"; then
- { echo "$as_me:$LINENO: checking for gzsetparams in -lz" >&5
-echo $ECHO_N "checking for gzsetparams in -lz... $ECHO_C" >&6; }
-if test "${ac_cv_lib_z_gzsetparams+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lz $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* 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
-char gzsetparams ();
+ if test "$enable_linux_input" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct input_absinfo in linux/input.h" >&5
+$as_echo_n "checking for struct input_absinfo in linux/input.h... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <linux/input.h>
int
main ()
{
-return gzsetparams ();
+struct input_absinfo x; (void)x;
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_z_gzsetparams=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+
+$as_echo "#define HAVE_INPUT_ABSINFO 1" >>confdefs.h
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+fi
- ac_cv_lib_z_gzsetparams=no
+enable_lirc=no
+if test "$checkfor_lirc" = "yes"; then
+ enable_lirc=yes
fi
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+enable_mutouch=no
+if test "$checkfor_mutouch" = "yes"; then
+ enable_mutouch=yes
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_gzsetparams" >&5
-echo "${ECHO_T}$ac_cv_lib_z_gzsetparams" >&6; }
-if test $ac_cv_lib_z_gzsetparams = yes; then
- if test "${ac_cv_header_zlib_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for zlib.h" >&5
-echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_zlib_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+enable_zytronic=no
+if test "$checkfor_zytronic" = "yes"; then
+ enable_zytronic=yes
+fi
+
+enable_penmount=no
+if test "$checkfor_penmount" = "yes"; then
+ enable_penmount=yes
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
-echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; }
+
+enable_ps2mouse=no
+if test "$checkfor_ps2mouse" = "yes"; then
+ enable_ps2mouse=yes
+fi
+
+enable_serial_mouse=no
+if test "$checkfor_serialmouse" = "yes"; then
+ ac_fn_c_check_header_mongrel "$LINENO" "linux/serial.h" "ac_cv_header_linux_serial_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_serial_h" = xyes; then :
+ enable_serial_mouse=yes
else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking zlib.h usability" >&5
-echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <zlib.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
+ enable_serial_mouse=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** no linux/serial.h -- serial mouse driver will not be built." >&5
+$as_echo "$as_me: WARNING: *** no linux/serial.h -- serial mouse driver will not be built." >&2;}
+fi
+
+
+fi
+
+enable_sonypi_jogdial=no
+if test "$checkfor_sonypijogdial" = "yes"; then
+ ac_fn_c_check_header_mongrel "$LINENO" "linux/sonypi.h" "ac_cv_header_linux_sonypi_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_sonypi_h" = xyes; then :
+ enable_sonypi_jogdial=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ enable_sonypi_jogdial=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** no linux/sonypi.h -- SonyPI Jogdial driver will not be built." >&5
+$as_echo "$as_me: WARNING: *** no linux/sonypi.h -- SonyPI Jogdial driver will not be built." >&2;}
+fi
+
- ac_header_compiler=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
+enable_tslib=no
+if test "$checkfor_tslib" = "yes"; then
-# Is the header present?
-{ echo "$as_me:$LINENO: checking zlib.h presence" >&5
-echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <zlib.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for TSLIB" >&5
+$as_echo_n "checking for TSLIB... " >&6; }
+
+if test -n "$TSLIB_CFLAGS"; then
+ pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib-1.0 >= 1.0.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "tslib-1.0 >= 1.0.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_TSLIB_CFLAGS=`$PKG_CONFIG --cflags "tslib-1.0 >= 1.0.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$TSLIB_LIBS"; then
+ pkg_cv_TSLIB_LIBS="$TSLIB_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib-1.0 >= 1.0.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "tslib-1.0 >= 1.0.0") 2>&5
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 && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_TSLIB_LIBS=`$PKG_CONFIG --libs "tslib-1.0 >= 1.0.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
fi
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$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: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;}
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for zlib.h" >&5
-echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_zlib_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
else
- ac_cv_header_zlib_h=$ac_header_preproc
+ _pkg_short_errors_supported=no
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
-echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; }
+ if test $_pkg_short_errors_supported = yes; then
+ TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "tslib-1.0 >= 1.0.0" 2>&1`
+ else
+ TSLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "tslib-1.0 >= 1.0.0" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$TSLIB_PKG_ERRORS" >&5
-fi
-if test $ac_cv_header_zlib_h = yes; then
- ZLIB_LIBS='-lz'
+ enable_tslib=no
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ enable_tslib=no
else
- { echo "$as_me:$LINENO: WARNING:
-*** libz header files not found. PNG image provider will not be built." >&5
-echo "$as_me: WARNING:
-*** libz header files not found. PNG image provider will not be built." >&2;}
+ TSLIB_CFLAGS=$pkg_cv_TSLIB_CFLAGS
+ TSLIB_LIBS=$pkg_cv_TSLIB_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ enable_tslib=yes
fi
+ if test "$enable_tslib" = "no"; then
-
-
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for TSLIB" >&5
+$as_echo_n "checking for TSLIB... " >&6; }
+
+if test -n "$TSLIB_CFLAGS"; then
+ pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib-0.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "tslib-0.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_TSLIB_CFLAGS=`$PKG_CONFIG --cflags "tslib-0.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
-
- { echo "$as_me:$LINENO: WARNING: *** libz not found. PNG image provider will not be built." >&5
-echo "$as_me: WARNING: *** libz not found. PNG image provider will not be built." >&2;}
-
+ pkg_failed=yes
fi
-
- fi
-
- if test -n "$LIBPNG_LIBS"; then
- PNG=yes
else
- # Extract the first word of "libpng-config", so it can be a program name with args.
-set dummy libpng-config; 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_path_LIBPNG_CONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $LIBPNG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_LIBPNG_CONFIG="$LIBPNG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- 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_path_LIBPNG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- 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_path_LIBPNG_CONFIG" && ac_cv_path_LIBPNG_CONFIG="no"
- ;;
-esac
+ pkg_failed=untried
fi
-LIBPNG_CONFIG=$ac_cv_path_LIBPNG_CONFIG
-if test -n "$LIBPNG_CONFIG"; then
- { echo "$as_me:$LINENO: result: $LIBPNG_CONFIG" >&5
-echo "${ECHO_T}$LIBPNG_CONFIG" >&6; }
+if test -n "$TSLIB_LIBS"; then
+ pkg_cv_TSLIB_LIBS="$TSLIB_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib-0.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "tslib-0.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_TSLIB_LIBS=`$PKG_CONFIG --libs "tslib-0.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
fi
- if test "$LIBPNG_CONFIG" = no; then
- PNG=no
- { echo "$as_me:$LINENO: WARNING:
-*** libpng-config not found " >&5
-echo "$as_me: WARNING:
-*** libpng-config not found " >&2;}
- else
- PNG=yes
- LIBPNG_CFLAGS=`$LIBPNG_CONFIG --cflags`
- LIBPNG_LIBS=`$LIBPNG_CONFIG --libs`
- fi
- if test -z "$LIBPNG_LIBS" && test -n "$ZLIB_LIBS"; then
- { echo "$as_me:$LINENO: checking for png_read_info in -lpng" >&5
-echo $ECHO_N "checking for png_read_info in -lpng... $ECHO_C" >&6; }
-if test "${ac_cv_lib_png_png_read_info+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpng $ZLIB_LIBS -lm $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
-/* 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
-char png_read_info ();
-int
-main ()
-{
-return png_read_info ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_png_png_read_info=yes
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_png_png_read_info=no
+ _pkg_short_errors_supported=no
fi
+ if test $_pkg_short_errors_supported = yes; then
+ TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "tslib-0.0" 2>&1`
+ else
+ TSLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "tslib-0.0" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$TSLIB_PKG_ERRORS" >&5
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+ enable_tslib=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** no tslib -- tslib driver will not be built." >&5
+$as_echo "$as_me: WARNING: *** no tslib -- tslib driver will not be built." >&2;}
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ enable_tslib=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** no tslib -- tslib driver will not be built." >&5
+$as_echo "$as_me: WARNING: *** no tslib -- tslib driver will not be built." >&2;}
+else
+ TSLIB_CFLAGS=$pkg_cv_TSLIB_CFLAGS
+ TSLIB_LIBS=$pkg_cv_TSLIB_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ enable_tslib=yes
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_png_png_read_info" >&5
-echo "${ECHO_T}$ac_cv_lib_png_png_read_info" >&6; }
-if test $ac_cv_lib_png_png_read_info = yes; then
-
- if test "${ac_cv_header_png_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for png.h" >&5
-echo $ECHO_N "checking for png.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_png_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_png_h" >&5
-echo "${ECHO_T}$ac_cv_header_png_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking png.h usability" >&5
-echo $ECHO_N "checking png.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <png.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_header_compiler=no
+enable_ucb1x00_ts=no
+if test "$checkfor_ucb1x00" = "yes"; then
+ enable_ucb1x00_ts=yes
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
+enable_wm97xx_ts=no
+if test "$checkfor_wm97xx" = "yes"; then
+ enable_wm97xx_ts=yes
+fi
-# Is the header present?
-{ echo "$as_me:$LINENO: checking png.h presence" >&5
-echo $ECHO_N "checking png.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <png.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
+ fi
- 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; }
-# 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: png.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: png.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: png.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: png.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: png.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: png.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: png.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: png.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: png.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: png.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: png.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: png.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: png.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: png.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: png.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: png.h: in the future, the compiler will take precedence" >&2;}
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for png.h" >&5
-echo $ECHO_N "checking for png.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_png_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_png_h=$ac_header_preproc
+# Check whether --with-software was given.
+if test "${with_software+set}" = set; then :
+ withval=$with_software;
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_png_h" >&5
-echo "${ECHO_T}$ac_cv_header_png_h" >&6; }
+if test "$with_software" != "no"; then
+ with_software=yes
fi
-if test $ac_cv_header_png_h = yes; then
- png_ok=yes
+
+ if test "$with_software" != "no"; then
+ SOFTWARE_RENDERING_TRUE=
+ SOFTWARE_RENDERING_FALSE='#'
else
- { echo "$as_me:$LINENO: WARNING:
-*** PNG header files not found. PNG image provider will not be built." >&5
-echo "$as_me: WARNING:
-*** PNG header files not found. PNG image provider will not be built." >&2;}
+ SOFTWARE_RENDERING_TRUE='#'
+ SOFTWARE_RENDERING_FALSE=
fi
-else
- { echo "$as_me:$LINENO: WARNING:
-*** PNG library not found. PNG image provider will not be built." >&5
-echo "$as_me: WARNING:
-*** PNG library not found. PNG image provider will not be built." >&2;}
+# Check whether --with-smooth-scaling was given.
+if test "${with_smooth_scaling+set}" = set; then :
+ withval=$with_smooth_scaling;
fi
- if test "$png_ok" = yes; then
- { echo "$as_me:$LINENO: checking for png_structp in png.h" >&5
-echo $ECHO_N "checking for png_structp in png.h... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <png.h>
-int
-main ()
-{
-png_structp pp;
- png_infop info;
- png_colorp cmap;
- (void)png_create_read_struct; (void)pp; (void)info; (void)cmap;
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- png_ok=yes
+if test "$with_smooth_scaling" != "yes" -o "$with_software" != "yes"; then
+ with_smooth_scaling=no
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- png_ok=no
-fi
+$as_echo "#define DFB_SMOOTH_SCALING 1" >>confdefs.h
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $png_ok" >&5
-echo "${ECHO_T}$png_ok" >&6; }
- if test "$png_ok" = yes; then
- PNG=yes
- LIBPNG_LIBS="-lpng $ZLIB_LIBS -lm"
- else
- PNG=no
- { echo "$as_me:$LINENO: WARNING:
-*** PNG library is too old. PNG image provider will not be built." >&5
-echo "$as_me: WARNING:
-*** PNG library is too old. PNG image provider will not be built." >&2;}
- fi
- else
- PNG=no
- fi
- fi
- fi
fi
- if test "$PNG" = "yes"; then
- PNG_PROVIDER_TRUE=
- PNG_PROVIDER_FALSE='#'
-else
- PNG_PROVIDER_TRUE='#'
- PNG_PROVIDER_FALSE=
-fi
- if test "$PNG" = "yes"; then
- BUILD_DIRECTFB_CSOURCE_TRUE=
- BUILD_DIRECTFB_CSOURCE_FALSE='#'
+
+
+
+
+$as_echo "#define DFB_DITHER_SIMPLE 1" >>confdefs.h
+
+
+$as_echo "#define DFB_DITHER_ADVANCED 2" >>confdefs.h
+
+
+
+# Check whether --with-dither-rgb16 was given.
+if test "${with_dither_rgb16+set}" = set; then :
+ withval=$with_dither_rgb16;
else
- BUILD_DIRECTFB_CSOURCE_TRUE='#'
- BUILD_DIRECTFB_CSOURCE_FALSE=
+ with_dither_rgb16=none
fi
+case x"$with_dither_rgb16" in
+ x | xnone)
+ with_dither_rgb16=none
+ ;;
+ xsimple)
+
+$as_echo "#define DFB_DITHER565 DFB_DITHER_SIMPLE" >>confdefs.h
+
+ ;;
+ xadvanced)
+
+$as_echo "#define DFB_DITHER565 DFB_DITHER_ADVANCED" >>confdefs.h
+
+ ;;
+ *)
+ echo "Unknown dithering type $with_dither_rgb16, exiting!"
+ exit 1
+ ;;
+esac
-if test "$enable_png" != "no" && test "$PNG" != "yes"; then
- png_warning="
-PNG support is missing - many applications won't work correctly!"
-fi
-# Check whether --enable-gif was given.
-if test "${enable_gif+set}" = set; then
- enableval=$enable_gif; enable_gif="$enableval"
+
+# Check whether --with-dither was given.
+if test "${with_dither+set}" = set; then :
+ withval=$with_dither;
else
- enable_gif=yes
+ with_dither=none
fi
+case x"$with_dither" in
+ x | xnone)
+ with_dither=none
+ ;;
+ xsimple)
- if test "$enable_gif" = "yes"; then
- GIF_PROVIDER_TRUE=
- GIF_PROVIDER_FALSE='#'
-else
- GIF_PROVIDER_TRUE='#'
- GIF_PROVIDER_FALSE=
-fi
+$as_echo "#define DFB_DITHER DFB_DITHER_SIMPLE" >>confdefs.h
+ ;;
+ xadvanced)
+$as_echo "#define DFB_DITHER DFB_DITHER_ADVANCED" >>confdefs.h
-# Check whether --enable-freetype was given.
-if test "${enable_freetype+set}" = set; then
- enableval=$enable_freetype; enable_freetype="$enableval"
-else
- enable_freetype=yes
-fi
+ ;;
+ *)
+ echo "Unknown dithering type $with_dither, exiting!"
+ exit 1
+ ;;
+esac
-if test "$enable_freetype" = "yes"; then
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for FREETYPE" >&5
-echo $ECHO_N "checking for FREETYPE... $ECHO_C" >&6; }
-if test -n "$PKG_CONFIG"; then
- if test -n "$FREETYPE_CFLAGS"; then
- pkg_cv_FREETYPE_CFLAGS="$FREETYPE_CFLAGS"
- else
- if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"freetype2\"") >&5
- ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- pkg_cv_FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2" 2>/dev/null`
-else
- pkg_failed=yes
-fi
- fi
-else
- pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
- if test -n "$FREETYPE_LIBS"; then
- pkg_cv_FREETYPE_LIBS="$FREETYPE_LIBS"
- else
- if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"freetype2\"") >&5
- ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- pkg_cv_FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2" 2>/dev/null`
-else
- pkg_failed=yes
+
+# Check whether --with-setsockopt was given.
+if test "${with_setsockopt+set}" = set; then :
+ withval=$with_setsockopt;
fi
- fi
+
+if test "$with_setsockopt" != "no"; then
+ with_setsockopt=yes
+ VOODOO_BUILD_NO_SETSOCKOPT=0
else
- pkg_failed=untried
+ VOODOO_BUILD_NO_SETSOCKOPT=1
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
- FREETYPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "freetype2"`
- else
- FREETYPE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "freetype2"`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$FREETYPE_PKG_ERRORS" >&5
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- FREETYPE="no",
- { echo "$as_me:$LINENO: WARNING: *** no freetype -- FreeType font provider will not be built." >&5
-echo "$as_me: WARNING: *** no freetype -- FreeType font provider will not be built." >&2;}
-elif test $pkg_failed = untried; then
- FREETYPE="no",
- { echo "$as_me:$LINENO: WARNING: *** no freetype -- FreeType font provider will not be built." >&5
-echo "$as_me: WARNING: *** no freetype -- FreeType font provider will not be built." >&2;}
-else
- FREETYPE_CFLAGS=$pkg_cv_FREETYPE_CFLAGS
- FREETYPE_LIBS=$pkg_cv_FREETYPE_LIBS
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- FREETYPE="yes"
-fi
+# Check whether --with-tests was given.
+if test "${with_tests+set}" = set; then :
+ withval=$with_tests;
fi
- if test "$FREETYPE" = "yes"; then
- FREETYPE_PROVIDER_TRUE=
- FREETYPE_PROVIDER_FALSE='#'
-else
- FREETYPE_PROVIDER_TRUE='#'
- FREETYPE_PROVIDER_FALSE=
+if test "$with_tests" != "yes"; then
+ with_tests=no
fi
-if test "$enable_freetype" != "no" && test "$FREETYPE" != "yes"; then
- freetype_warning="
-FreeType2 support is missing - many applications won't work correctly!"
-fi
-V4L=no
+# How big of a buffer fusion uses to read messages from the fusion device
-if test "$have_linux" = "yes"; then
- # Check whether --enable-video4linux was given.
-if test "${enable_video4linux+set}" = set; then
- enableval=$enable_video4linux; enable_v4l="$enableval"
+# Check whether --with-message-size was given.
+if test "${with_message_size+set}" = set; then :
+ withval=$with_message_size;
else
- enable_v4l=yes
+ with_message_size=no
fi
+test x"$with_message_size" = x"no" && with_message_size=16384
+FUSION_MESSAGE_SIZE=$with_message_size
- if test "$enable_v4l" = "yes"; then
- V4L=yes
- fi
-fi
- if test "$V4L" = "yes"; then
- V4L_PROVIDER_TRUE=
- V4L_PROVIDER_FALSE='#'
-else
- V4L_PROVIDER_TRUE='#'
- V4L_PROVIDER_FALSE=
-fi
+# Build tools?
-V4L2=no
+# Check whether --with-tools was given.
+if test "${with_tools+set}" = set; then :
+ withval=$with_tools;
+fi
-if test "$V4L" = "yes"; then
- # Check whether --enable-video4linux2 was given.
-if test "${enable_video4linux2+set}" = set; then
- enableval=$enable_video4linux2; enable_v4l2="$enableval"
-else
- enable_v4l2=no
+if test "$with_tools" != "no"; then
+ with_tools=yes
fi
- if test "$enable_v4l2" = "yes"; then
- V4L2=yes
-cat >>confdefs.h <<\_ACEOF
-#define DFB_HAVE_V4L2 1
-_ACEOF
+# Sysroot used for runtime module loading, etc.
- fi
+# Check whether --with-sysroot was given.
+if test "${with_sysroot+set}" = set; then :
+ withval=$with_sysroot; RUNTIME_SYSROOT="$withval"
+else
+ RUNTIME_SYSROOT=
fi
+test x"$RUNTIME_SYSROOT" = x"no" && RUNTIME_SYSROOT=
-ati128=no
-cle266=no
-cyber5k=no
-davinci=no
-ep9x=no
-gl=no
-glx=no
-i810=no
-i830=no
-mach64=no
-matrox=no
-neomagic=no
-nsc=no
-nvidia=no
-omap=no
-pxa3xx=no
-radeon=no
-savage=no
-sh772x=no
-sis315=no
-tdfx=no
-unichrome=no
-vmware=no
-
-if test "$have_linux" = "yes"; then
-
-{ echo "$as_me:$LINENO: checking which gfxdrivers should be built" >&5
-echo $ECHO_N "checking which gfxdrivers should be built... $ECHO_C" >&6; }
-# Check whether --with-gfxdrivers was given.
-if test "${with_gfxdrivers+set}" = set; then
- withval=$with_gfxdrivers; gfxdrivers="$withval"
-else
- gfxdrivers="all"
-fi
-if test "$gfxdrivers" = "all"; then
- checkfor_ati128=yes
- checkfor_cle266=no
- checkfor_cyber5k=yes
- checkfor_davinci="$have_arm"
- checkfor_ep9x=yes
- checkfor_gl=yes
- checkfor_i810=yes
- checkfor_i830=yes
- checkfor_mach64=yes
- checkfor_matrox=yes
- checkfor_neomagic=yes
- checkfor_nsc=yes
- checkfor_nvidia=yes
- checkfor_omap="$have_arm"
- checkfor_pxa3xx=yes
- checkfor_radeon=yes
- checkfor_savage=yes
- checkfor_sh772x=yes
- checkfor_sis315=yes
- checkfor_tdfx=yes
- checkfor_unichrome=yes
- checkfor_vmware=yes
- { echo "$as_me:$LINENO: result: all" >&5
-echo "${ECHO_T}all" >&6; }
+if test "$enable_unique" = "yes"; then
+ if test "$cross_compiling" = "yes" || test "$with_tools" = "no"; then
+ # Extract the first word of "directfb-csource", so it can be a program name with args.
+set dummy directfb-csource; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_DIRECTFB_CSOURCE+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- if test "$gfxdrivers" != "none"; then
- gfxdrivers=`echo $gfxdrivers | sed 's/,/ /g'`
- for gfxdriver in $gfxdrivers
- do
- case "$gfxdriver" in
- ati128)
- checkfor_ati128=yes
- ;;
- cle266)
- checkfor_cle266=yes
- ;;
- cyber5k)
- checkfor_cyber5k=yes
- ;;
- davinci)
- checkfor_davinci=yes
- ;;
- ep9x)
- checkfor_ep9x=yes
- ;;
- gl)
- checkfor_gl=yes
- ;;
- i810)
- checkfor_i810=yes
- ;;
- i830)
- checkfor_i830=yes
- ;;
- mach64)
- checkfor_mach64=yes
- ;;
- matrox)
- checkfor_matrox=yes
- ;;
- neomagic)
- checkfor_neomagic=yes
- ;;
- nsc)
- checkfor_nsc=yes
- ;;
- nvidia)
- checkfor_nvidia=yes
- ;;
- omap)
- checkfor_omap=yes
- ;;
- pxa3xx)
- checkfor_pxa3xx=yes
- ;;
- radeon)
- checkfor_radeon=yes
- ;;
- savage)
- checkfor_savage=yes
- ;;
- sh772x)
- checkfor_sh772x=yes
- ;;
- sis315)
- checkfor_sis315=yes
- ;;
- tdfx)
- checkfor_tdfx=yes
- ;;
- unichrome)
- checkfor_unichrome=yes
- ;;
- vmware)
- checkfor_vmware=yes
- ;;
- *)
- echo "Unknown gfxdriver $gfxdriver, exiting!"
- exit 1
- ;;
- esac
- done
- { echo "$as_me:$LINENO: result: $gfxdrivers" >&5
-echo "${ECHO_T}$gfxdrivers" >&6; }
+ case $DIRECTFB_CSOURCE in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_DIRECTFB_CSOURCE="$DIRECTFB_CSOURCE" # Let the user override the test with a path.
+ ;;
+ *)
+ 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_path_DIRECTFB_CSOURCE="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
fi
-fi
+done
+ done
+IFS=$as_save_IFS
-if test "$checkfor_ati128" = "yes"; then
- ati128=yes
+ test -z "$ac_cv_path_DIRECTFB_CSOURCE" && ac_cv_path_DIRECTFB_CSOURCE="no"
+ ;;
+esac
fi
-
-if test "$checkfor_cle266" = "yes" && test "$have_sysio" = "yes"; then
- cle266=yes
+DIRECTFB_CSOURCE=$ac_cv_path_DIRECTFB_CSOURCE
+if test -n "$DIRECTFB_CSOURCE"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DIRECTFB_CSOURCE" >&5
+$as_echo "$DIRECTFB_CSOURCE" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-if test "$checkfor_cyber5k" = "yes"; then
- cyber5k=yes
-fi
-if test "$checkfor_davinci" = "yes"; then
- davinci=yes
+ if test "x$DIRECTFB_CSOURCE" = "xno"; then
+ as_fn_error $? "Could not find a directfb-csource in your PATH" "$LINENO" 5
+ fi
+ fi
fi
-if test "$checkfor_ep9x" = "yes"; then
- ep9x=yes
-fi
-if test "$checkfor_gl" = "yes"; 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; }
-if test "${ac_cv_header_GL_gl_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5
-echo "${ECHO_T}$ac_cv_header_GL_gl_h" >&6; }
+
+ if test "$ati128" = "yes"; then
+ GFX_ATI128_TRUE=
+ GFX_ATI128_FALSE='#'
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; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <GL/gl.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
+ GFX_ATI128_TRUE='#'
+ GFX_ATI128_FALSE=
+fi
+
+ if test "$cle266" = "yes"; then
+ GFX_CLE266_TRUE=
+ GFX_CLE266_FALSE='#'
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ GFX_CLE266_TRUE='#'
+ GFX_CLE266_FALSE=
+fi
- ac_header_compiler=no
+ if test "$cyber5k" = "yes"; then
+ GFX_CYBER5K_TRUE=
+ GFX_CYBER5K_FALSE='#'
+else
+ GFX_CYBER5K_TRUE='#'
+ GFX_CYBER5K_FALSE=
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
+ if test "$davinci" = "yes"; then
+ GFX_DAVINCI_TRUE=
+ GFX_DAVINCI_FALSE='#'
+else
+ GFX_DAVINCI_TRUE='#'
+ GFX_DAVINCI_FALSE=
+fi
-# 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; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <GL/gl.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
+ if test "$ep9x" = "yes"; then
+ GFX_EP9X_TRUE=
+ GFX_EP9X_FALSE='#'
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ GFX_EP9X_TRUE='#'
+ GFX_EP9X_FALSE=
+fi
- ac_header_preproc=no
+ if test "$gl" = "yes"; then
+ GFX_GL_TRUE=
+ GFX_GL_FALSE='#'
+else
+ GFX_GL_TRUE='#'
+ GFX_GL_FALSE=
fi
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
+ if test "$glx" = "yes"; then
+ GFX_GLX_TRUE=
+ GFX_GLX_FALSE='#'
+else
+ GFX_GLX_TRUE='#'
+ GFX_GLX_FALSE=
+fi
-# 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;}
- 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;}
+ if test "$i810" = "yes"; then
+ GFX_I810_TRUE=
+ GFX_I810_FALSE='#'
+else
+ GFX_I810_TRUE='#'
+ GFX_I810_FALSE=
+fi
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for GL/gl.h" >&5
-echo $ECHO_N "checking for GL/gl.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_GL_gl_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ if test "$i830" = "yes"; then
+ GFX_I830_TRUE=
+ GFX_I830_FALSE='#'
else
- ac_cv_header_GL_gl_h=$ac_header_preproc
+ GFX_I830_TRUE='#'
+ GFX_I830_FALSE=
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5
-echo "${ECHO_T}$ac_cv_header_GL_gl_h" >&6; }
+ if test "$mach64" = "yes"; then
+ GFX_MACH64_TRUE=
+ GFX_MACH64_FALSE='#'
+else
+ GFX_MACH64_TRUE='#'
+ GFX_MACH64_FALSE=
fi
-if test $ac_cv_header_GL_gl_h = yes; then
- gl=yes
+
+ if test "$matrox" = "yes"; then
+ GFX_MATROX_TRUE=
+ GFX_MATROX_FALSE='#'
+else
+ GFX_MATROX_TRUE='#'
+ GFX_MATROX_FALSE=
fi
+ if test "$neomagic" = "yes"; then
+ GFX_NEOMAGIC_TRUE=
+ GFX_NEOMAGIC_FALSE='#'
+else
+ GFX_NEOMAGIC_TRUE='#'
+ GFX_NEOMAGIC_FALSE=
+fi
- if test "${ac_cv_header_GL_glx_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for GL/glx.h" >&5
-echo $ECHO_N "checking for GL/glx.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_GL_glx_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ if test "$nsc" = "yes"; then
+ GFX_NSC_TRUE=
+ GFX_NSC_FALSE='#'
+else
+ GFX_NSC_TRUE='#'
+ GFX_NSC_FALSE=
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_GL_glx_h" >&5
-echo "${ECHO_T}$ac_cv_header_GL_glx_h" >&6; }
+
+ if test "$nvidia" = "yes"; then
+ GFX_NVIDIA_TRUE=
+ GFX_NVIDIA_FALSE='#'
else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking GL/glx.h usability" >&5
-echo $ECHO_N "checking GL/glx.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <GL/glx.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
+ GFX_NVIDIA_TRUE='#'
+ GFX_NVIDIA_FALSE=
+fi
+
+ if test "$omap" = "yes"; then
+ GFX_OMAP_TRUE=
+ GFX_OMAP_FALSE='#'
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ GFX_OMAP_TRUE='#'
+ GFX_OMAP_FALSE=
+fi
- ac_header_compiler=no
+ if test "$pxa3xx" = "yes"; then
+ GFX_PXA3XX_TRUE=
+ GFX_PXA3XX_FALSE='#'
+else
+ GFX_PXA3XX_TRUE='#'
+ GFX_PXA3XX_FALSE=
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
+ if test "$radeon" = "yes"; then
+ GFX_RADEON_TRUE=
+ GFX_RADEON_FALSE='#'
+else
+ GFX_RADEON_TRUE='#'
+ GFX_RADEON_FALSE=
+fi
-# Is the header present?
-{ echo "$as_me:$LINENO: checking GL/glx.h presence" >&5
-echo $ECHO_N "checking GL/glx.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <GL/glx.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
+ if test "$savage" = "yes"; then
+ GFX_SAVAGE_TRUE=
+ GFX_SAVAGE_FALSE='#'
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ GFX_SAVAGE_TRUE='#'
+ GFX_SAVAGE_FALSE=
+fi
- ac_header_preproc=no
+ if test "$sh772x" = "yes"; then
+ GFX_SH772X_TRUE=
+ GFX_SH772X_FALSE='#'
+else
+ GFX_SH772X_TRUE='#'
+ GFX_SH772X_FALSE=
fi
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
+ if test "$sis315" = "yes"; then
+ GFX_SIS315_TRUE=
+ GFX_SIS315_FALSE='#'
+else
+ GFX_SIS315_TRUE='#'
+ GFX_SIS315_FALSE=
+fi
-# 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/glx.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: GL/glx.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: GL/glx.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: GL/glx.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: GL/glx.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: GL/glx.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: GL/glx.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: GL/glx.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: GL/glx.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: GL/glx.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: GL/glx.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: GL/glx.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: GL/glx.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: GL/glx.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: GL/glx.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: GL/glx.h: in the future, the compiler will take precedence" >&2;}
+ if test "$tdfx" = "yes"; then
+ GFX_TDFX_TRUE=
+ GFX_TDFX_FALSE='#'
+else
+ GFX_TDFX_TRUE='#'
+ GFX_TDFX_FALSE=
+fi
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for GL/glx.h" >&5
-echo $ECHO_N "checking for GL/glx.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_GL_glx_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ if test "$unichrome" = "yes"; then
+ GFX_UNICHROME_TRUE=
+ GFX_UNICHROME_FALSE='#'
else
- ac_cv_header_GL_glx_h=$ac_header_preproc
+ GFX_UNICHROME_TRUE='#'
+ GFX_UNICHROME_FALSE=
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_GL_glx_h" >&5
-echo "${ECHO_T}$ac_cv_header_GL_glx_h" >&6; }
+ if test "$vmware" = "yes"; then
+ GFX_VMWARE_TRUE=
+ GFX_VMWARE_FALSE='#'
+else
+ GFX_VMWARE_TRUE='#'
+ GFX_VMWARE_FALSE=
fi
-if test $ac_cv_header_GL_glx_h = yes; then
-
- glx=yes
-
-cat >>confdefs.h <<\_ACEOF
-#define USE_GLX 1
-_ACEOF
+ if test "$sh772x_shjpeg" = "yes"; then
+ SH772X_SHJPEG_TRUE=
+ SH772X_SHJPEG_FALSE='#'
+else
+ SH772X_SHJPEG_TRUE='#'
+ SH772X_SHJPEG_FALSE=
fi
+ if test "$enable_dbox2remote" = "yes"; then
+ DBOX2REMOTE_TRUE=
+ DBOX2REMOTE_FALSE='#'
+else
+ DBOX2REMOTE_TRUE='#'
+ DBOX2REMOTE_FALSE=
fi
-if test "$checkfor_i810" = "yes" && test "$have_sysio" = "yes"; then
- i810=yes
-fi
-
-if test "$checkfor_i830" = "yes" && test "$have_sysio" = "yes"; then
- i830=yes
+ if test "$enable_dreamboxremote" = "yes"; then
+ DREAMBOXREMOTE_TRUE=
+ DREAMBOXREMOTE_FALSE='#'
+else
+ DREAMBOXREMOTE_TRUE='#'
+ DREAMBOXREMOTE_FALSE=
fi
-if test "$checkfor_mach64" = "yes"; then
- mach64=yes
+ if test "$enable_dynapro_ts" = "yes"; then
+ DYNAPRO_INPUT_TRUE=
+ DYNAPRO_INPUT_FALSE='#'
+else
+ DYNAPRO_INPUT_TRUE='#'
+ DYNAPRO_INPUT_FALSE=
fi
-if test "$checkfor_matrox" = "yes"; then
- matrox=yes
+ if test "$enable_elo_input" = "yes"; then
+ ELO_INPUT_TRUE=
+ ELO_INPUT_FALSE='#'
+else
+ ELO_INPUT_TRUE='#'
+ ELO_INPUT_FALSE=
fi
-if test "$checkfor_neomagic" = "yes" && test "$have_sysio" = "yes"; then
- neomagic=yes
+ if test "$enable_gunze_input" = "yes"; then
+ GUNZE_INPUT_TRUE=
+ GUNZE_INPUT_FALSE='#'
+else
+ GUNZE_INPUT_TRUE='#'
+ GUNZE_INPUT_FALSE=
fi
-if test "$checkfor_nsc" = "yes"; then
- nsc=yes
+ if test "$enable_h3600_ts" = "yes"; then
+ H3600_TS_TRUE=
+ H3600_TS_FALSE='#'
+else
+ H3600_TS_TRUE='#'
+ H3600_TS_FALSE=
fi
-if test "$checkfor_nvidia" = "yes"; then
- nvidia=yes
+ if test "$enable_joystick" = "yes"; then
+ JOYSTICK_INPUT_TRUE=
+ JOYSTICK_INPUT_FALSE='#'
+else
+ JOYSTICK_INPUT_TRUE='#'
+ JOYSTICK_INPUT_FALSE=
fi
-if test "$checkfor_omap" = "yes"; then
- omap=yes
+ if test "$enable_keyboard" = "yes"; then
+ KEYBOARD_INPUT_TRUE=
+ KEYBOARD_INPUT_FALSE='#'
+else
+ KEYBOARD_INPUT_TRUE='#'
+ KEYBOARD_INPUT_FALSE=
fi
-if test "$checkfor_pxa3xx" = "yes"; then
- pxa3xx=yes
+ if test "$enable_linux_input" = "yes"; then
+ LINUX_INPUT_TRUE=
+ LINUX_INPUT_FALSE='#'
+else
+ LINUX_INPUT_TRUE='#'
+ LINUX_INPUT_FALSE=
fi
-if test "$checkfor_radeon" = "yes"; then
- radeon=yes
+ if test "$enable_lirc" = "yes"; then
+ LIRC_INPUT_TRUE=
+ LIRC_INPUT_FALSE='#'
+else
+ LIRC_INPUT_TRUE='#'
+ LIRC_INPUT_FALSE=
fi
-if test "$checkfor_savage" = "yes" && test "$have_sysio" = "yes"; then
- savage=yes
+ if test "$enable_mutouch" = "yes"; then
+ MUTOUCH_TS_TRUE=
+ MUTOUCH_TS_FALSE='#'
+else
+ MUTOUCH_TS_TRUE='#'
+ MUTOUCH_TS_FALSE=
fi
-if test "$checkfor_sh772x" = "yes" && test "$have_sh4" = "yes"; then
- sh772x=yes
+ if test "$enable_zytronic" = "yes"; then
+ ZYTRONIC_TS_TRUE=
+ ZYTRONIC_TS_FALSE='#'
+else
+ ZYTRONIC_TS_TRUE='#'
+ ZYTRONIC_TS_FALSE=
fi
-if test "$checkfor_sis315" = "yes"; then
- sis315=yes
+ if test "$enable_penmount" = "yes" ; then
+ PENMOUNT_TS_TRUE=
+ PENMOUNT_TS_FALSE='#'
+else
+ PENMOUNT_TS_TRUE='#'
+ PENMOUNT_TS_FALSE=
fi
-if test "$checkfor_tdfx" = "yes"; then
- tdfx=yes
+ if test "$enable_ps2mouse" = "yes"; then
+ PS2MOUSE_INPUT_TRUE=
+ PS2MOUSE_INPUT_FALSE='#'
+else
+ PS2MOUSE_INPUT_TRUE='#'
+ PS2MOUSE_INPUT_FALSE=
fi
-if test "$checkfor_unichrome" = "yes" && test "$have_sysio" = "yes"; then
- unichrome=yes
+ if test "$enable_serial_mouse" = "yes"; then
+ SERIAL_MOUSE_INPUT_TRUE=
+ SERIAL_MOUSE_INPUT_FALSE='#'
+else
+ SERIAL_MOUSE_INPUT_TRUE='#'
+ SERIAL_MOUSE_INPUT_FALSE=
fi
-if test "$checkfor_vmware" = "yes"; then
- vmware=yes
+ if test "$enable_sonypi_jogdial" = "yes"; then
+ SONYPI_TRUE=
+ SONYPI_FALSE='#'
+else
+ SONYPI_TRUE='#'
+ SONYPI_FALSE=
fi
-# lets check for input driver
-
-checkfor_dbox2remote=no
-checkfor_dreamboxremote=no
-checkfor_dynapro=no
-checkfor_elo=no
-checkfor_gunze=no
-checkfor_h3600ts=no
-checkfor_joystick=no
-checkfor_keyboard=no
-checkfor_linux_input=no
-checkfor_lirc=no
-checkfor_mutouch=no
-checkfor_zytronic=no
-checkfor_penmount=no
-checkfor_ps2mouse=no
-checkfor_serialmouse=no
-checkfor_sonypijogdial=no
-checkfor_tslib=no
-checkfor_ucb1x00=no
-checkfor_wm97xx=no
-
-{ echo "$as_me:$LINENO: checking which inputdrivers should be built" >&5
-echo $ECHO_N "checking which inputdrivers should be built... $ECHO_C" >&6; }
-
-# Check whether --with-inputdrivers was given.
-if test "${with_inputdrivers+set}" = set; then
- withval=$with_inputdrivers; inputdrivers="$withval"
+ if test "$enable_tslib" = "yes"; then
+ TSLIB_TRUE=
+ TSLIB_FALSE='#'
else
- inputdrivers="all"
+ TSLIB_TRUE='#'
+ TSLIB_FALSE=
fi
-
-if test "$inputdrivers" = "all"; then
- checkfor_dbox2remote=yes
- checkfor_dreamboxremote=yes
- checkfor_dynapro=no
- checkfor_elo=no
- checkfor_gunze=no
- checkfor_h3600ts=yes
- checkfor_joystick=yes
- checkfor_keyboard=yes
- checkfor_linux_input=yes
- checkfor_lirc=yes
- checkfor_mutouch=yes
- checkfor_zytronic=yes
- checkfor_penmount=yes
- checkfor_ps2mouse=yes
- checkfor_serialmouse=yes
- checkfor_sonypijogdial=yes
- checkfor_tslib=yes
- checkfor_ucb1x00="$have_arm"
- checkfor_wm97xx=yes
- { echo "$as_me:$LINENO: result: all" >&5
-echo "${ECHO_T}all" >&6; }
-else
- if test "$inputdrivers" != "none"; then
- inputdrivers=`echo $inputdrivers | sed 's/,/ /g'`
- for inputdriver in $inputdrivers
- do
- case "$inputdriver" in
- dbox2remote)
- checkfor_dbox2remote=yes
- ;;
- dreamboxremote)
- checkfor_dreamboxremote=yes
- ;;
- dynapro)
- checkfor_dynapro=yes
- ;;
- elo-input)
- checkfor_elo=yes
- ;;
- gunze)
- checkfor_gunze=yes
- ;;
- h3600_ts)
- checkfor_h3600ts=yes
- ;;
- joystick)
- checkfor_joystick=yes
- ;;
- keyboard)
- checkfor_keyboard=yes
- ;;
- linuxinput)
- checkfor_linux_input=yes
- ;;
- lirc)
- checkfor_lirc=yes
- ;;
- mutouch)
- checkfor_mutouch=yes
- ;;
- zytronic)
- checkfor_zytronic=yes
- ;;
- penmount)
- checkfor_penmount=yes
- ;;
- ps2mouse)
- checkfor_ps2mouse=yes
- ;;
- serialmouse)
- checkfor_serialmouse=yes
- ;;
- sonypijogdial)
- checkfor_sonypijogdial=yes
- ;;
- tslib)
- checkfor_tslib=yes
- ;;
- ucb1x00)
- checkfor_ucb1x00=yes
- ;;
- wm97xx)
- checkfor_wm97xx=yes
- ;;
- *)
- echo "Unknown inputdriver $inputdriver, exiting!"
- exit 1
- ;;
- esac
- done
- { echo "$as_me:$LINENO: result: $inputdrivers" >&5
-echo "${ECHO_T}$inputdrivers" >&6; }
- fi
+ if test "$enable_ucb1x00_ts" = "yes"; then
+ UCB1X00_TS_TRUE=
+ UCB1X00_TS_FALSE='#'
+else
+ UCB1X00_TS_TRUE='#'
+ UCB1X00_TS_FALSE=
fi
-enable_dbox2remote=no
-if test "$checkfor_dbox2remote" = "yes"; then
- if test "${ac_cv_header_dbox_fp_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for dbox/fp.h" >&5
-echo $ECHO_N "checking for dbox/fp.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_dbox_fp_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ if test "$enable_wm97xx_ts" = "yes"; then
+ WM97XX_TS_TRUE=
+ WM97XX_TS_FALSE='#'
+else
+ WM97XX_TS_TRUE='#'
+ WM97XX_TS_FALSE=
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_dbox_fp_h" >&5
-echo "${ECHO_T}$ac_cv_header_dbox_fp_h" >&6; }
+
+
+ if test "$with_tests" = "yes"; then
+ BUILD_TESTS_TRUE=
+ BUILD_TESTS_FALSE='#'
else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking dbox/fp.h usability" >&5
-echo $ECHO_N "checking dbox/fp.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <dbox/fp.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
+ BUILD_TESTS_TRUE='#'
+ BUILD_TESTS_FALSE=
+fi
+
+ if test "$with_tools" = "yes"; then
+ BUILD_TOOLS_TRUE=
+ BUILD_TOOLS_FALSE='#'
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ BUILD_TOOLS_TRUE='#'
+ BUILD_TOOLS_FALSE=
+fi
- ac_header_compiler=no
+ if test "$cross_compiling" = "yes"; then
+ CROSS_COMPILING_TRUE=
+ CROSS_COMPILING_FALSE='#'
+else
+ CROSS_COMPILING_TRUE='#'
+ CROSS_COMPILING_FALSE=
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-# Is the header present?
-{ echo "$as_me:$LINENO: checking dbox/fp.h presence" >&5
-echo $ECHO_N "checking dbox/fp.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <dbox/fp.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
+CFLAGS="$CFLAGS $DFB_INTERNAL_CFLAGS"
+DFB_LDFLAGS="$LDFLAGS $ZLIB_LIBS"
- ac_header_preproc=no
-fi
+CFLAGS="$CFLAGS $CFLAGS_STD"
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$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: dbox/fp.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: dbox/fp.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: dbox/fp.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: dbox/fp.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: dbox/fp.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: dbox/fp.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: dbox/fp.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: dbox/fp.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: dbox/fp.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: dbox/fp.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: dbox/fp.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: dbox/fp.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: dbox/fp.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: dbox/fp.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: dbox/fp.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: dbox/fp.h: in the future, the compiler will take precedence" >&2;}
+# Honor aclocal flags
+ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for dbox/fp.h" >&5
-echo $ECHO_N "checking for dbox/fp.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_dbox_fp_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+ if test "$enable_shared" = "yes"; then
+ BUILD_SHARED_TRUE=
+ BUILD_SHARED_FALSE='#'
else
- ac_cv_header_dbox_fp_h=$ac_header_preproc
+ BUILD_SHARED_TRUE='#'
+ BUILD_SHARED_FALSE=
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_dbox_fp_h" >&5
-echo "${ECHO_T}$ac_cv_header_dbox_fp_h" >&6; }
-fi
-if test $ac_cv_header_dbox_fp_h = yes; then
- enable_dbox2remote=yes
+ if test "$enable_static" = "yes"; then
+ BUILD_STATIC_TRUE=
+ BUILD_STATIC_FALSE='#'
else
- enable_dbox2remote=no
- { echo "$as_me:$LINENO: WARNING: *** DBox2 Remote input driver will not be built." >&5
-echo "$as_me: WARNING: *** DBox2 Remote input driver will not be built." >&2;}
+ BUILD_STATIC_TRUE='#'
+ BUILD_STATIC_FALSE=
fi
-fi
-enable_dreamboxremote=no
-if test "$checkfor_dreamboxremote" = "yes"; then
- if test "${ac_cv_header_dbox_fp_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for dbox/fp.h" >&5
-echo $ECHO_N "checking for dbox/fp.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_dbox_fp_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_dbox_fp_h" >&5
-echo "${ECHO_T}$ac_cv_header_dbox_fp_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking dbox/fp.h usability" >&5
-echo $ECHO_N "checking dbox/fp.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <dbox/fp.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
+# Change the module directory only for builds that don't *support* debug
+if test "$enable_debug_support" = "no"; then
+ MODULEDIRNAME=directfb-$BINARY_VERSION-pure
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
+ MODULEDIRNAME=directfb-$BINARY_VERSION
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
+MODULEDIR=$libdir/$MODULEDIRNAME
+DATADIR=$datadir/directfb-$VERSION
+INCLUDEDIR=$includedir/directfb
+INTERNALINCLUDEDIR=$includedir/directfb-internal
+
+SOPATH=$libdir/libdirectfb-$LT_RELEASE.so.$LT_CURRENT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EXP_VAR=SYSCONFDIR
+ FROM_VAR=$sysconfdir
+
+ prefix_save=$prefix
+ exec_prefix_save=$exec_prefix
+
+ if test "x$prefix" = "xNONE"; then
+ prefix="$ac_default_prefix"
+ fi
+ if test "x$exec_prefix" = "xNONE"; then
+ exec_prefix=$prefix
+ fi
+
+ full_var="$FROM_VAR"
+ while true; do
+ new_full_var="`eval echo $full_var`"
+ if test "x$new_full_var" = "x$full_var"; then break; fi
+ full_var=$new_full_var
+ done
+
+ full_var=$new_full_var
+ SYSCONFDIR="$full_var"
+
+
+ prefix=$prefix_save
+ exec_prefix=$exec_prefix_save
+
+
+CFLAGS="$CFLAGS -Werror-implicit-function-declaration"
+
+
+ac_config_files="$ac_config_files directfb-config directfb.pc directfb-internal.pc directfb.spec Makefile include/Makefile include/directfb_build.h include/directfb_version.h lib/Makefile lib/direct/Makefile lib/direct/build.h lib/direct/direct.pc lib/fusion/Makefile lib/fusion/build.h lib/fusion/fusion.pc lib/fusion/shm/Makefile lib/One/Makefile lib/One/one.pc lib/One/linux-one/Makefile lib/voodoo/Makefile lib/voodoo/build.h lib/voodoo/voodoo.pc patches/Makefile proxy/Makefile proxy/dispatcher/Makefile proxy/requestor/Makefile rules/Makefile src/Makefile src/core/Makefile src/display/Makefile src/gfx/Makefile src/gfx/generic/Makefile src/input/Makefile src/media/Makefile src/misc/Makefile src/windows/Makefile systems/Makefile systems/devmem/Makefile systems/dummy/Makefile systems/fbdev/Makefile systems/x11/Makefile systems/osx/Makefile systems/sdl/Makefile systems/vnc/Makefile wm/Makefile wm/default/Makefile wm/unique/Makefile wm/unique/classes/Makefile wm/unique/data/Makefile wm/unique/devices/Makefile gfxdrivers/Makefile gfxdrivers/ati128/Makefile gfxdrivers/cle266/Makefile gfxdrivers/cyber5k/Makefile gfxdrivers/davinci/Makefile gfxdrivers/ep9x/Makefile gfxdrivers/gl/Makefile gfxdrivers/i810/Makefile gfxdrivers/i830/Makefile gfxdrivers/mach64/Makefile gfxdrivers/matrox/Makefile gfxdrivers/neomagic/Makefile gfxdrivers/nsc/Makefile gfxdrivers/nsc/include/Makefile gfxdrivers/nvidia/Makefile gfxdrivers/omap/Makefile gfxdrivers/pxa3xx/Makefile gfxdrivers/radeon/Makefile gfxdrivers/savage/Makefile gfxdrivers/sh772x/Makefile gfxdrivers/sis315/Makefile gfxdrivers/tdfx/Makefile gfxdrivers/unichrome/Makefile gfxdrivers/vmware/Makefile inputdrivers/Makefile inputdrivers/dbox2remote/Makefile inputdrivers/dreamboxremote/Makefile inputdrivers/dynapro/Makefile inputdrivers/elo/Makefile inputdrivers/gunze/Makefile inputdrivers/h3600_ts/Makefile inputdrivers/joystick/Makefile inputdrivers/keyboard/Makefile inputdrivers/linux_input/Makefile inputdrivers/lirc/Makefile inputdrivers/mutouch/Makefile inputdrivers/zytronic/Makefile inputdrivers/penmount/Makefile inputdrivers/ps2mouse/Makefile inputdrivers/serialmouse/Makefile inputdrivers/sonypi/Makefile inputdrivers/tslib/Makefile inputdrivers/ucb1x00_ts/Makefile inputdrivers/wm97xx_ts/Makefile interfaces/Makefile interfaces/ICoreResourceManager/Makefile interfaces/IDirectFBFont/Makefile interfaces/IDirectFBImageProvider/Makefile interfaces/IDirectFBVideoProvider/Makefile data/Makefile tests/Makefile tests/voodoo/Makefile tools/Makefile docs/Makefile docs/dfbg.1 docs/directfb-csource.1 docs/directfbrc.5 docs/html/Makefile"
+
+ac_config_commands="$ac_config_commands default"
+
+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
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
-# Is the header present?
-{ echo "$as_me:$LINENO: checking dbox/fp.h presence" >&5
-echo $ECHO_N "checking dbox/fp.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <dbox/fp.h>
_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_header_preproc=no
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# 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:${as_lineno-$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= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ 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 "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ if test "x$cache_file" != "x/dev/null"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
fi
+rm -f confcache
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-# 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: dbox/fp.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: dbox/fp.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: dbox/fp.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: dbox/fp.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: dbox/fp.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: dbox/fp.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: dbox/fp.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: dbox/fp.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: dbox/fp.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: dbox/fp.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: dbox/fp.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: dbox/fp.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: dbox/fp.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: dbox/fp.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: dbox/fp.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: dbox/fp.h: in the future, the compiler will take precedence" >&2;}
+DEFS=-DHAVE_CONFIG_H
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for dbox/fp.h" >&5
-echo $ECHO_N "checking for dbox/fp.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_dbox_fp_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ 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.
+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+ if test -n "$EXEEXT"; then
+ am__EXEEXT_TRUE=
+ am__EXEEXT_FALSE='#'
else
- ac_cv_header_dbox_fp_h=$ac_header_preproc
+ am__EXEEXT_TRUE='#'
+ am__EXEEXT_FALSE=
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_dbox_fp_h" >&5
-echo "${ECHO_T}$ac_cv_header_dbox_fp_h" >&6; }
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test $ac_cv_header_dbox_fp_h = yes; then
- enable_dreamboxremote=yes
-else
- enable_dreamboxremote=no
- { echo "$as_me:$LINENO: WARNING: *** DreamBox Remote input driver will not be built." >&5
-echo "$as_me: WARNING: *** DreamBox Remote input driver will not be built." >&2;}
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_dynapro_ts=no
-if test "$checkfor_dynapro" = "yes"; then
- enable_dynapro_ts=yes
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_elo_input=no
-if test "$checkfor_elo" = "yes"; then
- enable_elo_input=yes
+if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-enable_gunze_input=no
-if test "$checkfor_gunze" = "yes"; then
- enable_gunze_input=yes
+if test -z "${HAVE_MAN2HTML_TRUE}" && test -z "${HAVE_MAN2HTML_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_MAN2HTML\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_h3600_ts=no
-if test "$checkfor_h3600ts" = "yes"; then
- if test "${ac_cv_header_linux_h3600_ts_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for linux/h3600_ts.h" >&5
-echo $ECHO_N "checking for linux/h3600_ts.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_h3600_ts_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test -z "${OSX_CORE_TRUE}" && test -z "${OSX_CORE_FALSE}"; then
+ as_fn_error $? "conditional \"OSX_CORE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_h3600_ts_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_h3600_ts_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking linux/h3600_ts.h usability" >&5
-echo $ECHO_N "checking linux/h3600_ts.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <linux/h3600_ts.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
+if test -z "${X11_CORE_TRUE}" && test -z "${X11_CORE_FALSE}"; then
+ as_fn_error $? "conditional \"X11_CORE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking linux/h3600_ts.h presence" >&5
-echo $ECHO_N "checking linux/h3600_ts.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <linux/h3600_ts.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
+if test -z "${HAVE_LINUX_TRUE}" && test -z "${HAVE_LINUX_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_LINUX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$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: linux/h3600_ts.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: linux/h3600_ts.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/h3600_ts.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: linux/h3600_ts.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: linux/h3600_ts.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: linux/h3600_ts.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/h3600_ts.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: linux/h3600_ts.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/h3600_ts.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: linux/h3600_ts.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/h3600_ts.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: linux/h3600_ts.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/h3600_ts.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: linux/h3600_ts.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/h3600_ts.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: linux/h3600_ts.h: in the future, the compiler will take precedence" >&2;}
-
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for linux/h3600_ts.h" >&5
-echo $ECHO_N "checking for linux/h3600_ts.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_h3600_ts_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_linux_h3600_ts_h=$ac_header_preproc
+if test -z "${BUILDPPCASM_TRUE}" && test -z "${BUILDPPCASM_FALSE}"; then
+ as_fn_error $? "conditional \"BUILDPPCASM\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_h3600_ts_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_h3600_ts_h" >&6; }
-
+if test -z "${BUILDARMASM_TRUE}" && test -z "${BUILDARMASM_FALSE}"; then
+ as_fn_error $? "conditional \"BUILDARMASM\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test $ac_cv_header_linux_h3600_ts_h = yes; then
- enable_h3600_ts=yes
-else
- enable_h3600_ts=no
- { echo "$as_me:$LINENO: WARNING: *** H3600 Touchscreen driver will not be built." >&5
-echo "$as_me: WARNING: *** H3600 Touchscreen driver will not be built." >&2;}
+if test -z "${ENABLE_DEBUG_TRUE}" && test -z "${ENABLE_DEBUG_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_DEBUG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-
+if test -z "${ENABLE_DEBUGS_TRUE}" && test -z "${ENABLE_DEBUGS_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_DEBUGS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_joystick=no
-if test "$checkfor_joystick" = "yes"; then
-
- if test "${ac_cv_header_linux_joystick_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for linux/joystick.h" >&5
-echo $ECHO_N "checking for linux/joystick.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_joystick_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test -z "${ENABLE_TRACE_TRUE}" && test -z "${ENABLE_TRACE_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_TRACE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_joystick_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_joystick_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking linux/joystick.h usability" >&5
-echo $ECHO_N "checking linux/joystick.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <linux/joystick.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
+if test -z "${DIRECTFB_BUILD_VOODOO_TRUE}" && test -z "${DIRECTFB_BUILD_VOODOO_FALSE}"; then
+ as_fn_error $? "conditional \"DIRECTFB_BUILD_VOODOO\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking linux/joystick.h presence" >&5
-echo $ECHO_N "checking linux/joystick.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <linux/joystick.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
+if test -z "${DIRECTFB_BUILD_PURE_VOODOO_TRUE}" && test -z "${DIRECTFB_BUILD_PURE_VOODOO_FALSE}"; then
+ as_fn_error $? "conditional \"DIRECTFB_BUILD_PURE_VOODOO\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$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: linux/joystick.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: linux/joystick.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/joystick.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: linux/joystick.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: linux/joystick.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: linux/joystick.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/joystick.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: linux/joystick.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/joystick.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: linux/joystick.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/joystick.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: linux/joystick.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/joystick.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: linux/joystick.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/joystick.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: linux/joystick.h: in the future, the compiler will take precedence" >&2;}
-
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for linux/joystick.h" >&5
-echo $ECHO_N "checking for linux/joystick.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_joystick_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_linux_joystick_h=$ac_header_preproc
+if test -z "${ENABLE_MULTI_TRUE}" && test -z "${ENABLE_MULTI_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_MULTI\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_joystick_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_joystick_h" >&6; }
-
+if test -z "${ENABLE_ONE_TRUE}" && test -z "${ENABLE_ONE_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_ONE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test $ac_cv_header_linux_joystick_h = yes; then
- enable_joystick=yes
-else
- enable_joystick=no
- { echo "$as_me:$LINENO: WARNING: *** no linux/joystick.h -- Joystick driver will not be built." >&5
-echo "$as_me: WARNING: *** no linux/joystick.h -- Joystick driver will not be built." >&2;}
+if test -z "${ENABLE_VOODOO_TRUE}" && test -z "${ENABLE_VOODOO_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_VOODOO\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-
+if test -z "${ENABLE_UNIQUE_TRUE}" && test -z "${ENABLE_UNIQUE_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_UNIQUE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_keyboard=no
-if test "$checkfor_keyboard" = "yes"; then
- enable_keyboard=yes
+if test -z "${BUILDMMX_TRUE}" && test -z "${BUILDMMX_FALSE}"; then
+ as_fn_error $? "conditional \"BUILDMMX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_linux_input=no
-if test "$checkfor_linux_input" = "yes"; then
- if test "${ac_cv_header_linux_input_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for linux/input.h" >&5
-echo $ECHO_N "checking for linux/input.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_input_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test -z "${DEVMEM_CORE_TRUE}" && test -z "${DEVMEM_CORE_FALSE}"; then
+ as_fn_error $? "conditional \"DEVMEM_CORE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_input_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_input_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking linux/input.h usability" >&5
-echo $ECHO_N "checking linux/input.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <linux/input.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
+if test -z "${FBDEV_CORE_TRUE}" && test -z "${FBDEV_CORE_FALSE}"; then
+ as_fn_error $? "conditional \"FBDEV_CORE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking linux/input.h presence" >&5
-echo $ECHO_N "checking linux/input.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <linux/input.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
+if test -z "${SDL_CORE_TRUE}" && test -z "${SDL_CORE_FALSE}"; then
+ as_fn_error $? "conditional \"SDL_CORE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${VNC_CORE_TRUE}" && test -z "${VNC_CORE_FALSE}"; then
+ as_fn_error $? "conditional \"VNC_CORE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${JPEG_PROVIDER_TRUE}" && test -z "${JPEG_PROVIDER_FALSE}"; then
+ as_fn_error $? "conditional \"JPEG_PROVIDER\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${PNG_PROVIDER_TRUE}" && test -z "${PNG_PROVIDER_FALSE}"; then
+ as_fn_error $? "conditional \"PNG_PROVIDER\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_DIRECTFB_CSOURCE_TRUE}" && test -z "${BUILD_DIRECTFB_CSOURCE_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_DIRECTFB_CSOURCE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GIF_PROVIDER_TRUE}" && test -z "${GIF_PROVIDER_FALSE}"; then
+ as_fn_error $? "conditional \"GIF_PROVIDER\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${FREETYPE_PROVIDER_TRUE}" && test -z "${FREETYPE_PROVIDER_FALSE}"; then
+ as_fn_error $? "conditional \"FREETYPE_PROVIDER\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${LINOTYPE_PROVIDER_TRUE}" && test -z "${LINOTYPE_PROVIDER_FALSE}"; then
+ as_fn_error $? "conditional \"LINOTYPE_PROVIDER\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${V4L_PROVIDER_TRUE}" && test -z "${V4L_PROVIDER_FALSE}"; then
+ as_fn_error $? "conditional \"V4L_PROVIDER\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${SOFTWARE_RENDERING_TRUE}" && test -z "${SOFTWARE_RENDERING_FALSE}"; then
+ as_fn_error $? "conditional \"SOFTWARE_RENDERING\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GFX_ATI128_TRUE}" && test -z "${GFX_ATI128_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_ATI128\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GFX_CLE266_TRUE}" && test -z "${GFX_CLE266_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_CLE266\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GFX_CYBER5K_TRUE}" && test -z "${GFX_CYBER5K_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_CYBER5K\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GFX_DAVINCI_TRUE}" && test -z "${GFX_DAVINCI_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_DAVINCI\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GFX_EP9X_TRUE}" && test -z "${GFX_EP9X_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_EP9X\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$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: linux/input.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: linux/input.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/input.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: linux/input.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: linux/input.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: linux/input.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/input.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: linux/input.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/input.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: linux/input.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/input.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: linux/input.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/input.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: linux/input.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/input.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: linux/input.h: in the future, the compiler will take precedence" >&2;}
-
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for linux/input.h" >&5
-echo $ECHO_N "checking for linux/input.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_input_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_linux_input_h=$ac_header_preproc
+if test -z "${GFX_GL_TRUE}" && test -z "${GFX_GL_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_GL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_input_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_input_h" >&6; }
-
+if test -z "${GFX_GLX_TRUE}" && test -z "${GFX_GLX_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_GLX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test $ac_cv_header_linux_input_h = yes; then
- enable_linux_input=yes
-else
- enable_linux_input=no
- { echo "$as_me:$LINENO: WARNING: *** no linux/input.h -- Linux Input driver will not be built." >&5
-echo "$as_me: WARNING: *** no linux/input.h -- Linux Input driver will not be built." >&2;}
+if test -z "${GFX_I810_TRUE}" && test -z "${GFX_I810_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_I810\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-
-
- if test "$enable_linux_input" = "yes"; then
- { echo "$as_me:$LINENO: checking for struct input_absinfo in linux/input.h" >&5
-echo $ECHO_N "checking for struct input_absinfo in linux/input.h... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <linux/input.h>
-int
-main ()
-{
-struct input_absinfo x; (void)x;
- ;
- 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 "echo \"\$as_me:$LINENO: $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); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INPUT_ABSINFO 1
-_ACEOF
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+if test -z "${GFX_I830_TRUE}" && test -z "${GFX_I830_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_I830\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
+if test -z "${GFX_MACH64_TRUE}" && test -z "${GFX_MACH64_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_MACH64\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_lirc=no
-if test "$checkfor_lirc" = "yes"; then
- enable_lirc=yes
+if test -z "${GFX_MATROX_TRUE}" && test -z "${GFX_MATROX_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_MATROX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_mutouch=no
-if test "$checkfor_mutouch" = "yes"; then
- enable_mutouch=yes
+if test -z "${GFX_NEOMAGIC_TRUE}" && test -z "${GFX_NEOMAGIC_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_NEOMAGIC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_zytronic=no
-if test "$checkfor_zytronic" = "yes"; then
- enable_zytronic=yes
+if test -z "${GFX_NSC_TRUE}" && test -z "${GFX_NSC_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_NSC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_penmount=no
-if test "$checkfor_penmount" = "yes"; then
- enable_penmount=yes
+if test -z "${GFX_NVIDIA_TRUE}" && test -z "${GFX_NVIDIA_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_NVIDIA\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_ps2mouse=no
-if test "$checkfor_ps2mouse" = "yes"; then
- enable_ps2mouse=yes
+if test -z "${GFX_OMAP_TRUE}" && test -z "${GFX_OMAP_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_OMAP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_serial_mouse=no
-if test "$checkfor_serialmouse" = "yes"; then
- if test "${ac_cv_header_linux_serial_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for linux/serial.h" >&5
-echo $ECHO_N "checking for linux/serial.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_serial_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test -z "${GFX_PXA3XX_TRUE}" && test -z "${GFX_PXA3XX_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_PXA3XX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_serial_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_serial_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking linux/serial.h usability" >&5
-echo $ECHO_N "checking linux/serial.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <linux/serial.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
+if test -z "${GFX_RADEON_TRUE}" && test -z "${GFX_RADEON_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_RADEON\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking linux/serial.h presence" >&5
-echo $ECHO_N "checking linux/serial.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <linux/serial.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
+if test -z "${GFX_SAVAGE_TRUE}" && test -z "${GFX_SAVAGE_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_SAVAGE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$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: linux/serial.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: linux/serial.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/serial.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: linux/serial.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: linux/serial.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: linux/serial.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/serial.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: linux/serial.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/serial.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: linux/serial.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/serial.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: linux/serial.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/serial.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: linux/serial.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/serial.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: linux/serial.h: in the future, the compiler will take precedence" >&2;}
-
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for linux/serial.h" >&5
-echo $ECHO_N "checking for linux/serial.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_serial_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_linux_serial_h=$ac_header_preproc
+if test -z "${GFX_SH772X_TRUE}" && test -z "${GFX_SH772X_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_SH772X\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_serial_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_serial_h" >&6; }
-
+if test -z "${GFX_SIS315_TRUE}" && test -z "${GFX_SIS315_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_SIS315\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test $ac_cv_header_linux_serial_h = yes; then
- enable_serial_mouse=yes
-else
- enable_serial_mouse=no
- { echo "$as_me:$LINENO: WARNING: *** no linux/serial.h -- serial mouse driver will not be built." >&5
-echo "$as_me: WARNING: *** no linux/serial.h -- serial mouse driver will not be built." >&2;}
+if test -z "${GFX_TDFX_TRUE}" && test -z "${GFX_TDFX_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_TDFX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-
+if test -z "${GFX_UNICHROME_TRUE}" && test -z "${GFX_UNICHROME_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_UNICHROME\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_sonypi_jogdial=no
-if test "$checkfor_sonypijogdial" = "yes"; then
- if test "${ac_cv_header_linux_sonypi_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for linux/sonypi.h" >&5
-echo $ECHO_N "checking for linux/sonypi.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_sonypi_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test -z "${GFX_VMWARE_TRUE}" && test -z "${GFX_VMWARE_FALSE}"; then
+ as_fn_error $? "conditional \"GFX_VMWARE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_sonypi_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_sonypi_h" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking linux/sonypi.h usability" >&5
-echo $ECHO_N "checking linux/sonypi.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <linux/sonypi.h>
-_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 "echo \"\$as_me:$LINENO: $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); } && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
+if test -z "${SH772X_SHJPEG_TRUE}" && test -z "${SH772X_SHJPEG_FALSE}"; then
+ as_fn_error $? "conditional \"SH772X_SHJPEG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking linux/sonypi.h presence" >&5
-echo $ECHO_N "checking linux/sonypi.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <linux/sonypi.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $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 && {
- 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
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
+if test -z "${DBOX2REMOTE_TRUE}" && test -z "${DBOX2REMOTE_FALSE}"; then
+ as_fn_error $? "conditional \"DBOX2REMOTE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$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: linux/sonypi.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: linux/sonypi.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/sonypi.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: linux/sonypi.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: linux/sonypi.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: linux/sonypi.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/sonypi.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: linux/sonypi.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/sonypi.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: linux/sonypi.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/sonypi.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: linux/sonypi.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/sonypi.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: linux/sonypi.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/sonypi.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: linux/sonypi.h: in the future, the compiler will take precedence" >&2;}
-
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for linux/sonypi.h" >&5
-echo $ECHO_N "checking for linux/sonypi.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_sonypi_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_linux_sonypi_h=$ac_header_preproc
+if test -z "${DREAMBOXREMOTE_TRUE}" && test -z "${DREAMBOXREMOTE_FALSE}"; then
+ as_fn_error $? "conditional \"DREAMBOXREMOTE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_sonypi_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_sonypi_h" >&6; }
-
+if test -z "${DYNAPRO_INPUT_TRUE}" && test -z "${DYNAPRO_INPUT_FALSE}"; then
+ as_fn_error $? "conditional \"DYNAPRO_INPUT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test $ac_cv_header_linux_sonypi_h = yes; then
- enable_sonypi_jogdial=yes
-else
- enable_sonypi_jogdial=no
- { echo "$as_me:$LINENO: WARNING: *** no linux/sonypi.h -- SonyPI Jogdial driver will not be built." >&5
-echo "$as_me: WARNING: *** no linux/sonypi.h -- SonyPI Jogdial driver will not be built." >&2;}
+if test -z "${ELO_INPUT_TRUE}" && test -z "${ELO_INPUT_FALSE}"; then
+ as_fn_error $? "conditional \"ELO_INPUT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-
+if test -z "${GUNZE_INPUT_TRUE}" && test -z "${GUNZE_INPUT_FALSE}"; then
+ as_fn_error $? "conditional \"GUNZE_INPUT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_tslib=no
-if test "$checkfor_tslib" = "yes"; then
-
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for TSLIB" >&5
-echo $ECHO_N "checking for TSLIB... $ECHO_C" >&6; }
-
-if test -n "$PKG_CONFIG"; then
- if test -n "$TSLIB_CFLAGS"; then
- pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS"
- else
- if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"tslib-1.0 >= 1.0.0\"") >&5
- ($PKG_CONFIG --exists --print-errors "tslib-1.0 >= 1.0.0") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- pkg_cv_TSLIB_CFLAGS=`$PKG_CONFIG --cflags "tslib-1.0 >= 1.0.0" 2>/dev/null`
-else
- pkg_failed=yes
+if test -z "${H3600_TS_TRUE}" && test -z "${H3600_TS_FALSE}"; then
+ as_fn_error $? "conditional \"H3600_TS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
- fi
-else
- pkg_failed=untried
+if test -z "${JOYSTICK_INPUT_TRUE}" && test -z "${JOYSTICK_INPUT_FALSE}"; then
+ as_fn_error $? "conditional \"JOYSTICK_INPUT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -n "$PKG_CONFIG"; then
- if test -n "$TSLIB_LIBS"; then
- pkg_cv_TSLIB_LIBS="$TSLIB_LIBS"
- else
- if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"tslib-1.0 >= 1.0.0\"") >&5
- ($PKG_CONFIG --exists --print-errors "tslib-1.0 >= 1.0.0") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- pkg_cv_TSLIB_LIBS=`$PKG_CONFIG --libs "tslib-1.0 >= 1.0.0" 2>/dev/null`
-else
- pkg_failed=yes
+if test -z "${KEYBOARD_INPUT_TRUE}" && test -z "${KEYBOARD_INPUT_FALSE}"; then
+ as_fn_error $? "conditional \"KEYBOARD_INPUT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
- fi
-else
- pkg_failed=untried
+if test -z "${LINUX_INPUT_TRUE}" && test -z "${LINUX_INPUT_FALSE}"; then
+ as_fn_error $? "conditional \"LINUX_INPUT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
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
+if test -z "${LIRC_INPUT_TRUE}" && test -z "${LIRC_INPUT_FALSE}"; then
+ as_fn_error $? "conditional \"LIRC_INPUT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
- if test $_pkg_short_errors_supported = yes; then
- TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "tslib-1.0 >= 1.0.0"`
- else
- TSLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "tslib-1.0 >= 1.0.0"`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$TSLIB_PKG_ERRORS" >&5
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- enable_tslib=no
-elif test $pkg_failed = untried; then
- enable_tslib=no
-else
- TSLIB_CFLAGS=$pkg_cv_TSLIB_CFLAGS
- TSLIB_LIBS=$pkg_cv_TSLIB_LIBS
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- enable_tslib=yes
+if test -z "${MUTOUCH_TS_TRUE}" && test -z "${MUTOUCH_TS_FALSE}"; then
+ as_fn_error $? "conditional \"MUTOUCH_TS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ZYTRONIC_TS_TRUE}" && test -z "${ZYTRONIC_TS_FALSE}"; then
+ as_fn_error $? "conditional \"ZYTRONIC_TS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
- if test "$enable_tslib" = "no"; then
-
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for TSLIB" >&5
-echo $ECHO_N "checking for TSLIB... $ECHO_C" >&6; }
-
-if test -n "$PKG_CONFIG"; then
- if test -n "$TSLIB_CFLAGS"; then
- pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS"
- else
- if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"tslib-0.0\"") >&5
- ($PKG_CONFIG --exists --print-errors "tslib-0.0") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- pkg_cv_TSLIB_CFLAGS=`$PKG_CONFIG --cflags "tslib-0.0" 2>/dev/null`
-else
- pkg_failed=yes
+if test -z "${PENMOUNT_TS_TRUE}" && test -z "${PENMOUNT_TS_FALSE}"; then
+ as_fn_error $? "conditional \"PENMOUNT_TS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
- fi
-else
- pkg_failed=untried
+if test -z "${PS2MOUSE_INPUT_TRUE}" && test -z "${PS2MOUSE_INPUT_FALSE}"; then
+ as_fn_error $? "conditional \"PS2MOUSE_INPUT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -n "$PKG_CONFIG"; then
- if test -n "$TSLIB_LIBS"; then
- pkg_cv_TSLIB_LIBS="$TSLIB_LIBS"
- else
- if test -n "$PKG_CONFIG" && \
- { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"tslib-0.0\"") >&5
- ($PKG_CONFIG --exists --print-errors "tslib-0.0") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- pkg_cv_TSLIB_LIBS=`$PKG_CONFIG --libs "tslib-0.0" 2>/dev/null`
-else
- pkg_failed=yes
+if test -z "${SERIAL_MOUSE_INPUT_TRUE}" && test -z "${SERIAL_MOUSE_INPUT_FALSE}"; then
+ as_fn_error $? "conditional \"SERIAL_MOUSE_INPUT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
- fi
-else
- pkg_failed=untried
+if test -z "${SONYPI_TRUE}" && test -z "${SONYPI_FALSE}"; then
+ as_fn_error $? "conditional \"SONYPI\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
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
+if test -z "${TSLIB_TRUE}" && test -z "${TSLIB_FALSE}"; then
+ as_fn_error $? "conditional \"TSLIB\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
- if test $_pkg_short_errors_supported = yes; then
- TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "tslib-0.0"`
- else
- TSLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "tslib-0.0"`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$TSLIB_PKG_ERRORS" >&5
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- enable_tslib=no
- { echo "$as_me:$LINENO: WARNING: *** no tslib -- tslib driver will not be built." >&5
-echo "$as_me: WARNING: *** no tslib -- tslib driver will not be built." >&2;}
-elif test $pkg_failed = untried; then
- enable_tslib=no
- { echo "$as_me:$LINENO: WARNING: *** no tslib -- tslib driver will not be built." >&5
-echo "$as_me: WARNING: *** no tslib -- tslib driver will not be built." >&2;}
-else
- TSLIB_CFLAGS=$pkg_cv_TSLIB_CFLAGS
- TSLIB_LIBS=$pkg_cv_TSLIB_LIBS
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- enable_tslib=yes
+if test -z "${UCB1X00_TS_TRUE}" && test -z "${UCB1X00_TS_FALSE}"; then
+ as_fn_error $? "conditional \"UCB1X00_TS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
- fi
+if test -z "${WM97XX_TS_TRUE}" && test -z "${WM97XX_TS_FALSE}"; then
+ as_fn_error $? "conditional \"WM97XX_TS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_ucb1x00_ts=no
-if test "$checkfor_ucb1x00" = "yes"; then
- enable_ucb1x00_ts=yes
+if test -z "${BUILD_TESTS_TRUE}" && test -z "${BUILD_TESTS_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_TESTS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
-enable_wm97xx_ts=no
-if test "$checkfor_wm97xx" = "yes"; then
- enable_wm97xx_ts=yes
+if test -z "${BUILD_TOOLS_TRUE}" && test -z "${BUILD_TOOLS_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_TOOLS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${CROSS_COMPILING_TRUE}" && test -z "${CROSS_COMPILING_FALSE}"; then
+ as_fn_error $? "conditional \"CROSS_COMPILING\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_SHARED_TRUE}" && test -z "${BUILD_SHARED_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_SHARED\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_STATIC_TRUE}" && test -z "${BUILD_STATIC_FALSE}"; then
+ as_fn_error $? "conditional \"BUILD_STATIC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
- fi
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
-# Check whether --with-software was given.
-if test "${with_software+set}" = set; then
- withval=$with_software;
+# 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=:
+ # 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
-if test "$with_software" != "no"; then
- with_software=yes
+
+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
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (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
- if test "$with_software" != "no"; then
- SOFTWARE_RENDERING_TRUE=
- SOFTWARE_RENDERING_FALSE='#'
-else
- SOFTWARE_RENDERING_TRUE='#'
- SOFTWARE_RENDERING_FALSE=
+# 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
+# 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.
+as_myself=
+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
-# Check whether --with-smooth-scaling was given.
-if test "${with_smooth_scaling+set}" = set; then
- withval=$with_smooth_scaling;
+ ;;
+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
fi
-if test "$with_smooth_scaling" != "yes" -o "$with_software" != "yes"; then
- with_smooth_scaling=no
-else
-
-cat >>confdefs.h <<\_ACEOF
-#define DFB_SMOOTH_SCALING 1
-_ACEOF
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
-fi
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
-cat >>confdefs.h <<\_ACEOF
-#define DFB_DITHER_SIMPLE 1
-_ACEOF
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
-cat >>confdefs.h <<\_ACEOF
-#define DFB_DITHER_ADVANCED 2
-_ACEOF
+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
+ as_basename=basename
+else
+ as_basename=false
+fi
-# Check whether --with-dither-rgb16 was given.
-if test "${with_dither_rgb16+set}" = set; then
- withval=$with_dither_rgb16;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
fi
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
-case x"$with_dither_rgb16" in
- x | xnone)
- with_dither_rgb16=none
- ;;
- xsimple)
+# 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
-cat >>confdefs.h <<\_ACEOF
-#define DFB_DITHER565 DFB_DITHER_SIMPLE
-_ACEOF
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
- ;;
- xadvanced)
+rm -f conf$$ conf$$.exe conf$$.file
+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
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
-cat >>confdefs.h <<\_ACEOF
-#define DFB_DITHER565 DFB_DITHER_ADVANCED
-_ACEOF
- ;;
- *)
- echo "Unknown dithering type $with_dither_rgb16, exiting!"
- exit 1
- ;;
-esac
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ 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 ||
+$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 -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-# Check whether --with-tests was given.
-if test "${with_tests+set}" = set; then
- withval=$with_tests;
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
fi
-if test "$with_tests" != "yes"; then
- with_tests=no
+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'"
-# How big of a buffer fusion uses to read messages from the fusion device
-
-# Check whether --with-message-size was given.
-if test "${with_message_size+set}" = set; then
- withval=$with_message_size;
-else
- with_message_size=no
-fi
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-test x"$with_message_size" = x"no" && with_message_size=1024
-FUSION_MESSAGE_SIZE=$with_message_size
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# 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.
+ac_log="
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.68. Invocation command line was
-# Build tools?
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
-# Check whether --with-tools was given.
-if test "${with_tools+set}" = set; then
- withval=$with_tools;
-fi
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
-if test "$with_tools" != "no"; then
- with_tools=yes
-fi
+_ACEOF
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
-# Sysroot used for runtime module loading, etc.
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then
- withval=$with_sysroot; RUNTIME_SYSROOT="$withval"
-else
- RUNTIME_SYSROOT=
-fi
-test x"$RUNTIME_SYSROOT" = x"no" && RUNTIME_SYSROOT=
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+Usage: $0 [OPTION]... [TAG]...
-if test "$enable_unique" = "yes"; then
- if test "$cross_compiling" = "yes" || test "$with_tools" = "no"; then
- # Extract the first word of "directfb-csource", so it can be a program name with args.
-set dummy directfb-csource; 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_path_DIRECTFB_CSOURCE+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $DIRECTFB_CSOURCE in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_DIRECTFB_CSOURCE="$DIRECTFB_CSOURCE" # Let the user override the test with a path.
- ;;
- *)
- 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_path_DIRECTFB_CSOURCE="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
+ -q, --quiet, --silent
+ 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
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
- test -z "$ac_cv_path_DIRECTFB_CSOURCE" && ac_cv_path_DIRECTFB_CSOURCE="no"
- ;;
-esac
-fi
-DIRECTFB_CSOURCE=$ac_cv_path_DIRECTFB_CSOURCE
-if test -n "$DIRECTFB_CSOURCE"; then
- { echo "$as_me:$LINENO: result: $DIRECTFB_CSOURCE" >&5
-echo "${ECHO_T}$DIRECTFB_CSOURCE" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
+Configuration files:
+$config_files
+Configuration headers:
+$config_headers
- if test "x$DIRECTFB_CSOURCE" = "xno"; then
- { { echo "$as_me:$LINENO: error: Could not find a directfb-csource in your PATH" >&5
-echo "$as_me: error: Could not find a directfb-csource in your PATH" >&2;}
- { (exit 1); exit 1; }; }
- fi
- fi
-fi
+Configuration commands:
+$config_commands
+Report bugs to the package provider."
- if test "$ati128" = "yes"; then
- GFX_ATI128_TRUE=
- GFX_ATI128_FALSE='#'
-else
- GFX_ATI128_TRUE='#'
- GFX_ATI128_FALSE=
-fi
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.68,
+ with options \\"\$ac_cs_config\\"
- if test "$cle266" = "yes"; then
- GFX_CLE266_TRUE=
- GFX_CLE266_FALSE='#'
-else
- GFX_CLE266_TRUE='#'
- GFX_CLE266_FALSE=
-fi
+Copyright (C) 2010 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
- if test "$cyber5k" = "yes"; then
- GFX_CYBER5K_TRUE=
- GFX_CYBER5K_FALSE='#'
-else
- GFX_CYBER5K_TRUE='#'
- GFX_CYBER5K_FALSE=
-fi
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
- if test "$davinci" = "yes"; then
- GFX_DAVINCI_TRUE=
- GFX_DAVINCI_FALSE='#'
-else
- GFX_DAVINCI_TRUE='#'
- GFX_DAVINCI_FALSE=
-fi
+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_shift=:
+ ;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
- if test "$ep9x" = "yes"; then
- GFX_EP9X_TRUE=
- GFX_EP9X_FALSE='#'
-else
- GFX_EP9X_TRUE='#'
- GFX_EP9X_FALSE=
-fi
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ $as_echo "$ac_cs_config"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+ --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=: ;;
- if test "$gl" = "yes"; then
- GFX_GL_TRUE=
- GFX_GL_FALSE='#'
-else
- GFX_GL_TRUE='#'
- GFX_GL_FALSE=
-fi
+ # This is an error.
+ -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
- if test "$glx" = "yes"; then
- GFX_GLX_TRUE=
- GFX_GLX_FALSE='#'
-else
- GFX_GLX_TRUE='#'
- GFX_GLX_FALSE=
-fi
+ *) as_fn_append ac_config_targets " $1"
+ ac_need_defaults=false ;;
- if test "$i810" = "yes"; then
- GFX_I810_TRUE=
- GFX_I810_FALSE='#'
-else
- GFX_I810_TRUE='#'
- GFX_I810_FALSE=
-fi
+ esac
+ shift
+done
- if test "$i830" = "yes"; then
- GFX_I830_TRUE=
- GFX_I830_FALSE='#'
-else
- GFX_I830_TRUE='#'
- GFX_I830_FALSE=
-fi
+ac_configure_extra_args=
- if test "$mach64" = "yes"; then
- GFX_MACH64_TRUE=
- GFX_MACH64_FALSE='#'
-else
- GFX_MACH64_TRUE='#'
- GFX_MACH64_FALSE=
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
fi
- if test "$matrox" = "yes"; then
- GFX_MATROX_TRUE=
- GFX_MATROX_FALSE='#'
-else
- GFX_MATROX_TRUE='#'
- GFX_MATROX_FALSE=
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ 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
- if test "$neomagic" = "yes"; then
- GFX_NEOMAGIC_TRUE=
- GFX_NEOMAGIC_FALSE='#'
-else
- GFX_NEOMAGIC_TRUE='#'
- GFX_NEOMAGIC_FALSE=
-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
- if test "$nsc" = "yes"; then
- GFX_NSC_TRUE=
- GFX_NSC_FALSE='#'
-else
- GFX_NSC_TRUE='#'
- GFX_NSC_FALSE=
-fi
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
- if test "$nvidia" = "yes"; then
- GFX_NVIDIA_TRUE=
- GFX_NVIDIA_FALSE='#'
-else
- GFX_NVIDIA_TRUE='#'
- GFX_NVIDIA_FALSE=
-fi
- if test "$omap" = "yes"; then
- GFX_OMAP_TRUE=
- GFX_OMAP_FALSE='#'
-else
- GFX_OMAP_TRUE='#'
- GFX_OMAP_FALSE=
-fi
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
- if test "$pxa3xx" = "yes"; then
- GFX_PXA3XX_TRUE=
- GFX_PXA3XX_FALSE='#'
-else
- GFX_PXA3XX_TRUE='#'
- GFX_PXA3XX_FALSE=
-fi
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
+ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
+host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
+host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
+host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
+build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
+build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
+build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
+SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
+Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
+GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
+EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
+FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
+LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
+NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
+LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
+exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
+want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
+sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
+lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
+CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
+compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
+GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
+lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
+libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
+version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
+install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
+striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
+predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
+postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
+predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
+postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
+LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
+reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
+reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
+GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
+inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
+always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
+predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
+postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
- if test "$radeon" = "yes"; then
- GFX_RADEON_TRUE=
- GFX_RADEON_FALSE='#'
-else
- GFX_RADEON_TRUE='#'
- GFX_RADEON_FALSE=
-fi
+# Quote evaled strings.
+for var in SHELL \
+ECHO \
+PATH_SEPARATOR \
+SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+OBJDUMP \
+deplibs_check_method \
+file_magic_cmd \
+file_magic_glob \
+want_nocaseglob \
+DLLTOOL \
+sharedlib_from_linklib_cmd \
+AR \
+AR_FLAGS \
+archiver_list_spec \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+nm_file_list_spec \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_pic \
+lt_prog_compiler_wl \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+MANIFEST_TOOL \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_separator \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+install_override_mode \
+finish_eval \
+old_striplib \
+striplib \
+compiler_lib_search_dirs \
+predep_objects \
+postdep_objects \
+predeps \
+postdeps \
+compiler_lib_search_path \
+LD_CXX \
+reload_flag_CXX \
+compiler_CXX \
+lt_prog_compiler_no_builtin_flag_CXX \
+lt_prog_compiler_pic_CXX \
+lt_prog_compiler_wl_CXX \
+lt_prog_compiler_static_CXX \
+lt_cv_prog_compiler_c_o_CXX \
+export_dynamic_flag_spec_CXX \
+whole_archive_flag_spec_CXX \
+compiler_needs_object_CXX \
+with_gnu_ld_CXX \
+allow_undefined_flag_CXX \
+no_undefined_flag_CXX \
+hardcode_libdir_flag_spec_CXX \
+hardcode_libdir_separator_CXX \
+exclude_expsyms_CXX \
+include_expsyms_CXX \
+file_list_spec_CXX \
+compiler_lib_search_dirs_CXX \
+predep_objects_CXX \
+postdep_objects_CXX \
+predeps_CXX \
+postdeps_CXX \
+compiler_lib_search_path_CXX; do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
- if test "$savage" = "yes"; then
- GFX_SAVAGE_TRUE=
- GFX_SAVAGE_FALSE='#'
-else
- GFX_SAVAGE_TRUE='#'
- GFX_SAVAGE_FALSE=
-fi
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postlink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+sys_lib_dlsearch_path_spec \
+reload_cmds_CXX \
+old_archive_cmds_CXX \
+old_archive_from_new_cmds_CXX \
+old_archive_from_expsyms_cmds_CXX \
+archive_cmds_CXX \
+archive_expsym_cmds_CXX \
+module_cmds_CXX \
+module_expsym_cmds_CXX \
+export_symbols_cmds_CXX \
+prelink_cmds_CXX \
+postlink_cmds_CXX; do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
- if test "$sh772x" = "yes"; then
- GFX_SH772X_TRUE=
- GFX_SH772X_FALSE='#'
-else
- GFX_SH772X_TRUE='#'
- GFX_SH772X_FALSE=
-fi
+ac_aux_dir='$ac_aux_dir'
+xsi_shell='$xsi_shell'
+lt_shell_append='$lt_shell_append'
- if test "$sis315" = "yes"; then
- GFX_SIS315_TRUE=
- GFX_SIS315_FALSE='#'
-else
- GFX_SIS315_TRUE='#'
- GFX_SIS315_FALSE=
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
fi
- if test "$tdfx" = "yes"; then
- GFX_TDFX_TRUE=
- GFX_TDFX_FALSE='#'
-else
- GFX_TDFX_TRUE='#'
- GFX_TDFX_FALSE=
-fi
- if test "$unichrome" = "yes"; then
- GFX_UNICHROME_TRUE=
- GFX_UNICHROME_FALSE='#'
-else
- GFX_UNICHROME_TRUE='#'
- GFX_UNICHROME_FALSE=
-fi
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'
- if test "$vmware" = "yes"; then
- GFX_VMWARE_TRUE=
- GFX_VMWARE_FALSE='#'
-else
- GFX_VMWARE_TRUE='#'
- GFX_VMWARE_FALSE=
-fi
- if test "$enable_dbox2remote" = "yes"; then
- DBOX2REMOTE_TRUE=
- DBOX2REMOTE_FALSE='#'
-else
- DBOX2REMOTE_TRUE='#'
- DBOX2REMOTE_FALSE=
-fi
- if test "$enable_dreamboxremote" = "yes"; then
- DREAMBOXREMOTE_TRUE=
- DREAMBOXREMOTE_FALSE='#'
-else
- DREAMBOXREMOTE_TRUE='#'
- DREAMBOXREMOTE_FALSE=
-fi
- if test "$enable_dynapro_ts" = "yes"; then
- DYNAPRO_INPUT_TRUE=
- DYNAPRO_INPUT_FALSE='#'
-else
- DYNAPRO_INPUT_TRUE='#'
- DYNAPRO_INPUT_FALSE=
-fi
- if test "$enable_elo_input" = "yes"; then
- ELO_INPUT_TRUE=
- ELO_INPUT_FALSE='#'
-else
- ELO_INPUT_TRUE='#'
- ELO_INPUT_FALSE=
-fi
+_ACEOF
- if test "$enable_gunze_input" = "yes"; then
- GUNZE_INPUT_TRUE=
- GUNZE_INPUT_FALSE='#'
-else
- GUNZE_INPUT_TRUE='#'
- GUNZE_INPUT_FALSE=
-fi
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- if test "$enable_h3600_ts" = "yes"; then
- H3600_TS_TRUE=
- H3600_TS_FALSE='#'
-else
- H3600_TS_TRUE='#'
- H3600_TS_FALSE=
-fi
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+ "directfb-config") CONFIG_FILES="$CONFIG_FILES directfb-config" ;;
+ "directfb.pc") CONFIG_FILES="$CONFIG_FILES directfb.pc" ;;
+ "directfb-internal.pc") CONFIG_FILES="$CONFIG_FILES directfb-internal.pc" ;;
+ "directfb.spec") CONFIG_FILES="$CONFIG_FILES directfb.spec" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
+ "include/directfb_build.h") CONFIG_FILES="$CONFIG_FILES include/directfb_build.h" ;;
+ "include/directfb_version.h") CONFIG_FILES="$CONFIG_FILES include/directfb_version.h" ;;
+ "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
+ "lib/direct/Makefile") CONFIG_FILES="$CONFIG_FILES lib/direct/Makefile" ;;
+ "lib/direct/build.h") CONFIG_FILES="$CONFIG_FILES lib/direct/build.h" ;;
+ "lib/direct/direct.pc") CONFIG_FILES="$CONFIG_FILES lib/direct/direct.pc" ;;
+ "lib/fusion/Makefile") CONFIG_FILES="$CONFIG_FILES lib/fusion/Makefile" ;;
+ "lib/fusion/build.h") CONFIG_FILES="$CONFIG_FILES lib/fusion/build.h" ;;
+ "lib/fusion/fusion.pc") CONFIG_FILES="$CONFIG_FILES lib/fusion/fusion.pc" ;;
+ "lib/fusion/shm/Makefile") CONFIG_FILES="$CONFIG_FILES lib/fusion/shm/Makefile" ;;
+ "lib/One/Makefile") CONFIG_FILES="$CONFIG_FILES lib/One/Makefile" ;;
+ "lib/One/one.pc") CONFIG_FILES="$CONFIG_FILES lib/One/one.pc" ;;
+ "lib/One/linux-one/Makefile") CONFIG_FILES="$CONFIG_FILES lib/One/linux-one/Makefile" ;;
+ "lib/voodoo/Makefile") CONFIG_FILES="$CONFIG_FILES lib/voodoo/Makefile" ;;
+ "lib/voodoo/build.h") CONFIG_FILES="$CONFIG_FILES lib/voodoo/build.h" ;;
+ "lib/voodoo/voodoo.pc") CONFIG_FILES="$CONFIG_FILES lib/voodoo/voodoo.pc" ;;
+ "patches/Makefile") CONFIG_FILES="$CONFIG_FILES patches/Makefile" ;;
+ "proxy/Makefile") CONFIG_FILES="$CONFIG_FILES proxy/Makefile" ;;
+ "proxy/dispatcher/Makefile") CONFIG_FILES="$CONFIG_FILES proxy/dispatcher/Makefile" ;;
+ "proxy/requestor/Makefile") CONFIG_FILES="$CONFIG_FILES proxy/requestor/Makefile" ;;
+ "rules/Makefile") CONFIG_FILES="$CONFIG_FILES rules/Makefile" ;;
+ "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "src/core/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/Makefile" ;;
+ "src/display/Makefile") CONFIG_FILES="$CONFIG_FILES src/display/Makefile" ;;
+ "src/gfx/Makefile") CONFIG_FILES="$CONFIG_FILES src/gfx/Makefile" ;;
+ "src/gfx/generic/Makefile") CONFIG_FILES="$CONFIG_FILES src/gfx/generic/Makefile" ;;
+ "src/input/Makefile") CONFIG_FILES="$CONFIG_FILES src/input/Makefile" ;;
+ "src/media/Makefile") CONFIG_FILES="$CONFIG_FILES src/media/Makefile" ;;
+ "src/misc/Makefile") CONFIG_FILES="$CONFIG_FILES src/misc/Makefile" ;;
+ "src/windows/Makefile") CONFIG_FILES="$CONFIG_FILES src/windows/Makefile" ;;
+ "systems/Makefile") CONFIG_FILES="$CONFIG_FILES systems/Makefile" ;;
+ "systems/devmem/Makefile") CONFIG_FILES="$CONFIG_FILES systems/devmem/Makefile" ;;
+ "systems/dummy/Makefile") CONFIG_FILES="$CONFIG_FILES systems/dummy/Makefile" ;;
+ "systems/fbdev/Makefile") CONFIG_FILES="$CONFIG_FILES systems/fbdev/Makefile" ;;
+ "systems/x11/Makefile") CONFIG_FILES="$CONFIG_FILES systems/x11/Makefile" ;;
+ "systems/osx/Makefile") CONFIG_FILES="$CONFIG_FILES systems/osx/Makefile" ;;
+ "systems/sdl/Makefile") CONFIG_FILES="$CONFIG_FILES systems/sdl/Makefile" ;;
+ "systems/vnc/Makefile") CONFIG_FILES="$CONFIG_FILES systems/vnc/Makefile" ;;
+ "wm/Makefile") CONFIG_FILES="$CONFIG_FILES wm/Makefile" ;;
+ "wm/default/Makefile") CONFIG_FILES="$CONFIG_FILES wm/default/Makefile" ;;
+ "wm/unique/Makefile") CONFIG_FILES="$CONFIG_FILES wm/unique/Makefile" ;;
+ "wm/unique/classes/Makefile") CONFIG_FILES="$CONFIG_FILES wm/unique/classes/Makefile" ;;
+ "wm/unique/data/Makefile") CONFIG_FILES="$CONFIG_FILES wm/unique/data/Makefile" ;;
+ "wm/unique/devices/Makefile") CONFIG_FILES="$CONFIG_FILES wm/unique/devices/Makefile" ;;
+ "gfxdrivers/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/Makefile" ;;
+ "gfxdrivers/ati128/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/ati128/Makefile" ;;
+ "gfxdrivers/cle266/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/cle266/Makefile" ;;
+ "gfxdrivers/cyber5k/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/cyber5k/Makefile" ;;
+ "gfxdrivers/davinci/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/davinci/Makefile" ;;
+ "gfxdrivers/ep9x/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/ep9x/Makefile" ;;
+ "gfxdrivers/gl/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/gl/Makefile" ;;
+ "gfxdrivers/i810/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/i810/Makefile" ;;
+ "gfxdrivers/i830/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/i830/Makefile" ;;
+ "gfxdrivers/mach64/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/mach64/Makefile" ;;
+ "gfxdrivers/matrox/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/matrox/Makefile" ;;
+ "gfxdrivers/neomagic/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/neomagic/Makefile" ;;
+ "gfxdrivers/nsc/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/nsc/Makefile" ;;
+ "gfxdrivers/nsc/include/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/nsc/include/Makefile" ;;
+ "gfxdrivers/nvidia/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/nvidia/Makefile" ;;
+ "gfxdrivers/omap/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/omap/Makefile" ;;
+ "gfxdrivers/pxa3xx/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/pxa3xx/Makefile" ;;
+ "gfxdrivers/radeon/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/radeon/Makefile" ;;
+ "gfxdrivers/savage/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/savage/Makefile" ;;
+ "gfxdrivers/sh772x/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/sh772x/Makefile" ;;
+ "gfxdrivers/sis315/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/sis315/Makefile" ;;
+ "gfxdrivers/tdfx/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/tdfx/Makefile" ;;
+ "gfxdrivers/unichrome/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/unichrome/Makefile" ;;
+ "gfxdrivers/vmware/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/vmware/Makefile" ;;
+ "inputdrivers/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/Makefile" ;;
+ "inputdrivers/dbox2remote/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/dbox2remote/Makefile" ;;
+ "inputdrivers/dreamboxremote/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/dreamboxremote/Makefile" ;;
+ "inputdrivers/dynapro/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/dynapro/Makefile" ;;
+ "inputdrivers/elo/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/elo/Makefile" ;;
+ "inputdrivers/gunze/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/gunze/Makefile" ;;
+ "inputdrivers/h3600_ts/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/h3600_ts/Makefile" ;;
+ "inputdrivers/joystick/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/joystick/Makefile" ;;
+ "inputdrivers/keyboard/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/keyboard/Makefile" ;;
+ "inputdrivers/linux_input/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/linux_input/Makefile" ;;
+ "inputdrivers/lirc/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/lirc/Makefile" ;;
+ "inputdrivers/mutouch/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/mutouch/Makefile" ;;
+ "inputdrivers/zytronic/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/zytronic/Makefile" ;;
+ "inputdrivers/penmount/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/penmount/Makefile" ;;
+ "inputdrivers/ps2mouse/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/ps2mouse/Makefile" ;;
+ "inputdrivers/serialmouse/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/serialmouse/Makefile" ;;
+ "inputdrivers/sonypi/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/sonypi/Makefile" ;;
+ "inputdrivers/tslib/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/tslib/Makefile" ;;
+ "inputdrivers/ucb1x00_ts/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/ucb1x00_ts/Makefile" ;;
+ "inputdrivers/wm97xx_ts/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/wm97xx_ts/Makefile" ;;
+ "interfaces/Makefile") CONFIG_FILES="$CONFIG_FILES interfaces/Makefile" ;;
+ "interfaces/ICoreResourceManager/Makefile") CONFIG_FILES="$CONFIG_FILES interfaces/ICoreResourceManager/Makefile" ;;
+ "interfaces/IDirectFBFont/Makefile") CONFIG_FILES="$CONFIG_FILES interfaces/IDirectFBFont/Makefile" ;;
+ "interfaces/IDirectFBImageProvider/Makefile") CONFIG_FILES="$CONFIG_FILES interfaces/IDirectFBImageProvider/Makefile" ;;
+ "interfaces/IDirectFBVideoProvider/Makefile") CONFIG_FILES="$CONFIG_FILES interfaces/IDirectFBVideoProvider/Makefile" ;;
+ "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;;
+ "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
+ "tests/voodoo/Makefile") CONFIG_FILES="$CONFIG_FILES tests/voodoo/Makefile" ;;
+ "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
+ "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
+ "docs/dfbg.1") CONFIG_FILES="$CONFIG_FILES docs/dfbg.1" ;;
+ "docs/directfb-csource.1") CONFIG_FILES="$CONFIG_FILES docs/directfb-csource.1" ;;
+ "docs/directfbrc.5") CONFIG_FILES="$CONFIG_FILES docs/directfbrc.5" ;;
+ "docs/html/Makefile") CONFIG_FILES="$CONFIG_FILES docs/html/Makefile" ;;
+ "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
- if test "$enable_joystick" = "yes"; then
- JOYSTICK_INPUT_TRUE=
- JOYSTICK_INPUT_FALSE='#'
-else
- JOYSTICK_INPUT_TRUE='#'
- JOYSTICK_INPUT_FALSE=
-fi
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+done
- if test "$enable_keyboard" = "yes"; then
- KEYBOARD_INPUT_TRUE=
- KEYBOARD_INPUT_FALSE='#'
-else
- KEYBOARD_INPUT_TRUE='#'
- KEYBOARD_INPUT_FALSE=
-fi
- if test "$enable_linux_input" = "yes"; then
- LINUX_INPUT_TRUE=
- LINUX_INPUT_FALSE='#'
-else
- LINUX_INPUT_TRUE='#'
- LINUX_INPUT_FALSE=
+# 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
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
fi
- if test "$enable_lirc" = "yes"; then
- LIRC_INPUT_TRUE=
- LIRC_INPUT_FALSE='#'
-else
- LIRC_INPUT_TRUE='#'
- LIRC_INPUT_FALSE=
-fi
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# 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 ||
+{
+ tmp= ac_tmp=
+ trap 'exit_status=$?
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+ trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
- if test "$enable_mutouch" = "yes"; then
- MUTOUCH_TS_TRUE=
- MUTOUCH_TS_FALSE='#'
-else
- MUTOUCH_TS_TRUE='#'
- MUTOUCH_TS_FALSE=
-fi
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
- if test "$enable_zytronic" = "yes"; then
- ZYTRONIC_TS_TRUE=
- ZYTRONIC_TS_FALSE='#'
-else
- ZYTRONIC_TS_TRUE='#'
- ZYTRONIC_TS_FALSE=
-fi
+# 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
- if test "$enable_penmount" = "yes" ; then
- PENMOUNT_TS_TRUE=
- PENMOUNT_TS_FALSE='#'
-else
- PENMOUNT_TS_TRUE='#'
- PENMOUNT_TS_FALSE=
-fi
- if test "$enable_ps2mouse" = "yes"; then
- PS2MOUSE_INPUT_TRUE=
- PS2MOUSE_INPUT_FALSE='#'
-else
- PS2MOUSE_INPUT_TRUE='#'
- PS2MOUSE_INPUT_FALSE=
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+ eval ac_cr=\$\'\\r\'
fi
-
- if test "$enable_serial_mouse" = "yes"; then
- SERIAL_MOUSE_INPUT_TRUE=
- SERIAL_MOUSE_INPUT_FALSE='#'
+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
- SERIAL_MOUSE_INPUT_TRUE='#'
- SERIAL_MOUSE_INPUT_FALSE=
+ ac_cs_awk_cr=$ac_cr
fi
- if test "$enable_sonypi_jogdial" = "yes"; then
- SONYPI_TRUE=
- SONYPI_FALSE='#'
-else
- SONYPI_TRUE='#'
- SONYPI_FALSE=
-fi
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
- if test "$enable_tslib" = "yes"; then
- TSLIB_TRUE=
- TSLIB_FALSE='#'
-else
- TSLIB_TRUE='#'
- TSLIB_FALSE=
-fi
- if test "$enable_ucb1x00_ts" = "yes"; then
- UCB1X00_TS_TRUE=
- UCB1X00_TS_FALSE='#'
-else
- UCB1X00_TS_TRUE='#'
- UCB1X00_TS_FALSE=
-fi
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+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_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- if test "$enable_wm97xx_ts" = "yes"; then
- WM97XX_TS_TRUE=
- WM97XX_TS_FALSE='#'
-else
- WM97XX_TS_TRUE='#'
- WM97XX_TS_FALSE=
-fi
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ 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 >>"\$ac_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 >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+}
+{
+ 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
+ }
- if test "$with_tests" = "yes"; then
- BUILD_TESTS_TRUE=
- BUILD_TESTS_FALSE='#'
-else
- BUILD_TESTS_TRUE='#'
- BUILD_TESTS_FALSE=
-fi
+ print line
+}
- if test "$with_tools" = "yes"; then
- BUILD_TOOLS_TRUE=
- BUILD_TOOLS_FALSE='#'
+_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
- BUILD_TOOLS_TRUE='#'
- BUILD_TOOLS_FALSE=
-fi
+ cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
- if test "$cross_compiling" = "yes"; then
- CROSS_COMPILING_TRUE=
- CROSS_COMPILING_FALSE='#'
-else
- CROSS_COMPILING_TRUE='#'
- CROSS_COMPILING_FALSE=
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries 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[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[ ]*$//
+}'
fi
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
-CFLAGS="$CFLAGS $DFB_INTERNAL_CFLAGS"
-DFB_LDFLAGS="$LDFLAGS $ZLIB_LIBS"
-
+# 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 >"$ac_tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+# 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.
-# Honor aclocal flags
-ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
+# 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_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+ 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.
- if test "$enable_shared" = "yes"; then
- BUILD_SHARED_TRUE=
- BUILD_SHARED_FALSE='#'
-else
- BUILD_SHARED_TRUE='#'
- BUILD_SHARED_FALSE=
-fi
+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]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ 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 "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
- if test "$enable_static" = "yes"; then
- BUILD_STATIC_TRUE=
- BUILD_STATIC_FALSE='#'
-else
- BUILD_STATIC_TRUE='#'
- BUILD_STATIC_FALSE=
-fi
+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_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[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
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$ac_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_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+ done
-# Change the module directory only for builds that don't *support* debug
-if test "$enable_debug_support" = "no"; then
- MODULEDIRNAME=directfb-$BINARY_VERSION-pure
-else
- MODULEDIRNAME=directfb-$BINARY_VERSION
-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. */
+ 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:${as_lineno-$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
-MODULEDIR=$libdir/$MODULEDIRNAME
-DATADIR=$datadir/directfb-$VERSION
-INCLUDEDIR=$includedir/directfb
-INTERNALINCLUDEDIR=$includedir/directfb-internal
+ case $ac_tag in
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
-SOPATH=$libdir/libdirectfb-$LT_RELEASE.so.$LT_CURRENT
+ 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 ||
+$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"; as_fn_mkdir_p
+ ac_builddir=.
+
+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
+ .) # We are building in place.
+ ac_srcdir=.
+ 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
+ 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
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+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:${as_lineno-$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
+# 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 || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+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
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$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;}
+
+ rm -f "$ac_tmp/stdin"
+ case $ac_file in
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
+ if test x"$ac_file" != x-; then
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f "$ac_file"
+ mv "$ac_tmp/config.h" "$ac_file" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ fi
+ else
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+ || as_fn_error $? "could not create -" "$LINENO" 5
+ fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$_am_arg" : 'X\(//\)[^/]' \| \
+ X"$_am_arg" : 'X\(//\)$' \| \
+ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ 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.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ 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
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ 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; as_fn_mkdir_p
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+ ;;
+ "libtool":C)
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# The names of the tagged configurations supported by this script.
+available_tags="CXX "
+# ### BEGIN LIBTOOL CONFIG
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+# What type of objects to build.
+pic_mode=$pic_mode
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+# An echo program that protects backslashes.
+ECHO=$lt_ECHO
+# The PATH separator for the build system.
+PATH_SEPARATOR=$lt_PATH_SEPARATOR
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+# A sed program that does not truncate output.
+SED=$lt_SED
- EXP_VAR=SYSCONFDIR
- FROM_VAR=$sysconfdir
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
- prefix_save=$prefix
- exec_prefix_save=$exec_prefix
+# A grep program that handles long lines.
+GREP=$lt_GREP
- if test "x$prefix" = "xNONE"; then
- prefix="$ac_default_prefix"
- fi
- if test "x$exec_prefix" = "xNONE"; then
- exec_prefix=$prefix
- fi
+# An ERE matcher.
+EGREP=$lt_EGREP
- full_var="$FROM_VAR"
- while true; do
- new_full_var="`eval echo $full_var`"
- if test "x$new_full_var" = "x$full_var"; then break; fi
- full_var=$new_full_var
- done
+# A literal string matcher.
+FGREP=$lt_FGREP
- full_var=$new_full_var
- SYSCONFDIR="$full_var"
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
- prefix=$prefix_save
- exec_prefix=$exec_prefix_save
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+# Object file suffix (normally "o").
+objext=$ac_objext
-CFLAGS="$CFLAGS -Werror-implicit-function-declaration"
+# Executable file suffix (normally "").
+exeext=$exeext
+# whether the shell understands "unset".
+lt_unset=$lt_unset
-ac_config_files="$ac_config_files directfb-config directfb.pc directfb-internal.pc directfb.spec Makefile include/Makefile include/directfb_version.h lib/Makefile lib/direct/Makefile lib/direct/build.h lib/direct/direct.pc lib/fusion/Makefile lib/fusion/build.h lib/fusion/fusion.pc lib/fusion/shm/Makefile lib/voodoo/Makefile lib/voodoo/build.h lib/voodoo/voodoo.pc patches/Makefile proxy/Makefile proxy/dispatcher/Makefile proxy/requestor/Makefile rules/Makefile src/Makefile src/core/Makefile src/display/Makefile src/gfx/Makefile src/gfx/generic/Makefile src/input/Makefile src/media/Makefile src/misc/Makefile src/windows/Makefile systems/Makefile systems/devmem/Makefile systems/fbdev/Makefile systems/x11/Makefile systems/osx/Makefile systems/sdl/Makefile systems/vnc/Makefile wm/Makefile wm/default/Makefile wm/unique/Makefile wm/unique/classes/Makefile wm/unique/data/Makefile wm/unique/devices/Makefile gfxdrivers/Makefile gfxdrivers/ati128/Makefile gfxdrivers/cle266/Makefile gfxdrivers/cyber5k/Makefile gfxdrivers/davinci/Makefile gfxdrivers/ep9x/Makefile gfxdrivers/gl/Makefile gfxdrivers/i810/Makefile gfxdrivers/i830/Makefile gfxdrivers/mach64/Makefile gfxdrivers/matrox/Makefile gfxdrivers/neomagic/Makefile gfxdrivers/nsc/Makefile gfxdrivers/nsc/include/Makefile gfxdrivers/nvidia/Makefile gfxdrivers/omap/Makefile gfxdrivers/pxa3xx/Makefile gfxdrivers/radeon/Makefile gfxdrivers/savage/Makefile gfxdrivers/sh772x/Makefile gfxdrivers/sis315/Makefile gfxdrivers/tdfx/Makefile gfxdrivers/unichrome/Makefile gfxdrivers/vmware/Makefile inputdrivers/Makefile inputdrivers/dbox2remote/Makefile inputdrivers/dreamboxremote/Makefile inputdrivers/dynapro/Makefile inputdrivers/elo/Makefile inputdrivers/gunze/Makefile inputdrivers/h3600_ts/Makefile inputdrivers/joystick/Makefile inputdrivers/keyboard/Makefile inputdrivers/linux_input/Makefile inputdrivers/lirc/Makefile inputdrivers/mutouch/Makefile inputdrivers/zytronic/Makefile inputdrivers/penmount/Makefile inputdrivers/ps2mouse/Makefile inputdrivers/serialmouse/Makefile inputdrivers/sonypi/Makefile inputdrivers/tslib/Makefile inputdrivers/ucb1x00_ts/Makefile inputdrivers/wm97xx_ts/Makefile interfaces/Makefile interfaces/IDirectFBFont/Makefile interfaces/IDirectFBImageProvider/Makefile interfaces/IDirectFBVideoProvider/Makefile data/Makefile tests/Makefile tools/Makefile docs/Makefile docs/dfbg.1 docs/directfb-csource.1 docs/directfbrc.5 docs/html/Makefile"
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
-ac_config_commands="$ac_config_commands default"
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
-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
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
+# convert \$build file names to \$host format.
+to_host_file_cmd=$lt_cv_to_host_file_cmd
-_ACEOF
+# convert \$build files to toolchain format.
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# 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_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- *) $as_unset $ac_var ;;
- esac ;;
- esac
- done
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
- (set) 2>&1 |
- 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 "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- 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 "$as_me:$LINENO: updating cache $cache_file" >&5
-echo "$as_me: updating cache $cache_file" >&6;}
- cat confcache >$cache_file
- else
- { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+# Command to use when deplibs_check_method = "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
-DEFS=-DHAVE_CONFIG_H
+# How to find potential files when deplibs_check_method = "file_magic".
+file_magic_glob=$lt_file_magic_glob
-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_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`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
+# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
+want_nocaseglob=$lt_want_nocaseglob
-LTLIBOBJS=$ac_ltlibobjs
+# DLL creation program.
+DLLTOOL=$lt_DLLTOOL
+# Command to associate shared and link libraries.
+sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- { { 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.
-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.
-Usually this means the macro was only invoked conditionally." >&5
-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.
-Usually this means the macro was only invoked conditionally." >&5
-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 "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCCAS\" 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.
-Usually this means the macro was only invoked conditionally." >&5
-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_MAN2HTML_TRUE}" && test -z "${HAVE_MAN2HTML_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"HAVE_MAN2HTML\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"HAVE_MAN2HTML\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${OSX_CORE_TRUE}" && test -z "${OSX_CORE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"OSX_CORE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"OSX_CORE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${X11_CORE_TRUE}" && test -z "${X11_CORE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"X11_CORE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"X11_CORE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${HAVE_LINUX_TRUE}" && test -z "${HAVE_LINUX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"HAVE_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"HAVE_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${BUILDPPCASM_TRUE}" && test -z "${BUILDPPCASM_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"BUILDPPCASM\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILDPPCASM\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${BUILDARMASM_TRUE}" && test -z "${BUILDARMASM_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"BUILDARMASM\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILDARMASM\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${ENABLE_DEBUG_TRUE}" && test -z "${ENABLE_DEBUG_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ENABLE_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ENABLE_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${ENABLE_DEBUGS_TRUE}" && test -z "${ENABLE_DEBUGS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ENABLE_DEBUGS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ENABLE_DEBUGS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${ENABLE_TRACE_TRUE}" && test -z "${ENABLE_TRACE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ENABLE_TRACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ENABLE_TRACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${ENABLE_MULTI_TRUE}" && test -z "${ENABLE_MULTI_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ENABLE_MULTI\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ENABLE_MULTI\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${ENABLE_VOODOO_TRUE}" && test -z "${ENABLE_VOODOO_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ENABLE_VOODOO\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ENABLE_VOODOO\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${ENABLE_UNIQUE_TRUE}" && test -z "${ENABLE_UNIQUE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ENABLE_UNIQUE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ENABLE_UNIQUE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${BUILDMMX_TRUE}" && test -z "${BUILDMMX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"BUILDMMX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILDMMX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${DEVMEM_CORE_TRUE}" && test -z "${DEVMEM_CORE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"DEVMEM_CORE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"DEVMEM_CORE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FBDEV_CORE_TRUE}" && test -z "${FBDEV_CORE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FBDEV_CORE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FBDEV_CORE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${SDL_CORE_TRUE}" && test -z "${SDL_CORE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"SDL_CORE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"SDL_CORE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${VNC_CORE_TRUE}" && test -z "${VNC_CORE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"VNC_CORE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"VNC_CORE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${JPEG_PROVIDER_TRUE}" && test -z "${JPEG_PROVIDER_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"JPEG_PROVIDER\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"JPEG_PROVIDER\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${PNG_PROVIDER_TRUE}" && test -z "${PNG_PROVIDER_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"PNG_PROVIDER\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"PNG_PROVIDER\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${BUILD_DIRECTFB_CSOURCE_TRUE}" && test -z "${BUILD_DIRECTFB_CSOURCE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"BUILD_DIRECTFB_CSOURCE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_DIRECTFB_CSOURCE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GIF_PROVIDER_TRUE}" && test -z "${GIF_PROVIDER_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GIF_PROVIDER\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GIF_PROVIDER\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${FREETYPE_PROVIDER_TRUE}" && test -z "${FREETYPE_PROVIDER_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"FREETYPE_PROVIDER\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"FREETYPE_PROVIDER\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${V4L_PROVIDER_TRUE}" && test -z "${V4L_PROVIDER_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"V4L_PROVIDER\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"V4L_PROVIDER\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${SOFTWARE_RENDERING_TRUE}" && test -z "${SOFTWARE_RENDERING_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"SOFTWARE_RENDERING\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"SOFTWARE_RENDERING\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_ATI128_TRUE}" && test -z "${GFX_ATI128_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_ATI128\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_ATI128\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_CLE266_TRUE}" && test -z "${GFX_CLE266_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_CLE266\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_CLE266\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_CYBER5K_TRUE}" && test -z "${GFX_CYBER5K_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_CYBER5K\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_CYBER5K\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_DAVINCI_TRUE}" && test -z "${GFX_DAVINCI_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_DAVINCI\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_DAVINCI\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_EP9X_TRUE}" && test -z "${GFX_EP9X_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_EP9X\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_EP9X\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_GL_TRUE}" && test -z "${GFX_GL_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_GL\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_GL\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_GLX_TRUE}" && test -z "${GFX_GLX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_GLX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_GLX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_I810_TRUE}" && test -z "${GFX_I810_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_I810\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_I810\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_I830_TRUE}" && test -z "${GFX_I830_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_I830\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_I830\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_MACH64_TRUE}" && test -z "${GFX_MACH64_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_MACH64\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_MACH64\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_MATROX_TRUE}" && test -z "${GFX_MATROX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_MATROX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_MATROX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_NEOMAGIC_TRUE}" && test -z "${GFX_NEOMAGIC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_NEOMAGIC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_NEOMAGIC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_NSC_TRUE}" && test -z "${GFX_NSC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_NSC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_NSC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_NVIDIA_TRUE}" && test -z "${GFX_NVIDIA_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_NVIDIA\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_NVIDIA\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_OMAP_TRUE}" && test -z "${GFX_OMAP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_OMAP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_OMAP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_PXA3XX_TRUE}" && test -z "${GFX_PXA3XX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_PXA3XX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_PXA3XX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_RADEON_TRUE}" && test -z "${GFX_RADEON_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_RADEON\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_RADEON\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_SAVAGE_TRUE}" && test -z "${GFX_SAVAGE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_SAVAGE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_SAVAGE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_SH772X_TRUE}" && test -z "${GFX_SH772X_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_SH772X\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_SH772X\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_SIS315_TRUE}" && test -z "${GFX_SIS315_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_SIS315\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_SIS315\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_TDFX_TRUE}" && test -z "${GFX_TDFX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_TDFX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_TDFX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_UNICHROME_TRUE}" && test -z "${GFX_UNICHROME_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_UNICHROME\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_UNICHROME\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GFX_VMWARE_TRUE}" && test -z "${GFX_VMWARE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GFX_VMWARE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GFX_VMWARE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${DBOX2REMOTE_TRUE}" && test -z "${DBOX2REMOTE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"DBOX2REMOTE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"DBOX2REMOTE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${DREAMBOXREMOTE_TRUE}" && test -z "${DREAMBOXREMOTE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"DREAMBOXREMOTE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"DREAMBOXREMOTE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${DYNAPRO_INPUT_TRUE}" && test -z "${DYNAPRO_INPUT_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"DYNAPRO_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"DYNAPRO_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${ELO_INPUT_TRUE}" && test -z "${ELO_INPUT_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ELO_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ELO_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GUNZE_INPUT_TRUE}" && test -z "${GUNZE_INPUT_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GUNZE_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GUNZE_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${H3600_TS_TRUE}" && test -z "${H3600_TS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"H3600_TS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"H3600_TS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${JOYSTICK_INPUT_TRUE}" && test -z "${JOYSTICK_INPUT_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"JOYSTICK_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"JOYSTICK_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${KEYBOARD_INPUT_TRUE}" && test -z "${KEYBOARD_INPUT_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"KEYBOARD_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"KEYBOARD_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${LINUX_INPUT_TRUE}" && test -z "${LINUX_INPUT_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"LINUX_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"LINUX_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${LIRC_INPUT_TRUE}" && test -z "${LIRC_INPUT_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"LIRC_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"LIRC_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${MUTOUCH_TS_TRUE}" && test -z "${MUTOUCH_TS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"MUTOUCH_TS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MUTOUCH_TS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${ZYTRONIC_TS_TRUE}" && test -z "${ZYTRONIC_TS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ZYTRONIC_TS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ZYTRONIC_TS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${PENMOUNT_TS_TRUE}" && test -z "${PENMOUNT_TS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"PENMOUNT_TS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"PENMOUNT_TS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${PS2MOUSE_INPUT_TRUE}" && test -z "${PS2MOUSE_INPUT_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"PS2MOUSE_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"PS2MOUSE_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${SERIAL_MOUSE_INPUT_TRUE}" && test -z "${SERIAL_MOUSE_INPUT_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"SERIAL_MOUSE_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"SERIAL_MOUSE_INPUT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${SONYPI_TRUE}" && test -z "${SONYPI_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"SONYPI\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"SONYPI\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${TSLIB_TRUE}" && test -z "${TSLIB_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"TSLIB\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"TSLIB\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${UCB1X00_TS_TRUE}" && test -z "${UCB1X00_TS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"UCB1X00_TS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"UCB1X00_TS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${WM97XX_TS_TRUE}" && test -z "${WM97XX_TS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"WM97XX_TS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"WM97XX_TS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${BUILD_TESTS_TRUE}" && test -z "${BUILD_TESTS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"BUILD_TESTS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_TESTS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${BUILD_TOOLS_TRUE}" && test -z "${BUILD_TOOLS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"BUILD_TOOLS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_TOOLS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${CROSS_COMPILING_TRUE}" && test -z "${CROSS_COMPILING_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"CROSS_COMPILING\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"CROSS_COMPILING\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${BUILD_SHARED_TRUE}" && test -z "${BUILD_SHARED_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"BUILD_SHARED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_SHARED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${BUILD_STATIC_TRUE}" && test -z "${BUILD_STATIC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"BUILD_STATIC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_STATIC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
+# The archiver.
+AR=$lt_AR
+
+# Flags to create an archive.
+AR_FLAGS=$lt_AR_FLAGS
-: ${CONFIG_STATUS=./config.status}
-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
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
+# How to feed a file listing to the archiver.
+archiver_list_spec=$lt_archiver_list_spec
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
+# A symbol stripping program.
+STRIP=$lt_STRIP
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
-# 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
- # 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
+# Whether to use a lock for old archive extraction.
+lock_old_archive_extraction=$lock_old_archive_extraction
-fi
+# A C compiler.
+LTCC=$lt_CC
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-# 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
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-# 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
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
+# Specify filename containing input files for \$NM.
+nm_file_list_spec=$lt_nm_file_list_spec
+# The root where to search for dependent libraries,and in which our libraries should be installed.
+lt_sysroot=$lt_sysroot
-# 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.)
-as_nl='
-'
-IFS=" "" $as_nl"
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
-# 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
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
- ;;
-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_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
-fi
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
+# Manifest tool.
+MANIFEST_TOOL=$lt_MANIFEST_TOOL
-# 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) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
-# Name of the executable.
-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'`
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
-# CDPATH.
-$as_unset CDPATH
+# Old archive suffix (normally "a").
+libext=$libext
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
- 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" || {
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
- # 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 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
- # 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
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- 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
- { (exit 1); exit 1; }; }
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
- # 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 sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
+# Do we need a version for libraries?
+need_version=$need_version
+# Library versioning type.
+version_type=$version_type
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
+# Shared library runtime path variable.
+runpath_var=$runpath_var
-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
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-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
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
-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
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
-# 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'"
+# Permission mode override for installation of shared libraries.
+install_override_mode=$lt_install_override_mode
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
-exec 6>&1
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
-# 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.
-ac_log="
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.61. Invocation command line was
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
-_ACEOF
+# A language specific compiler.
+CC=$lt_compiler
-cat >>$CONFIG_STATUS <<_ACEOF
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
-_ACEOF
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-cat >>$CONFIG_STATUS <<\_ACEOF
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
-Usage: $0 [OPTIONS] [FILE]...
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
- -h, --help print this help, 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
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
-Configuration files:
-$config_files
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-Configuration headers:
-$config_headers
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
-Configuration commands:
-$config_commands
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-Report bugs to <bug-autoconf at gnu.org>."
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.61,
- with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
-Copyright (C) 2006 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-_ACEOF
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-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.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- echo "$ac_cs_version"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- { 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 ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
- # This is an error.
- -*) { echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; } ;;
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
- *) ac_config_targets="$ac_config_targets $1"
- ac_need_defaults=false ;;
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
- esac
- shift
-done
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
-ac_configure_extra_args=
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-if \$ac_cs_recheck; then
- echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- CONFIG_SHELL=$SHELL
- export CONFIG_SHELL
- exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- echo "$ac_log"
-} >&5
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
-_ACEOF
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
-cat >>$CONFIG_STATUS <<\_ACEOF
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "directfb-config") CONFIG_FILES="$CONFIG_FILES directfb-config" ;;
- "directfb.pc") CONFIG_FILES="$CONFIG_FILES directfb.pc" ;;
- "directfb-internal.pc") CONFIG_FILES="$CONFIG_FILES directfb-internal.pc" ;;
- "directfb.spec") CONFIG_FILES="$CONFIG_FILES directfb.spec" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/directfb_version.h") CONFIG_FILES="$CONFIG_FILES include/directfb_version.h" ;;
- "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
- "lib/direct/Makefile") CONFIG_FILES="$CONFIG_FILES lib/direct/Makefile" ;;
- "lib/direct/build.h") CONFIG_FILES="$CONFIG_FILES lib/direct/build.h" ;;
- "lib/direct/direct.pc") CONFIG_FILES="$CONFIG_FILES lib/direct/direct.pc" ;;
- "lib/fusion/Makefile") CONFIG_FILES="$CONFIG_FILES lib/fusion/Makefile" ;;
- "lib/fusion/build.h") CONFIG_FILES="$CONFIG_FILES lib/fusion/build.h" ;;
- "lib/fusion/fusion.pc") CONFIG_FILES="$CONFIG_FILES lib/fusion/fusion.pc" ;;
- "lib/fusion/shm/Makefile") CONFIG_FILES="$CONFIG_FILES lib/fusion/shm/Makefile" ;;
- "lib/voodoo/Makefile") CONFIG_FILES="$CONFIG_FILES lib/voodoo/Makefile" ;;
- "lib/voodoo/build.h") CONFIG_FILES="$CONFIG_FILES lib/voodoo/build.h" ;;
- "lib/voodoo/voodoo.pc") CONFIG_FILES="$CONFIG_FILES lib/voodoo/voodoo.pc" ;;
- "patches/Makefile") CONFIG_FILES="$CONFIG_FILES patches/Makefile" ;;
- "proxy/Makefile") CONFIG_FILES="$CONFIG_FILES proxy/Makefile" ;;
- "proxy/dispatcher/Makefile") CONFIG_FILES="$CONFIG_FILES proxy/dispatcher/Makefile" ;;
- "proxy/requestor/Makefile") CONFIG_FILES="$CONFIG_FILES proxy/requestor/Makefile" ;;
- "rules/Makefile") CONFIG_FILES="$CONFIG_FILES rules/Makefile" ;;
- "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
- "src/core/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/Makefile" ;;
- "src/display/Makefile") CONFIG_FILES="$CONFIG_FILES src/display/Makefile" ;;
- "src/gfx/Makefile") CONFIG_FILES="$CONFIG_FILES src/gfx/Makefile" ;;
- "src/gfx/generic/Makefile") CONFIG_FILES="$CONFIG_FILES src/gfx/generic/Makefile" ;;
- "src/input/Makefile") CONFIG_FILES="$CONFIG_FILES src/input/Makefile" ;;
- "src/media/Makefile") CONFIG_FILES="$CONFIG_FILES src/media/Makefile" ;;
- "src/misc/Makefile") CONFIG_FILES="$CONFIG_FILES src/misc/Makefile" ;;
- "src/windows/Makefile") CONFIG_FILES="$CONFIG_FILES src/windows/Makefile" ;;
- "systems/Makefile") CONFIG_FILES="$CONFIG_FILES systems/Makefile" ;;
- "systems/devmem/Makefile") CONFIG_FILES="$CONFIG_FILES systems/devmem/Makefile" ;;
- "systems/fbdev/Makefile") CONFIG_FILES="$CONFIG_FILES systems/fbdev/Makefile" ;;
- "systems/x11/Makefile") CONFIG_FILES="$CONFIG_FILES systems/x11/Makefile" ;;
- "systems/osx/Makefile") CONFIG_FILES="$CONFIG_FILES systems/osx/Makefile" ;;
- "systems/sdl/Makefile") CONFIG_FILES="$CONFIG_FILES systems/sdl/Makefile" ;;
- "systems/vnc/Makefile") CONFIG_FILES="$CONFIG_FILES systems/vnc/Makefile" ;;
- "wm/Makefile") CONFIG_FILES="$CONFIG_FILES wm/Makefile" ;;
- "wm/default/Makefile") CONFIG_FILES="$CONFIG_FILES wm/default/Makefile" ;;
- "wm/unique/Makefile") CONFIG_FILES="$CONFIG_FILES wm/unique/Makefile" ;;
- "wm/unique/classes/Makefile") CONFIG_FILES="$CONFIG_FILES wm/unique/classes/Makefile" ;;
- "wm/unique/data/Makefile") CONFIG_FILES="$CONFIG_FILES wm/unique/data/Makefile" ;;
- "wm/unique/devices/Makefile") CONFIG_FILES="$CONFIG_FILES wm/unique/devices/Makefile" ;;
- "gfxdrivers/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/Makefile" ;;
- "gfxdrivers/ati128/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/ati128/Makefile" ;;
- "gfxdrivers/cle266/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/cle266/Makefile" ;;
- "gfxdrivers/cyber5k/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/cyber5k/Makefile" ;;
- "gfxdrivers/davinci/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/davinci/Makefile" ;;
- "gfxdrivers/ep9x/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/ep9x/Makefile" ;;
- "gfxdrivers/gl/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/gl/Makefile" ;;
- "gfxdrivers/i810/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/i810/Makefile" ;;
- "gfxdrivers/i830/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/i830/Makefile" ;;
- "gfxdrivers/mach64/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/mach64/Makefile" ;;
- "gfxdrivers/matrox/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/matrox/Makefile" ;;
- "gfxdrivers/neomagic/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/neomagic/Makefile" ;;
- "gfxdrivers/nsc/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/nsc/Makefile" ;;
- "gfxdrivers/nsc/include/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/nsc/include/Makefile" ;;
- "gfxdrivers/nvidia/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/nvidia/Makefile" ;;
- "gfxdrivers/omap/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/omap/Makefile" ;;
- "gfxdrivers/pxa3xx/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/pxa3xx/Makefile" ;;
- "gfxdrivers/radeon/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/radeon/Makefile" ;;
- "gfxdrivers/savage/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/savage/Makefile" ;;
- "gfxdrivers/sh772x/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/sh772x/Makefile" ;;
- "gfxdrivers/sis315/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/sis315/Makefile" ;;
- "gfxdrivers/tdfx/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/tdfx/Makefile" ;;
- "gfxdrivers/unichrome/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/unichrome/Makefile" ;;
- "gfxdrivers/vmware/Makefile") CONFIG_FILES="$CONFIG_FILES gfxdrivers/vmware/Makefile" ;;
- "inputdrivers/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/Makefile" ;;
- "inputdrivers/dbox2remote/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/dbox2remote/Makefile" ;;
- "inputdrivers/dreamboxremote/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/dreamboxremote/Makefile" ;;
- "inputdrivers/dynapro/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/dynapro/Makefile" ;;
- "inputdrivers/elo/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/elo/Makefile" ;;
- "inputdrivers/gunze/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/gunze/Makefile" ;;
- "inputdrivers/h3600_ts/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/h3600_ts/Makefile" ;;
- "inputdrivers/joystick/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/joystick/Makefile" ;;
- "inputdrivers/keyboard/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/keyboard/Makefile" ;;
- "inputdrivers/linux_input/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/linux_input/Makefile" ;;
- "inputdrivers/lirc/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/lirc/Makefile" ;;
- "inputdrivers/mutouch/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/mutouch/Makefile" ;;
- "inputdrivers/zytronic/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/zytronic/Makefile" ;;
- "inputdrivers/penmount/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/penmount/Makefile" ;;
- "inputdrivers/ps2mouse/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/ps2mouse/Makefile" ;;
- "inputdrivers/serialmouse/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/serialmouse/Makefile" ;;
- "inputdrivers/sonypi/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/sonypi/Makefile" ;;
- "inputdrivers/tslib/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/tslib/Makefile" ;;
- "inputdrivers/ucb1x00_ts/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/ucb1x00_ts/Makefile" ;;
- "inputdrivers/wm97xx_ts/Makefile") CONFIG_FILES="$CONFIG_FILES inputdrivers/wm97xx_ts/Makefile" ;;
- "interfaces/Makefile") CONFIG_FILES="$CONFIG_FILES interfaces/Makefile" ;;
- "interfaces/IDirectFBFont/Makefile") CONFIG_FILES="$CONFIG_FILES interfaces/IDirectFBFont/Makefile" ;;
- "interfaces/IDirectFBImageProvider/Makefile") CONFIG_FILES="$CONFIG_FILES interfaces/IDirectFBImageProvider/Makefile" ;;
- "interfaces/IDirectFBVideoProvider/Makefile") CONFIG_FILES="$CONFIG_FILES interfaces/IDirectFBVideoProvider/Makefile" ;;
- "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;;
- "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
- "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
- "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
- "docs/dfbg.1") CONFIG_FILES="$CONFIG_FILES docs/dfbg.1" ;;
- "docs/directfb-csource.1") CONFIG_FILES="$CONFIG_FILES docs/directfb-csource.1" ;;
- "docs/directfbrc.5") CONFIG_FILES="$CONFIG_FILES docs/directfbrc.5" ;;
- "docs/html/Makefile") CONFIG_FILES="$CONFIG_FILES docs/html/Makefile" ;;
- "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
-# 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
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# 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 ||
-{
- 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.
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} ||
-{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
-#
-# Set up the sed scripts for CONFIG_FILES section.
-#
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
-# 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
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds
-_ACEOF
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-SHELL!$SHELL$ac_delim
-PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-exec_prefix!$exec_prefix$ac_delim
-prefix!$prefix$ac_delim
-program_transform_name!$program_transform_name$ac_delim
-bindir!$bindir$ac_delim
-sbindir!$sbindir$ac_delim
-libexecdir!$libexecdir$ac_delim
-datarootdir!$datarootdir$ac_delim
-datadir!$datadir$ac_delim
-sysconfdir!$sysconfdir$ac_delim
-sharedstatedir!$sharedstatedir$ac_delim
-localstatedir!$localstatedir$ac_delim
-includedir!$includedir$ac_delim
-oldincludedir!$oldincludedir$ac_delim
-docdir!$docdir$ac_delim
-infodir!$infodir$ac_delim
-htmldir!$htmldir$ac_delim
-dvidir!$dvidir$ac_delim
-pdfdir!$pdfdir$ac_delim
-psdir!$psdir$ac_delim
-libdir!$libdir$ac_delim
-localedir!$localedir$ac_delim
-mandir!$mandir$ac_delim
-DEFS!$DEFS$ac_delim
-ECHO_C!$ECHO_C$ac_delim
-ECHO_N!$ECHO_N$ac_delim
-ECHO_T!$ECHO_T$ac_delim
-LIBS!$LIBS$ac_delim
-build_alias!$build_alias$ac_delim
-host_alias!$host_alias$ac_delim
-target_alias!$target_alias$ac_delim
-DIRECTFB_MAJOR_VERSION!$DIRECTFB_MAJOR_VERSION$ac_delim
-DIRECTFB_MINOR_VERSION!$DIRECTFB_MINOR_VERSION$ac_delim
-DIRECTFB_MICRO_VERSION!$DIRECTFB_MICRO_VERSION$ac_delim
-DIRECTFB_INTERFACE_AGE!$DIRECTFB_INTERFACE_AGE$ac_delim
-DIRECTFB_BINARY_AGE!$DIRECTFB_BINARY_AGE$ac_delim
-DIRECTFB_VERSION!$DIRECTFB_VERSION$ac_delim
-LT_RELEASE!$LT_RELEASE$ac_delim
-LT_CURRENT!$LT_CURRENT$ac_delim
-LT_BINARY!$LT_BINARY$ac_delim
-LT_REVISION!$LT_REVISION$ac_delim
-LT_AGE!$LT_AGE$ac_delim
-build!$build$ac_delim
-build_cpu!$build_cpu$ac_delim
-build_vendor!$build_vendor$ac_delim
-build_os!$build_os$ac_delim
-host!$host$ac_delim
-host_cpu!$host_cpu$ac_delim
-host_vendor!$host_vendor$ac_delim
-host_os!$host_os$ac_delim
-target!$target$ac_delim
-target_cpu!$target_cpu$ac_delim
-target_vendor!$target_vendor$ac_delim
-target_os!$target_os$ac_delim
-INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-INSTALL_DATA!$INSTALL_DATA$ac_delim
-am__isrc!$am__isrc$ac_delim
-CYGPATH_W!$CYGPATH_W$ac_delim
-PACKAGE!$PACKAGE$ac_delim
-VERSION!$VERSION$ac_delim
-ACLOCAL!$ACLOCAL$ac_delim
-AUTOCONF!$AUTOCONF$ac_delim
-AUTOMAKE!$AUTOMAKE$ac_delim
-AUTOHEADER!$AUTOHEADER$ac_delim
-MAKEINFO!$MAKEINFO$ac_delim
-install_sh!$install_sh$ac_delim
-STRIP!$STRIP$ac_delim
-INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
-mkdir_p!$mkdir_p$ac_delim
-AWK!$AWK$ac_delim
-SET_MAKE!$SET_MAKE$ac_delim
-am__leading_dot!$am__leading_dot$ac_delim
-AMTAR!$AMTAR$ac_delim
-am__tar!$am__tar$ac_delim
-am__untar!$am__untar$ac_delim
-PKG_CONFIG!$PKG_CONFIG$ac_delim
-MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
-MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
-MAINT!$MAINT$ac_delim
-CC!$CC$ac_delim
-CFLAGS!$CFLAGS$ac_delim
-LDFLAGS!$LDFLAGS$ac_delim
-CPPFLAGS!$CPPFLAGS$ac_delim
-ac_ct_CC!$ac_ct_CC$ac_delim
-EXEEXT!$EXEEXT$ac_delim
-OBJEXT!$OBJEXT$ac_delim
-DEPDIR!$DEPDIR$ac_delim
-am__include!$am__include$ac_delim
-am__quote!$am__quote$ac_delim
-AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-_ACEOF
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects
+postdep_objects=$lt_postdep_objects
+predeps=$lt_predeps
+postdeps=$lt_postdeps
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-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
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
fi
+_LT_EOF
+ ;;
+ esac
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-CEOF$ac_eof
-_ACEOF
+ltmain="$ac_aux_dir/ltmain.sh"
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-CCDEPMODE!$CCDEPMODE$ac_delim
-am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-CCAS!$CCAS$ac_delim
-CCASFLAGS!$CCASFLAGS$ac_delim
-CCASDEPMODE!$CCASDEPMODE$ac_delim
-am__fastdepCCAS_TRUE!$am__fastdepCCAS_TRUE$ac_delim
-am__fastdepCCAS_FALSE!$am__fastdepCCAS_FALSE$ac_delim
-SED!$SED$ac_delim
-GREP!$GREP$ac_delim
-EGREP!$EGREP$ac_delim
-LN_S!$LN_S$ac_delim
-ECHO!$ECHO$ac_delim
-AR!$AR$ac_delim
-RANLIB!$RANLIB$ac_delim
-DSYMUTIL!$DSYMUTIL$ac_delim
-NMEDIT!$NMEDIT$ac_delim
-CPP!$CPP$ac_delim
-CXX!$CXX$ac_delim
-CXXFLAGS!$CXXFLAGS$ac_delim
-ac_ct_CXX!$ac_ct_CXX$ac_delim
-CXXDEPMODE!$CXXDEPMODE$ac_delim
-am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
-am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
-CXXCPP!$CXXCPP$ac_delim
-F77!$F77$ac_delim
-FFLAGS!$FFLAGS$ac_delim
-ac_ct_F77!$ac_ct_F77$ac_delim
-LIBTOOL!$LIBTOOL$ac_delim
-LD!$LD$ac_delim
-PERL!$PERL$ac_delim
-MAN2HTML!$MAN2HTML$ac_delim
-HAVE_MAN2HTML_TRUE!$HAVE_MAN2HTML_TRUE$ac_delim
-HAVE_MAN2HTML_FALSE!$HAVE_MAN2HTML_FALSE$ac_delim
-OSX_CORE_TRUE!$OSX_CORE_TRUE$ac_delim
-OSX_CORE_FALSE!$OSX_CORE_FALSE$ac_delim
-X11_CORE_TRUE!$X11_CORE_TRUE$ac_delim
-X11_CORE_FALSE!$X11_CORE_FALSE$ac_delim
-HAVE_LINUX_TRUE!$HAVE_LINUX_TRUE$ac_delim
-HAVE_LINUX_FALSE!$HAVE_LINUX_FALSE$ac_delim
-BUILDPPCASM_TRUE!$BUILDPPCASM_TRUE$ac_delim
-BUILDPPCASM_FALSE!$BUILDPPCASM_FALSE$ac_delim
-BUILDARMASM_TRUE!$BUILDARMASM_TRUE$ac_delim
-BUILDARMASM_FALSE!$BUILDARMASM_FALSE$ac_delim
-THREADFLAGS!$THREADFLAGS$ac_delim
-THREADLIB!$THREADLIB$ac_delim
-DYNLIB!$DYNLIB$ac_delim
-AS!$AS$ac_delim
-ASFLAGS!$ASFLAGS$ac_delim
-ENABLE_DEBUG_TRUE!$ENABLE_DEBUG_TRUE$ac_delim
-ENABLE_DEBUG_FALSE!$ENABLE_DEBUG_FALSE$ac_delim
-DIRECT_BUILD_DEBUG!$DIRECT_BUILD_DEBUG$ac_delim
-ENABLE_DEBUGS_TRUE!$ENABLE_DEBUGS_TRUE$ac_delim
-ENABLE_DEBUGS_FALSE!$ENABLE_DEBUGS_FALSE$ac_delim
-DIRECT_BUILD_DEBUGS!$DIRECT_BUILD_DEBUGS$ac_delim
-ENABLE_TRACE_TRUE!$ENABLE_TRACE_TRUE$ac_delim
-ENABLE_TRACE_FALSE!$ENABLE_TRACE_FALSE$ac_delim
-DIRECT_BUILD_TRACE!$DIRECT_BUILD_TRACE$ac_delim
-DIRECT_BUILD_TEXT!$DIRECT_BUILD_TEXT$ac_delim
-DIRECT_BUILD_GETTID!$DIRECT_BUILD_GETTID$ac_delim
-DIRECT_BUILD_NETWORK!$DIRECT_BUILD_NETWORK$ac_delim
-DIRECT_BUILD_STDBOOL!$DIRECT_BUILD_STDBOOL$ac_delim
-ENABLE_MULTI_TRUE!$ENABLE_MULTI_TRUE$ac_delim
-ENABLE_MULTI_FALSE!$ENABLE_MULTI_FALSE$ac_delim
-FUSION_BUILD_MULTI!$FUSION_BUILD_MULTI$ac_delim
-FUSION_BUILD_KERNEL!$FUSION_BUILD_KERNEL$ac_delim
-ENABLE_VOODOO_TRUE!$ENABLE_VOODOO_TRUE$ac_delim
-ENABLE_VOODOO_FALSE!$ENABLE_VOODOO_FALSE$ac_delim
-ENABLE_UNIQUE_TRUE!$ENABLE_UNIQUE_TRUE$ac_delim
-ENABLE_UNIQUE_FALSE!$ENABLE_UNIQUE_FALSE$ac_delim
-BUILDMMX_TRUE!$BUILDMMX_TRUE$ac_delim
-BUILDMMX_FALSE!$BUILDMMX_FALSE$ac_delim
-DEVMEM_CORE_TRUE!$DEVMEM_CORE_TRUE$ac_delim
-DEVMEM_CORE_FALSE!$DEVMEM_CORE_FALSE$ac_delim
-FBDEV_CORE_TRUE!$FBDEV_CORE_TRUE$ac_delim
-FBDEV_CORE_FALSE!$FBDEV_CORE_FALSE$ac_delim
-SDL_CFLAGS!$SDL_CFLAGS$ac_delim
-SDL_LIBS!$SDL_LIBS$ac_delim
-OSX_LIBS!$OSX_LIBS$ac_delim
-SDL_CORE_TRUE!$SDL_CORE_TRUE$ac_delim
-SDL_CORE_FALSE!$SDL_CORE_FALSE$ac_delim
-VNC_CONFIG!$VNC_CONFIG$ac_delim
-VNC_CORE_TRUE!$VNC_CORE_TRUE$ac_delim
-VNC_CORE_FALSE!$VNC_CORE_FALSE$ac_delim
-VNC_LIBS!$VNC_LIBS$ac_delim
-VNC_CFLAGS!$VNC_CFLAGS$ac_delim
-SYSFS_LIBS!$SYSFS_LIBS$ac_delim
-JPEG_PROVIDER_TRUE!$JPEG_PROVIDER_TRUE$ac_delim
-JPEG_PROVIDER_FALSE!$JPEG_PROVIDER_FALSE$ac_delim
-ZLIB_LIBS!$ZLIB_LIBS$ac_delim
-LIBPNG_CONFIG!$LIBPNG_CONFIG$ac_delim
-PNG_PROVIDER_TRUE!$PNG_PROVIDER_TRUE$ac_delim
-PNG_PROVIDER_FALSE!$PNG_PROVIDER_FALSE$ac_delim
-BUILD_DIRECTFB_CSOURCE_TRUE!$BUILD_DIRECTFB_CSOURCE_TRUE$ac_delim
-BUILD_DIRECTFB_CSOURCE_FALSE!$BUILD_DIRECTFB_CSOURCE_FALSE$ac_delim
-_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-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
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ if test x"$xsi_shell" = xyes; then
+ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
+func_dirname ()\
+{\
+\ case ${1} in\
+\ */*) func_dirname_result="${1%/*}${2}" ;;\
+\ * ) func_dirname_result="${3}" ;;\
+\ esac\
+} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_basename ()$/,/^} # func_basename /c\
+func_basename ()\
+{\
+\ func_basename_result="${1##*/}"\
+} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
+func_dirname_and_basename ()\
+{\
+\ case ${1} in\
+\ */*) func_dirname_result="${1%/*}${2}" ;;\
+\ * ) func_dirname_result="${3}" ;;\
+\ esac\
+\ func_basename_result="${1##*/}"\
+} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
+func_stripname ()\
+{\
+\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
+\ # positional parameters, so assign one to ordinary parameter first.\
+\ func_stripname_result=${3}\
+\ func_stripname_result=${func_stripname_result#"${1}"}\
+\ func_stripname_result=${func_stripname_result%"${2}"}\
+} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
+func_split_long_opt ()\
+{\
+\ func_split_long_opt_name=${1%%=*}\
+\ func_split_long_opt_arg=${1#*=}\
+} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
+func_split_short_opt ()\
+{\
+\ func_split_short_opt_arg=${1#??}\
+\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
+} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
+func_lo2o ()\
+{\
+\ case ${1} in\
+\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
+\ *) func_lo2o_result=${1} ;;\
+\ esac\
+} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_xform ()$/,/^} # func_xform /c\
+func_xform ()\
+{\
+ func_xform_result=${1%.*}.lo\
+} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_arith ()$/,/^} # func_arith /c\
+func_arith ()\
+{\
+ func_arith_result=$(( $* ))\
+} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_len ()$/,/^} # func_len /c\
+func_len ()\
+{\
+ func_len_result=${#1}\
+} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+fi
+
+if test x"$lt_shell_append" = xyes; then
+ sed -e '/^func_append ()$/,/^} # func_append /c\
+func_append ()\
+{\
+ eval "${1}+=\\${2}"\
+} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
+func_append_quoted ()\
+{\
+\ func_quote_for_eval "${2}"\
+\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
+} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ # Save a `func_append' function call where possible by direct use of '+='
+ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+else
+ # Save a `func_append' function call even when '+=' is not available
+ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+fi
+
+if test x"$_lt_function_replace_fail" = x":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
+fi
+
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
-fi
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-CEOF$ac_eof
-_ACEOF
+ cat <<_LT_EOF >> "$ofile"
+# ### BEGIN LIBTOOL TAG CONFIG: CXX
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-GIF_PROVIDER_TRUE!$GIF_PROVIDER_TRUE$ac_delim
-GIF_PROVIDER_FALSE!$GIF_PROVIDER_FALSE$ac_delim
-FREETYPE_CFLAGS!$FREETYPE_CFLAGS$ac_delim
-FREETYPE_LIBS!$FREETYPE_LIBS$ac_delim
-FREETYPE_PROVIDER_TRUE!$FREETYPE_PROVIDER_TRUE$ac_delim
-FREETYPE_PROVIDER_FALSE!$FREETYPE_PROVIDER_FALSE$ac_delim
-V4L_PROVIDER_TRUE!$V4L_PROVIDER_TRUE$ac_delim
-V4L_PROVIDER_FALSE!$V4L_PROVIDER_FALSE$ac_delim
-TSLIB_CFLAGS!$TSLIB_CFLAGS$ac_delim
-TSLIB_LIBS!$TSLIB_LIBS$ac_delim
-SOFTWARE_RENDERING_TRUE!$SOFTWARE_RENDERING_TRUE$ac_delim
-SOFTWARE_RENDERING_FALSE!$SOFTWARE_RENDERING_FALSE$ac_delim
-DFB_SMOOTH_SCALING!$DFB_SMOOTH_SCALING$ac_delim
-FUSION_MESSAGE_SIZE!$FUSION_MESSAGE_SIZE$ac_delim
-RUNTIME_SYSROOT!$RUNTIME_SYSROOT$ac_delim
-DIRECTFB_CSOURCE!$DIRECTFB_CSOURCE$ac_delim
-GFX_ATI128_TRUE!$GFX_ATI128_TRUE$ac_delim
-GFX_ATI128_FALSE!$GFX_ATI128_FALSE$ac_delim
-GFX_CLE266_TRUE!$GFX_CLE266_TRUE$ac_delim
-GFX_CLE266_FALSE!$GFX_CLE266_FALSE$ac_delim
-GFX_CYBER5K_TRUE!$GFX_CYBER5K_TRUE$ac_delim
-GFX_CYBER5K_FALSE!$GFX_CYBER5K_FALSE$ac_delim
-GFX_DAVINCI_TRUE!$GFX_DAVINCI_TRUE$ac_delim
-GFX_DAVINCI_FALSE!$GFX_DAVINCI_FALSE$ac_delim
-GFX_EP9X_TRUE!$GFX_EP9X_TRUE$ac_delim
-GFX_EP9X_FALSE!$GFX_EP9X_FALSE$ac_delim
-GFX_GL_TRUE!$GFX_GL_TRUE$ac_delim
-GFX_GL_FALSE!$GFX_GL_FALSE$ac_delim
-GFX_GLX_TRUE!$GFX_GLX_TRUE$ac_delim
-GFX_GLX_FALSE!$GFX_GLX_FALSE$ac_delim
-GFX_I810_TRUE!$GFX_I810_TRUE$ac_delim
-GFX_I810_FALSE!$GFX_I810_FALSE$ac_delim
-GFX_I830_TRUE!$GFX_I830_TRUE$ac_delim
-GFX_I830_FALSE!$GFX_I830_FALSE$ac_delim
-GFX_MACH64_TRUE!$GFX_MACH64_TRUE$ac_delim
-GFX_MACH64_FALSE!$GFX_MACH64_FALSE$ac_delim
-GFX_MATROX_TRUE!$GFX_MATROX_TRUE$ac_delim
-GFX_MATROX_FALSE!$GFX_MATROX_FALSE$ac_delim
-GFX_NEOMAGIC_TRUE!$GFX_NEOMAGIC_TRUE$ac_delim
-GFX_NEOMAGIC_FALSE!$GFX_NEOMAGIC_FALSE$ac_delim
-GFX_NSC_TRUE!$GFX_NSC_TRUE$ac_delim
-GFX_NSC_FALSE!$GFX_NSC_FALSE$ac_delim
-GFX_NVIDIA_TRUE!$GFX_NVIDIA_TRUE$ac_delim
-GFX_NVIDIA_FALSE!$GFX_NVIDIA_FALSE$ac_delim
-GFX_OMAP_TRUE!$GFX_OMAP_TRUE$ac_delim
-GFX_OMAP_FALSE!$GFX_OMAP_FALSE$ac_delim
-GFX_PXA3XX_TRUE!$GFX_PXA3XX_TRUE$ac_delim
-GFX_PXA3XX_FALSE!$GFX_PXA3XX_FALSE$ac_delim
-GFX_RADEON_TRUE!$GFX_RADEON_TRUE$ac_delim
-GFX_RADEON_FALSE!$GFX_RADEON_FALSE$ac_delim
-GFX_SAVAGE_TRUE!$GFX_SAVAGE_TRUE$ac_delim
-GFX_SAVAGE_FALSE!$GFX_SAVAGE_FALSE$ac_delim
-GFX_SH772X_TRUE!$GFX_SH772X_TRUE$ac_delim
-GFX_SH772X_FALSE!$GFX_SH772X_FALSE$ac_delim
-GFX_SIS315_TRUE!$GFX_SIS315_TRUE$ac_delim
-GFX_SIS315_FALSE!$GFX_SIS315_FALSE$ac_delim
-GFX_TDFX_TRUE!$GFX_TDFX_TRUE$ac_delim
-GFX_TDFX_FALSE!$GFX_TDFX_FALSE$ac_delim
-GFX_UNICHROME_TRUE!$GFX_UNICHROME_TRUE$ac_delim
-GFX_UNICHROME_FALSE!$GFX_UNICHROME_FALSE$ac_delim
-GFX_VMWARE_TRUE!$GFX_VMWARE_TRUE$ac_delim
-GFX_VMWARE_FALSE!$GFX_VMWARE_FALSE$ac_delim
-DBOX2REMOTE_TRUE!$DBOX2REMOTE_TRUE$ac_delim
-DBOX2REMOTE_FALSE!$DBOX2REMOTE_FALSE$ac_delim
-DREAMBOXREMOTE_TRUE!$DREAMBOXREMOTE_TRUE$ac_delim
-DREAMBOXREMOTE_FALSE!$DREAMBOXREMOTE_FALSE$ac_delim
-DYNAPRO_INPUT_TRUE!$DYNAPRO_INPUT_TRUE$ac_delim
-DYNAPRO_INPUT_FALSE!$DYNAPRO_INPUT_FALSE$ac_delim
-ELO_INPUT_TRUE!$ELO_INPUT_TRUE$ac_delim
-ELO_INPUT_FALSE!$ELO_INPUT_FALSE$ac_delim
-GUNZE_INPUT_TRUE!$GUNZE_INPUT_TRUE$ac_delim
-GUNZE_INPUT_FALSE!$GUNZE_INPUT_FALSE$ac_delim
-H3600_TS_TRUE!$H3600_TS_TRUE$ac_delim
-H3600_TS_FALSE!$H3600_TS_FALSE$ac_delim
-JOYSTICK_INPUT_TRUE!$JOYSTICK_INPUT_TRUE$ac_delim
-JOYSTICK_INPUT_FALSE!$JOYSTICK_INPUT_FALSE$ac_delim
-KEYBOARD_INPUT_TRUE!$KEYBOARD_INPUT_TRUE$ac_delim
-KEYBOARD_INPUT_FALSE!$KEYBOARD_INPUT_FALSE$ac_delim
-LINUX_INPUT_TRUE!$LINUX_INPUT_TRUE$ac_delim
-LINUX_INPUT_FALSE!$LINUX_INPUT_FALSE$ac_delim
-LIRC_INPUT_TRUE!$LIRC_INPUT_TRUE$ac_delim
-LIRC_INPUT_FALSE!$LIRC_INPUT_FALSE$ac_delim
-MUTOUCH_TS_TRUE!$MUTOUCH_TS_TRUE$ac_delim
-MUTOUCH_TS_FALSE!$MUTOUCH_TS_FALSE$ac_delim
-ZYTRONIC_TS_TRUE!$ZYTRONIC_TS_TRUE$ac_delim
-ZYTRONIC_TS_FALSE!$ZYTRONIC_TS_FALSE$ac_delim
-PENMOUNT_TS_TRUE!$PENMOUNT_TS_TRUE$ac_delim
-PENMOUNT_TS_FALSE!$PENMOUNT_TS_FALSE$ac_delim
-PS2MOUSE_INPUT_TRUE!$PS2MOUSE_INPUT_TRUE$ac_delim
-PS2MOUSE_INPUT_FALSE!$PS2MOUSE_INPUT_FALSE$ac_delim
-SERIAL_MOUSE_INPUT_TRUE!$SERIAL_MOUSE_INPUT_TRUE$ac_delim
-SERIAL_MOUSE_INPUT_FALSE!$SERIAL_MOUSE_INPUT_FALSE$ac_delim
-SONYPI_TRUE!$SONYPI_TRUE$ac_delim
-SONYPI_FALSE!$SONYPI_FALSE$ac_delim
-TSLIB_TRUE!$TSLIB_TRUE$ac_delim
-TSLIB_FALSE!$TSLIB_FALSE$ac_delim
-UCB1X00_TS_TRUE!$UCB1X00_TS_TRUE$ac_delim
-_ACEOF
+# The linker used to build libraries.
+LD=$lt_LD_CXX
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-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
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag_CXX
+reload_cmds=$lt_reload_cmds_CXX
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
-fi
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds_CXX
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-CEOF$ac_eof
-_ACEOF
+# A language specific compiler.
+CC=$lt_compiler_CXX
+# Is the compiler the GNU compiler?
+with_gcc=$GCC_CXX
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-UCB1X00_TS_FALSE!$UCB1X00_TS_FALSE$ac_delim
-WM97XX_TS_TRUE!$WM97XX_TS_TRUE$ac_delim
-WM97XX_TS_FALSE!$WM97XX_TS_FALSE$ac_delim
-BUILD_TESTS_TRUE!$BUILD_TESTS_TRUE$ac_delim
-BUILD_TESTS_FALSE!$BUILD_TESTS_FALSE$ac_delim
-BUILD_TOOLS_TRUE!$BUILD_TOOLS_TRUE$ac_delim
-BUILD_TOOLS_FALSE!$BUILD_TOOLS_FALSE$ac_delim
-CROSS_COMPILING_TRUE!$CROSS_COMPILING_TRUE$ac_delim
-CROSS_COMPILING_FALSE!$CROSS_COMPILING_FALSE$ac_delim
-BUILD_SHARED_TRUE!$BUILD_SHARED_TRUE$ac_delim
-BUILD_SHARED_FALSE!$BUILD_SHARED_FALSE$ac_delim
-BUILD_STATIC_TRUE!$BUILD_STATIC_TRUE$ac_delim
-BUILD_STATIC_FALSE!$BUILD_STATIC_FALSE$ac_delim
-SOPATH!$SOPATH$ac_delim
-HAVE_LINUX!$HAVE_LINUX$ac_delim
-DFB_CFLAGS_OMIT_FRAME_POINTER!$DFB_CFLAGS_OMIT_FRAME_POINTER$ac_delim
-DFB_LDFLAGS!$DFB_LDFLAGS$ac_delim
-DFB_INTERNAL_CFLAGS!$DFB_INTERNAL_CFLAGS$ac_delim
-X11_CFLAGS!$X11_CFLAGS$ac_delim
-X11_LIBS!$X11_LIBS$ac_delim
-GIF_PROVIDER!$GIF_PROVIDER$ac_delim
-JPEG_PROVIDER!$JPEG_PROVIDER$ac_delim
-LIBJPEG!$LIBJPEG$ac_delim
-PNG_PROVIDER!$PNG_PROVIDER$ac_delim
-LIBPNG_CFLAGS!$LIBPNG_CFLAGS$ac_delim
-LIBPNG_LIBS!$LIBPNG_LIBS$ac_delim
-FREETYPE_PROVIDER!$FREETYPE_PROVIDER$ac_delim
-DATADIR!$DATADIR$ac_delim
-MODULEDIR!$MODULEDIR$ac_delim
-MODULEDIRNAME!$MODULEDIRNAME$ac_delim
-INCLUDEDIR!$INCLUDEDIR$ac_delim
-INTERNALINCLUDEDIR!$INTERNALINCLUDEDIR$ac_delim
-SYSCONFDIR!$SYSCONFDIR$ac_delim
-LIBOBJS!$LIBOBJS$ac_delim
-LTLIBOBJS!$LTLIBOBJS$ac_delim
-_ACEOF
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 35; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-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
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
-fi
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-4.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
-CEOF$ac_eof
-_ACEOF
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
-# 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
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
-cat >>$CONFIG_STATUS <<\_ACEOF
-fi # test -n "$CONFIG_FILES"
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-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
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
- 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 ||
- { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-echo "$as_me: error: cannot find input file: $ac_f" >&2;}
- { (exit 1); exit 1; }; };;
- esac
- ac_file_inputs="$ac_file_inputs $ac_f"
- done
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object_CXX
- # 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 "`IFS=:
- echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- fi
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
- case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin";;
- esac
- ;;
- esac
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
- 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'`
- { 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 :; do
- case $as_dir in #(
- *\'*) as_qdir=`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'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
- ac_builddir=.
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld_CXX
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`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
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- 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
- 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
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct_CXX
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute_CXX
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
-cat >>$CONFIG_STATUS <<\_ACEOF
-# 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=
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-case `sed -n '/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p
-' $ac_file_inputs` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- 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
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic_CXX
-# 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
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s&@configure_input@&$configure_input&;t t
-s&@top_builddir@&$ac_top_builddir_sub&;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
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" | sed -f "$tmp/subs-4.sed" >$tmp/out
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath_CXX
-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"; } &&
- { 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
-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;}
-
- rm -f "$tmp/stdin"
- case $ac_file in
- -) cat "$tmp/out"; rm -f "$tmp/out";;
- *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
- esac
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
-_ACEOF
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
-# Transform confdefs.h into a sed script `conftest.defines', that
-# substitutes the proper values into config.h.in to produce config.h.
-rm -f conftest.defines conftest.tail
-# First, append a space to every undef/define line, to ease matching.
-echo 's/$/ /' >conftest.defines
-# Then, protect against being on the right side of a sed subst, or in
-# an unquoted here document, in config.status. If some macros were
-# called several times there might be several #defines for the same
-# symbol, which is useless. But do not sort them, since the last
-# AC_DEFINE must be honored.
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
-# NAME is the cpp macro being defined, VALUE is the value it is being given.
-# PARAMS is the parameter list in the macro definition--in most cases, it's
-# just an empty string.
-ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
-ac_dB='\\)[ (].*,\\1define\\2'
-ac_dC=' '
-ac_dD=' ,'
-
-uniq confdefs.h |
- sed -n '
- t rset
- :rset
- s/^[ ]*#[ ]*define[ ][ ]*//
- t ok
- d
- :ok
- s/[\\&,]/\\&/g
- s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
- s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
- ' >>conftest.defines
-
-# Remove the space that was appended to ease matching.
-# Then 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.
-# (The regexp can be short, since the line contains either #define or #undef.)
-echo 's/ $//
-s,^[ #]*u.*,/* & */,' >>conftest.defines
-
-# Break up conftest.defines:
-ac_max_sed_lines=50
-
-# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
-# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
-# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
-# et cetera.
-ac_in='$ac_file_inputs'
-ac_out='"$tmp/out1"'
-ac_nxt='"$tmp/out2"'
-
-while :
-do
- # Write a here document:
- cat >>$CONFIG_STATUS <<_ACEOF
- # First, check the format of the line:
- cat >"\$tmp/defines.sed" <<\\CEOF
-/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
-/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
-b
-:def
-_ACEOF
- sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
- ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
- sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
- grep . conftest.tail >/dev/null || break
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines conftest.tail
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
-echo "ac_result=$ac_in" >>$CONFIG_STATUS
-cat >>$CONFIG_STATUS <<\_ACEOF
- if test x"$ac_file" != x-; then
- echo "/* $configure_input */" >"$tmp/config.h"
- cat "$ac_result" >>"$tmp/config.h"
- 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;}
- else
- rm -f $ac_file
- mv "$tmp/config.h" $ac_file
- fi
- else
- echo "/* $configure_input */"
- cat "$ac_result"
- fi
- rm -f "$tmp/out12"
-# Compute $ac_file's index in $config_headers.
-_am_arg=$ac_file
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
- :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds_CXX
+
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds_CXX
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec_CXX
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects_CXX
+postdep_objects=$lt_postdep_objects_CXX
+predeps=$lt_predeps_CXX
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# ### END LIBTOOL TAG CONFIG: CXX
+_LT_EOF
- 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.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- 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'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- 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'`
- { 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 :; do
- case $as_dir in #(
- *\'*) as_qdir=`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'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
;;
"default":C) chmod +x directfb-config ;;
@@ -30805,11 +23526,13 @@ done
done # for ac_tag
-{ (exit 0); exit 0; }
+as_fn_exit 0
_ACEOF
-chmod +x $CONFIG_STATUS
ac_clean_files=$ac_clean_files_save
+test $ac_write_fail = 0 ||
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
@@ -30829,13 +23552,17 @@ if test "$no_create" != yes; then
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
+ $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
-{ echo "$as_me:$LINENO: result:
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result:
Build options:
Version $VERSION
Linux powered $have_linux
@@ -30850,13 +23577,15 @@ Build options:
LIBS $LIBS
DYNLIB $DYNLIB
THREADFLAGS $THREADFLAGS
- THREADLIBS $THREADLIBS
+ THREADLIB $THREADLIB
Misc options:
Multi Application Core $enable_multi
Fusion Kernel Device $linux_fusion
Fusion message size $with_message_size
+ One (IPC) $enable_one
Voodoo (network support) $enable_voodoo
+ Pure Voodoo (net only) $enable_pure_voodoo
Debug supported $enable_debug_support
Debug enabled $enable_debug
Trace support $enable_trace
@@ -30866,9 +23595,11 @@ Misc options:
Include all strings $enable_text
Software Rendering $with_software
Smooth SW Scaling $with_smooth_scaling
- 16bit Dithering $with_dither_rgb16
+ Dithering $with_dither
+ Dithering 565 $with_dither_rgb16
zlib compression $use_zlib $ZLIB_LIBS
sysfs support $use_sysfs $SYSFS_LIBS
+ Using setsockopt $with_setsockopt
Building Tests $with_tests
Building Tools $with_tools
@@ -30876,10 +23607,10 @@ Building Tools $with_tools
Building System Modules:
Linux FBDev support $enable_fbdev
Generic /dev/mem support $enable_devmem
- X11 support $enable_x11 $X11_CFLAGS $X11_LIBS
- OSX support $enable_osx $OSX_CFLAGS $OSX_LIBS
- SDL support $enable_sdl $SDL_CFLAGS $SDL_LIBS
- VNC support $enable_vnc $VNC_CFLAGS $VNC_LIBS
+ X11 support $enable_x11 $X11_CFLAGS $X11_LIBS
+ OSX support $enable_osx $OSX_CFLAGS $OSX_LIBS
+ SDL support $enable_sdl $SDL_CFLAGS $SDL_LIBS
+ VNC support $enable_vnc $VNC_CFLAGS $VNC_LIBS
Building Window Manager Modules:
Default yes
@@ -30888,16 +23619,17 @@ Building Window Manager Modules:
Building Image Provider Modules:
GIF $enable_gif
JPEG $JPEG $LIBJPEG
- PNG $PNG $LIBPNG_CFLAGS $LIBPNG_LIBS
+ PNG $PNG $LIBPNG_CFLAGS $LIBPNG_LIBS
Building Video Provider Modules:
GIF $enable_gif
Video4Linux $V4L (v2: $V4L2)
Building Font Modules:
- FreeType2 $FREETYPE $FREETYPE_CFLAGS $FREETYPE_LIBS
+ FreeType2 $FREETYPE $FREETYPE_CFLAGS $FREETYPE_LIBS
+ LinoType $LINOTYPE $LINOTYPE_CFLAGS $LINOTYPE_LIBS
Default font yes" >&5
-echo "${ECHO_T}
+$as_echo "
Build options:
Version $VERSION
Linux powered $have_linux
@@ -30912,13 +23644,15 @@ Build options:
LIBS $LIBS
DYNLIB $DYNLIB
THREADFLAGS $THREADFLAGS
- THREADLIBS $THREADLIBS
+ THREADLIB $THREADLIB
Misc options:
Multi Application Core $enable_multi
Fusion Kernel Device $linux_fusion
Fusion message size $with_message_size
+ One (IPC) $enable_one
Voodoo (network support) $enable_voodoo
+ Pure Voodoo (net only) $enable_pure_voodoo
Debug supported $enable_debug_support
Debug enabled $enable_debug
Trace support $enable_trace
@@ -30928,9 +23662,11 @@ Misc options:
Include all strings $enable_text
Software Rendering $with_software
Smooth SW Scaling $with_smooth_scaling
- 16bit Dithering $with_dither_rgb16
+ Dithering $with_dither
+ Dithering 565 $with_dither_rgb16
zlib compression $use_zlib $ZLIB_LIBS
sysfs support $use_sysfs $SYSFS_LIBS
+ Using setsockopt $with_setsockopt
Building Tests $with_tests
Building Tools $with_tools
@@ -30938,10 +23674,10 @@ Building Tools $with_tools
Building System Modules:
Linux FBDev support $enable_fbdev
Generic /dev/mem support $enable_devmem
- X11 support $enable_x11 $X11_CFLAGS $X11_LIBS
- OSX support $enable_osx $OSX_CFLAGS $OSX_LIBS
- SDL support $enable_sdl $SDL_CFLAGS $SDL_LIBS
- VNC support $enable_vnc $VNC_CFLAGS $VNC_LIBS
+ X11 support $enable_x11 $X11_CFLAGS $X11_LIBS
+ OSX support $enable_osx $OSX_CFLAGS $OSX_LIBS
+ SDL support $enable_sdl $SDL_CFLAGS $SDL_LIBS
+ VNC support $enable_vnc $VNC_CFLAGS $VNC_LIBS
Building Window Manager Modules:
Default yes
@@ -30950,18 +23686,19 @@ Building Window Manager Modules:
Building Image Provider Modules:
GIF $enable_gif
JPEG $JPEG $LIBJPEG
- PNG $PNG $LIBPNG_CFLAGS $LIBPNG_LIBS
+ PNG $PNG $LIBPNG_CFLAGS $LIBPNG_LIBS
Building Video Provider Modules:
GIF $enable_gif
Video4Linux $V4L (v2: $V4L2)
Building Font Modules:
- FreeType2 $FREETYPE $FREETYPE_CFLAGS $FREETYPE_LIBS
+ FreeType2 $FREETYPE $FREETYPE_CFLAGS $FREETYPE_LIBS
+ LinoType $LINOTYPE $LINOTYPE_CFLAGS $LINOTYPE_LIBS
Default font yes" >&6; };
if test "$have_linux" = "yes"; then
-{ echo "$as_me:$LINENO: result:
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result:
Building Graphics Drivers:
3Dfx Voodoo $tdfx
ATI Mach64 $mach64
@@ -31003,10 +23740,10 @@ Building Input Drivers:
PS/2 Mouse $enable_ps2mouse
Serial Mouse $enable_serial_mouse
SonyPI Jogdial $enable_sonypi_jogdial
- tslib $enable_tslib $TSLIB_CFLAGS $TSLIB_LIBS
+ tslib $enable_tslib $TSLIB_CFLAGS $TSLIB_LIBS
ucb1x00 Touchscreen $enable_ucb1x00_ts
WM97xx Touchscreen $enable_wm97xx_ts" >&5
-echo "${ECHO_T}
+$as_echo "
Building Graphics Drivers:
3Dfx Voodoo $tdfx
ATI Mach64 $mach64
@@ -31048,12 +23785,12 @@ Building Input Drivers:
PS/2 Mouse $enable_ps2mouse
Serial Mouse $enable_serial_mouse
SonyPI Jogdial $enable_sonypi_jogdial
- tslib $enable_tslib $TSLIB_CFLAGS $TSLIB_LIBS
+ tslib $enable_tslib $TSLIB_CFLAGS $TSLIB_LIBS
ucb1x00 Touchscreen $enable_ucb1x00_ts
WM97xx Touchscreen $enable_wm97xx_ts" >&6; };
fi
-{ echo "$as_me:$LINENO: result: $fusion_warning $png_warning $jpeg_warning $freetype_warning
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $fusion_warning $png_warning $jpeg_warning $freetype_warning
" >&5
-echo "${ECHO_T}$fusion_warning $png_warning $jpeg_warning $freetype_warning
+$as_echo "$fusion_warning $png_warning $jpeg_warning $freetype_warning
" >&6; };
diff --git a/configure.in b/configure.in
index 1ca4d6d..57e8a96 100644
--- a/configure.in
+++ b/configure.in
@@ -16,11 +16,14 @@ AC_PREREQ(2.52)
#
DIRECTFB_MAJOR_VERSION=1
DIRECTFB_MINOR_VERSION=4
-DIRECTFB_MICRO_VERSION=3
-DIRECTFB_INTERFACE_AGE=0
-DIRECTFB_BINARY_AGE=3
+DIRECTFB_MICRO_VERSION=17
+DIRECTFB_INTERFACE_AGE=11
+DIRECTFB_BINARY_AGE=11
DIRECTFB_VERSION=$DIRECTFB_MAJOR_VERSION.$DIRECTFB_MINOR_VERSION.$DIRECTFB_MICRO_VERSION
+#fluxcomp 1.3.0
+FLUXCOMP_REQUIRED_VERSIONCODE=1003000
+
AC_SUBST(DIRECTFB_MAJOR_VERSION)
AC_SUBST(DIRECTFB_MINOR_VERSION)
AC_SUBST(DIRECTFB_MICRO_VERSION)
@@ -57,8 +60,13 @@ AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
PKG_PROG_PKG_CONFIG
+#
+# Enable silent compilation showing just CC or CCLD rather than the full
+# compile-time GCC output.
+#
+AM_SILENT_RULES([no])
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADER([config.h])
AM_MAINTAINER_MODE
AC_DISABLE_STATIC
@@ -81,6 +89,7 @@ esac
AC_PROG_CC
AM_PROG_CC_C_O
+AC_PROG_CXX
ifdef([AM_PROG_AS],[AM_PROG_AS],[])
AM_PROG_LIBTOOL
AM_SANITY_CHECK
@@ -109,12 +118,33 @@ AC_PATH_PROG(MAN2HTML, man2html, no)
AC_SUBST(MAN2HTML)
AM_CONDITIONAL(HAVE_MAN2HTML, test "$MAN2HTML" != "no")
+AC_PATH_TOOL(FLUXCOMP, fluxcomp)
+AC_SUBST(FLUXCOMP)
+if test -z "$FLUXCOMP"; then
+ if ! test -e src/core/CoreDFB.c; then
+ AC_MSG_ERROR([
+*** DirectFB compilation requires fluxcomp ***
+
+Unless you are compiling from a distributed tarball you need fluxcomp
+available from git://git.directfb.org/git/directfb/core/flux installed
+in your PATH.
+])
+ fi
+else
+ FLUXCOMP_VERSIONCODE=`$FLUXCOMP -V`
+ if test $FLUXCOMP_VERSIONCODE -lt $FLUXCOMP_REQUIRED_VERSIONCODE ; then
+ AC_MSG_ERROR([
+*** DirectFB compilation requires a newer fluxcomp ***
+available from git://git.directfb.org/git/directfb/core/flux
+])
+ fi
+fi
dnl Test for OSX
AC_ARG_ENABLE(osx,
- [ --enable-osx build with Mac OS X support [[default=auto]]],,
- enable_osx=yes)
-
+ AC_HELP_STRING([--enable-osx],
+ [build with Mac OS X support @<:@default=auto@:>@]),
+ [], [enable_osx=yes])
if test "$enable_osx" = "yes"; then
AC_CHECK_HEADER(Carbon/Carbon.h, osx_found=yes, osx_found=no)
if test "$osx_found" = no; then
@@ -130,28 +160,18 @@ AM_CONDITIONAL(OSX_CORE, test "$enable_osx" = "yes")
dnl Test for X11
AC_ARG_ENABLE(x11,
- [ --enable-x11 build with X11 support [[default=auto]]],,
- enable_x11=yes)
-
+ AC_HELP_STRING([--enable-x11],
+ [build with X11 support @<:@default=auto@:>@]),
+ [], [enable_x11=yes])
if test "$enable_x11" = "yes"; then
- CFLAGS_saved="$CFLAGS"
- CFLAGS="$CFLAGS -I/usr/X11R6/include"
- AC_CHECK_HEADER(X11/X.h, x11_found=yes, x11_found=no)
- CFLAGS="$CFLAGS_saved"
- if test "$x11_found" = no; then
- enable_x11=no
- AC_MSG_WARN([
-*** no X11/X.h found -- building without X11 support.])
- else
- X11_LIBS="-L/usr/X11R6/lib -lX11 -lXext"
- X11_CFLAGS="-I/usr/X11R6/include"
- fi
+ PKG_CHECK_MODULES([X11], [xproto x11 xext], [enable_x11="yes"], [enable_x11="no"
+ AC_MSG_WARN([*** no X11 found -- building without X11 support])])
fi
AM_CONDITIONAL(X11_CORE, test "$enable_x11" = "yes")
-AC_CHECK_HEADERS(linux/compiler.h linux/unistd.h asm/page.h)
+AC_CHECK_HEADERS(linux/compiler.h linux/unistd.h asm/page.h signal.h)
dnl Clear default CFLAGS
@@ -164,8 +184,9 @@ CFLAGS="-O3 -ffast-math -pipe $CFLAGS"
DFB_INTERNAL_CFLAGS="-D_GNU_SOURCE $DFB_INTERNAL_CFLAGS"
AC_ARG_ENABLE(extra-warnings,
- [ --enable-extra-warnings enable extra warnings [[default=no]]],,
- enable_extra_warnings=no)
+ AC_HELP_STRING([--enable-extra-warnings],
+ [enable extra warnings @<:@default=no@:>@]),
+ [], [enable_extra_warnings=no])
if test "$enable_extra_warnings" = "yes"; then
CFLAGS="-W -Wno-sign-compare -Wno-unused-parameter -Wundef -Wcast-qual -Wcast-align -Waggregate-return -Wmissing-declarations -Winline $CFLAGS"
fi
@@ -175,6 +196,10 @@ fi
# CFLAGS="-Wall -Wno-strict-aliasing $CFLAGS"
#fi
+if test "$GCC" = "yes"; then
+ CFLAGS_STD="-std=gnu99"
+fi
+
#
# check target architecture
@@ -207,7 +232,7 @@ case "$target_or_host" in
AC_DEFINE(ARCH_PPC,1,[Define to 1 if you are compiling for PowerPC.])
;;
- sh4-* | sh3-*)
+ sh4-* | sh3-* | sh-*)
have_sh4=yes
AC_DEFINE(ARCH_SH4,1,[Define to 1 if you are compiling for SH4.])
;;
@@ -373,8 +398,9 @@ fi
AC_ARG_ENABLE(profiling,
- [ --enable-profiling enable profiling support [[default=no]]],,
- enable_profiling=no)
+ AC_HELP_STRING([--enable-profiling],
+ [enable profiling support @<:@default=no@:>@]),
+ [], [enable_profiling=no])
if test "$enable_profiling" = "yes"; then
CFLAGS="$CFLAGS -pg -g3"
else
@@ -383,8 +409,9 @@ fi
AC_ARG_ENABLE(debug,
- [ --enable-debug enable debugging [[default=no]]],,
- enable_debug=no)
+ AC_HELP_STRING([--enable-debug],
+ [enable debugging @<:@default=no@:>@]),
+ [], [enable_debug=no])
if test "$enable_debug" = "yes"; then
CFLAGS="$CFLAGS -g3 -fno-inline -Wno-inline"
DIRECT_BUILD_DEBUG=1
@@ -397,7 +424,9 @@ AC_SUBST(DIRECT_BUILD_DEBUG)
AC_ARG_ENABLE(debug-support,
- [ --enable-debug-support enable debugging support [[default=yes]]],, enable_debug_support=yes)
+ AC_HELP_STRING([--enable-debug-support],
+ [enable debugging support @<:@default=yes@:>@]),
+ [], [enable_debug_support=yes])
if test "$enable_debug_support" = "yes" || test "$enable_debug" = "yes"; then
enable_debug_support=yes
DIRECT_BUILD_DEBUGS=1
@@ -410,8 +439,9 @@ AC_SUBST(DIRECT_BUILD_DEBUGS)
AC_ARG_ENABLE(trace,
- [ --enable-trace enable call tracing [[default=no]]],,
- enable_trace=no)
+ AC_HELP_STRING([--enable-trace],
+ [enable call tracing @<:@default=no@:>@]),
+ [], [enable_trace=no])
if test "$enable_trace" = "yes"; then
DFB_INTERNAL_CFLAGS="$DFB_INTERNAL_CFLAGS -finstrument-functions"
DIRECT_BUILD_TRACE=1
@@ -424,8 +454,9 @@ AC_SUBST(DIRECT_BUILD_TRACE)
AC_ARG_ENABLE(text,
- [ --enable-text enable text output [[default=yes]]],,
- enable_text=yes)
+ AC_HELP_STRING([--enable-text],
+ [enable text output @<:@default=yes@:>@]),
+ [], [enable_text=yes])
if test "$enable_text" = "no"; then
DIRECT_BUILD_TEXT=0
else
@@ -436,8 +467,9 @@ AC_SUBST(DIRECT_BUILD_TEXT)
AC_ARG_ENABLE(gettid,
- [ --enable-gettid enable usage of gettid() [[default=yes]]],,
- enable_gettid=yes)
+ AC_HELP_STRING([--enable-gettid],
+ [enable usage of gettid() @<:@default=yes@:>@]),
+ [], [enable_gettid=yes])
if test "$enable_gettid" = "no"; then
DIRECT_BUILD_GETTID=0
else
@@ -448,8 +480,9 @@ AC_SUBST(DIRECT_BUILD_GETTID)
AC_ARG_ENABLE(network,
- [ --enable-network enable network support [[default=yes]]],,
- enable_network=yes)
+ AC_HELP_STRING([--enable-network],
+ [enable network support @<:@default=yes@:>@]),
+ [], [enable_network=yes])
if test "$enable_network" = "no"; then
DIRECT_BUILD_NETWORK=0
else
@@ -466,8 +499,9 @@ AC_SUBST(DIRECT_BUILD_STDBOOL)
linux_fusion="N/A"
AC_ARG_ENABLE(multi,
- [ --enable-multi enable multi application core [[default=no]]],,
- enable_multi=no)
+ AC_HELP_STRING([--enable-multi],
+ [enable multi application core @<:@default=no@:>@]),
+ [], [enable_multi=no])
if test "$enable_multi" = "yes"; then
dnl Test for Fusion Kernel Device
linux_fusion=yes
@@ -486,33 +520,101 @@ else
FUSION_BUILD_KERNEL=0
fi
+AC_ARG_ENABLE(one,
+ AC_HELP_STRING([--enable-one],
+ [enable One (IPC) @<:@default=no@:>@]),
+ [], [enable_one=no])
+if test "$enable_one" = "yes"; then
+ DIRECTFB_BUILD_ONE=1
+ DEP_ONE=one
+else
+ DIRECTFB_BUILD_ONE=0
+ enable_one=no
+ DEP_ONE=
+fi
+
+AC_ARG_ENABLE(voodoo,
+ AC_HELP_STRING([--enable-voodoo],
+ [enable Voodoo (network support) @<:@default=no@:>@]),
+ [], [enable_voodoo=no])
+if test "$enable_voodoo" = "yes"; then
+ DIRECTFB_BUILD_VOODOO=1
+ DEP_VOODOO=voodoo
+else
+ DIRECTFB_BUILD_VOODOO=0
+ enable_voodoo=no
+ DEP_VOODOO=
+fi
+
+
+AC_ARG_ENABLE(pure_voodoo,
+ AC_HELP_STRING([--enable-pure-voodoo],
+ [enable pure Voodoo mode @<:@default=no@:>@]),
+ [], [enable_pure_voodoo=no])
+if test "$enable_pure_voodoo" = "yes"; then
+ enable_voodoo=yes
+ DIRECTFB_BUILD_VOODOO=1
+ DIRECTFB_BUILD_PURE_VOODOO=1
+ DEP_VOODOO=voodoo
+
+ enable_multi=no
+
+ FUSION_BUILD_MULTI=0
+ FUSION_BUILD_KERNEL=0
+else
+ DIRECTFB_BUILD_PURE_VOODOO=0
+ enable_pure_voodoo=no
+fi
+
+AC_SUBST(DIRECTFB_BUILD_VOODOO)
+AM_CONDITIONAL(DIRECTFB_BUILD_VOODOO, test "$DIRECTFB_BUILD_VOODOO" = "1")
+
+AC_SUBST(DIRECTFB_BUILD_PURE_VOODOO)
+AM_CONDITIONAL(DIRECTFB_BUILD_PURE_VOODOO, test "$DIRECTFB_BUILD_PURE_VOODOO" = "1")
+
+AC_SUBST(DEP_VOODOO)
+
+dnl If we're not building a pure voodoo lib, we need sqrt sin cos for
+dnl various files
+LIBM=""
+if test "$enable_pure_voodoo" = "no"; then
+ safe_LIBS=$LIBS
+ AC_SEARCH_LIBS([sqrt], [m], [LIBM=$ac_cv_search_sqrt], [LIBM=no], [])
+ LIBS=$safe_LIBS
+ if test "$LIBM" = "none required" ; then
+ LIBM=""
+ elif test "$LIBM" = "no" ; then
+ AC_MSG_ERROR([*** DirectFB requires libm.])
+ fi
+fi
+AC_SUBST(LIBM)
+
AM_CONDITIONAL(ENABLE_MULTI, test "$enable_multi" = "yes")
AC_SUBST(FUSION_BUILD_MULTI)
AC_SUBST(FUSION_BUILD_KERNEL)
-
-AC_ARG_ENABLE(voodoo,
- [ --enable-voodoo enable Voodoo (network support) [[default=no]]],,
- enable_voodoo=no)
-
+AM_CONDITIONAL(ENABLE_ONE, test "$enable_one" = "yes")
AM_CONDITIONAL(ENABLE_VOODOO, test "$enable_voodoo" = "yes")
AC_ARG_ENABLE(unique,
- [ --enable-unique enable Unique (WM Module) [[default=no]]],,
- enable_unique=no)
+ AC_HELP_STRING([--enable-unique],
+ [enable Unique (WM Module) @<:@default=no@:>@]),
+ [], [enable_unique=no])
AM_CONDITIONAL(ENABLE_UNIQUE, test "$enable_unique" = "yes")
AC_ARG_ENABLE(mmx,
- [ --enable-mmx enable MMX support [[default=auto]]],,
- enable_mmx=$have_x86)
+ AC_HELP_STRING([--enable-mmx],
+ [enable MMX support @<:@default=auto@:>@]),
+ [], [enable_mmx=$have_x86])
AC_ARG_ENABLE(sse,
- [ --enable-sse enable SSE support [[default=auto]]],,
- enable_sse=$have_x86)
+ AC_HELP_STRING([--enable-sse],
+ [enable SSE support @<:@default=auto@:>@]),
+ [], [enable_sse=$have_x86])
if test "$enable_mmx" = "yes"; then
@@ -540,8 +642,8 @@ if test "$enable_mmx" = "yes"; then
AC_MSG_RESULT(no)
AC_MSG_WARN([
****************************************************************
- The installed assembler does not supports the SSE command set.
- Update your binutils package, if you want to compile SSE code.
+ The installed assembler does not support the SSE command set.
+ Update your binutils package, if you want to compile SSE code.
****************************************************************])
fi
@@ -552,8 +654,8 @@ if test "$enable_mmx" = "yes"; then
AC_MSG_RESULT(no)
AC_MSG_WARN([
****************************************************************
- The installed assembler does not supports the MMX command set.
- Update your binutils package, if you want to compile MMX code.
+ The installed assembler does not support the MMX command set.
+ Update your binutils package, if you want to compile MMX code.
****************************************************************])
fi
@@ -567,10 +669,12 @@ fi
AM_CONDITIONAL(BUILDMMX, test "$enable_mmx" = "yes")
+
dnl Test for DevMem system
AC_ARG_ENABLE(devmem,
- [ --enable-devmem build with generic /dev/mem support [[default=yes]]],,
- enable_devmem=yes)
+ AC_HELP_STRING([--enable-devmem],
+ [build with generic /dev/mem support @<:@default=yes@:>@]),
+ [], [enable_devmem=yes])
AM_CONDITIONAL(DEVMEM_CORE, test "$enable_devmem" = "yes")
@@ -578,8 +682,9 @@ AM_CONDITIONAL(DEVMEM_CORE, test "$enable_devmem" = "yes")
dnl Test for Linux frame buffer device
AC_ARG_ENABLE(fbdev,
- [ --enable-fbdev build with linux fbdev support [[default=auto]]],,
- enable_fbdev=yes)
+ AC_HELP_STRING([--enable-fbdev],
+ [build with linux fbdev support @<:@default=auto@:>@]),
+ [], [enable_fbdev=yes])
if test "$have_linux" = "no"; then
enable_fbdev=no
@@ -597,30 +702,34 @@ AM_CONDITIONAL(FBDEV_CORE, test "$enable_fbdev" = "yes")
dnl Test for SDL
AC_ARG_ENABLE(sdl,
- [ --enable-sdl build with SDL support [[default=no]]],,
- enable_sdl=no)
-
+ AC_HELP_STRING([--enable-sdl],
+ [build with SDL support @<:@default=no@:>@]),
+ [], [enable_sdl=no])
if test "$enable_sdl" = "yes"; then
if test "$enable_osx" = "yes"; then
AC_MSG_WARN([
*** SDL is now unsupported on OSX.])
enable_sdl=no
- else
- PKG_CHECK_MODULES([SDL], [sdl], enable_sdl=yes, [enable_sdl=no,
- AC_MSG_WARN([*** no sdl -- building without SDL support.])])
+ else
+ PKG_CHECK_MODULES([SDL], [sdl],
+ [enable_sdl=yes],
+ [
+ enable_sdl=no
+ AC_MSG_WARN([*** no sdl -- building without SDL support.])
+ ])
fi
fi
AC_SUBST(OSX_LIBS)
AM_CONDITIONAL(SDL_CORE, test "$enable_sdl" = "yes")
+
+
dnl Test for VNC
AC_ARG_ENABLE(vnc,
- [ --enable-vnc build with VNC support [[default=auto]]],,
- enable_vnc=yes)
-
-
-
+ AC_HELP_STRING([--enable-vnc],
+ [build with VNC support @<:@default=auto@:>@]),
+ [], [enable_vnc=yes])
if test "$enable_vnc" = "yes"; then
AC_PATH_PROG(VNC_CONFIG, libvncserver-config, no)
if test "$VNC_CONFIG" = "no"; then
@@ -633,17 +742,17 @@ if test "$enable_vnc" = "yes"; then
fi
fi
-
-
-
AM_CONDITIONAL(VNC_CORE, test "$enable_vnc" = "yes")
AC_SUBST(VNC_LIBS)
AC_SUBST(VNC_CFLAGS)
+
+
dnl Test for libsysfs
AC_ARG_ENABLE(sysfs,
- [ --enable-sysfs build with sysfs support [[default=auto]]],,
- enable_sysfs=yes)
+ AC_HELP_STRING([--enable-sysfs],
+ [build with sysfs support @<:@default=auto@:>@]),
+ [], [enable_sysfs=yes])
use_sysfs=no
SYSFS_LIBS=
@@ -665,12 +774,14 @@ fi
AC_SUBST(SYSFS_LIBS)
+
dnl Test for libjpeg
JPEG=no
AC_ARG_ENABLE(jpeg,
- [ --enable-jpeg build JPEG image provider [[default=yes]]],
- enable_jpeg="$enableval", enable_jpeg=yes)
+ AC_HELP_STRING([--enable-jpeg],
+ [build JPEG image provider @<:@default=yes@:>@]),
+ [], [enable_jpeg=yes])
if test "$enable_jpeg" = "yes"; then
if test -z "$LIBJPEG"; then
@@ -707,9 +818,11 @@ JPEG support is missing - many applications won't work correctly!"
fi
+
AC_ARG_ENABLE(zlib,
- [ --enable-zlib use zlib, e.g. for screen shots [[default=no]]],
- enable_zlib="$enableval", enable_zlib=no)
+ AC_HELP_STRING([--enable-zlib],
+ [use zlib, e.g. for screen shots @<:@default=no@:>@]),
+ [], [enable_zlib=no])
use_zlib=no
ZLIB_LIBS=
@@ -732,77 +845,17 @@ fi
AC_SUBST(ZLIB_LIBS)
-dnl Test for libpng and libz
+
+dnl Test for libpng
PNG=no
AC_ARG_ENABLE(png,
- [ --enable-png build PNG image provider [[default=yes]]],
- enable_png="$enableval", enable_png=yes)
-
+ AC_HELP_STRING([--enable-png],
+ [build PNG image provider, @<:@default=yes@:>@]),
+ [], [enable_png=yes])
if test "$enable_png" = "yes"; then
- dnl Test for libz
- if test -z "$ZLIB_LIBS"; then
- AC_CHECK_LIB(z, gzsetparams,
- [
- AC_CHECK_HEADER(zlib.h,
- ZLIB_LIBS='-lz',
- AC_MSG_WARN([
-*** libz header files not found. PNG image provider will not be built.]))
- ],[
- AC_MSG_WARN([ *** libz not found. PNG image provider will not be built.])
- ])
- fi
-
- dnl Test for libpng
- if test -n "$LIBPNG_LIBS"; then
- PNG=yes
- else
- AC_PATH_PROG(LIBPNG_CONFIG, libpng-config, no)
- if test "$LIBPNG_CONFIG" = no; then
- PNG=no
- AC_MSG_WARN([
-*** libpng-config not found ])
- else
- PNG=yes
- LIBPNG_CFLAGS=`$LIBPNG_CONFIG --cflags`
- LIBPNG_LIBS=`$LIBPNG_CONFIG --libs`
- fi
-
- dnl Test for libpng
- if test -z "$LIBPNG_LIBS" && test -n "$ZLIB_LIBS"; then
- AC_CHECK_LIB(png, png_read_info,
- [
- AC_CHECK_HEADER(png.h,
- png_ok=yes,
- AC_MSG_WARN([
-*** PNG header files not found. PNG image provider will not be built.]))
- ],[
- AC_MSG_WARN([
-*** PNG library not found. PNG image provider will not be built.])
- ],
- $ZLIB_LIBS -lm)
- if test "$png_ok" = yes; then
- AC_MSG_CHECKING([for png_structp in png.h])
- AC_TRY_COMPILE([#include <png.h>],
- [png_structp pp;
- png_infop info;
- png_colorp cmap;
- (void)png_create_read_struct; (void)pp; (void)info; (void)cmap;],
- png_ok=yes, png_ok=no)
- AC_MSG_RESULT($png_ok)
- if test "$png_ok" = yes; then
- PNG=yes
- LIBPNG_LIBS="-lpng $ZLIB_LIBS -lm"
- else
- PNG=no
- AC_MSG_WARN([
-*** PNG library is too old. PNG image provider will not be built.])
- fi
- else
- PNG=no
- fi
- fi
- fi
+ PKG_CHECK_MODULES([LIBPNG], [libpng >= 1.2.2], [PNG=yes], [PNG=no
+ AC_MSG_WARN([*** PNG library not found. PNG image provider will not be built.])])
fi
AM_CONDITIONAL(PNG_PROVIDER, test "$PNG" = "yes")
@@ -814,21 +867,24 @@ PNG support is missing - many applications won't work correctly!"
fi
+
dnl Allow to disable GIF support
AC_ARG_ENABLE(gif,
- [ --enable-gif build GIF image/video provider [[default=yes]]],
- enable_gif="$enableval", enable_gif=yes)
+ AC_HELP_STRING([--enable-gif],
+ [build GIF image/video provider @<:@default=yes@:>@]),
+ [], [enable_gif=yes])
AM_CONDITIONAL(GIF_PROVIDER, test "$enable_gif" = "yes")
+
dnl Test for freetype
AC_ARG_ENABLE(freetype,
- [ --enable-freetype build FreeType2 font provider [[default=yes]]],
- enable_freetype="$enableval", enable_freetype=yes)
-
+ AC_HELP_STRING([--enable-freetype],
+ [build FreeType2 font provider @<:@default=yes@:>@]),
+ [], [enable_freetype=yes])
if test "$enable_freetype" = "yes"; then
- PKG_CHECK_MODULES(FREETYPE, freetype2, FREETYPE="yes", [FREETYPE="no",
+ PKG_CHECK_MODULES(FREETYPE, freetype2, FREETYPE="yes", [FREETYPE="no"
AC_MSG_WARN([*** no freetype -- FreeType font provider will not be built.])])
fi
@@ -839,15 +895,31 @@ if test "$enable_freetype" != "no" && test "$FREETYPE" != "yes"; then
FreeType2 support is missing - many applications won't work correctly!"
fi
+
+
+
+dnl Test for linotype
+AC_ARG_ENABLE(linotype,
+ AC_HELP_STRING([--enable-linotype],
+ [build LinoType font provider @<:@default=yes@:>@]),
+ [], [])
+if test "x$enable_linotype" != "xno"; then
+ PKG_CHECK_MODULES(LINOTYPE, linotype, LINOTYPE="yes", [LINOTYPE="no"
+ AC_MSG_WARN([*** no linotype -- LinoType font provider will not be built.])])
+fi
+
+AM_CONDITIONAL(LINOTYPE_PROVIDER, test "$LINOTYPE" = "yes")
+
+
dnl Test for video4linux
V4L=no
if test "$have_linux" = "yes"; then
AC_ARG_ENABLE(video4linux,
- [ --enable-video4linux build Video4Linux video provider [[default=yes]]],
- enable_v4l="$enableval", enable_v4l=yes)
-
- if test "$enable_v4l" = "yes"; then
+ AC_HELP_STRING([--enable-video4linux],
+ [build Video4Linux video provider @<:@default=yes@:>@]),
+ [], [enable_video4linux=yes])
+ if test "$enable_video4linux" = "yes"; then
V4L=yes
fi
fi
@@ -855,15 +927,16 @@ fi
AM_CONDITIONAL(V4L_PROVIDER, test "$V4L" = "yes")
+
dnl Test for video4linux
V4L2=no
if test "$V4L" = "yes"; then
AC_ARG_ENABLE(video4linux2,
- [ --enable-video4linux2 build with Video4Linux2 support [[default=no]]],
- enable_v4l2="$enableval", enable_v4l2=no)
-
- if test "$enable_v4l2" = "yes"; then
+ AC_HELP_STRING([--enable-video4linux2],
+ [build with Video4Linux2 support @<:@default=no@:>@]),
+ [], [enable_video4linux2=no])
+ if test "$enable_video4linux2" = "yes"; then
V4L2=yes
AC_DEFINE( DFB_HAVE_V4L2, 1, [Define to 1 if Video4Linux 2 is supported.] )
fi
@@ -899,14 +972,15 @@ if test "$have_linux" = "yes"; then
AC_MSG_CHECKING(which gfxdrivers should be built)
AC_ARG_WITH(gfxdrivers,
-[ --with-gfxdrivers=<list> compile gfxdrivers in <list> ]
-[ gfxdrivers may be comma separated ]
-[ 'all' builds all drivers (default), 'none' builds none ]
-[ Possible gfxdrivers are: ]
-[ ati128, cle266, cyber5k, davinci, ep9x, gl, i810, i830, mach64,]
-[ matrox, neomagic, nsc, nvidia, omap, pxa3xx, radeon, savage, sh772x,]
-[ sis315, tdfx, unichrome, vmware], gfxdrivers="$withval",[gfxdrivers="all"])
-
+ AC_HELP_STRING([--with-gfxdrivers=LIST],
+ [LIST is a comma separated selection of gfxdrivers]
+ [to build. Possible gfxdrivers are: all (builds all]
+ [drivers), none (builds none), ati128, cle266,]
+ [cyber5k, davinci, ep9x, gl, i810, i830, mach64,]
+ [matrox, neomagic, nsc, nvidia, omap, pxa3xx,]
+ [radeon, savage, sh772x, sis315, tdfx, unichrome,]
+ [vmware. @<:@default=all@:>@]),
+ [gfxdrivers="$withval"], [gfxdrivers=all])
if test "$gfxdrivers" = "all"; then
checkfor_ati128=yes
checkfor_cle266=no
@@ -1087,7 +1161,18 @@ if test "$checkfor_savage" = "yes" && test "$have_sysio" = "yes"; then
fi
if test "$checkfor_sh772x" = "yes" && test "$have_sh4" = "yes"; then
- sh772x=yes
+ PKG_CHECK_MODULES([SH772X_DEP],
+ [uiomux >= 1.5.0 shbeu >= 1.0.2], [sh772x=yes], [sh772x=no])
+ if test "$sh772x" = "no"; then
+ AC_MSG_WARN([*** Missing UIOMUX or SHBEU library -- sh772x driver will not be built.])
+ fi
+ PKG_CHECK_MODULES([SH772X_SHJPEG_DEP], [shjpeg >= 1.3.3], [sh772x_shjpeg=yes], [sh772x_shjpeg=no])
+ if test "$sh772x_shjpeg" = "no"; then
+ AC_MSG_WARN([*** Missing SHJPEG library -- sh772x driver will be build without shjpeg support.])
+ fi
+fi
+if test "$sh772x" = "yes"; then
+ AC_DEFINE(HAVE_GFX_SH772X, [], [Define to 1 if sh772x])
fi
if test "$checkfor_sis315" = "yes"; then
@@ -1130,14 +1215,16 @@ checkfor_wm97xx=no
AC_MSG_CHECKING(which inputdrivers should be built)
AC_ARG_WITH(inputdrivers,
-[ --with-inputdrivers=<list> compile inputdrivers in <list> ]
-[ inputdrivers may be comma separated ]
-[ 'all' builds all drivers (default), 'none' builds none ]
-[ Possible inputdrivers are: ]
-[ dbox2remote, dreamboxremote, dynapro, elo-input, gunze, h3600_ts, ]
-[ joystick, keyboard, linuxinput, lirc, mutouch, penmount, ps2mouse, ]
-[ serialmouse, sonypijogdial, tslib, ucb1x00, wm97xx, zytronic],
-inputdrivers="$withval",[inputdrivers="all"])
+ AC_HELP_STRING([--with-inputdrivers=LIST],
+ [LIST is a comma separated selection of]
+ [inputdrivers to build. Possible inputdrivers]
+ [are: all (builds all drivers), none (builds none),]
+ [dbox2remote, dreamboxremote, dynapro, elo-input,]
+ [gunze, h3600_ts, joystick, keyboard, linuxinput,]
+ [lirc, mutouch, penmount, ps2mouse, serialmouse,]
+ [sonypijogdial, tslib, ucb1x00, wm97xx, zytronic.]
+ [@<:@default=all@:>@]),
+ [inputdrivers="$withval"], [inputdrivers=all])
if test "$inputdrivers" = "all"; then
checkfor_dbox2remote=yes
@@ -1367,8 +1454,11 @@ fi
fi
+
AC_ARG_WITH(software,
- [ --without-software build without software rendering (can decrease binary size by >100k)])
+ AC_HELP_STRING([--without-software],
+ [build without software rendering (can decrease binary size by >100k)]),
+ [], [])
if test "$with_software" != "no"; then
with_software=yes
fi
@@ -1376,8 +1466,11 @@ fi
AM_CONDITIONAL(SOFTWARE_RENDERING, test "$with_software" != "no")
+
AC_ARG_WITH(smooth-scaling,
- [ --with-smooth-scaling build with smooth software scaling code (can increase binary size by >100k)])
+ AC_HELP_STRING([--with-smooth-scaling],
+ [build with smooth software scaling code (can increase binary size by >100k)]),
+ [], [])
if test "$with_smooth_scaling" != "yes" -o "$with_software" != "yes"; then
with_smooth_scaling=no
else
@@ -1387,16 +1480,19 @@ fi
AC_SUBST(DFB_SMOOTH_SCALING)
+
AC_DEFINE(DFB_DITHER_SIMPLE,1,[Simple dithering, uses small dither table])
AC_DEFINE(DFB_DITHER_ADVANCED,2,[Advanced dithering, uses large dither table])
AC_ARG_WITH(dither-rgb16,
- [ --with-dither-rgb16=TYPE dithering to use when loading images into RGB16 surfaces [[default=none]]]
- [ Possible types are: ]
- [ none - no dithering ]
- [ simple - simple dithering (increases data section by 256 bytes) ]
- [ advanced - advanced dithering (increases data section by 64 KBytes) ])
-
+ AC_HELP_STRING([--with-dither-rgb16=TYPE],
+ [dithering to use when loading images into RGB16]
+ [surfaces. Possible values for TYPE are: none]
+ [(no dithering), simple (simple dithering, which]
+ [increases the data section by 256 bytes), advanced]
+ [(advanced dithering, which increases the data]
+ [section by 64 KBytes). @<:@default=none@:>@]),
+ [], [with_dither_rgb16=none])
case x"$with_dither_rgb16" in
x | xnone)
with_dither_rgb16=none
@@ -1414,39 +1510,92 @@ case x"$with_dither_rgb16" in
esac
+
+AC_ARG_WITH(dither,
+ AC_HELP_STRING([--with-dither=TYPE],
+ [dithering to use when loading images into non-RGB16]
+ [surfaces. Possible values for TYPE are: none]
+ [(no dithering), simple (simple dithering, which]
+ [increases the data section by 64 bytes), advanced]
+ [(advanced dithering, which increases the data]
+ [section by 16 KBytes). @<:@default=none@:>@]),
+ [], [with_dither=none])
+case x"$with_dither" in
+ x | xnone)
+ with_dither=none
+ ;;
+ xsimple)
+ AC_DEFINE(DFB_DITHER,DFB_DITHER_SIMPLE,[Dithering to use when rendering to non-RGB16 surfaces])
+ ;;
+ xadvanced)
+ AC_DEFINE(DFB_DITHER,DFB_DITHER_ADVANCED,[Dithering to use when rendering to non-RGB16 surfaces])
+ ;;
+ *)
+ echo "Unknown dithering type $with_dither, exiting!"
+ exit 1
+ ;;
+esac
+
+
+
+
+AC_ARG_WITH(setsockopt,
+ AC_HELP_STRING([--without-setsockopt],
+ [build without setsockopt]),
+ [], [])
+if test "$with_setsockopt" != "no"; then
+ with_setsockopt=yes
+ VOODOO_BUILD_NO_SETSOCKOPT=0
+else
+ VOODOO_BUILD_NO_SETSOCKOPT=1
+fi
+
+AC_SUBST(VOODOO_BUILD_NO_SETSOCKOPT)
+
+
AC_ARG_WITH(tests,
- [ --with-tests build test programs])
+ AC_HELP_STRING([--with-tests],
+ [build test programs]),
+ [], [])
if test "$with_tests" != "yes"; then
with_tests=no
fi
+
# How big of a buffer fusion uses to read messages from the fusion device
AC_ARG_WITH(message-size,
-[ --with-message-size=SIZE allow fusion messages up to SIZE bytes [[default=1024]]],
-[ ], [with_message_size=no])
-test x"$with_message_size" = x"no" && with_message_size=1024
+ AC_HELP_STRING([--with-message-size=SIZE],
+ [allow fusion messages up to SIZE bytes @<:@default=1024@:>@]),
+ [], [with_message_size=no])
+test x"$with_message_size" = x"no" && with_message_size=16384
FUSION_MESSAGE_SIZE=$with_message_size
AC_SUBST(FUSION_MESSAGE_SIZE)
+
# Build tools?
AC_ARG_WITH(tools,
- [ --without-tools do not build any tools])
+ AC_HELP_STRING([--without-tools],
+ [do not build any tools]),
+ [], [])
if test "$with_tools" != "no"; then
with_tools=yes
fi
+
# Sysroot used for runtime module loading, etc.
AC_ARG_WITH(sysroot,
-[ --with-sysroot=DIR search for lib/share et al within DIR at runtime]
-[ (e.g. when loading modules)],
-[ RUNTIME_SYSROOT="$withval" ], [ RUNTIME_SYSROOT= ] )
+ AC_HELP_STRING([--with-sysroot=DIR],
+ [search for lib/share et al within DIR at runtime,]
+ [e.g. when loading modules]),
+ [RUNTIME_SYSROOT="$withval"], [RUNTIME_SYSROOT=])
test x"$RUNTIME_SYSROOT" = x"no" && RUNTIME_SYSROOT=
AC_SUBST(RUNTIME_SYSROOT)
+
dnl *** Look for directfb-csource in PATH if we are cross-compiling ***
if test "$enable_unique" = "yes"; then
@@ -1459,6 +1608,7 @@ if test "$enable_unique" = "yes"; then
fi
+
AM_CONDITIONAL(GFX_ATI128, test "$ati128" = "yes")
AM_CONDITIONAL(GFX_CLE266, test "$cle266" = "yes")
AM_CONDITIONAL(GFX_CYBER5K, test "$cyber5k" = "yes")
@@ -1483,6 +1633,8 @@ AM_CONDITIONAL(GFX_TDFX, test "$tdfx" = "yes")
AM_CONDITIONAL(GFX_UNICHROME, test "$unichrome" = "yes")
AM_CONDITIONAL(GFX_VMWARE, test "$vmware" = "yes")
+AM_CONDITIONAL(SH772X_SHJPEG, test "$sh772x_shjpeg" = "yes")
+
AM_CONDITIONAL(DBOX2REMOTE, test "$enable_dbox2remote" = "yes")
AM_CONDITIONAL(DREAMBOXREMOTE, test "$enable_dreamboxremote" = "yes")
AM_CONDITIONAL(DYNAPRO_INPUT, test "$enable_dynapro_ts" = "yes")
@@ -1510,6 +1662,7 @@ AM_CONDITIONAL(CROSS_COMPILING, test "$cross_compiling" = "yes")
CFLAGS="$CFLAGS $DFB_INTERNAL_CFLAGS"
DFB_LDFLAGS="$LDFLAGS $ZLIB_LIBS"
+CFLAGS="$CFLAGS $CFLAGS_STD"
# Honor aclocal flags
@@ -1576,6 +1729,7 @@ directfb.spec
Makefile
include/Makefile
+include/directfb_build.h
include/directfb_version.h
lib/Makefile
@@ -1589,6 +1743,10 @@ lib/fusion/build.h
lib/fusion/fusion.pc
lib/fusion/shm/Makefile
+lib/One/Makefile
+lib/One/one.pc
+lib/One/linux-one/Makefile
+
lib/voodoo/Makefile
lib/voodoo/build.h
lib/voodoo/voodoo.pc
@@ -1613,6 +1771,7 @@ src/windows/Makefile
systems/Makefile
systems/devmem/Makefile
+systems/dummy/Makefile
systems/fbdev/Makefile
systems/x11/Makefile
systems/osx/Makefile
@@ -1673,6 +1832,7 @@ inputdrivers/ucb1x00_ts/Makefile
inputdrivers/wm97xx_ts/Makefile
interfaces/Makefile
+interfaces/ICoreResourceManager/Makefile
interfaces/IDirectFBFont/Makefile
interfaces/IDirectFBImageProvider/Makefile
interfaces/IDirectFBVideoProvider/Makefile
@@ -1680,6 +1840,7 @@ interfaces/IDirectFBVideoProvider/Makefile
data/Makefile
tests/Makefile
+tests/voodoo/Makefile
tools/Makefile
docs/Makefile
@@ -1707,13 +1868,15 @@ Build options:
LIBS $LIBS
DYNLIB $DYNLIB
THREADFLAGS $THREADFLAGS
- THREADLIBS $THREADLIBS
+ THREADLIB $THREADLIB
Misc options:
Multi Application Core $enable_multi
Fusion Kernel Device $linux_fusion
Fusion message size $with_message_size
+ One (IPC) $enable_one
Voodoo (network support) $enable_voodoo
+ Pure Voodoo (net only) $enable_pure_voodoo
Debug supported $enable_debug_support
Debug enabled $enable_debug
Trace support $enable_trace
@@ -1723,9 +1886,11 @@ Misc options:
Include all strings $enable_text
Software Rendering $with_software
Smooth SW Scaling $with_smooth_scaling
- 16bit Dithering $with_dither_rgb16
+ Dithering $with_dither
+ Dithering 565 $with_dither_rgb16
zlib compression $use_zlib $ZLIB_LIBS
sysfs support $use_sysfs $SYSFS_LIBS
+ Using setsockopt $with_setsockopt
Building Tests $with_tests
Building Tools $with_tools
@@ -1733,10 +1898,10 @@ Building Tools $with_tools
Building System Modules:
Linux FBDev support $enable_fbdev
Generic /dev/mem support $enable_devmem
- X11 support $enable_x11 $X11_CFLAGS $X11_LIBS
- OSX support $enable_osx $OSX_CFLAGS $OSX_LIBS
- SDL support $enable_sdl $SDL_CFLAGS $SDL_LIBS
- VNC support $enable_vnc $VNC_CFLAGS $VNC_LIBS
+ X11 support $enable_x11 $X11_CFLAGS $X11_LIBS
+ OSX support $enable_osx $OSX_CFLAGS $OSX_LIBS
+ SDL support $enable_sdl $SDL_CFLAGS $SDL_LIBS
+ VNC support $enable_vnc $VNC_CFLAGS $VNC_LIBS
Building Window Manager Modules:
Default yes
@@ -1745,14 +1910,15 @@ Building Window Manager Modules:
Building Image Provider Modules:
GIF $enable_gif
JPEG $JPEG $LIBJPEG
- PNG $PNG $LIBPNG_CFLAGS $LIBPNG_LIBS
+ PNG $PNG $LIBPNG_CFLAGS $LIBPNG_LIBS
Building Video Provider Modules:
GIF $enable_gif
Video4Linux $V4L (v2: $V4L2)
Building Font Modules:
- FreeType2 $FREETYPE $FREETYPE_CFLAGS $FREETYPE_LIBS
+ FreeType2 $FREETYPE $FREETYPE_CFLAGS $FREETYPE_LIBS
+ LinoType $LINOTYPE $LINOTYPE_CFLAGS $LINOTYPE_LIBS
Default font yes]);
if test "$have_linux" = "yes"; then
@@ -1798,7 +1964,7 @@ Building Input Drivers:
PS/2 Mouse $enable_ps2mouse
Serial Mouse $enable_serial_mouse
SonyPI Jogdial $enable_sonypi_jogdial
- tslib $enable_tslib $TSLIB_CFLAGS $TSLIB_LIBS
+ tslib $enable_tslib $TSLIB_CFLAGS $TSLIB_LIBS
ucb1x00 Touchscreen $enable_ucb1x00_ts
WM97xx Touchscreen $enable_wm97xx_ts]);
fi
diff --git a/data/Makefile.in b/data/Makefile.in
index e429864..c7f116c 100644
--- a/data/Makefile.in
+++ b/data/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,8 +17,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -43,6 +45,13 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -50,13 +59,34 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(miscdatadir)"
-miscdataDATA_INSTALL = $(INSTALL_DATA)
DATA = $(miscdata_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -80,11 +110,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -98,16 +131,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -128,12 +162,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -144,21 +181,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -166,6 +211,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -179,6 +228,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -186,9 +236,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -235,6 +286,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
miscdatadir = $(DATADIR)
@@ -247,14 +299,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu data/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu data/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -272,6 +324,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -281,20 +334,21 @@ clean-libtool:
install-miscdataDATA: $(miscdata_DATA)
@$(NORMAL_INSTALL)
test -z "$(miscdatadir)" || $(MKDIR_P) "$(DESTDIR)$(miscdatadir)"
- @list='$(miscdata_DATA)'; for p in $$list; do \
+ @list='$(miscdata_DATA)'; test -n "$(miscdatadir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(miscdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(miscdatadir)/$$f'"; \
- $(miscdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(miscdatadir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(miscdatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(miscdatadir)" || exit $$?; \
done
uninstall-miscdataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(miscdata_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(miscdatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(miscdatadir)/$$f"; \
- done
+ @list='$(miscdata_DATA)'; test -n "$(miscdatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(miscdatadir)'; $(am__uninstall_files_from_dir)
tags: TAGS
TAGS:
@@ -318,13 +372,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -345,16 +403,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -373,6 +437,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -381,18 +447,28 @@ install-data-am: install-miscdataDATA
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -427,6 +503,7 @@ uninstall-am: uninstall-miscdataDATA
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
uninstall uninstall-am uninstall-miscdataDATA
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/depcomp b/depcomp
index e5f9736..bd0ac08 100755
--- a/depcomp
+++ b/depcomp
@@ -1,10 +1,10 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2007-03-29.01
+scriptversion=2011-12-04.11; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
-# Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
+# 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,9 +17,7 @@ scriptversion=2007-03-29.01
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -46,7 +44,7 @@ Environment variables:
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
- tmpdepfile Temporary file to use when outputing dependencies.
+ tmpdepfile Temporary file to use when outputting dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake at gnu.org>.
@@ -87,6 +85,23 @@ if test "$depmode" = dashXmstdout; then
depmode=dashmstdout
fi
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvisualcpp
+fi
+
+if test "$depmode" = msvc7msys; then
+ # This is just like msvc7 but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvc7
+fi
+
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
@@ -151,10 +166,12 @@ gcc)
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
-## well.
+## well. hp depmode also adds that space, but also prefixes the VPATH
+## to the object. Take care to not repeat it in the output.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -192,14 +209,14 @@ sgi)
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
-' ' ' >> $depfile
- echo >> $depfile
+' ' ' >> "$depfile"
+ echo >> "$depfile"
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> $depfile
+ >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
@@ -328,7 +345,12 @@ hp2)
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
# Add `dependent.h:' lines.
- sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
+ sed -ne '2,${
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
@@ -393,6 +415,52 @@ tru64)
rm -f "$tmpdepfile"
;;
+msvc7)
+ if test "$libtool" = yes; then
+ showIncludes=-Wc,-showIncludes
+ else
+ showIncludes=-showIncludes
+ fi
+ "$@" $showIncludes > "$tmpdepfile"
+ stat=$?
+ grep -v '^Note: including file: ' "$tmpdepfile"
+ if test "$stat" = 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ # The first sed program below extracts the file names and escapes
+ # backslashes for cygpath. The second sed program outputs the file
+ # name when reading, but also accumulates all include files in the
+ # hold buffer in order to output them again at the end. This only
+ # works with sed implementations that can handle large buffers.
+ sed < "$tmpdepfile" -n '
+/^Note: including file: *\(.*\)/ {
+ s//\1/
+ s/\\/\\\\/g
+ p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/ \1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+ s/.*/ /
+ G
+ p
+}' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvc7msys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
@@ -404,7 +472,7 @@ dashmstdout)
# Remove the call to Libtool.
if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
+ while test "X$1" != 'X--mode=compile'; do
shift
done
shift
@@ -455,36 +523,45 @@ makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
+ while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
- cleared=no
- for arg in "$@"; do
+ cleared=no eat=no
+ for arg
+ do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
+ if test $eat = yes; then
+ eat=no
+ continue
+ fi
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
+ -arch)
+ eat=yes ;;
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
- obj_suffix="`echo $object | sed 's/^.*\././'`"
+ obj_suffix=`echo "$object" | sed 's/^.*\././'`
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
+ # makedepend may prepend the VPATH from the source file name to the object.
+ # No need to regex-escape $object, excess matching of '.' is harmless.
+ sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
@@ -500,7 +577,7 @@ cpp)
# Remove the call to Libtool.
if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
+ while test "X$1" != 'X--mode=compile'; do
shift
done
shift
@@ -538,13 +615,27 @@ cpp)
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o,
- # because we must use -o when running libtool.
+ # always write the preprocessed file to stdout.
"$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
IFS=" "
for arg
do
case "$arg" in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
@@ -557,16 +648,23 @@ msvisualcpp)
;;
esac
done
- "$@" -E |
- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+ "$@" -E 2>/dev/null |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
+msvcmsys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
none)
exec "$@"
;;
@@ -585,5 +683,6 @@ exit 0
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
# End:
diff --git a/directfb.pc.in b/directfb.pc.in
index a02f4f1..d7a12c0 100644
--- a/directfb.pc.in
+++ b/directfb.pc.in
@@ -6,7 +6,7 @@ includedir=@includedir@
Name: DirectFB
Description: Graphics and windowing library for the Linux frame buffer device
Version: @VERSION@
-Requires: fusion direct
+Requires: @DEP_VOODOO@ fusion direct
Libs: -L${libdir} -ldirectfb @THREADLIB@ @OSX_LIBS@
-Libs.private: -L${libdir} @DYNLIB@ @ZLIB_LIBS@
+Libs.private: -L${libdir} @LIBM@ @DYNLIB@ @ZLIB_LIBS@
Cflags: @THREADFLAGS@ -I at INCLUDEDIR@
diff --git a/directfb.spec b/directfb.spec
index 09ecc9c..00f5b45 100644
--- a/directfb.spec
+++ b/directfb.spec
@@ -1,5 +1,5 @@
%define name directfb
-%define version 1.4.3
+%define version 1.4.17
%define oname DirectFB
%define libname lib%name
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 7f572e1..f013a23 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -44,6 +46,13 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = dfbg.1 directfb-csource.1 directfbrc.5
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -53,6 +62,33 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
man1dir = $(mandir)/man1
am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)"
man5dir = $(mandir)/man5
@@ -60,12 +96,41 @@ NROFF = nroff
MANS = $(man_MANS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -89,11 +154,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -107,16 +175,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -137,12 +206,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -153,21 +225,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -175,6 +255,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -188,6 +272,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -195,9 +280,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -244,6 +330,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = html
@@ -267,14 +354,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu docs/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu docs/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -292,6 +379,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
dfbg.1: $(top_builddir)/config.status $(srcdir)/dfbg.1.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
directfb-csource.1: $(top_builddir)/config.status $(srcdir)/directfb-csource.1.in
@@ -304,96 +392,78 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-install-man1: $(man1_MANS) $(man_MANS)
+install-man1: $(man_MANS)
@$(NORMAL_INSTALL)
test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
done; \
- for i in $$list; do \
- if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
- else file=$$i; fi; \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
- $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
- done
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
uninstall-man1:
@$(NORMAL_UNINSTALL)
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
- rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
- done
-install-man5: $(man5_MANS) $(man_MANS)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+install-man5: $(man_MANS)
@$(NORMAL_INSTALL)
test -z "$(man5dir)" || $(MKDIR_P) "$(DESTDIR)$(man5dir)"
- @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.5*) list="$$list $$i" ;; \
- esac; \
+ @list=''; test -n "$(man5dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.5[a-z]*$$/p'; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \
+ fi; \
done; \
- for i in $$list; do \
- if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
- else file=$$i; fi; \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 5*) ;; \
- *) ext='5' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \
- $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst"; \
- done
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \
+ done; }
+
uninstall-man5:
@$(NORMAL_UNINSTALL)
- @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.5*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 5*) ;; \
- *) ext='5' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " rm -f '$(DESTDIR)$(man5dir)/$$inst'"; \
- rm -f "$(DESTDIR)$(man5dir)/$$inst"; \
- done
+ @list=''; test -n "$(man5dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.5[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@@ -402,7 +472,7 @@ uninstall-man5:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -419,7 +489,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -427,7 +497,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -453,16 +523,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -470,14 +540,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -489,7 +559,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -498,34 +568,52 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
+ @list='$(MANS)'; if test -n "$$list"; then \
+ list=`for p in $$list; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+ if test -n "$$list" && \
+ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
+ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+ echo " typically \`make maintainer-clean' will remove them" >&2; \
+ exit 1; \
+ else :; fi; \
+ else :; fi
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -541,29 +629,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -586,16 +689,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -614,6 +723,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -622,18 +733,28 @@ install-data-am: install-man
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am:
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man: install-man1 install-man5
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -656,8 +777,8 @@ uninstall-am: uninstall-man
uninstall-man: uninstall-man1 uninstall-man5
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am all-local check check-am clean clean-generic \
@@ -687,6 +808,7 @@ uninstall-man: uninstall-man1 uninstall-man5
@HAVE_MAN2HTML_FALSE at all-local:
@HAVE_MAN2HTML_FALSE at clean-local:
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/docs/directfb-csource.1.in b/docs/directfb-csource.1.in
index 814d55e..c1c8914 100644
--- a/docs/directfb-csource.1.in
+++ b/docs/directfb-csource.1.in
@@ -44,6 +44,12 @@ reduces banding caused by the limited colorspace. This option has no
effect for other pixel-formats than RGB16.
.TP
+.B --transparent=AARRGGBB
+If specified, completely transparent pixels are set to this color value.
+This may be useful for color keying and to work around bugs in graphics
+driver.
+
+.TP
.B --version
Output version information.
diff --git a/docs/html/Makefile.in b/docs/html/Makefile.in
index ff2ebd4..716c78a 100644
--- a/docs/html/Makefile.in
+++ b/docs/html/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -42,11 +44,19 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -70,11 +80,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -88,16 +101,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -118,12 +132,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -134,21 +151,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -156,6 +181,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -169,6 +198,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -176,9 +206,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -225,6 +256,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = dfb_logo-alpha.png
@@ -240,14 +272,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/html/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu docs/html/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/html/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu docs/html/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -265,6 +297,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -294,13 +327,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -318,16 +355,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -346,6 +389,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -354,18 +399,28 @@ install-data-am:
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -410,6 +465,7 @@ stamp-docs: $(top_srcdir)/tools/gendoc.pl $(docs_headers) Makefile.am
distclean-local:
rm -f *.html stamp-docs
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/Makefile.in b/gfxdrivers/Makefile.in
index c596228..345f703 100644
--- a/gfxdrivers/Makefile.in
+++ b/gfxdrivers/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -42,6 +44,13 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -53,14 +62,43 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = ati128 cle266 cyber5k davinci ep9x gl i810 i830 mach64 \
matrox neomagic nsc nvidia omap pxa3xx radeon savage sh772x \
sis315 tdfx unichrome vmware
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -84,11 +122,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -102,16 +143,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -132,12 +174,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -148,21 +193,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -170,6 +223,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -183,6 +240,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -190,9 +248,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -239,6 +298,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@GFX_ATI128_FALSE at ATI128_DIR =
@@ -316,14 +376,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -341,6 +401,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -355,7 +416,7 @@ clean-libtool:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -372,7 +433,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -380,7 +441,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -406,16 +467,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -423,14 +484,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -442,7 +503,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -451,29 +512,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -494,29 +560,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -536,16 +617,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -564,6 +651,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -572,18 +661,28 @@ install-data-am:
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am:
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -604,8 +703,8 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic clean-libtool \
@@ -621,6 +720,7 @@ uninstall-am:
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/ati128/Makefile.am b/gfxdrivers/ati128/Makefile.am
index aaa6b04..cfc72fd 100644
--- a/gfxdrivers/ati128/Makefile.am
+++ b/gfxdrivers/ati128/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/systems \
-I$(top_srcdir)/src
diff --git a/gfxdrivers/ati128/Makefile.in b/gfxdrivers/ati128/Makefile.in
index 3a8d522..7b7935b 100644
--- a/gfxdrivers/ati128/Makefile.in
+++ b/gfxdrivers/ati128/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(ati128dir)" "$(DESTDIR)$(ati128dir)"
-ati128LTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(ati128_LTLIBRARIES)
libdirectfb_ati128_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -60,30 +83,48 @@ libdirectfb_ati128_la_DEPENDENCIES = \
am_libdirectfb_ati128_la_OBJECTS = ati128.lo ati128_overlay.lo \
ati128_state.lo
libdirectfb_ati128_la_OBJECTS = $(am_libdirectfb_ati128_la_OBJECTS)
-libdirectfb_ati128_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_ati128_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_ati128_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_ati128_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_ati128_la_SOURCES)
DIST_SOURCES = $(libdirectfb_ati128_la_SOURCES)
-ati128DATA_INSTALL = $(INSTALL_DATA)
DATA = $(ati128_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -107,11 +148,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -125,16 +169,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -155,12 +200,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -171,21 +219,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -193,6 +249,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -206,6 +266,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -213,9 +274,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -262,12 +324,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/systems \
-I$(top_srcdir)/src
@@ -301,14 +364,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/ati128/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/ati128/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/ati128/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/ati128/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -318,6 +381,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -326,23 +390,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-ati128LTLIBRARIES: $(ati128_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(ati128dir)" || $(MKDIR_P) "$(DESTDIR)$(ati128dir)"
- @list='$(ati128_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(ati128_LTLIBRARIES)'; test -n "$(ati128dir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(ati128LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(ati128dir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(ati128LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(ati128dir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(ati128dir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(ati128dir)"; \
+ }
uninstall-ati128LTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(ati128_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(ati128dir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(ati128dir)/$$p"; \
+ @list='$(ati128_LTLIBRARIES)'; test -n "$(ati128dir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(ati128dir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(ati128dir)/$$f"; \
done
clean-ati128LTLIBRARIES:
@@ -353,8 +422,8 @@ clean-ati128LTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_ati128.la: $(libdirectfb_ati128_la_OBJECTS) $(libdirectfb_ati128_la_DEPENDENCIES)
- $(libdirectfb_ati128_la_LINK) -rpath $(ati128dir) $(libdirectfb_ati128_la_OBJECTS) $(libdirectfb_ati128_la_LIBADD) $(LIBS)
+libdirectfb_ati128.la: $(libdirectfb_ati128_la_OBJECTS) $(libdirectfb_ati128_la_DEPENDENCIES) $(EXTRA_libdirectfb_ati128_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_ati128_la_LINK) -rpath $(ati128dir) $(libdirectfb_ati128_la_OBJECTS) $(libdirectfb_ati128_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -367,25 +436,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ati128_state.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -395,34 +464,35 @@ clean-libtool:
install-ati128DATA: $(ati128_DATA)
@$(NORMAL_INSTALL)
test -z "$(ati128dir)" || $(MKDIR_P) "$(DESTDIR)$(ati128dir)"
- @list='$(ati128_DATA)'; for p in $$list; do \
+ @list='$(ati128_DATA)'; test -n "$(ati128dir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(ati128DATA_INSTALL) '$$d$$p' '$(DESTDIR)$(ati128dir)/$$f'"; \
- $(ati128DATA_INSTALL) "$$d$$p" "$(DESTDIR)$(ati128dir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(ati128dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(ati128dir)" || exit $$?; \
done
uninstall-ati128DATA:
@$(NORMAL_UNINSTALL)
- @list='$(ati128_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(ati128dir)/$$f'"; \
- rm -f "$(DESTDIR)$(ati128dir)/$$f"; \
- done
+ @list='$(ati128_DATA)'; test -n "$(ati128dir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(ati128dir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -430,29 +500,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -473,13 +548,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -500,16 +579,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -531,6 +616,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -539,18 +626,28 @@ install-data-am: install-ati128DATA install-ati128LTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -599,6 +696,7 @@ uninstall-am: uninstall-ati128DATA uninstall-ati128LTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/cle266/Makefile.am b/gfxdrivers/cle266/Makefile.am
index fff4976..88507d2 100644
--- a/gfxdrivers/cle266/Makefile.am
+++ b/gfxdrivers/cle266/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/systems \
-I$(top_srcdir)/src
diff --git a/gfxdrivers/cle266/Makefile.in b/gfxdrivers/cle266/Makefile.in
index cc8e646..72c5092 100644
--- a/gfxdrivers/cle266/Makefile.in
+++ b/gfxdrivers/cle266/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(cle266dir)" "$(DESTDIR)$(cle266dir)"
-cle266LTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(cle266_LTLIBRARIES)
libdirectfb_cle266_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -62,30 +85,48 @@ am_libdirectfb_cle266_la_OBJECTS = unichrome.lo uc_accel.lo \
uc_hwset.lo uc_hwmap.lo uc_state.lo uc_fifo.lo uc_overlay.lo \
uc_ovl_hwmap.lo uc_ovl_hwset.lo uc_primary.lo
libdirectfb_cle266_la_OBJECTS = $(am_libdirectfb_cle266_la_OBJECTS)
-libdirectfb_cle266_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_cle266_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_cle266_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_cle266_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_cle266_la_SOURCES)
DIST_SOURCES = $(libdirectfb_cle266_la_SOURCES)
-cle266DATA_INSTALL = $(INSTALL_DATA)
DATA = $(cle266_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -109,11 +150,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -127,16 +171,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -157,12 +202,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -173,21 +221,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -195,6 +251,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -208,6 +268,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -215,9 +276,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -264,12 +326,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/systems \
-I$(top_srcdir)/src
@@ -310,14 +373,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/cle266/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/cle266/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/cle266/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/cle266/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -327,6 +390,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -335,23 +399,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-cle266LTLIBRARIES: $(cle266_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(cle266dir)" || $(MKDIR_P) "$(DESTDIR)$(cle266dir)"
- @list='$(cle266_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(cle266_LTLIBRARIES)'; test -n "$(cle266dir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(cle266LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(cle266dir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(cle266LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(cle266dir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(cle266dir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(cle266dir)"; \
+ }
uninstall-cle266LTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(cle266_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(cle266dir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(cle266dir)/$$p"; \
+ @list='$(cle266_LTLIBRARIES)'; test -n "$(cle266dir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(cle266dir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(cle266dir)/$$f"; \
done
clean-cle266LTLIBRARIES:
@@ -362,8 +431,8 @@ clean-cle266LTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_cle266.la: $(libdirectfb_cle266_la_OBJECTS) $(libdirectfb_cle266_la_DEPENDENCIES)
- $(libdirectfb_cle266_la_LINK) -rpath $(cle266dir) $(libdirectfb_cle266_la_OBJECTS) $(libdirectfb_cle266_la_LIBADD) $(LIBS)
+libdirectfb_cle266.la: $(libdirectfb_cle266_la_OBJECTS) $(libdirectfb_cle266_la_DEPENDENCIES) $(EXTRA_libdirectfb_cle266_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_cle266_la_LINK) -rpath $(cle266dir) $(libdirectfb_cle266_la_OBJECTS) $(libdirectfb_cle266_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -383,25 +452,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unichrome.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -411,34 +480,35 @@ clean-libtool:
install-cle266DATA: $(cle266_DATA)
@$(NORMAL_INSTALL)
test -z "$(cle266dir)" || $(MKDIR_P) "$(DESTDIR)$(cle266dir)"
- @list='$(cle266_DATA)'; for p in $$list; do \
+ @list='$(cle266_DATA)'; test -n "$(cle266dir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(cle266DATA_INSTALL) '$$d$$p' '$(DESTDIR)$(cle266dir)/$$f'"; \
- $(cle266DATA_INSTALL) "$$d$$p" "$(DESTDIR)$(cle266dir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(cle266dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(cle266dir)" || exit $$?; \
done
uninstall-cle266DATA:
@$(NORMAL_UNINSTALL)
- @list='$(cle266_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(cle266dir)/$$f'"; \
- rm -f "$(DESTDIR)$(cle266dir)/$$f"; \
- done
+ @list='$(cle266_DATA)'; test -n "$(cle266dir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(cle266dir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -446,29 +516,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -489,13 +564,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -516,16 +595,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -547,6 +632,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -555,18 +642,28 @@ install-data-am: install-cle266DATA install-cle266LTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -615,6 +712,7 @@ uninstall-am: uninstall-cle266DATA uninstall-cle266LTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/cyber5k/Makefile.am b/gfxdrivers/cyber5k/Makefile.am
index 6112a8d..042f490 100644
--- a/gfxdrivers/cyber5k/Makefile.am
+++ b/gfxdrivers/cyber5k/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/systems \
-I$(top_srcdir)/src
diff --git a/gfxdrivers/cyber5k/Makefile.in b/gfxdrivers/cyber5k/Makefile.in
index 7720df9..52a6986 100644
--- a/gfxdrivers/cyber5k/Makefile.in
+++ b/gfxdrivers/cyber5k/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(cyber5kdir)" "$(DESTDIR)$(cyber5kdir)"
-cyber5kLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(cyber5k_LTLIBRARIES)
libdirectfb_cyber5k_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -60,30 +83,48 @@ libdirectfb_cyber5k_la_DEPENDENCIES = \
am_libdirectfb_cyber5k_la_OBJECTS = cyber5k.lo cyber5k_overlay.lo \
cyber5k_underlay.lo cyber5k_alpha.lo
libdirectfb_cyber5k_la_OBJECTS = $(am_libdirectfb_cyber5k_la_OBJECTS)
-libdirectfb_cyber5k_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_cyber5k_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_cyber5k_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_cyber5k_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_cyber5k_la_SOURCES)
DIST_SOURCES = $(libdirectfb_cyber5k_la_SOURCES)
-cyber5kDATA_INSTALL = $(INSTALL_DATA)
DATA = $(cyber5k_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -107,11 +148,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -125,16 +169,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -155,12 +200,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -171,21 +219,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -193,6 +249,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -206,6 +266,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -213,9 +274,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -262,12 +324,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/systems \
-I$(top_srcdir)/src
@@ -303,14 +366,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/cyber5k/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/cyber5k/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/cyber5k/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/cyber5k/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -320,6 +383,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -328,23 +392,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-cyber5kLTLIBRARIES: $(cyber5k_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(cyber5kdir)" || $(MKDIR_P) "$(DESTDIR)$(cyber5kdir)"
- @list='$(cyber5k_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(cyber5k_LTLIBRARIES)'; test -n "$(cyber5kdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(cyber5kLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(cyber5kdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(cyber5kLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(cyber5kdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(cyber5kdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(cyber5kdir)"; \
+ }
uninstall-cyber5kLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(cyber5k_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(cyber5kdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(cyber5kdir)/$$p"; \
+ @list='$(cyber5k_LTLIBRARIES)'; test -n "$(cyber5kdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(cyber5kdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(cyber5kdir)/$$f"; \
done
clean-cyber5kLTLIBRARIES:
@@ -355,8 +424,8 @@ clean-cyber5kLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_cyber5k.la: $(libdirectfb_cyber5k_la_OBJECTS) $(libdirectfb_cyber5k_la_DEPENDENCIES)
- $(libdirectfb_cyber5k_la_LINK) -rpath $(cyber5kdir) $(libdirectfb_cyber5k_la_OBJECTS) $(libdirectfb_cyber5k_la_LIBADD) $(LIBS)
+libdirectfb_cyber5k.la: $(libdirectfb_cyber5k_la_OBJECTS) $(libdirectfb_cyber5k_la_DEPENDENCIES) $(EXTRA_libdirectfb_cyber5k_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_cyber5k_la_LINK) -rpath $(cyber5kdir) $(libdirectfb_cyber5k_la_OBJECTS) $(libdirectfb_cyber5k_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -370,25 +439,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cyber5k_underlay.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -398,34 +467,35 @@ clean-libtool:
install-cyber5kDATA: $(cyber5k_DATA)
@$(NORMAL_INSTALL)
test -z "$(cyber5kdir)" || $(MKDIR_P) "$(DESTDIR)$(cyber5kdir)"
- @list='$(cyber5k_DATA)'; for p in $$list; do \
+ @list='$(cyber5k_DATA)'; test -n "$(cyber5kdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(cyber5kDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(cyber5kdir)/$$f'"; \
- $(cyber5kDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(cyber5kdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(cyber5kdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(cyber5kdir)" || exit $$?; \
done
uninstall-cyber5kDATA:
@$(NORMAL_UNINSTALL)
- @list='$(cyber5k_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(cyber5kdir)/$$f'"; \
- rm -f "$(DESTDIR)$(cyber5kdir)/$$f"; \
- done
+ @list='$(cyber5k_DATA)'; test -n "$(cyber5kdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(cyber5kdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -433,29 +503,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -476,13 +551,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -503,16 +582,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -534,6 +619,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -542,18 +629,28 @@ install-data-am: install-cyber5kDATA install-cyber5kLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -603,6 +700,7 @@ uninstall-am: uninstall-cyber5kDATA uninstall-cyber5kLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/davinci/Makefile.am b/gfxdrivers/davinci/Makefile.am
index d3a25ad..e697993 100644
--- a/gfxdrivers/davinci/Makefile.am
+++ b/gfxdrivers/davinci/Makefile.am
@@ -11,8 +11,8 @@ EXTRA_DIST = \
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems \
diff --git a/gfxdrivers/davinci/Makefile.in b/gfxdrivers/davinci/Makefile.in
index d41b5c8..cc681f3 100644
--- a/gfxdrivers/davinci/Makefile.in
+++ b/gfxdrivers/davinci/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,8 +19,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -47,21 +49,44 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(davincidir)" "$(DESTDIR)$(libdir)" \
"$(DESTDIR)$(bindir)" "$(DESTDIR)$(davincidir)"
-davinciLTLIBRARIES_INSTALL = $(INSTALL)
-libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(davinci_LTLIBRARIES) $(lib_LTLIBRARIES)
libdavinci_c64x_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la
am_libdavinci_c64x_la_OBJECTS = davinci_c64x.lo
libdavinci_c64x_la_OBJECTS = $(am_libdavinci_c64x_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
libdirectfb_davinci_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la \
@@ -70,10 +95,10 @@ am_libdirectfb_davinci_la_OBJECTS = davinci_2d.lo davinci_gfxdriver.lo \
davinci_osd.lo davinci_osd_pool.lo davinci_screen.lo \
davinci_video.lo davinci_video_pool.lo
libdirectfb_davinci_la_OBJECTS = $(am_libdirectfb_davinci_la_OBJECTS)
-libdirectfb_davinci_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_davinci_la_LDFLAGS) $(LDFLAGS) -o $@
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+libdirectfb_davinci_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_davinci_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
PROGRAMS = $(bin_PROGRAMS)
am_c64xdump_OBJECTS = c64xdump.$(OBJEXT)
c64xdump_OBJECTS = $(am_c64xdump_OBJECTS)
@@ -81,26 +106,40 @@ c64xdump_DEPENDENCIES = $(top_builddir)/lib/direct/libdirect.la
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdavinci_c64x_la_SOURCES) \
$(libdirectfb_davinci_la_SOURCES) $(c64xdump_SOURCES)
DIST_SOURCES = $(libdavinci_c64x_la_SOURCES) \
$(libdirectfb_davinci_la_SOURCES) $(c64xdump_SOURCES)
-davinciDATA_INSTALL = $(INSTALL_DATA)
DATA = $(davinci_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -124,11 +163,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -142,16 +184,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -172,12 +215,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -188,21 +234,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -210,6 +264,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -223,6 +281,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -230,9 +289,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -279,6 +339,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = \
@@ -292,8 +353,8 @@ EXTRA_DIST = \
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems \
@@ -345,14 +406,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/davinci/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/davinci/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/davinci/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/davinci/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -362,6 +423,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -370,23 +432,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-davinciLTLIBRARIES: $(davinci_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(davincidir)" || $(MKDIR_P) "$(DESTDIR)$(davincidir)"
- @list='$(davinci_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(davinci_LTLIBRARIES)'; test -n "$(davincidir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(davinciLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(davincidir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(davinciLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(davincidir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(davincidir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(davincidir)"; \
+ }
uninstall-davinciLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(davinci_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(davincidir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(davincidir)/$$p"; \
+ @list='$(davinci_LTLIBRARIES)'; test -n "$(davincidir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(davincidir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(davincidir)/$$f"; \
done
clean-davinciLTLIBRARIES:
@@ -400,20 +467,24 @@ clean-davinciLTLIBRARIES:
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
@@ -424,41 +495,56 @@ clean-libLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdavinci_c64x.la: $(libdavinci_c64x_la_OBJECTS) $(libdavinci_c64x_la_DEPENDENCIES)
- $(LINK) -rpath $(libdir) $(libdavinci_c64x_la_OBJECTS) $(libdavinci_c64x_la_LIBADD) $(LIBS)
-libdirectfb_davinci.la: $(libdirectfb_davinci_la_OBJECTS) $(libdirectfb_davinci_la_DEPENDENCIES)
- $(libdirectfb_davinci_la_LINK) -rpath $(davincidir) $(libdirectfb_davinci_la_OBJECTS) $(libdirectfb_davinci_la_LIBADD) $(LIBS)
+libdavinci_c64x.la: $(libdavinci_c64x_la_OBJECTS) $(libdavinci_c64x_la_DEPENDENCIES) $(EXTRA_libdavinci_c64x_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) -rpath $(libdir) $(libdavinci_c64x_la_OBJECTS) $(libdavinci_c64x_la_LIBADD) $(LIBS)
+libdirectfb_davinci.la: $(libdirectfb_davinci_la_OBJECTS) $(libdirectfb_davinci_la_DEPENDENCIES) $(EXTRA_libdirectfb_davinci_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_davinci_la_LINK) -rpath $(davincidir) $(libdirectfb_davinci_la_OBJECTS) $(libdirectfb_davinci_la_LIBADD) $(LIBS)
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-c64xdump$(EXEEXT): $(c64xdump_OBJECTS) $(c64xdump_DEPENDENCIES)
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+c64xdump$(EXEEXT): $(c64xdump_OBJECTS) $(c64xdump_DEPENDENCIES) $(EXTRA_c64xdump_DEPENDENCIES)
@rm -f c64xdump$(EXEEXT)
- $(LINK) $(c64xdump_OBJECTS) $(c64xdump_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(c64xdump_OBJECTS) $(c64xdump_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -477,25 +563,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/davinci_video_pool.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -505,34 +591,35 @@ clean-libtool:
install-davinciDATA: $(davinci_DATA)
@$(NORMAL_INSTALL)
test -z "$(davincidir)" || $(MKDIR_P) "$(DESTDIR)$(davincidir)"
- @list='$(davinci_DATA)'; for p in $$list; do \
+ @list='$(davinci_DATA)'; test -n "$(davincidir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(davinciDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(davincidir)/$$f'"; \
- $(davinciDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(davincidir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(davincidir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(davincidir)" || exit $$?; \
done
uninstall-davinciDATA:
@$(NORMAL_UNINSTALL)
- @list='$(davinci_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(davincidir)/$$f'"; \
- rm -f "$(DESTDIR)$(davincidir)/$$f"; \
- done
+ @list='$(davinci_DATA)'; test -n "$(davincidir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(davincidir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -540,29 +627,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -583,13 +675,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -612,16 +708,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -643,6 +745,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -651,18 +755,28 @@ install-data-am: install-davinciDATA install-davinciLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am: install-binPROGRAMS install-libLTLIBRARIES
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -715,6 +829,7 @@ uninstall-am: uninstall-binPROGRAMS uninstall-davinciDATA \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/ep9x/Makefile.am b/gfxdrivers/ep9x/Makefile.am
index afbdfb1..1883514 100644
--- a/gfxdrivers/ep9x/Makefile.am
+++ b/gfxdrivers/ep9x/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
diff --git a/gfxdrivers/ep9x/Makefile.in b/gfxdrivers/ep9x/Makefile.in
index 4c196f4..5051bbb 100644
--- a/gfxdrivers/ep9x/Makefile.in
+++ b/gfxdrivers/ep9x/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,44 +47,83 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(ep9xdir)" "$(DESTDIR)$(ep9xdir)"
-ep9xLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(ep9x_LTLIBRARIES)
libdirectfb_ep9x_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_ep9x_la_OBJECTS = ep9x.lo
libdirectfb_ep9x_la_OBJECTS = $(am_libdirectfb_ep9x_la_OBJECTS)
-libdirectfb_ep9x_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_ep9x_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_ep9x_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_ep9x_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_ep9x_la_SOURCES)
DIST_SOURCES = $(libdirectfb_ep9x_la_SOURCES)
-ep9xDATA_INSTALL = $(INSTALL_DATA)
DATA = $(ep9x_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -106,11 +147,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -124,16 +168,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -154,12 +199,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -170,21 +218,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -192,6 +248,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -205,6 +265,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -212,9 +273,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -261,12 +323,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
@@ -295,14 +358,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/ep9x/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/ep9x/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/ep9x/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/ep9x/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -312,6 +375,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -320,23 +384,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-ep9xLTLIBRARIES: $(ep9x_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(ep9xdir)" || $(MKDIR_P) "$(DESTDIR)$(ep9xdir)"
- @list='$(ep9x_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(ep9x_LTLIBRARIES)'; test -n "$(ep9xdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(ep9xLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(ep9xdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(ep9xLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(ep9xdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(ep9xdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(ep9xdir)"; \
+ }
uninstall-ep9xLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(ep9x_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(ep9xdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(ep9xdir)/$$p"; \
+ @list='$(ep9x_LTLIBRARIES)'; test -n "$(ep9xdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(ep9xdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(ep9xdir)/$$f"; \
done
clean-ep9xLTLIBRARIES:
@@ -347,8 +416,8 @@ clean-ep9xLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_ep9x.la: $(libdirectfb_ep9x_la_OBJECTS) $(libdirectfb_ep9x_la_DEPENDENCIES)
- $(libdirectfb_ep9x_la_LINK) -rpath $(ep9xdir) $(libdirectfb_ep9x_la_OBJECTS) $(libdirectfb_ep9x_la_LIBADD) $(LIBS)
+libdirectfb_ep9x.la: $(libdirectfb_ep9x_la_OBJECTS) $(libdirectfb_ep9x_la_DEPENDENCIES) $(EXTRA_libdirectfb_ep9x_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_ep9x_la_LINK) -rpath $(ep9xdir) $(libdirectfb_ep9x_la_OBJECTS) $(libdirectfb_ep9x_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -359,25 +428,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ep9x.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -387,34 +456,35 @@ clean-libtool:
install-ep9xDATA: $(ep9x_DATA)
@$(NORMAL_INSTALL)
test -z "$(ep9xdir)" || $(MKDIR_P) "$(DESTDIR)$(ep9xdir)"
- @list='$(ep9x_DATA)'; for p in $$list; do \
+ @list='$(ep9x_DATA)'; test -n "$(ep9xdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(ep9xDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(ep9xdir)/$$f'"; \
- $(ep9xDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(ep9xdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(ep9xdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(ep9xdir)" || exit $$?; \
done
uninstall-ep9xDATA:
@$(NORMAL_UNINSTALL)
- @list='$(ep9x_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(ep9xdir)/$$f'"; \
- rm -f "$(DESTDIR)$(ep9xdir)/$$f"; \
- done
+ @list='$(ep9x_DATA)'; test -n "$(ep9xdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(ep9xdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -422,29 +492,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -465,13 +540,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -492,16 +571,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -523,6 +608,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -531,18 +618,28 @@ install-data-am: install-ep9xDATA install-ep9xLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -591,6 +688,7 @@ uninstall-am: uninstall-ep9xDATA uninstall-ep9xLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/gl/Makefile.am b/gfxdrivers/gl/Makefile.am
index ef5deb2..d36e977 100644
--- a/gfxdrivers/gl/Makefile.am
+++ b/gfxdrivers/gl/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
diff --git a/gfxdrivers/gl/Makefile.in b/gfxdrivers/gl/Makefile.in
index 3c58bfa..e8bb846 100644
--- a/gfxdrivers/gl/Makefile.in
+++ b/gfxdrivers/gl/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,44 +47,83 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(gldir)" "$(DESTDIR)$(gldir)"
-glLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(gl_LTLIBRARIES)
libdirectfb_gl_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_gl_la_OBJECTS = gl_2d.lo gl_gfxdriver.lo
libdirectfb_gl_la_OBJECTS = $(am_libdirectfb_gl_la_OBJECTS)
-libdirectfb_gl_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_gl_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_gl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_gl_la_LDFLAGS) $(LDFLAGS) \
+ -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_gl_la_SOURCES)
DIST_SOURCES = $(libdirectfb_gl_la_SOURCES)
-glDATA_INSTALL = $(INSTALL_DATA)
DATA = $(gl_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -106,11 +147,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -124,16 +168,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -154,12 +199,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -170,21 +218,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -192,6 +248,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -205,6 +265,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -212,9 +273,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -261,12 +323,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
@@ -297,14 +360,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/gl/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/gl/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/gl/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/gl/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -314,6 +377,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -322,23 +386,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-glLTLIBRARIES: $(gl_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(gldir)" || $(MKDIR_P) "$(DESTDIR)$(gldir)"
- @list='$(gl_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(gl_LTLIBRARIES)'; test -n "$(gldir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(glLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(gldir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(glLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(gldir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(gldir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(gldir)"; \
+ }
uninstall-glLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(gl_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(gldir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(gldir)/$$p"; \
+ @list='$(gl_LTLIBRARIES)'; test -n "$(gldir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(gldir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(gldir)/$$f"; \
done
clean-glLTLIBRARIES:
@@ -349,8 +418,8 @@ clean-glLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_gl.la: $(libdirectfb_gl_la_OBJECTS) $(libdirectfb_gl_la_DEPENDENCIES)
- $(libdirectfb_gl_la_LINK) -rpath $(gldir) $(libdirectfb_gl_la_OBJECTS) $(libdirectfb_gl_la_LIBADD) $(LIBS)
+libdirectfb_gl.la: $(libdirectfb_gl_la_OBJECTS) $(libdirectfb_gl_la_DEPENDENCIES) $(EXTRA_libdirectfb_gl_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_gl_la_LINK) -rpath $(gldir) $(libdirectfb_gl_la_OBJECTS) $(libdirectfb_gl_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -362,25 +431,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gl_gfxdriver.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -390,34 +459,35 @@ clean-libtool:
install-glDATA: $(gl_DATA)
@$(NORMAL_INSTALL)
test -z "$(gldir)" || $(MKDIR_P) "$(DESTDIR)$(gldir)"
- @list='$(gl_DATA)'; for p in $$list; do \
+ @list='$(gl_DATA)'; test -n "$(gldir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(glDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(gldir)/$$f'"; \
- $(glDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(gldir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(gldir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(gldir)" || exit $$?; \
done
uninstall-glDATA:
@$(NORMAL_UNINSTALL)
- @list='$(gl_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(gldir)/$$f'"; \
- rm -f "$(DESTDIR)$(gldir)/$$f"; \
- done
+ @list='$(gl_DATA)'; test -n "$(gldir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(gldir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -425,29 +495,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -468,13 +543,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -495,16 +574,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -526,6 +611,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -534,18 +621,28 @@ install-data-am: install-glDATA install-glLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -594,6 +691,7 @@ uninstall-am: uninstall-glDATA uninstall-glLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/i810/Makefile.am b/gfxdrivers/i810/Makefile.am
index 76e3d95..eed93b8 100644
--- a/gfxdrivers/i810/Makefile.am
+++ b/gfxdrivers/i810/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
diff --git a/gfxdrivers/i810/Makefile.in b/gfxdrivers/i810/Makefile.in
index b87d7fa..cf97672 100644
--- a/gfxdrivers/i810/Makefile.in
+++ b/gfxdrivers/i810/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,44 +47,83 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(i810dir)" "$(DESTDIR)$(i810dir)"
-i810LTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(i810_LTLIBRARIES)
libdirectfb_i810_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_i810_la_OBJECTS = i810.lo i810_overlay.lo
libdirectfb_i810_la_OBJECTS = $(am_libdirectfb_i810_la_OBJECTS)
-libdirectfb_i810_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_i810_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_i810_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_i810_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_i810_la_SOURCES)
DIST_SOURCES = $(libdirectfb_i810_la_SOURCES)
-i810DATA_INSTALL = $(INSTALL_DATA)
DATA = $(i810_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -106,11 +147,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -124,16 +168,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -154,12 +199,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -170,21 +218,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -192,6 +248,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -205,6 +265,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -212,9 +273,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -261,12 +323,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
@@ -296,14 +359,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/i810/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/i810/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/i810/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/i810/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -313,6 +376,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -321,23 +385,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-i810LTLIBRARIES: $(i810_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(i810dir)" || $(MKDIR_P) "$(DESTDIR)$(i810dir)"
- @list='$(i810_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(i810_LTLIBRARIES)'; test -n "$(i810dir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(i810LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(i810dir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(i810LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(i810dir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(i810dir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(i810dir)"; \
+ }
uninstall-i810LTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(i810_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(i810dir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(i810dir)/$$p"; \
+ @list='$(i810_LTLIBRARIES)'; test -n "$(i810dir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(i810dir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(i810dir)/$$f"; \
done
clean-i810LTLIBRARIES:
@@ -348,8 +417,8 @@ clean-i810LTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_i810.la: $(libdirectfb_i810_la_OBJECTS) $(libdirectfb_i810_la_DEPENDENCIES)
- $(libdirectfb_i810_la_LINK) -rpath $(i810dir) $(libdirectfb_i810_la_OBJECTS) $(libdirectfb_i810_la_LIBADD) $(LIBS)
+libdirectfb_i810.la: $(libdirectfb_i810_la_OBJECTS) $(libdirectfb_i810_la_DEPENDENCIES) $(EXTRA_libdirectfb_i810_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_i810_la_LINK) -rpath $(i810dir) $(libdirectfb_i810_la_OBJECTS) $(libdirectfb_i810_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -361,25 +430,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/i810_overlay.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -389,34 +458,35 @@ clean-libtool:
install-i810DATA: $(i810_DATA)
@$(NORMAL_INSTALL)
test -z "$(i810dir)" || $(MKDIR_P) "$(DESTDIR)$(i810dir)"
- @list='$(i810_DATA)'; for p in $$list; do \
+ @list='$(i810_DATA)'; test -n "$(i810dir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(i810DATA_INSTALL) '$$d$$p' '$(DESTDIR)$(i810dir)/$$f'"; \
- $(i810DATA_INSTALL) "$$d$$p" "$(DESTDIR)$(i810dir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(i810dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(i810dir)" || exit $$?; \
done
uninstall-i810DATA:
@$(NORMAL_UNINSTALL)
- @list='$(i810_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(i810dir)/$$f'"; \
- rm -f "$(DESTDIR)$(i810dir)/$$f"; \
- done
+ @list='$(i810_DATA)'; test -n "$(i810dir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(i810dir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -424,29 +494,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -467,13 +542,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -494,16 +573,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -525,6 +610,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -533,18 +620,28 @@ install-data-am: install-i810DATA install-i810LTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -593,6 +690,7 @@ uninstall-am: uninstall-i810DATA uninstall-i810LTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/i830/Makefile.am b/gfxdrivers/i830/Makefile.am
index 115f671..ecc0974 100644
--- a/gfxdrivers/i830/Makefile.am
+++ b/gfxdrivers/i830/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
diff --git a/gfxdrivers/i830/Makefile.in b/gfxdrivers/i830/Makefile.in
index 994f586..bdcf14d 100644
--- a/gfxdrivers/i830/Makefile.in
+++ b/gfxdrivers/i830/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,44 +47,83 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(i830dir)" "$(DESTDIR)$(i830dir)"
-i830LTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(i830_LTLIBRARIES)
libdirectfb_i830_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_i830_la_OBJECTS = i830.lo i830_overlay.lo
libdirectfb_i830_la_OBJECTS = $(am_libdirectfb_i830_la_OBJECTS)
-libdirectfb_i830_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_i830_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_i830_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_i830_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_i830_la_SOURCES)
DIST_SOURCES = $(libdirectfb_i830_la_SOURCES)
-i830DATA_INSTALL = $(INSTALL_DATA)
DATA = $(i830_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -106,11 +147,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -124,16 +168,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -154,12 +199,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -170,21 +218,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -192,6 +248,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -205,6 +265,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -212,9 +273,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -261,12 +323,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
@@ -296,14 +359,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/i830/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/i830/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/i830/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/i830/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -313,6 +376,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -321,23 +385,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-i830LTLIBRARIES: $(i830_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(i830dir)" || $(MKDIR_P) "$(DESTDIR)$(i830dir)"
- @list='$(i830_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(i830_LTLIBRARIES)'; test -n "$(i830dir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(i830LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(i830dir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(i830LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(i830dir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(i830dir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(i830dir)"; \
+ }
uninstall-i830LTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(i830_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(i830dir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(i830dir)/$$p"; \
+ @list='$(i830_LTLIBRARIES)'; test -n "$(i830dir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(i830dir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(i830dir)/$$f"; \
done
clean-i830LTLIBRARIES:
@@ -348,8 +417,8 @@ clean-i830LTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_i830.la: $(libdirectfb_i830_la_OBJECTS) $(libdirectfb_i830_la_DEPENDENCIES)
- $(libdirectfb_i830_la_LINK) -rpath $(i830dir) $(libdirectfb_i830_la_OBJECTS) $(libdirectfb_i830_la_LIBADD) $(LIBS)
+libdirectfb_i830.la: $(libdirectfb_i830_la_OBJECTS) $(libdirectfb_i830_la_DEPENDENCIES) $(EXTRA_libdirectfb_i830_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_i830_la_LINK) -rpath $(i830dir) $(libdirectfb_i830_la_OBJECTS) $(libdirectfb_i830_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -361,25 +430,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/i830_overlay.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -389,34 +458,35 @@ clean-libtool:
install-i830DATA: $(i830_DATA)
@$(NORMAL_INSTALL)
test -z "$(i830dir)" || $(MKDIR_P) "$(DESTDIR)$(i830dir)"
- @list='$(i830_DATA)'; for p in $$list; do \
+ @list='$(i830_DATA)'; test -n "$(i830dir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(i830DATA_INSTALL) '$$d$$p' '$(DESTDIR)$(i830dir)/$$f'"; \
- $(i830DATA_INSTALL) "$$d$$p" "$(DESTDIR)$(i830dir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(i830dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(i830dir)" || exit $$?; \
done
uninstall-i830DATA:
@$(NORMAL_UNINSTALL)
- @list='$(i830_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(i830dir)/$$f'"; \
- rm -f "$(DESTDIR)$(i830dir)/$$f"; \
- done
+ @list='$(i830_DATA)'; test -n "$(i830dir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(i830dir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -424,29 +494,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -467,13 +542,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -494,16 +573,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -525,6 +610,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -533,18 +620,28 @@ install-data-am: install-i830DATA install-i830LTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -593,6 +690,7 @@ uninstall-am: uninstall-i830DATA uninstall-i830LTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/mach64/Makefile.am b/gfxdrivers/mach64/Makefile.am
index 89b9a0e..9d775d0 100644
--- a/gfxdrivers/mach64/Makefile.am
+++ b/gfxdrivers/mach64/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/systems \
-I$(top_srcdir)/src
diff --git a/gfxdrivers/mach64/Makefile.in b/gfxdrivers/mach64/Makefile.in
index fc1b1cb..a5da8a8 100644
--- a/gfxdrivers/mach64/Makefile.in
+++ b/gfxdrivers/mach64/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(mach64dir)" "$(DESTDIR)$(mach64dir)"
-mach64LTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(mach64_LTLIBRARIES)
libdirectfb_mach64_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -60,30 +83,48 @@ libdirectfb_mach64_la_DEPENDENCIES = \
am_libdirectfb_mach64_la_OBJECTS = mach64.lo mach64_state.lo \
mach64_overlay.lo
libdirectfb_mach64_la_OBJECTS = $(am_libdirectfb_mach64_la_OBJECTS)
-libdirectfb_mach64_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_mach64_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_mach64_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_mach64_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_mach64_la_SOURCES)
DIST_SOURCES = $(libdirectfb_mach64_la_SOURCES)
-mach64DATA_INSTALL = $(INSTALL_DATA)
DATA = $(mach64_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -107,11 +148,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -125,16 +169,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -155,12 +200,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -171,21 +219,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -193,6 +249,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -206,6 +266,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -213,9 +274,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -262,12 +324,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/systems \
-I$(top_srcdir)/src
@@ -301,14 +364,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/mach64/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/mach64/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/mach64/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/mach64/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -318,6 +381,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -326,23 +390,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-mach64LTLIBRARIES: $(mach64_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(mach64dir)" || $(MKDIR_P) "$(DESTDIR)$(mach64dir)"
- @list='$(mach64_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(mach64_LTLIBRARIES)'; test -n "$(mach64dir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(mach64LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(mach64dir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(mach64LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(mach64dir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(mach64dir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(mach64dir)"; \
+ }
uninstall-mach64LTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(mach64_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(mach64dir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(mach64dir)/$$p"; \
+ @list='$(mach64_LTLIBRARIES)'; test -n "$(mach64dir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(mach64dir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(mach64dir)/$$f"; \
done
clean-mach64LTLIBRARIES:
@@ -353,8 +422,8 @@ clean-mach64LTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_mach64.la: $(libdirectfb_mach64_la_OBJECTS) $(libdirectfb_mach64_la_DEPENDENCIES)
- $(libdirectfb_mach64_la_LINK) -rpath $(mach64dir) $(libdirectfb_mach64_la_OBJECTS) $(libdirectfb_mach64_la_LIBADD) $(LIBS)
+libdirectfb_mach64.la: $(libdirectfb_mach64_la_OBJECTS) $(libdirectfb_mach64_la_DEPENDENCIES) $(EXTRA_libdirectfb_mach64_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_mach64_la_LINK) -rpath $(mach64dir) $(libdirectfb_mach64_la_OBJECTS) $(libdirectfb_mach64_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -367,25 +436,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mach64_state.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -395,34 +464,35 @@ clean-libtool:
install-mach64DATA: $(mach64_DATA)
@$(NORMAL_INSTALL)
test -z "$(mach64dir)" || $(MKDIR_P) "$(DESTDIR)$(mach64dir)"
- @list='$(mach64_DATA)'; for p in $$list; do \
+ @list='$(mach64_DATA)'; test -n "$(mach64dir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(mach64DATA_INSTALL) '$$d$$p' '$(DESTDIR)$(mach64dir)/$$f'"; \
- $(mach64DATA_INSTALL) "$$d$$p" "$(DESTDIR)$(mach64dir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(mach64dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(mach64dir)" || exit $$?; \
done
uninstall-mach64DATA:
@$(NORMAL_UNINSTALL)
- @list='$(mach64_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(mach64dir)/$$f'"; \
- rm -f "$(DESTDIR)$(mach64dir)/$$f"; \
- done
+ @list='$(mach64_DATA)'; test -n "$(mach64dir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(mach64dir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -430,29 +500,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -473,13 +548,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -500,16 +579,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -531,6 +616,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -539,18 +626,28 @@ install-data-am: install-mach64DATA install-mach64LTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -599,6 +696,7 @@ uninstall-am: uninstall-mach64DATA uninstall-mach64LTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/mach64/mach64.c b/gfxdrivers/mach64/mach64.c
index 84fd571..1c99883 100644
--- a/gfxdrivers/mach64/mach64.c
+++ b/gfxdrivers/mach64/mach64.c
@@ -1556,6 +1556,8 @@ driver_init_device( CoreGraphicsDevice *device,
/* 3D Rage Pro is the first chip that supports auto fast fill/block write. */
if (mdev->chip >= CHIP_3D_RAGE_PRO) {
+ u32 cfg_mem_type = mach64_in32( mmio, CONFIG_STAT0 ) & CFG_MEM_TYPE;
+
mdev->hw_debug = mach64_in32( mmio, HW_DEBUG );
/* Save original HW_DEBUG. */
@@ -1564,7 +1566,8 @@ driver_init_device( CoreGraphicsDevice *device,
/* Enable auto fast fill and fast fill/block write scissoring. */
mdev->hw_debug &= ~(AUTO_FF_DIS | INTER_PRIM_DIS);
- if ((mach64_in32( mmio, CONFIG_STAT0 ) & CFG_MEM_TYPE) == CFG_MEM_TYPE_SGRAM) {
+ if (cfg_mem_type == CFG_MEM_TYPE_SGRAM ||
+ (mdev->chip == CHIP_3D_RAGE_PRO && cfg_mem_type == CFG_MEM_TYPE_WRAM)) {
/* Enable auto block write and auto color register updates. */
mdev->hw_debug &= ~(AUTO_BLKWRT_DIS | AUTO_BLKWRT_COLOR_DIS);
diff --git a/gfxdrivers/mach64/regs.h b/gfxdrivers/mach64/regs.h
index d764fea..3a8567d 100644
--- a/gfxdrivers/mach64/regs.h
+++ b/gfxdrivers/mach64/regs.h
@@ -653,6 +653,7 @@
/* CONFIG_STAT0 */
#define CFG_MEM_TYPE 0x00000007
#define CFG_MEM_TYPE_SGRAM 0x00000005
+#define CFG_MEM_TYPE_WRAM 0x00000006
/* DST_BRES_LNTH */
#define DRAW_TRAP 0x00008000
diff --git a/gfxdrivers/matrox/Makefile.am b/gfxdrivers/matrox/Makefile.am
index ca445ba..4ab9bd3 100644
--- a/gfxdrivers/matrox/Makefile.am
+++ b/gfxdrivers/matrox/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
diff --git a/gfxdrivers/matrox/Makefile.in b/gfxdrivers/matrox/Makefile.in
index 127cb6e..01301ab 100644
--- a/gfxdrivers/matrox/Makefile.in
+++ b/gfxdrivers/matrox/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(matroxdir)" "$(DESTDIR)$(matroxdir)"
-matroxLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(matrox_LTLIBRARIES)
libdirectfb_matrox_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -62,30 +85,48 @@ am_libdirectfb_matrox_la_OBJECTS = matrox.lo matrox_3d.lo \
matrox_bes.lo matrox_crtc2.lo matrox_maven.lo \
matrox_screen_crtc2.lo matrox_spic.lo matrox_state.lo
libdirectfb_matrox_la_OBJECTS = $(am_libdirectfb_matrox_la_OBJECTS)
-libdirectfb_matrox_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_matrox_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_matrox_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_matrox_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_matrox_la_SOURCES)
DIST_SOURCES = $(libdirectfb_matrox_la_SOURCES)
-matroxDATA_INSTALL = $(INSTALL_DATA)
DATA = $(matrox_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -109,11 +150,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -127,16 +171,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -157,12 +202,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -173,21 +221,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -195,6 +251,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -208,6 +268,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -215,9 +276,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -264,12 +326,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
@@ -311,14 +374,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/matrox/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/matrox/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/matrox/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/matrox/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -328,6 +391,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -336,23 +400,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-matroxLTLIBRARIES: $(matrox_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(matroxdir)" || $(MKDIR_P) "$(DESTDIR)$(matroxdir)"
- @list='$(matrox_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(matrox_LTLIBRARIES)'; test -n "$(matroxdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(matroxLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(matroxdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(matroxLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(matroxdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(matroxdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(matroxdir)"; \
+ }
uninstall-matroxLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(matrox_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(matroxdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(matroxdir)/$$p"; \
+ @list='$(matrox_LTLIBRARIES)'; test -n "$(matroxdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(matroxdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(matroxdir)/$$f"; \
done
clean-matroxLTLIBRARIES:
@@ -363,8 +432,8 @@ clean-matroxLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_matrox.la: $(libdirectfb_matrox_la_OBJECTS) $(libdirectfb_matrox_la_DEPENDENCIES)
- $(libdirectfb_matrox_la_LINK) -rpath $(matroxdir) $(libdirectfb_matrox_la_OBJECTS) $(libdirectfb_matrox_la_LIBADD) $(LIBS)
+libdirectfb_matrox.la: $(libdirectfb_matrox_la_OBJECTS) $(libdirectfb_matrox_la_DEPENDENCIES) $(EXTRA_libdirectfb_matrox_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_matrox_la_LINK) -rpath $(matroxdir) $(libdirectfb_matrox_la_OBJECTS) $(libdirectfb_matrox_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -382,25 +451,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/matrox_state.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -410,34 +479,35 @@ clean-libtool:
install-matroxDATA: $(matrox_DATA)
@$(NORMAL_INSTALL)
test -z "$(matroxdir)" || $(MKDIR_P) "$(DESTDIR)$(matroxdir)"
- @list='$(matrox_DATA)'; for p in $$list; do \
+ @list='$(matrox_DATA)'; test -n "$(matroxdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(matroxDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(matroxdir)/$$f'"; \
- $(matroxDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(matroxdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(matroxdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(matroxdir)" || exit $$?; \
done
uninstall-matroxDATA:
@$(NORMAL_UNINSTALL)
- @list='$(matrox_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(matroxdir)/$$f'"; \
- rm -f "$(DESTDIR)$(matroxdir)/$$f"; \
- done
+ @list='$(matrox_DATA)'; test -n "$(matroxdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(matroxdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -445,29 +515,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -488,13 +563,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -515,16 +594,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -546,6 +631,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -554,18 +641,28 @@ install-data-am: install-matroxDATA install-matroxLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -614,6 +711,7 @@ uninstall-am: uninstall-matroxDATA uninstall-matroxLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/neomagic/Makefile.am b/gfxdrivers/neomagic/Makefile.am
index 24a850f..d991bcb 100644
--- a/gfxdrivers/neomagic/Makefile.am
+++ b/gfxdrivers/neomagic/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/gfxdrivers/neomagic/Makefile.in b/gfxdrivers/neomagic/Makefile.in
index 66c1a4a..2960890 100644
--- a/gfxdrivers/neomagic/Makefile.in
+++ b/gfxdrivers/neomagic/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,15 +47,36 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(neomagicdir)" \
"$(DESTDIR)$(neomagicdir)"
-neomagicLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(neomagic_LTLIBRARIES)
libdirectfb_neomagic_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -62,30 +85,48 @@ am_libdirectfb_neomagic_la_OBJECTS = neomagic.lo neo_overlay.lo \
neo2200.lo
libdirectfb_neomagic_la_OBJECTS = \
$(am_libdirectfb_neomagic_la_OBJECTS)
-libdirectfb_neomagic_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_neomagic_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_neomagic_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_neomagic_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_neomagic_la_SOURCES)
DIST_SOURCES = $(libdirectfb_neomagic_la_SOURCES)
-neomagicDATA_INSTALL = $(INSTALL_DATA)
DATA = $(neomagic_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -109,11 +150,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -127,16 +171,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -157,12 +202,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -173,21 +221,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -195,6 +251,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -208,6 +268,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -215,9 +276,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -264,12 +326,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -299,14 +362,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/neomagic/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/neomagic/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/neomagic/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/neomagic/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -316,6 +379,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -324,23 +388,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-neomagicLTLIBRARIES: $(neomagic_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(neomagicdir)" || $(MKDIR_P) "$(DESTDIR)$(neomagicdir)"
- @list='$(neomagic_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(neomagic_LTLIBRARIES)'; test -n "$(neomagicdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(neomagicLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(neomagicdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(neomagicLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(neomagicdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(neomagicdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(neomagicdir)"; \
+ }
uninstall-neomagicLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(neomagic_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(neomagicdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(neomagicdir)/$$p"; \
+ @list='$(neomagic_LTLIBRARIES)'; test -n "$(neomagicdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(neomagicdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(neomagicdir)/$$f"; \
done
clean-neomagicLTLIBRARIES:
@@ -351,8 +420,8 @@ clean-neomagicLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_neomagic.la: $(libdirectfb_neomagic_la_OBJECTS) $(libdirectfb_neomagic_la_DEPENDENCIES)
- $(libdirectfb_neomagic_la_LINK) -rpath $(neomagicdir) $(libdirectfb_neomagic_la_OBJECTS) $(libdirectfb_neomagic_la_LIBADD) $(LIBS)
+libdirectfb_neomagic.la: $(libdirectfb_neomagic_la_OBJECTS) $(libdirectfb_neomagic_la_DEPENDENCIES) $(EXTRA_libdirectfb_neomagic_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_neomagic_la_LINK) -rpath $(neomagicdir) $(libdirectfb_neomagic_la_OBJECTS) $(libdirectfb_neomagic_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -365,25 +434,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/neomagic.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -393,34 +462,35 @@ clean-libtool:
install-neomagicDATA: $(neomagic_DATA)
@$(NORMAL_INSTALL)
test -z "$(neomagicdir)" || $(MKDIR_P) "$(DESTDIR)$(neomagicdir)"
- @list='$(neomagic_DATA)'; for p in $$list; do \
+ @list='$(neomagic_DATA)'; test -n "$(neomagicdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(neomagicDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(neomagicdir)/$$f'"; \
- $(neomagicDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(neomagicdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(neomagicdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(neomagicdir)" || exit $$?; \
done
uninstall-neomagicDATA:
@$(NORMAL_UNINSTALL)
- @list='$(neomagic_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(neomagicdir)/$$f'"; \
- rm -f "$(DESTDIR)$(neomagicdir)/$$f"; \
- done
+ @list='$(neomagic_DATA)'; test -n "$(neomagicdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(neomagicdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -428,29 +498,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -471,13 +546,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -498,16 +577,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -529,6 +614,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -537,18 +624,28 @@ install-data-am: install-neomagicDATA install-neomagicLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -597,6 +694,7 @@ uninstall-am: uninstall-neomagicDATA uninstall-neomagicLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/nsc/Makefile.am b/gfxdrivers/nsc/Makefile.am
index 95b0d7d..27a5002 100644
--- a/gfxdrivers/nsc/Makefile.am
+++ b/gfxdrivers/nsc/Makefile.am
@@ -7,8 +7,8 @@ INCLUDES = \
-I/usr/src/linux/drivers/video/nsc/gfx \
-I/usr/src/linux/drivers/video/nsc/panel \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems \
diff --git a/gfxdrivers/nsc/Makefile.in b/gfxdrivers/nsc/Makefile.in
index 42ec5ea..a541b32 100644
--- a/gfxdrivers/nsc/Makefile.in
+++ b/gfxdrivers/nsc/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,35 +47,74 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(nscdir)" "$(DESTDIR)$(nscdir)"
-nscLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(nsc_LTLIBRARIES)
libdirectfb_nsc_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_nsc_la_OBJECTS = nsc.lo nsc_galfns.lo
libdirectfb_nsc_la_OBJECTS = $(am_libdirectfb_nsc_la_OBJECTS)
-libdirectfb_nsc_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_nsc_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_nsc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_nsc_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_nsc_la_SOURCES)
DIST_SOURCES = $(libdirectfb_nsc_la_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -83,16 +124,44 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
-nscDATA_INSTALL = $(INSTALL_DATA)
DATA = $(nsc_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -116,11 +185,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -134,16 +206,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -164,12 +237,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -180,21 +256,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -202,6 +286,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -215,6 +303,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -222,9 +311,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -271,6 +361,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = include
@@ -279,8 +370,8 @@ INCLUDES = \
-I/usr/src/linux/drivers/video/nsc/gfx \
-I/usr/src/linux/drivers/video/nsc/panel \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems \
@@ -310,14 +401,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/nsc/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/nsc/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/nsc/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/nsc/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -327,6 +418,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -335,23 +427,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-nscLTLIBRARIES: $(nsc_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(nscdir)" || $(MKDIR_P) "$(DESTDIR)$(nscdir)"
- @list='$(nsc_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(nsc_LTLIBRARIES)'; test -n "$(nscdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(nscLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(nscdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(nscLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(nscdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(nscdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(nscdir)"; \
+ }
uninstall-nscLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(nsc_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(nscdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(nscdir)/$$p"; \
+ @list='$(nsc_LTLIBRARIES)'; test -n "$(nscdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(nscdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(nscdir)/$$f"; \
done
clean-nscLTLIBRARIES:
@@ -362,8 +459,8 @@ clean-nscLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_nsc.la: $(libdirectfb_nsc_la_OBJECTS) $(libdirectfb_nsc_la_DEPENDENCIES)
- $(libdirectfb_nsc_la_LINK) -rpath $(nscdir) $(libdirectfb_nsc_la_OBJECTS) $(libdirectfb_nsc_la_LIBADD) $(LIBS)
+libdirectfb_nsc.la: $(libdirectfb_nsc_la_OBJECTS) $(libdirectfb_nsc_la_DEPENDENCIES) $(EXTRA_libdirectfb_nsc_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_nsc_la_LINK) -rpath $(nscdir) $(libdirectfb_nsc_la_OBJECTS) $(libdirectfb_nsc_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -375,25 +472,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nsc_galfns.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -403,20 +500,21 @@ clean-libtool:
install-nscDATA: $(nsc_DATA)
@$(NORMAL_INSTALL)
test -z "$(nscdir)" || $(MKDIR_P) "$(DESTDIR)$(nscdir)"
- @list='$(nsc_DATA)'; for p in $$list; do \
+ @list='$(nsc_DATA)'; test -n "$(nscdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(nscDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(nscdir)/$$f'"; \
- $(nscDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(nscdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(nscdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(nscdir)" || exit $$?; \
done
uninstall-nscDATA:
@$(NORMAL_UNINSTALL)
- @list='$(nsc_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(nscdir)/$$f'"; \
- rm -f "$(DESTDIR)$(nscdir)/$$f"; \
- done
+ @list='$(nsc_DATA)'; test -n "$(nscdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(nscdir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@@ -425,7 +523,7 @@ uninstall-nscDATA:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -442,7 +540,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -450,7 +548,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -476,16 +574,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -493,14 +591,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -512,7 +610,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -521,29 +619,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -564,29 +667,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -609,16 +727,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -640,6 +764,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -648,18 +774,28 @@ install-data-am: install-nscDATA install-nscLTLIBRARIES
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am:
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -682,8 +818,8 @@ ps-am:
uninstall-am: uninstall-nscDATA uninstall-nscLTLIBRARIES
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic clean-libtool \
@@ -710,6 +846,7 @@ uninstall-am: uninstall-nscDATA uninstall-nscLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/nsc/include/Makefile.in b/gfxdrivers/nsc/include/Makefile.in
index 3eadc0d..05521db 100644
--- a/gfxdrivers/nsc/include/Makefile.in
+++ b/gfxdrivers/nsc/include/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -42,11 +44,19 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -70,11 +80,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -88,16 +101,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -118,12 +132,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -134,21 +151,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -156,6 +181,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -169,6 +198,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -176,9 +206,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -225,6 +256,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = \
@@ -240,14 +272,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/nsc/include/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/nsc/include/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/nsc/include/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/nsc/include/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -265,6 +297,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -294,13 +327,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -318,16 +355,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -346,6 +389,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -354,18 +399,28 @@ install-data-am:
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -399,6 +454,7 @@ uninstall-am:
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/nvidia/Makefile.am b/gfxdrivers/nvidia/Makefile.am
index 8b495e9..f5e508f 100644
--- a/gfxdrivers/nvidia/Makefile.am
+++ b/gfxdrivers/nvidia/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
diff --git a/gfxdrivers/nvidia/Makefile.in b/gfxdrivers/nvidia/Makefile.in
index 38ed53c..f892607 100644
--- a/gfxdrivers/nvidia/Makefile.in
+++ b/gfxdrivers/nvidia/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(nvidiadir)" "$(DESTDIR)$(nvidiadir)"
-nvidiaLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(nvidia_LTLIBRARIES)
libdirectfb_nvidia_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -61,30 +84,48 @@ libdirectfb_nvidia_la_DEPENDENCIES = \
am_libdirectfb_nvidia_la_OBJECTS = nvidia.lo nvidia_state.lo \
nvidia_2d.lo nvidia_3d.lo nvidia_primary.lo nvidia_overlay.lo
libdirectfb_nvidia_la_OBJECTS = $(am_libdirectfb_nvidia_la_OBJECTS)
-libdirectfb_nvidia_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_nvidia_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_nvidia_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_nvidia_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_nvidia_la_SOURCES)
DIST_SOURCES = $(libdirectfb_nvidia_la_SOURCES)
-nvidiaDATA_INSTALL = $(INSTALL_DATA)
DATA = $(nvidia_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -108,11 +149,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -126,16 +170,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -156,12 +201,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -172,21 +220,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -194,6 +250,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -207,6 +267,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -214,9 +275,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -263,12 +325,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
@@ -309,14 +372,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/nvidia/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/nvidia/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/nvidia/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/nvidia/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -326,6 +389,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -334,23 +398,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-nvidiaLTLIBRARIES: $(nvidia_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(nvidiadir)" || $(MKDIR_P) "$(DESTDIR)$(nvidiadir)"
- @list='$(nvidia_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(nvidia_LTLIBRARIES)'; test -n "$(nvidiadir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(nvidiaLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(nvidiadir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(nvidiaLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(nvidiadir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(nvidiadir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(nvidiadir)"; \
+ }
uninstall-nvidiaLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(nvidia_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(nvidiadir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(nvidiadir)/$$p"; \
+ @list='$(nvidia_LTLIBRARIES)'; test -n "$(nvidiadir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(nvidiadir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(nvidiadir)/$$f"; \
done
clean-nvidiaLTLIBRARIES:
@@ -361,8 +430,8 @@ clean-nvidiaLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_nvidia.la: $(libdirectfb_nvidia_la_OBJECTS) $(libdirectfb_nvidia_la_DEPENDENCIES)
- $(libdirectfb_nvidia_la_LINK) -rpath $(nvidiadir) $(libdirectfb_nvidia_la_OBJECTS) $(libdirectfb_nvidia_la_LIBADD) $(LIBS)
+libdirectfb_nvidia.la: $(libdirectfb_nvidia_la_OBJECTS) $(libdirectfb_nvidia_la_DEPENDENCIES) $(EXTRA_libdirectfb_nvidia_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_nvidia_la_LINK) -rpath $(nvidiadir) $(libdirectfb_nvidia_la_OBJECTS) $(libdirectfb_nvidia_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -378,25 +447,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nvidia_state.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -406,34 +475,35 @@ clean-libtool:
install-nvidiaDATA: $(nvidia_DATA)
@$(NORMAL_INSTALL)
test -z "$(nvidiadir)" || $(MKDIR_P) "$(DESTDIR)$(nvidiadir)"
- @list='$(nvidia_DATA)'; for p in $$list; do \
+ @list='$(nvidia_DATA)'; test -n "$(nvidiadir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(nvidiaDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(nvidiadir)/$$f'"; \
- $(nvidiaDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(nvidiadir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(nvidiadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(nvidiadir)" || exit $$?; \
done
uninstall-nvidiaDATA:
@$(NORMAL_UNINSTALL)
- @list='$(nvidia_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(nvidiadir)/$$f'"; \
- rm -f "$(DESTDIR)$(nvidiadir)/$$f"; \
- done
+ @list='$(nvidia_DATA)'; test -n "$(nvidiadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(nvidiadir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -441,29 +511,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -484,13 +559,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -511,16 +590,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -542,6 +627,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -550,18 +637,28 @@ install-data-am: install-nvidiaDATA install-nvidiaLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -610,6 +707,7 @@ uninstall-am: uninstall-nvidiaDATA uninstall-nvidiaLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/omap/Makefile.am b/gfxdrivers/omap/Makefile.am
index 2132563..ea77c6d 100644
--- a/gfxdrivers/omap/Makefile.am
+++ b/gfxdrivers/omap/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/systems \
-I$(top_srcdir)/src
diff --git a/gfxdrivers/omap/Makefile.in b/gfxdrivers/omap/Makefile.in
index cf470ee..cc519fa 100644
--- a/gfxdrivers/omap/Makefile.in
+++ b/gfxdrivers/omap/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,44 +47,83 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(omapdir)" "$(DESTDIR)$(omapdir)"
-omapLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(omap_LTLIBRARIES)
libdirectfb_omap_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_omap_la_OBJECTS = omap.lo omap_primary.lo
libdirectfb_omap_la_OBJECTS = $(am_libdirectfb_omap_la_OBJECTS)
-libdirectfb_omap_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_omap_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_omap_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_omap_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_omap_la_SOURCES)
DIST_SOURCES = $(libdirectfb_omap_la_SOURCES)
-omapDATA_INSTALL = $(INSTALL_DATA)
DATA = $(omap_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -106,11 +147,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -124,16 +168,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -154,12 +199,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -170,21 +218,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -192,6 +248,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -205,6 +265,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -212,9 +273,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -261,12 +323,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/systems \
-I$(top_srcdir)/src
@@ -297,14 +360,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/omap/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/omap/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/omap/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/omap/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -314,6 +377,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -322,23 +386,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-omapLTLIBRARIES: $(omap_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(omapdir)" || $(MKDIR_P) "$(DESTDIR)$(omapdir)"
- @list='$(omap_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(omap_LTLIBRARIES)'; test -n "$(omapdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(omapLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(omapdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(omapLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(omapdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(omapdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(omapdir)"; \
+ }
uninstall-omapLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(omap_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(omapdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(omapdir)/$$p"; \
+ @list='$(omap_LTLIBRARIES)'; test -n "$(omapdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(omapdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(omapdir)/$$f"; \
done
clean-omapLTLIBRARIES:
@@ -349,8 +418,8 @@ clean-omapLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_omap.la: $(libdirectfb_omap_la_OBJECTS) $(libdirectfb_omap_la_DEPENDENCIES)
- $(libdirectfb_omap_la_LINK) -rpath $(omapdir) $(libdirectfb_omap_la_OBJECTS) $(libdirectfb_omap_la_LIBADD) $(LIBS)
+libdirectfb_omap.la: $(libdirectfb_omap_la_OBJECTS) $(libdirectfb_omap_la_DEPENDENCIES) $(EXTRA_libdirectfb_omap_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_omap_la_LINK) -rpath $(omapdir) $(libdirectfb_omap_la_OBJECTS) $(libdirectfb_omap_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -362,25 +431,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/omap_primary.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -390,34 +459,35 @@ clean-libtool:
install-omapDATA: $(omap_DATA)
@$(NORMAL_INSTALL)
test -z "$(omapdir)" || $(MKDIR_P) "$(DESTDIR)$(omapdir)"
- @list='$(omap_DATA)'; for p in $$list; do \
+ @list='$(omap_DATA)'; test -n "$(omapdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(omapDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(omapdir)/$$f'"; \
- $(omapDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(omapdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(omapdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(omapdir)" || exit $$?; \
done
uninstall-omapDATA:
@$(NORMAL_UNINSTALL)
- @list='$(omap_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(omapdir)/$$f'"; \
- rm -f "$(DESTDIR)$(omapdir)/$$f"; \
- done
+ @list='$(omap_DATA)'; test -n "$(omapdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(omapdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -425,29 +495,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -468,13 +543,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -495,16 +574,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -526,6 +611,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -534,18 +621,28 @@ install-data-am: install-omapDATA install-omapLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -594,6 +691,7 @@ uninstall-am: uninstall-omapDATA uninstall-omapLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/pxa3xx/Makefile.am b/gfxdrivers/pxa3xx/Makefile.am
index 477a67f..c5426f3 100644
--- a/gfxdrivers/pxa3xx/Makefile.am
+++ b/gfxdrivers/pxa3xx/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
diff --git a/gfxdrivers/pxa3xx/Makefile.in b/gfxdrivers/pxa3xx/Makefile.in
index 5629ead..f691d59 100644
--- a/gfxdrivers/pxa3xx/Makefile.in
+++ b/gfxdrivers/pxa3xx/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,8 +19,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -47,24 +49,48 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(pxa3xxdir)" "$(DESTDIR)$(bindir)" \
"$(DESTDIR)$(pxa3xxdir)"
-pxa3xxLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(pxa3xx_LTLIBRARIES)
libdirectfb_pxa3xx_la_DEPENDENCIES = \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_pxa3xx_la_OBJECTS = pxa3xx.lo pxa3xx_blt.lo
libdirectfb_pxa3xx_la_OBJECTS = $(am_libdirectfb_pxa3xx_la_OBJECTS)
-libdirectfb_pxa3xx_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_pxa3xx_la_LDFLAGS) $(LDFLAGS) -o $@
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_pxa3xx_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_pxa3xx_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
PROGRAMS = $(bin_PROGRAMS)
am_pxa3xx_dump_OBJECTS = pxa3xx_dump.$(OBJEXT)
pxa3xx_dump_OBJECTS = $(am_pxa3xx_dump_OBJECTS)
@@ -72,24 +98,38 @@ pxa3xx_dump_DEPENDENCIES = $(top_builddir)/lib/direct/libdirect.la
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_pxa3xx_la_SOURCES) $(pxa3xx_dump_SOURCES)
DIST_SOURCES = $(libdirectfb_pxa3xx_la_SOURCES) $(pxa3xx_dump_SOURCES)
-pxa3xxDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pxa3xx_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -113,11 +153,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -131,16 +174,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -161,12 +205,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -177,21 +224,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -199,6 +254,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -212,6 +271,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -219,9 +279,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -268,12 +329,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
@@ -308,14 +370,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/pxa3xx/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/pxa3xx/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/pxa3xx/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/pxa3xx/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -325,6 +387,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -333,23 +396,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-pxa3xxLTLIBRARIES: $(pxa3xx_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(pxa3xxdir)" || $(MKDIR_P) "$(DESTDIR)$(pxa3xxdir)"
- @list='$(pxa3xx_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(pxa3xx_LTLIBRARIES)'; test -n "$(pxa3xxdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pxa3xxLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pxa3xxdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pxa3xxLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pxa3xxdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pxa3xxdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pxa3xxdir)"; \
+ }
uninstall-pxa3xxLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(pxa3xx_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pxa3xxdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pxa3xxdir)/$$p"; \
+ @list='$(pxa3xx_LTLIBRARIES)'; test -n "$(pxa3xxdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pxa3xxdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pxa3xxdir)/$$f"; \
done
clean-pxa3xxLTLIBRARIES:
@@ -360,39 +428,54 @@ clean-pxa3xxLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_pxa3xx.la: $(libdirectfb_pxa3xx_la_OBJECTS) $(libdirectfb_pxa3xx_la_DEPENDENCIES)
- $(libdirectfb_pxa3xx_la_LINK) -rpath $(pxa3xxdir) $(libdirectfb_pxa3xx_la_OBJECTS) $(libdirectfb_pxa3xx_la_LIBADD) $(LIBS)
+libdirectfb_pxa3xx.la: $(libdirectfb_pxa3xx_la_OBJECTS) $(libdirectfb_pxa3xx_la_DEPENDENCIES) $(EXTRA_libdirectfb_pxa3xx_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_pxa3xx_la_LINK) -rpath $(pxa3xxdir) $(libdirectfb_pxa3xx_la_OBJECTS) $(libdirectfb_pxa3xx_la_LIBADD) $(LIBS)
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-pxa3xx_dump$(EXEEXT): $(pxa3xx_dump_OBJECTS) $(pxa3xx_dump_DEPENDENCIES)
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+pxa3xx_dump$(EXEEXT): $(pxa3xx_dump_OBJECTS) $(pxa3xx_dump_DEPENDENCIES) $(EXTRA_pxa3xx_dump_DEPENDENCIES)
@rm -f pxa3xx_dump$(EXEEXT)
- $(LINK) $(pxa3xx_dump_OBJECTS) $(pxa3xx_dump_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(pxa3xx_dump_OBJECTS) $(pxa3xx_dump_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -405,25 +488,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pxa3xx_dump.Po at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -433,34 +516,35 @@ clean-libtool:
install-pxa3xxDATA: $(pxa3xx_DATA)
@$(NORMAL_INSTALL)
test -z "$(pxa3xxdir)" || $(MKDIR_P) "$(DESTDIR)$(pxa3xxdir)"
- @list='$(pxa3xx_DATA)'; for p in $$list; do \
+ @list='$(pxa3xx_DATA)'; test -n "$(pxa3xxdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pxa3xxDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pxa3xxdir)/$$f'"; \
- $(pxa3xxDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pxa3xxdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pxa3xxdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pxa3xxdir)" || exit $$?; \
done
uninstall-pxa3xxDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pxa3xx_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pxa3xxdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pxa3xxdir)/$$f"; \
- done
+ @list='$(pxa3xx_DATA)'; test -n "$(pxa3xxdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(pxa3xxdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -468,29 +552,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -511,13 +600,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -538,16 +631,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -569,6 +668,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -577,18 +678,28 @@ install-data-am: install-pxa3xxDATA install-pxa3xxLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am: install-binPROGRAMS
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -639,6 +750,7 @@ uninstall-am: uninstall-binPROGRAMS uninstall-pxa3xxDATA \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/radeon/Makefile.am b/gfxdrivers/radeon/Makefile.am
index 322ae30..f966661 100644
--- a/gfxdrivers/radeon/Makefile.am
+++ b/gfxdrivers/radeon/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
diff --git a/gfxdrivers/radeon/Makefile.in b/gfxdrivers/radeon/Makefile.in
index e01d1f5..c53b6ab 100644
--- a/gfxdrivers/radeon/Makefile.in
+++ b/gfxdrivers/radeon/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(radeondir)" "$(DESTDIR)$(radeondir)"
-radeonLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(radeon_LTLIBRARIES)
libdirectfb_radeon_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -61,30 +84,48 @@ am_libdirectfb_radeon_la_OBJECTS = radeon.lo r100_state.lo \
r200_state.lo r300_state.lo radeon_2d.lo r100_3d.lo r200_3d.lo \
r300_3d.lo radeon_overlay.lo radeon_crtc1.lo radeon_crtc2.lo
libdirectfb_radeon_la_OBJECTS = $(am_libdirectfb_radeon_la_OBJECTS)
-libdirectfb_radeon_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_radeon_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_radeon_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_radeon_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_radeon_la_SOURCES)
DIST_SOURCES = $(libdirectfb_radeon_la_SOURCES)
-radeonDATA_INSTALL = $(INSTALL_DATA)
DATA = $(radeon_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -108,11 +149,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -126,16 +170,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -156,12 +201,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -172,21 +220,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -194,6 +250,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -207,6 +267,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -214,9 +275,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -263,12 +325,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
@@ -315,14 +378,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/radeon/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/radeon/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/radeon/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/radeon/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -332,6 +395,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -340,23 +404,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-radeonLTLIBRARIES: $(radeon_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(radeondir)" || $(MKDIR_P) "$(DESTDIR)$(radeondir)"
- @list='$(radeon_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(radeon_LTLIBRARIES)'; test -n "$(radeondir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(radeonLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(radeondir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(radeonLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(radeondir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(radeondir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(radeondir)"; \
+ }
uninstall-radeonLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(radeon_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(radeondir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(radeondir)/$$p"; \
+ @list='$(radeon_LTLIBRARIES)'; test -n "$(radeondir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(radeondir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(radeondir)/$$f"; \
done
clean-radeonLTLIBRARIES:
@@ -367,8 +436,8 @@ clean-radeonLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_radeon.la: $(libdirectfb_radeon_la_OBJECTS) $(libdirectfb_radeon_la_DEPENDENCIES)
- $(libdirectfb_radeon_la_LINK) -rpath $(radeondir) $(libdirectfb_radeon_la_OBJECTS) $(libdirectfb_radeon_la_LIBADD) $(LIBS)
+libdirectfb_radeon.la: $(libdirectfb_radeon_la_OBJECTS) $(libdirectfb_radeon_la_DEPENDENCIES) $(EXTRA_libdirectfb_radeon_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_radeon_la_LINK) -rpath $(radeondir) $(libdirectfb_radeon_la_OBJECTS) $(libdirectfb_radeon_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -389,25 +458,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/radeon_overlay.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -417,34 +486,35 @@ clean-libtool:
install-radeonDATA: $(radeon_DATA)
@$(NORMAL_INSTALL)
test -z "$(radeondir)" || $(MKDIR_P) "$(DESTDIR)$(radeondir)"
- @list='$(radeon_DATA)'; for p in $$list; do \
+ @list='$(radeon_DATA)'; test -n "$(radeondir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(radeonDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(radeondir)/$$f'"; \
- $(radeonDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(radeondir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(radeondir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(radeondir)" || exit $$?; \
done
uninstall-radeonDATA:
@$(NORMAL_UNINSTALL)
- @list='$(radeon_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(radeondir)/$$f'"; \
- rm -f "$(DESTDIR)$(radeondir)/$$f"; \
- done
+ @list='$(radeon_DATA)'; test -n "$(radeondir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(radeondir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -452,29 +522,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -495,13 +570,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -522,16 +601,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -553,6 +638,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -561,18 +648,28 @@ install-data-am: install-radeonDATA install-radeonLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -621,6 +718,7 @@ uninstall-am: uninstall-radeonDATA uninstall-radeonLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/savage/Makefile.am b/gfxdrivers/savage/Makefile.am
index 3479720..a6aad2d 100644
--- a/gfxdrivers/savage/Makefile.am
+++ b/gfxdrivers/savage/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/systems \
-I$(top_srcdir)/src
diff --git a/gfxdrivers/savage/Makefile.in b/gfxdrivers/savage/Makefile.in
index 096498a..0ab2112 100644
--- a/gfxdrivers/savage/Makefile.in
+++ b/gfxdrivers/savage/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(savagedir)" "$(DESTDIR)$(savagedir)"
-savageLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(savage_LTLIBRARIES)
libdirectfb_savage_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -60,30 +83,48 @@ libdirectfb_savage_la_DEPENDENCIES = \
am_libdirectfb_savage_la_OBJECTS = savage.lo savage3d.lo savage4.lo \
savage2000.lo savage_streams_old.lo
libdirectfb_savage_la_OBJECTS = $(am_libdirectfb_savage_la_OBJECTS)
-libdirectfb_savage_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_savage_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_savage_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_savage_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_savage_la_SOURCES)
DIST_SOURCES = $(libdirectfb_savage_la_SOURCES)
-savageDATA_INSTALL = $(INSTALL_DATA)
DATA = $(savage_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -107,11 +148,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -125,16 +169,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -155,12 +200,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -171,21 +219,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -193,6 +249,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -206,6 +266,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -213,9 +274,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -262,12 +324,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/systems \
-I$(top_srcdir)/src
@@ -307,14 +370,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/savage/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/savage/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/savage/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/savage/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -324,6 +387,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -332,23 +396,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-savageLTLIBRARIES: $(savage_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(savagedir)" || $(MKDIR_P) "$(DESTDIR)$(savagedir)"
- @list='$(savage_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(savage_LTLIBRARIES)'; test -n "$(savagedir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(savageLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(savagedir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(savageLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(savagedir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(savagedir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(savagedir)"; \
+ }
uninstall-savageLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(savage_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(savagedir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(savagedir)/$$p"; \
+ @list='$(savage_LTLIBRARIES)'; test -n "$(savagedir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(savagedir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(savagedir)/$$f"; \
done
clean-savageLTLIBRARIES:
@@ -359,8 +428,8 @@ clean-savageLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_savage.la: $(libdirectfb_savage_la_OBJECTS) $(libdirectfb_savage_la_DEPENDENCIES)
- $(libdirectfb_savage_la_LINK) -rpath $(savagedir) $(libdirectfb_savage_la_OBJECTS) $(libdirectfb_savage_la_LIBADD) $(LIBS)
+libdirectfb_savage.la: $(libdirectfb_savage_la_OBJECTS) $(libdirectfb_savage_la_DEPENDENCIES) $(EXTRA_libdirectfb_savage_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_savage_la_LINK) -rpath $(savagedir) $(libdirectfb_savage_la_OBJECTS) $(libdirectfb_savage_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -375,25 +444,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/savage_streams_old.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -403,34 +472,35 @@ clean-libtool:
install-savageDATA: $(savage_DATA)
@$(NORMAL_INSTALL)
test -z "$(savagedir)" || $(MKDIR_P) "$(DESTDIR)$(savagedir)"
- @list='$(savage_DATA)'; for p in $$list; do \
+ @list='$(savage_DATA)'; test -n "$(savagedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(savageDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(savagedir)/$$f'"; \
- $(savageDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(savagedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(savagedir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(savagedir)" || exit $$?; \
done
uninstall-savageDATA:
@$(NORMAL_UNINSTALL)
- @list='$(savage_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(savagedir)/$$f'"; \
- rm -f "$(DESTDIR)$(savagedir)/$$f"; \
- done
+ @list='$(savage_DATA)'; test -n "$(savagedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(savagedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -438,29 +508,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -481,13 +556,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -508,16 +587,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -539,6 +624,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -547,18 +634,28 @@ install-data-am: install-savageDATA install-savageLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -607,6 +704,7 @@ uninstall-am: uninstall-savageDATA uninstall-savageLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/sh772x/Makefile.am b/gfxdrivers/sh772x/Makefile.am
index b8731e7..f1bc645 100644
--- a/gfxdrivers/sh772x/Makefile.am
+++ b/gfxdrivers/sh772x/Makefile.am
@@ -15,31 +15,14 @@ EXTRA_DIST = \
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems \
-I$(srcdir)/kernel-module
-#lib_LTLIBRARIES = libsh7722_jpeg.la
-#
-#libsh7722_jpeg_la_SOURCES = \
-# sh7722_jpeglib.c \
-# sh7722_jpeglib.h
-#
-#
-#bin_PROGRAMS = sh7722_jpegtool
-#
-#sh7722_jpegtool_SOURCES = \
-# sh7722_jpegtool.c
-#
-#sh7722_jpegtool_LDADD = \
-# $(top_builddir)/src/libdirectfb.la \
-# libsh7722_jpeg.la
-#
-
sh7722_LTLIBRARIES = libdirectfb_sh7722.la
if BUILD_STATIC
@@ -48,6 +31,10 @@ endif
sh7722dir = $(MODULEDIR)/gfxdrivers
+if SH772X_SHJPEG
+SH772X_JPEG_SOURCE = sh7722_jpeg.c
+endif
+
libdirectfb_sh7722_la_SOURCES = \
sh7722.c \
sh7722.h \
@@ -64,17 +51,20 @@ libdirectfb_sh7722_la_SOURCES = \
sh7722_regs.h \
sh7722_screen.c \
sh7722_screen.h \
- sh7722_types.h
-# sh7722_jpeg.c
+ sh7722_types.h \
+ ${SH772X_JPEG_SOURCE}
+
+libdirectfb_sh7722_la_CFLAGS = $(SH772X_DEP_CFLAGS)
libdirectfb_sh7722_la_LDFLAGS = \
-module \
-avoid-version \
- $(DFB_LDFLAGS)
+ $(DFB_LDFLAGS) \
+ $(SH772X_DEP_LIBS) \
+ ${SH772X_SHJPEG_DEP_LIBS}
libdirectfb_sh7722_la_LIBADD = \
- $(top_builddir)/src/libdirectfb.la
-# libsh7722_jpeg.la
+ $(top_builddir)/src/libdirectfb.la
include $(top_srcdir)/rules/libobject.make
diff --git a/gfxdrivers/sh772x/Makefile.in b/gfxdrivers/sh772x/Makefile.in
index 7428df8..dc8a94c 100644
--- a/gfxdrivers/sh772x/Makefile.in
+++ b/gfxdrivers/sh772x/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,45 +47,95 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(sh7722dir)" "$(DESTDIR)$(sh7722dir)"
-sh7722LTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(sh7722_LTLIBRARIES)
libdirectfb_sh7722_la_DEPENDENCIES = \
$(top_builddir)/src/libdirectfb.la
-am_libdirectfb_sh7722_la_OBJECTS = sh7722.lo sh7722_blt.lo \
- sh7723_blt.lo sh7722_layer.lo sh7722_lcd.lo sh7722_multi.lo \
- sh7722_screen.lo
+am__libdirectfb_sh7722_la_SOURCES_DIST = sh7722.c sh7722.h \
+ sh7722_blt.c sh7722_blt.h sh7723_blt.c sh7723_blt.h \
+ sh7722_layer.c sh7722_layer.h sh7722_lcd.c sh7722_lcd.h \
+ sh7722_multi.c sh7722_multi.h sh7722_regs.h sh7722_screen.c \
+ sh7722_screen.h sh7722_types.h sh7722_jpeg.c
+ at SH772X_SHJPEG_TRUE@am__objects_1 = \
+ at SH772X_SHJPEG_TRUE@ libdirectfb_sh7722_la-sh7722_jpeg.lo
+am_libdirectfb_sh7722_la_OBJECTS = libdirectfb_sh7722_la-sh7722.lo \
+ libdirectfb_sh7722_la-sh7722_blt.lo \
+ libdirectfb_sh7722_la-sh7723_blt.lo \
+ libdirectfb_sh7722_la-sh7722_layer.lo \
+ libdirectfb_sh7722_la-sh7722_lcd.lo \
+ libdirectfb_sh7722_la-sh7722_multi.lo \
+ libdirectfb_sh7722_la-sh7722_screen.lo $(am__objects_1)
libdirectfb_sh7722_la_OBJECTS = $(am_libdirectfb_sh7722_la_OBJECTS)
-libdirectfb_sh7722_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_sh7722_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) \
$(libdirectfb_sh7722_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_sh7722_la_SOURCES)
-DIST_SOURCES = $(libdirectfb_sh7722_la_SOURCES)
-sh7722DATA_INSTALL = $(INSTALL_DATA)
+DIST_SOURCES = $(am__libdirectfb_sh7722_la_SOURCES_DIST)
DATA = $(sh7722_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -107,11 +159,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -125,16 +180,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -155,12 +211,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -171,21 +230,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -193,6 +260,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -206,6 +277,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -213,9 +285,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -262,6 +335,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = \
@@ -279,33 +353,17 @@ EXTRA_DIST = \
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems \
-I$(srcdir)/kernel-module
-
-#lib_LTLIBRARIES = libsh7722_jpeg.la
-#
-#libsh7722_jpeg_la_SOURCES = \
-# sh7722_jpeglib.c \
-# sh7722_jpeglib.h
-#
-#
-#bin_PROGRAMS = sh7722_jpegtool
-#
-#sh7722_jpegtool_SOURCES = \
-# sh7722_jpegtool.c
-#
-#sh7722_jpegtool_LDADD = \
-# $(top_builddir)/src/libdirectfb.la \
-# libsh7722_jpeg.la
-#
sh7722_LTLIBRARIES = libdirectfb_sh7722.la
@BUILD_STATIC_TRUE at sh7722_DATA = $(sh7722_LTLIBRARIES:.la=.o)
sh7722dir = $(MODULEDIR)/gfxdrivers
+ at SH772X_SHJPEG_TRUE@SH772X_JPEG_SOURCE = sh7722_jpeg.c
libdirectfb_sh7722_la_SOURCES = \
sh7722.c \
sh7722.h \
@@ -322,16 +380,19 @@ libdirectfb_sh7722_la_SOURCES = \
sh7722_regs.h \
sh7722_screen.c \
sh7722_screen.h \
- sh7722_types.h
+ sh7722_types.h \
+ ${SH772X_JPEG_SOURCE}
-# sh7722_jpeg.c
+libdirectfb_sh7722_la_CFLAGS = $(SH772X_DEP_CFLAGS)
libdirectfb_sh7722_la_LDFLAGS = \
-module \
-avoid-version \
- $(DFB_LDFLAGS)
+ $(DFB_LDFLAGS) \
+ $(SH772X_DEP_LIBS) \
+ ${SH772X_SHJPEG_DEP_LIBS}
libdirectfb_sh7722_la_LIBADD = \
- $(top_builddir)/src/libdirectfb.la
+ $(top_builddir)/src/libdirectfb.la
all: all-am
@@ -341,14 +402,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/sh772x/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/sh772x/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/sh772x/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/sh772x/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -358,6 +419,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -366,23 +428,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-sh7722LTLIBRARIES: $(sh7722_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(sh7722dir)" || $(MKDIR_P) "$(DESTDIR)$(sh7722dir)"
- @list='$(sh7722_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(sh7722_LTLIBRARIES)'; test -n "$(sh7722dir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(sh7722LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(sh7722dir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(sh7722LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(sh7722dir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(sh7722dir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(sh7722dir)"; \
+ }
uninstall-sh7722LTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(sh7722_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(sh7722dir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(sh7722dir)/$$p"; \
+ @list='$(sh7722_LTLIBRARIES)'; test -n "$(sh7722dir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(sh7722dir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(sh7722dir)/$$f"; \
done
clean-sh7722LTLIBRARIES:
@@ -393,8 +460,8 @@ clean-sh7722LTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_sh7722.la: $(libdirectfb_sh7722_la_OBJECTS) $(libdirectfb_sh7722_la_DEPENDENCIES)
- $(libdirectfb_sh7722_la_LINK) -rpath $(sh7722dir) $(libdirectfb_sh7722_la_OBJECTS) $(libdirectfb_sh7722_la_LIBADD) $(LIBS)
+libdirectfb_sh7722.la: $(libdirectfb_sh7722_la_OBJECTS) $(libdirectfb_sh7722_la_DEPENDENCIES) $(EXTRA_libdirectfb_sh7722_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_sh7722_la_LINK) -rpath $(sh7722dir) $(libdirectfb_sh7722_la_OBJECTS) $(libdirectfb_sh7722_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -402,34 +469,91 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sh7722.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sh7722_blt.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sh7722_layer.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sh7722_lcd.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sh7722_multi.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sh7722_screen.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sh7723_blt.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdirectfb_sh7722_la-sh7722.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdirectfb_sh7722_la-sh7722_blt.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdirectfb_sh7722_la-sh7722_jpeg.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdirectfb_sh7722_la-sh7722_layer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdirectfb_sh7722_la-sh7722_lcd.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdirectfb_sh7722_la-sh7722_multi.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdirectfb_sh7722_la-sh7722_screen.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdirectfb_sh7722_la-sh7723_blt.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+libdirectfb_sh7722_la-sh7722.lo: sh7722.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -MT libdirectfb_sh7722_la-sh7722.lo -MD -MP -MF $(DEPDIR)/libdirectfb_sh7722_la-sh7722.Tpo -c -o libdirectfb_sh7722_la-sh7722.lo `test -f 'sh7722.c' || echo '$(srcdir)/'`sh7722.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdirectfb_sh7722_la-sh7722.Tpo $(DEPDIR)/libdirectfb_sh7722_la-sh7722.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sh7722.c' object='libdirectfb_sh7722_la-sh7722.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -c -o libdirectfb_sh7722_la-sh7722.lo `test -f 'sh7722.c' || echo '$(srcdir)/'`sh7722.c
+
+libdirectfb_sh7722_la-sh7722_blt.lo: sh7722_blt.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -MT libdirectfb_sh7722_la-sh7722_blt.lo -MD -MP -MF $(DEPDIR)/libdirectfb_sh7722_la-sh7722_blt.Tpo -c -o libdirectfb_sh7722_la-sh7722_blt.lo `test -f 'sh7722_blt.c' || echo '$(srcdir)/'`sh7722_blt.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdirectfb_sh7722_la-sh7722_blt.Tpo $(DEPDIR)/libdirectfb_sh7722_la-sh7722_blt.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sh7722_blt.c' object='libdirectfb_sh7722_la-sh7722_blt.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -c -o libdirectfb_sh7722_la-sh7722_blt.lo `test -f 'sh7722_blt.c' || echo '$(srcdir)/'`sh7722_blt.c
+
+libdirectfb_sh7722_la-sh7723_blt.lo: sh7723_blt.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -MT libdirectfb_sh7722_la-sh7723_blt.lo -MD -MP -MF $(DEPDIR)/libdirectfb_sh7722_la-sh7723_blt.Tpo -c -o libdirectfb_sh7722_la-sh7723_blt.lo `test -f 'sh7723_blt.c' || echo '$(srcdir)/'`sh7723_blt.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdirectfb_sh7722_la-sh7723_blt.Tpo $(DEPDIR)/libdirectfb_sh7722_la-sh7723_blt.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sh7723_blt.c' object='libdirectfb_sh7722_la-sh7723_blt.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -c -o libdirectfb_sh7722_la-sh7723_blt.lo `test -f 'sh7723_blt.c' || echo '$(srcdir)/'`sh7723_blt.c
+
+libdirectfb_sh7722_la-sh7722_layer.lo: sh7722_layer.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -MT libdirectfb_sh7722_la-sh7722_layer.lo -MD -MP -MF $(DEPDIR)/libdirectfb_sh7722_la-sh7722_layer.Tpo -c -o libdirectfb_sh7722_la-sh7722_layer.lo `test -f 'sh7722_layer.c' || echo '$(srcdir)/'`sh7722_layer.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdirectfb_sh7722_la-sh7722_layer.Tpo $(DEPDIR)/libdirectfb_sh7722_la-sh7722_layer.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sh7722_layer.c' object='libdirectfb_sh7722_la-sh7722_layer.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -c -o libdirectfb_sh7722_la-sh7722_layer.lo `test -f 'sh7722_layer.c' || echo '$(srcdir)/'`sh7722_layer.c
+
+libdirectfb_sh7722_la-sh7722_lcd.lo: sh7722_lcd.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -MT libdirectfb_sh7722_la-sh7722_lcd.lo -MD -MP -MF $(DEPDIR)/libdirectfb_sh7722_la-sh7722_lcd.Tpo -c -o libdirectfb_sh7722_la-sh7722_lcd.lo `test -f 'sh7722_lcd.c' || echo '$(srcdir)/'`sh7722_lcd.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdirectfb_sh7722_la-sh7722_lcd.Tpo $(DEPDIR)/libdirectfb_sh7722_la-sh7722_lcd.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sh7722_lcd.c' object='libdirectfb_sh7722_la-sh7722_lcd.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -c -o libdirectfb_sh7722_la-sh7722_lcd.lo `test -f 'sh7722_lcd.c' || echo '$(srcdir)/'`sh7722_lcd.c
+
+libdirectfb_sh7722_la-sh7722_multi.lo: sh7722_multi.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -MT libdirectfb_sh7722_la-sh7722_multi.lo -MD -MP -MF $(DEPDIR)/libdirectfb_sh7722_la-sh7722_multi.Tpo -c -o libdirectfb_sh7722_la-sh7722_multi.lo `test -f 'sh7722_multi.c' || echo '$(srcdir)/'`sh7722_multi.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdirectfb_sh7722_la-sh7722_multi.Tpo $(DEPDIR)/libdirectfb_sh7722_la-sh7722_multi.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sh7722_multi.c' object='libdirectfb_sh7722_la-sh7722_multi.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -c -o libdirectfb_sh7722_la-sh7722_multi.lo `test -f 'sh7722_multi.c' || echo '$(srcdir)/'`sh7722_multi.c
+
+libdirectfb_sh7722_la-sh7722_screen.lo: sh7722_screen.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -MT libdirectfb_sh7722_la-sh7722_screen.lo -MD -MP -MF $(DEPDIR)/libdirectfb_sh7722_la-sh7722_screen.Tpo -c -o libdirectfb_sh7722_la-sh7722_screen.lo `test -f 'sh7722_screen.c' || echo '$(srcdir)/'`sh7722_screen.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdirectfb_sh7722_la-sh7722_screen.Tpo $(DEPDIR)/libdirectfb_sh7722_la-sh7722_screen.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sh7722_screen.c' object='libdirectfb_sh7722_la-sh7722_screen.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -c -o libdirectfb_sh7722_la-sh7722_screen.lo `test -f 'sh7722_screen.c' || echo '$(srcdir)/'`sh7722_screen.c
+
+libdirectfb_sh7722_la-sh7722_jpeg.lo: sh7722_jpeg.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -MT libdirectfb_sh7722_la-sh7722_jpeg.lo -MD -MP -MF $(DEPDIR)/libdirectfb_sh7722_la-sh7722_jpeg.Tpo -c -o libdirectfb_sh7722_la-sh7722_jpeg.lo `test -f 'sh7722_jpeg.c' || echo '$(srcdir)/'`sh7722_jpeg.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdirectfb_sh7722_la-sh7722_jpeg.Tpo $(DEPDIR)/libdirectfb_sh7722_la-sh7722_jpeg.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sh7722_jpeg.c' object='libdirectfb_sh7722_la-sh7722_jpeg.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_sh7722_la_CFLAGS) $(CFLAGS) -c -o libdirectfb_sh7722_la-sh7722_jpeg.lo `test -f 'sh7722_jpeg.c' || echo '$(srcdir)/'`sh7722_jpeg.c
mostlyclean-libtool:
-rm -f *.lo
@@ -439,34 +563,35 @@ clean-libtool:
install-sh7722DATA: $(sh7722_DATA)
@$(NORMAL_INSTALL)
test -z "$(sh7722dir)" || $(MKDIR_P) "$(DESTDIR)$(sh7722dir)"
- @list='$(sh7722_DATA)'; for p in $$list; do \
+ @list='$(sh7722_DATA)'; test -n "$(sh7722dir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(sh7722DATA_INSTALL) '$$d$$p' '$(DESTDIR)$(sh7722dir)/$$f'"; \
- $(sh7722DATA_INSTALL) "$$d$$p" "$(DESTDIR)$(sh7722dir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sh7722dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(sh7722dir)" || exit $$?; \
done
uninstall-sh7722DATA:
@$(NORMAL_UNINSTALL)
- @list='$(sh7722_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(sh7722dir)/$$f'"; \
- rm -f "$(DESTDIR)$(sh7722dir)/$$f"; \
- done
+ @list='$(sh7722_DATA)'; test -n "$(sh7722dir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(sh7722dir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -474,29 +599,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -517,13 +647,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -544,16 +678,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -575,6 +715,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -583,18 +725,28 @@ install-data-am: install-sh7722DATA install-sh7722LTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -643,7 +795,7 @@ uninstall-am: uninstall-sh7722DATA uninstall-sh7722LTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
-# libsh7722_jpeg.la
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/sh772x/kernel-module/sh7722.c b/gfxdrivers/sh772x/kernel-module/sh7722.c
index 981cf69..d4cdd7e 100644
--- a/gfxdrivers/sh772x/kernel-module/sh7722.c
+++ b/gfxdrivers/sh772x/kernel-module/sh7722.c
@@ -36,10 +36,6 @@
/**********************************************************************************************************************/
-#ifndef SH7722_BEU_IRQ
-#define SH7722_BEU_IRQ 53
-#endif
-
#ifndef SH7722_VEU_IRQ
#define SH7722_VEU_IRQ 54
#endif
@@ -767,18 +763,6 @@ sh7722_veu_irq( int irq, void *ctx )
/**********************************************************************************************************************/
static irqreturn_t
-sh7722_beu_irq( int irq, void *ctx )
-{
- BEVTR = 0;
-
- /* Nothing here so far. But Vsync could be added. */
-
- return IRQ_HANDLED;
-}
-
-/**********************************************************************************************************************/
-
-static irqreturn_t
sh7722_tdg_irq( int irq, void *ctx )
{
SH772xGfxSharedArea *shared = ctx;
@@ -1074,14 +1058,6 @@ sh7722_init( void )
jpeg_order, jpeg_area, virt_to_phys(jpeg_area), SH7722GFX_JPEG_SIZE );
- /* Register the BEU interrupt handler. */
- ret = request_irq( SH7722_BEU_IRQ, sh7722_beu_irq, IRQF_DISABLED, "BEU", (void*) shared );
- if (ret) {
- printk( KERN_ERR "%s: request_irq() for interrupt %d failed! (error %d)\n",
- __FUNCTION__, SH7722_BEU_IRQ, ret );
- goto error_beu;
- }
-
#ifdef SH7722GFX_IRQ_POLLER
kernel_thread( sh7722_tdg_irq_poller, (void*) shared, CLONE_KERNEL );
#else
@@ -1126,9 +1102,6 @@ error_jpu:
error_tdg:
#endif
- free_irq( SH7722_BEU_IRQ, (void*) shared );
-
-error_beu:
for (i=0; i<1<<jpeg_order; i++)
ClearPageReserved( jpeg_page + i );
@@ -1168,8 +1141,6 @@ sh7722_exit( void )
free_irq( SH7722_TDG_IRQ, (void*) shared );
#endif
- free_irq( SH7722_BEU_IRQ, (void*) shared );
-
misc_deregister( &sh7722gfx_miscdev );
diff --git a/gfxdrivers/sh772x/kernel-module/sh7723.c b/gfxdrivers/sh772x/kernel-module/sh7723.c
index ea64cf4..4bf2fee 100644
--- a/gfxdrivers/sh772x/kernel-module/sh7723.c
+++ b/gfxdrivers/sh772x/kernel-module/sh7723.c
@@ -39,10 +39,6 @@
/**********************************************************************************************************************/
-#ifndef SH7723_BEU_IRQ
-#define SH7723_BEU_IRQ 53
-#endif
-
#ifndef SH7723_TDG_IRQ
#define SH7723_TDG_IRQ 44
#endif
@@ -235,16 +231,6 @@ sh7723_wait_next( SH772xGfxSharedArea *shared )
/**********************************************************************************************************************/
static irqreturn_t
-sh7723_beu_irq( int irq, void *ctx )
-{
- BEVTR = 0;
-
- /* Nothing here so far. But Vsync could be added. */
-
- return IRQ_HANDLED;
-}
-
-static irqreturn_t
sh7723_tdg_irq( int irq, void *ctx )
{
SH772xGfxSharedArea *shared = ctx;
@@ -489,14 +475,6 @@ sh7723_init( void )
printk( KERN_INFO "sh7723gfx: shared area (order %d) at %p [%lx] using %d bytes\n",
shared_order, shared, virt_to_phys(shared), sizeof(SH772xGfxSharedArea) );
- /* Register the BEU interrupt handler. */
- ret = request_irq( SH7723_BEU_IRQ, sh7723_beu_irq, IRQF_DISABLED, "BEU", (void*) shared );
- if (ret) {
- printk( KERN_ERR "%s: request_irq() for BEU interrupt %d failed! (error %d)\n",
- __FUNCTION__, SH7723_BEU_IRQ, ret );
- goto error_beu;
- }
-
#ifdef SH7723GFX_IRQ_POLLER
kernel_thread( sh7723_tdg_irq_poller, (void*) shared, CLONE_KERNEL );
#else
@@ -515,9 +493,6 @@ sh7723_init( void )
error_tdg:
- free_irq( SH7723_BEU_IRQ, (void*) shared );
-
-error_beu:
#ifndef SHARED_AREA_PHYS
for (i=0; i<1<<shared_order; i++)
ClearPageReserved( shared_page + i );
@@ -551,8 +526,6 @@ sh7723_exit( void )
free_irq( SH7723_TDG_IRQ, (void*) shared );
#endif
- free_irq( SH7723_BEU_IRQ, (void*) shared );
-
misc_deregister( &sh7723gfx_miscdev );
diff --git a/gfxdrivers/sh772x/sh7722.c b/gfxdrivers/sh772x/sh7722.c
index 3ae1ba5..13dae38 100644
--- a/gfxdrivers/sh772x/sh7722.c
+++ b/gfxdrivers/sh772x/sh7722.c
@@ -3,7 +3,6 @@
#endif
#include <stdio.h>
-#include <jpeglib.h>
#undef HAVE_STDLIB_H
@@ -41,7 +40,6 @@ DFB_GRAPHICS_DRIVER( sh7722 )
#include "sh7722.h"
#include "sh7722_blt.h"
-#include "sh7722_jpeglib.h"
#include "sh7722_layer.h"
#include "sh7722_lcd.h"
#include "sh7722_multi.h"
@@ -54,8 +52,11 @@ DFB_GRAPHICS_DRIVER( sh7722 )
#include <sys/mman.h>
#endif
+/* libshbeu */
+#include <shbeu/shbeu.h>
+#include <uiomux/uiomux.h>
-D_DEBUG_DOMAIN( SH7722_Driver, "SH7722/Driver", "Renesas SH7722 Driver" );
+D_DEBUG_DOMAIN( SH7722_Driver, "SH772x/Driver", "Renesas SH7722 Driver" );
/**********************************************************************************************************************/
@@ -119,14 +120,22 @@ driver_init_driver( CoreGraphicsDevice *device,
PROT_READ | PROT_WRITE,
MAP_SHARED, sdrv->gfx_fd, 0 );
if (sdrv->gfx_shared == MAP_FAILED) {
- D_PERROR( "SH7722/Driver: Could not map shared area!\n" );
+ D_PERROR( "SH772x/Driver: Could not map shared area!\n" );
close( sdrv->gfx_fd );
return DFB_INIT;
}
sdrv->mmio_base = dfb_gfxcard_map_mmio( device, 0, -1 );
if (!sdrv->mmio_base) {
- D_PERROR( "SH7722/Driver: Could not map MMIO area!\n" );
+ D_PERROR( "SH772x/Driver: Could not map MMIO area!\n" );
+ munmap( (void*) sdrv->gfx_shared, direct_page_align( sizeof(SH772xGfxSharedArea) ) );
+ close( sdrv->gfx_fd );
+ return DFB_INIT;
+ }
+ /* libshbeu */
+ sdrv->shbeu = shbeu_open();
+ if (!sdrv->shbeu) {
+ D_PERROR( "SH772x/Driver: Could not initialize libshbeu" );
munmap( (void*) sdrv->gfx_shared, direct_page_align( sizeof(SH772xGfxSharedArea) ) );
close( sdrv->gfx_fd );
return DFB_INIT;
@@ -147,18 +156,6 @@ driver_init_driver( CoreGraphicsDevice *device,
funcs->Blit = sh7722Blit;
funcs->StretchBlit = sh7722StretchBlit;
funcs->FlushTextureCache = sh7722FlushTextureCache;
-
- /* Initialize JPEG library. */
-#if 0
- ret = SH7722_JPEG_Initialize();
- if (ret) {
- D_DERROR( ret, "SH7722/Driver: JPEG initialization failed!\n" );
- dfb_gfxcard_unmap_mmio( device, sdrv->mmio_base, -1 );
- munmap( (void*) sdrv->gfx_shared, direct_page_align( sizeof(SH772xGfxSharedArea) ) );
- close( sdrv->gfx_fd );
- return DFB_INIT;
- }
-#endif
break;
case SH7723GFX_SHARED_MAGIC:
@@ -241,41 +238,41 @@ driver_init_device( CoreGraphicsDevice *device,
*/
#ifdef SH772X_FBDEV_SUPPORT
{
- struct fb_fix_screeninfo fsi;
- struct fb_var_screeninfo vsi;
- int fbdev;
-
- if ((fbdev = open("/dev/fb0", O_RDONLY)) < 0) {
- D_ERROR( "SH7722/Driver: Can't open fbdev to get LCDC info!\n" );
- return DFB_FAILURE;
- }
-
- if (ioctl(fbdev, FBIOGET_FSCREENINFO, &fsi) < 0) {
- D_ERROR( "SH7722/Driver: FBIOGET_FSCREEINFO failed.\n" );
- close(fbdev);
- return DFB_FAILURE;
- }
-
- if (ioctl(fbdev, FBIOGET_VSCREENINFO, &vsi) < 0) {
- D_ERROR( "SH7722/Driver: FBIOGET_VSCREEINFO failed.\n" );
- close(fbdev);
- return DFB_FAILURE;
- }
-
- sdev->lcd_width = vsi.xres;
- sdev->lcd_height = vsi.yres;
- sdev->lcd_pitch = fsi.line_length;
- sdev->lcd_size = fsi.smem_len;
- sdev->lcd_offset = 0;
- sdev->lcd_phys = fsi.smem_start;
-#if 0
- sdrv->lcd_virt = mmap(NULL, fsi.smem_len, PROT_READ | PROT_WRITE, MAP_SHARED,
- fbdev, 0);
- if (sdrv->lcd_virt == MAP_FAILED) {
- D_PERROR( "SH7722/Driver: mapping fbdev failed.\n" );
- close(fbdev);
- return DFB_FAILURE;
- }
+ struct fb_fix_screeninfo fsi;
+ struct fb_var_screeninfo vsi;
+ int fbdev;
+
+ if ((fbdev = open("/dev/fb0", O_RDWR)) < 0) {
+ D_ERROR( "SH772x/Driver: Can't open fbdev to get LCDC info!\n" );
+ return DFB_FAILURE;
+ }
+
+ if (ioctl(fbdev, FBIOGET_FSCREENINFO, &fsi) < 0) {
+ D_ERROR( "SH772x/Driver: FBIOGET_FSCREEINFO failed.\n" );
+ close(fbdev);
+ return DFB_FAILURE;
+ }
+
+ if (ioctl(fbdev, FBIOGET_VSCREENINFO, &vsi) < 0) {
+ D_ERROR( "SH772x/Driver: FBIOGET_VSCREEINFO failed.\n" );
+ close(fbdev);
+ return DFB_FAILURE;
+ }
+
+ sdev->lcd_width = vsi.xres;
+ sdev->lcd_height = vsi.yres;
+ sdev->lcd_pitch = fsi.line_length;
+ sdev->lcd_size = fsi.smem_len;
+ sdev->lcd_offset = 0;
+ sdev->lcd_phys = fsi.smem_start;
+ sdrv->lcd_virt = mmap(NULL, fsi.smem_len, PROT_READ | PROT_WRITE, MAP_SHARED,
+ fbdev, 0);
+ if (sdrv->lcd_virt == MAP_FAILED) {
+ D_PERROR( "SH772x/Driver: mapping fbdev failed.\n" );
+ close(fbdev);
+ return DFB_FAILURE;
+ }
+
/* Clear LCD buffer. */
switch (sdev->lcd_format) {
@@ -292,9 +289,11 @@ driver_init_device( CoreGraphicsDevice *device,
D_BUG( "unsupported format" );
return DFB_BUG;
}
-#endif
- close(fbdev);
+ /* Register the framebuffer with UIOMux */
+ uiomux_register (sdrv->lcd_virt, sdev->lcd_phys, sdev->lcd_size);
+
+ close(fbdev);
}
#else
sdev->lcd_width = SH7722_LCD_WIDTH;
@@ -304,7 +303,7 @@ driver_init_device( CoreGraphicsDevice *device,
sdev->lcd_offset = dfb_gfxcard_reserve_memory( device, sdev->lcd_size );
if (sdev->lcd_offset < 0) {
- D_ERROR( "SH7722/Driver: Allocating %d bytes for the LCD buffer failed!\n", sdev->lcd_size );
+ D_ERROR( "SH772x/Driver: Allocating %d bytes for the LCD buffer failed!\n", sdev->lcd_size );
return DFB_FAILURE;
}
@@ -315,7 +314,7 @@ driver_init_device( CoreGraphicsDevice *device,
sdrv->lcd_virt = dfb_gfxcard_memory_virtual( device, sdev->lcd_offset );
#endif
- D_INFO( "SH7722/LCD: Allocated %dx%d %s Buffer (%d bytes) at 0x%08lx (%p)\n",
+ D_INFO( "SH772x/LCD: Allocated %dx%d %s Buffer (%d bytes) at 0x%08lx (%p)\n",
sdev->lcd_width, sdev->lcd_height, dfb_pixelformat_name(sdev->lcd_format),
sdev->lcd_size, sdev->lcd_phys, sdrv->lcd_virt );
@@ -379,16 +378,6 @@ driver_init_device( CoreGraphicsDevice *device,
return DFB_BUG;
}
-
- /* Wait for idle BEU. */
- while (SH7722_GETREG32( sdrv, BSTAR ) & 1);
-
- /* Disable all inputs. */
- SH7722_SETREG32( sdrv, BESTR, 0 );
-
- /* Disable all multi windows. */
- SH7722_SETREG32( sdrv, BMWCR0, SH7722_GETREG32( sdrv, BMWCR0 ) & ~0xf );
-
#ifndef SH772X_FBDEV_SUPPORT
/* Clear LCD buffer. */
switch (sdev->lcd_format) {
@@ -414,12 +403,15 @@ driver_init_device( CoreGraphicsDevice *device,
/* Set output pixel format of the BEU. */
switch (sdev->lcd_format) {
case DSPF_RGB16:
- SH7722_SETREG32( sdrv, BPKFR, BPKFR_RY_RGB | WPCK_RGB16 );
+ sdev->shbeu_dest.s.pc = NULL;
+ sdev->shbeu_dest.s.pa = NULL;
+ sdev->shbeu_dest.s.format = REN_RGB565;
break;
case DSPF_NV16:
- SH7722_SETREG32( sdrv, BPKFR, BPKFR_RY_RGB | BPKFR_TE_ENABLED | CHDS_YCBCR422 );
- SH7722_SETREG32( sdrv, BDACR, sdev->lcd_phys + sdev->lcd_height * sdev->lcd_pitch );
+ sdev->shbeu_dest.s.pc = sdrv->lcd_virt + sdev->lcd_height * sdev->lcd_pitch;
+ sdev->shbeu_dest.s.pa = NULL;
+ sdev->shbeu_dest.s.format = REN_NV16;
break;
default:
@@ -427,13 +419,6 @@ driver_init_device( CoreGraphicsDevice *device,
return DFB_BUG;
}
- SH7722_SETREG32( sdrv, BPROCR, 0x00000000 );
-
- /* Have BEU render into LCD buffer. */
- SH7722_SETREG32( sdrv, BBLCR1, MT_MEMORY );
- SH7722_SETREG32( sdrv, BDAYR, sdev->lcd_phys & 0xfffffffc );
- SH7722_SETREG32( sdrv, BDMWR, sdev->lcd_pitch & 0x0003fffc );
-
#ifndef SH772X_FBDEV_SUPPORT
/* Setup LCD controller to show the buffer. */
sh7722_lcd_setup( sdrv, sdev->lcd_width, sdev->lcd_height,
@@ -443,6 +428,15 @@ driver_init_device( CoreGraphicsDevice *device,
/* Initialize BEU lock. */
fusion_skirmish_init( &sdev->beu_lock, "BEU", dfb_core_world(sdrv->core) );
+ /* libshbeu */
+ sdev->shbeu_dest.s.py = sdrv->lcd_virt;
+ sdev->shbeu_dest.s.w = sdev->lcd_width;
+ sdev->shbeu_dest.s.h =sdev->lcd_height;
+ sdev->shbeu_dest.s.pitch = sdev->lcd_pitch/DFB_BYTES_PER_PIXEL(sdev->lcd_format);
+ sdev->shbeu_dest.alpha = 0xff;
+ sdev->shbeu_dest.x = 0;
+ sdev->shbeu_dest.y = 0;
+
return DFB_OK;
}
@@ -470,25 +464,23 @@ driver_close_driver( CoreGraphicsDevice *device,
D_DEBUG_AT( SH7722_Driver, "%s()\n", __FUNCTION__ );
- D_INFO( "SH7722/BLT: %u starts, %u done, %u interrupts, %u wait_idle, %u wait_next, %u idle\n",
+ D_INFO( "SH772x/BLT: %u starts, %u done, %u interrupts, %u wait_idle, %u wait_next, %u idle\n",
shared->num_starts, shared->num_done, shared->num_interrupts,
shared->num_wait_idle, shared->num_wait_next, shared->num_idle );
- D_INFO( "SH7722/BLT: %u words, %u words/start, %u words/idle, %u starts/idle\n",
+ D_INFO( "SH772x/BLT: %u words, %u words/start, %u words/idle, %u starts/idle\n",
shared->num_words,
shared->num_words / shared->num_starts,
shared->num_words / shared->num_idle,
shared->num_starts / shared->num_idle );
- /* Shutdown JPEG library. */
-#if 0
- SH7722_JPEG_Shutdown();
-#endif
-
/* Unmap shared area. */
munmap( (void*) sdrv->gfx_shared, direct_page_align( sizeof(SH772xGfxSharedArea) ) );
/* Close Drawing Engine device. */
close( sdrv->gfx_fd );
+
+ /* libshbeu */
+ shbeu_close(sdrv->shbeu);
}
diff --git a/gfxdrivers/sh772x/sh7722_jpeg.c b/gfxdrivers/sh772x/sh7722_jpeg.c
new file mode 100644
index 0000000..0080f3b
--- /dev/null
+++ b/gfxdrivers/sh772x/sh7722_jpeg.c
@@ -0,0 +1,545 @@
+#ifdef SH7722_DEBUG_JPEG
+#define DIRECT_ENABLE_DEBUG
+#endif
+
+#include <stdio.h>
+
+#undef HAVE_STDLIB_H
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <errno.h>
+#include <string.h>
+#include <stdarg.h>
+#include <fcntl.h>
+
+#include <asm/types.h>
+
+#include <direct/debug.h>
+#include <direct/interface.h>
+#include <direct/mem.h>
+#include <direct/messages.h>
+
+#include <directfb.h>
+
+#include <core/layers.h>
+#include <core/surface.h>
+#include <core/CoreSurface.h>
+#include <core/system.h>
+
+#include <display/idirectfbsurface.h>
+#include <media/idirectfbdatabuffer.h>
+#include <media/idirectfbimageprovider.h>
+
+#include "sh7722.h"
+#include <shjpeg/shjpeg.h>
+
+D_DEBUG_DOMAIN( SH7722_JPEG, "SH7722/JPEG", "SH7722 JPEG Processing Unit" );
+
+
+/* callbacks for libshjpeg */
+static int sops_init_databuffer( void *private )
+{
+ IDirectFBDataBuffer *buffer = (IDirectFBDataBuffer*)private;
+ buffer->SeekTo(buffer, 0);
+
+ return 0;
+}
+
+static int sops_read_databuffer( void *private, size_t *nbytes, void *dataptr )
+{
+ IDirectFBDataBuffer *buffer = (IDirectFBDataBuffer*)private;
+
+ unsigned int n;
+
+ buffer->GetData(buffer, *nbytes, dataptr, &n);
+ if (n < 0) {
+ *nbytes = 0;
+ return -1;
+ }
+
+ *nbytes = n;
+ return 0;
+}
+
+static int sops_write_databuffer( void *private, size_t *nbytes, void *dataptr )
+{
+ IDirectFBDataBuffer *buffer = (IDirectFBDataBuffer*)private;
+
+ if (buffer->PutData(buffer, dataptr, *nbytes) != DFB_OK);
+ return -1;
+
+ return 0;
+}
+
+static void sops_finalize_databuffer( void *private )
+{
+ IDirectFBDataBuffer *buffer = (IDirectFBDataBuffer*)private;
+ buffer->Finish(buffer);
+}
+
+static int sops_init_file(void *private)
+{
+ int fd = *(int*)private;
+
+ lseek(fd, 0L, SEEK_SET);
+
+ return 0;
+}
+
+static int sops_read_file(void *private, size_t *nbytes, void *dataptr)
+{
+ int fd = *(int*)private;
+ int n;
+
+ n = read(fd, dataptr, *nbytes);
+ if (n < 0) {
+ *nbytes = 0;
+ return -1;
+ }
+
+ *nbytes = n;
+ return 0;
+}
+
+static int sops_write_file(void *private, size_t *nbytes, void *dataptr)
+{
+ int fd = *(int*)private;
+ int n;
+
+ n = write(fd, dataptr, *nbytes);
+ if (n < 0) {
+ *nbytes = 0;
+ return -1;
+ }
+
+ *nbytes = n;
+ return 0;
+}
+
+static void sops_finalize_file(void *private)
+{
+ int fd = *(int*)private;
+ close(fd);
+}
+
+
+static shjpeg_sops sops_databuffer = {
+ .init = sops_init_databuffer,
+ .read = sops_read_databuffer,
+ .write = sops_write_databuffer,
+ .finalize = sops_finalize_databuffer,
+};
+
+static shjpeg_sops sops_file = {
+ .init = sops_init_file,
+ .read = sops_read_file,
+ .write = sops_write_file,
+ .finalize = sops_finalize_file,
+};
+
+/**********************************************************************************************************************/
+
+static DFBResult
+Probe( IDirectFBImageProvider_ProbeContext *ctx );
+
+static DFBResult
+Construct( IDirectFBImageProvider *thiz,
+ ... );
+
+#include <direct/interface_implementation.h>
+
+DIRECT_INTERFACE_IMPLEMENTATION( IDirectFBImageProvider, SH7722_JPEG )
+
+/*
+ * private data struct of IDirectFBImageProvider_SH7722_JPEG
+ */
+typedef struct {
+ int ref; /* reference counter */
+
+ shjpeg_context_t *info;
+
+ CoreDFB *core;
+
+ IDirectFBDataBuffer *buffer;
+ DirectStream *stream;
+
+ DIRenderCallback render_callback;
+ void *render_callback_context;
+} IDirectFBImageProvider_SH7722_JPEG_data;
+
+/**********************************************************************************************************************/
+
+static void
+IDirectFBImageProvider_SH7722_JPEG_Destruct( IDirectFBImageProvider *thiz )
+{
+ IDirectFBImageProvider_SH7722_JPEG_data *data = thiz->priv;
+
+ shjpeg_decode_shutdown( data->info );
+
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+}
+
+static DirectResult
+IDirectFBImageProvider_SH7722_JPEG_AddRef( IDirectFBImageProvider *thiz )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBImageProvider_SH7722_JPEG)
+
+ data->ref++;
+
+ return DFB_OK;
+}
+
+static DirectResult
+IDirectFBImageProvider_SH7722_JPEG_Release( IDirectFBImageProvider *thiz )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBImageProvider_SH7722_JPEG)
+
+ if (--data->ref == 0)
+ IDirectFBImageProvider_SH7722_JPEG_Destruct( thiz );
+
+ return DFB_OK;
+}
+
+static DFBResult
+IDirectFBImageProvider_SH7722_JPEG_RenderTo( IDirectFBImageProvider *thiz,
+ IDirectFBSurface *destination,
+ const DFBRectangle *dest_rect )
+{
+ DFBResult ret;
+ DFBRegion clip;
+ DFBRectangle rect;
+ IDirectFBSurface_data *dst_data;
+ CoreSurface *dst_surface;
+ CoreSurfaceBufferLock lock;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBImageProvider_SH7722_JPEG);
+
+ if (!data->buffer)
+ return DFB_BUFFEREMPTY;
+
+ DIRECT_INTERFACE_GET_DATA_FROM(destination, dst_data, IDirectFBSurface);
+
+ dst_surface = dst_data->surface;
+ if (!dst_surface)
+ return DFB_DESTROYED;
+
+ dfb_region_from_rectangle( &clip, &dst_data->area.current );
+
+ if (dest_rect) {
+ if (dest_rect->w < 1 || dest_rect->h < 1)
+ return DFB_INVARG;
+
+ rect.x = dest_rect->x + dst_data->area.wanted.x;
+ rect.y = dest_rect->y + dst_data->area.wanted.y;
+ rect.w = dest_rect->w;
+ rect.h = dest_rect->h;
+ }
+ else
+ rect = dst_data->area.wanted;
+
+ if (!dfb_rectangle_region_intersects( &rect, &clip ))
+ return DFB_OK;
+
+ ret = CoreSurface_LockBuffer( dst_surface, CSBR_BACK, CSAID_GPU, CSAF_WRITE, &lock );
+ if (ret)
+ return ret;
+
+
+ /* calculate physical address according to destination rect */
+ unsigned long phys = lock.phys + DFB_BYTES_PER_LINE(dst_surface->config.format, rect.x) + rect.y * lock.pitch;
+
+ shjpeg_pixelformat pixelfmt;
+
+ switch (dst_surface->config.format) {
+ case DSPF_RGB16:
+ pixelfmt = SHJPEG_PF_RGB16;
+ break;
+ case DSPF_RGB24:
+ pixelfmt = SHJPEG_PF_RGB24;
+ break;
+ case DSPF_RGB32:
+ pixelfmt = SHJPEG_PF_RGB32;
+ break;
+ case DSPF_NV12:
+ pixelfmt = SHJPEG_PF_NV12;
+ break;
+ case DSPF_NV16:
+ pixelfmt = SHJPEG_PF_NV16;
+ break;
+ case DSPF_A8:
+ pixelfmt = SHJPEG_PF_GRAYSCALE;
+ break;
+ default:
+ ret = DFB_UNSUPPORTED;
+
+ }
+
+ if (ret != DFB_UNSUPPORTED) {
+ if (shjpeg_decode_run( data->info, pixelfmt, phys, rect.w, rect.h, lock.pitch) < 0)
+ ret = DFB_FAILURE;
+ }
+
+ CoreSurface_UnlockBuffer( dst_surface, &lock );
+
+ return ret;
+}
+
+static DFBResult
+IDirectFBImageProvider_SH7722_JPEG_SetRenderCallback( IDirectFBImageProvider *thiz,
+ DIRenderCallback callback,
+ void *context )
+{
+ DIRECT_INTERFACE_GET_DATA (IDirectFBImageProvider_SH7722_JPEG)
+
+ data->render_callback = callback;
+ data->render_callback_context = context;
+
+ return DFB_OK;
+}
+
+static DFBResult
+IDirectFBImageProvider_SH7722_JPEG_GetSurfaceDescription( IDirectFBImageProvider *thiz,
+ DFBSurfaceDescription *desc )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBImageProvider_SH7722_JPEG)
+
+ if (!data->buffer)
+ return DFB_BUFFEREMPTY;
+
+ desc->flags = DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT;
+ desc->height = data->info->height;
+ desc->width = data->info->width;
+ desc->pixelformat = data->info->mode420 ? DSPF_NV12 : DSPF_NV16;
+
+ return DFB_OK;
+}
+
+static DFBResult
+IDirectFBImageProvider_SH7722_JPEG_GetImageDescription( IDirectFBImageProvider *thiz,
+ DFBImageDescription *desc )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBImageProvider_SH7722_JPEG)
+
+ if (!desc)
+ return DFB_INVARG;
+
+ if (!data->buffer)
+ return DFB_BUFFEREMPTY;
+
+ desc->caps = DICAPS_NONE;
+
+ return DFB_OK;
+}
+
+static DFBResult
+IDirectFBImageProvider_SH7722_JPEG_WriteBack( IDirectFBImageProvider *thiz,
+ IDirectFBSurface *surface,
+ const DFBRectangle *src_rect,
+ const char *filename )
+{
+ DFBResult ret;
+ DFBRegion clip;
+ DFBRectangle rect;
+ IDirectFBSurface_data *src_data;
+ CoreSurface *src_surface;
+ CoreSurfaceBufferLock lock;
+ DFBDimension jpeg_size;
+
+ CoreSurface *tmp_surface;
+ CoreSurfaceBufferLock tmp_lock;
+ int tmp_pitch;
+ unsigned int tmp_phys;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBImageProvider_SH7722_JPEG)
+
+ if (!surface || !filename)
+ return DFB_INVARG;
+
+ DIRECT_INTERFACE_GET_DATA_FROM(surface, src_data, IDirectFBSurface);
+
+ D_DEBUG_AT( SH7722_JPEG, "%s - surface %p, rect %p to file %s\n",
+ __FUNCTION__, surface, src_rect, filename );
+
+ src_surface = src_data->surface;
+ if (!src_surface)
+ return DFB_DESTROYED;
+
+ shjpeg_pixelformat pixelfmt;
+
+ switch (src_surface->config.format) {
+ case DSPF_NV12:
+ pixelfmt = SHJPEG_PF_NV12;
+ break;
+ case DSPF_NV16:
+ pixelfmt = SHJPEG_PF_NV16;
+ break;
+
+ default:
+ /* FIXME: implement fallback */
+ D_UNIMPLEMENTED();
+ return DFB_UNIMPLEMENTED;
+ }
+
+ /* open file */
+ int fd;
+ if ((fd = open(filename, O_RDWR | O_CREAT, 0644)) < 0)
+ return DFB_IO;
+
+ dfb_region_from_rectangle( &clip, &src_data->area.current );
+
+ if (src_rect) {
+ if (src_rect->w < 1 || src_rect->h < 1)
+ return DFB_INVARG;
+
+ rect.x = src_rect->x + src_data->area.wanted.x;
+ rect.y = src_rect->y + src_data->area.wanted.y;
+ rect.w = src_rect->w;
+ rect.h = src_rect->h;
+ }
+ else
+ rect = src_data->area.wanted;
+
+ if (!dfb_rectangle_region_intersects( &rect, &clip ))
+ return DFB_INVAREA;
+
+ jpeg_size.w = src_surface->config.size.w;
+ jpeg_size.h = src_surface->config.size.h;
+
+ /* it would be great if we had intermediate storage, since
+ * this prevents handling the encoding in 16-line chunks,
+ * causing scaling artefacts at the border of these chunks */
+
+ tmp_pitch = (jpeg_size.w + 3) & ~3;
+ ret = dfb_surface_create_simple( data->core, tmp_pitch, jpeg_size.h,
+ DSPF_NV16, DFB_COLORSPACE_DEFAULT(DSPF_NV16), DSCAPS_VIDEOONLY,
+ CSTF_NONE, 0, 0, &tmp_surface );
+ if( ret ) {
+ /* too bad, we proceed without */
+ D_DEBUG_AT( SH7722_JPEG, "%s - failed to create intermediate storage: %d\n",
+ __FUNCTION__, ret );
+ tmp_surface = 0;
+ tmp_phys = 0;
+ }
+ else {
+ /* lock it to get the address */
+ ret = CoreSurface_LockBuffer( tmp_surface, CSBR_FRONT, CSAID_GPU, CSAF_READ | CSAF_WRITE, &tmp_lock );
+ if (ret) {
+ D_DEBUG_AT( SH7722_JPEG, "%s - failed to lock intermediate storage: %d\n",
+ __FUNCTION__, ret );
+ dfb_surface_unref( tmp_surface );
+ tmp_surface = 0;
+ tmp_phys = 0;
+ }
+ else {
+ tmp_phys = tmp_lock.phys;
+ D_DEBUG_AT( SH7722_JPEG, "%s - surface locked at %x\n", __FUNCTION__, tmp_phys );
+ }
+ }
+
+ ret = CoreSurface_LockBuffer( src_surface, CSBR_FRONT, CSAID_GPU, CSAF_READ, &lock );
+ if ( ret == DFB_OK ) {
+
+ /* backup callbacks and private data and setup for file io */
+ shjpeg_sops *sops_tmp = data->info->sops;
+ void *private_tmp = data->info->priv_data;
+
+ data->info->sops = &sops_file;
+ data->info->priv_data = (void*) &fd;
+
+ if (shjpeg_encode(data->info, pixelfmt, lock.phys, jpeg_size.w, jpeg_size.h, lock.pitch) < 0)
+ ret = DFB_FAILURE;
+
+ /* restore callbacks and private data */
+ data->info->sops = sops_tmp;
+ data->info->priv_data = private_tmp;
+
+ CoreSurface_UnlockBuffer( src_surface, &lock );
+ }
+
+ if( tmp_surface ) {
+ /* unlock and release the created surface */
+ CoreSurface_UnlockBuffer( tmp_surface, &tmp_lock );
+ dfb_surface_unref( tmp_surface );
+ }
+
+ return ret;
+}
+
+
+
+/**********************************************************************************************************************/
+
+static DFBResult
+Probe( IDirectFBImageProvider_ProbeContext *ctx )
+{
+ /* Called with NULL when used for encoding. */
+ if (!ctx)
+ return DFB_OK;
+
+ if (ctx->header[0] == 0xff && ctx->header[1] == 0xd8 && ctx->filename)
+ return DFB_OK;
+
+ return DFB_UNSUPPORTED;
+}
+
+static DFBResult
+Construct( IDirectFBImageProvider *thiz,
+ ... )
+{
+ DFBResult ret;
+ IDirectFBDataBuffer *buffer;
+ CoreDFB *core;
+ va_list tag;
+
+ DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IDirectFBImageProvider_SH7722_JPEG);
+
+ va_start( tag, thiz );
+ buffer = va_arg( tag, IDirectFBDataBuffer * );
+ core = va_arg( tag, CoreDFB * );
+ va_end( tag );
+
+ data->ref = 1;
+ data->buffer = buffer;
+ data->core = core;
+
+ if (buffer) {
+ ret = buffer->AddRef( buffer );
+ if (ret) {
+ DIRECT_DEALLOCATE_INTERFACE(thiz);
+ return ret;
+ }
+
+ if ((data->info = shjpeg_init( 1 )) == NULL) {
+ buffer->Release( buffer );
+ DIRECT_DEALLOCATE_INTERFACE(thiz);
+
+ return DFB_FAILURE;
+ }
+
+ /* set callbacks to context */
+ data->info->sops = &sops_databuffer;
+ data->info->priv_data = (void*) buffer;
+
+ if (shjpeg_decode_init( data->info ) < 0) {
+ buffer->Release( buffer );
+ DIRECT_DEALLOCATE_INTERFACE(thiz);
+
+ return DFB_FAILURE;
+ }
+ }
+
+ thiz->AddRef = IDirectFBImageProvider_SH7722_JPEG_AddRef;
+ thiz->Release = IDirectFBImageProvider_SH7722_JPEG_Release;
+ thiz->RenderTo = IDirectFBImageProvider_SH7722_JPEG_RenderTo;
+ thiz->SetRenderCallback = IDirectFBImageProvider_SH7722_JPEG_SetRenderCallback;
+ thiz->GetImageDescription = IDirectFBImageProvider_SH7722_JPEG_GetImageDescription;
+ thiz->GetSurfaceDescription = IDirectFBImageProvider_SH7722_JPEG_GetSurfaceDescription;
+ thiz->WriteBack = IDirectFBImageProvider_SH7722_JPEG_WriteBack;
+
+ return DFB_OK;
+}
+
diff --git a/gfxdrivers/sh772x/sh7722_layer.c b/gfxdrivers/sh772x/sh7722_layer.c
index 8628ee8..6daa113 100644
--- a/gfxdrivers/sh772x/sh7722_layer.c
+++ b/gfxdrivers/sh772x/sh7722_layer.c
@@ -38,7 +38,7 @@
#include "sh7722_lcd.h"
-D_DEBUG_DOMAIN( SH7722_Layer, "SH7722/Layer", "Renesas SH7722 Layers" );
+D_DEBUG_DOMAIN( SH7722_Layer, "SH772x/Layer", "Renesas SH772x Layers" );
/**********************************************************************************************************************/
@@ -83,11 +83,21 @@ sh7722InitLayer( CoreLayer *layer,
/* fill out the default configuration */
config->flags = DLCONF_WIDTH | DLCONF_HEIGHT |
DLCONF_PIXELFORMAT | DLCONF_BUFFERMODE | DLCONF_OPTIONS;
- config->width = sdev->lcd_width;;
+ config->width = sdev->lcd_width;
config->height = sdev->lcd_height;
config->pixelformat = DSPF_RGB16;
config->buffermode = DLBM_FRONTONLY;
config->options = DLOP_ALPHACHANNEL;
+
+ /* libshbeu */
+ sdev->shbeu_src[data->layer].s.w = sdev->lcd_width;
+ sdev->shbeu_src[data->layer].s.h = sdev->lcd_height;
+ sdev->shbeu_src[data->layer].s.pitch = sdev->lcd_pitch/DFB_BYTES_PER_PIXEL(config->pixelformat);
+ sdev->shbeu_src[data->layer].s.format = REN_RGB565;
+ sdev->shbeu_src[data->layer].alpha = 0xff;
+ sdev->shbeu_src[data->layer].x = 0;
+ sdev->shbeu_src[data->layer].y = 0;
+
return DFB_OK;
}
@@ -120,13 +130,8 @@ sh7722TestRegion( CoreLayer *layer,
case DSPF_RGB32:
case DSPF_RGB24:
case DSPF_RGB16:
- break;
-
case DSPF_NV12:
case DSPF_NV16:
- /* YUV only for first input */
- if (slay->layer != SH7722_LAYER_INPUT1)
- fail |= CLRCF_FORMAT;
break;
default:
@@ -209,13 +214,11 @@ sh7722SetRegion( CoreLayer *layer,
fusion_skirmish_prevail( &sdev->beu_lock );
- /* Wait for idle BEU. */
- BEU_Wait( sdrv, sdev );
-
/* Update position? */
if (updated & CLRCF_DEST) {
- /* Set horizontal and vertical offset. */
- SH7722_SETREG32( sdrv, BLOCR(n), (config->dest.y << 16) | config->dest.x );
+ /* libshbeu: Set horizontal and vertical offset. */
+ sdev->shbeu_src[n].x = config->dest.x;
+ sdev->shbeu_src[n].y = config->dest.y;
}
/* Update size? */
@@ -229,26 +232,33 @@ sh7722SetRegion( CoreLayer *layer,
if (config->dest.y + ch > sdev->lcd_height)
ch = sdev->lcd_height - config->dest.y;
- /* Set width and height. */
- SH7722_SETREG32( sdrv, BSSZR(n), (ch << 16) | cw );
- SH7722_SETREG32( sdrv, BTPSR, (ch << 16) | cw );
+ /* libshbeu: Set width and height. */
+ sdev->shbeu_src[n].s.h = ch;
+ sdev->shbeu_src[n].s.w = cw;
+
}
/* Update surface? */
if (updated & CLRCF_SURFACE) {
CoreSurfaceBuffer *buffer = lock->buffer;
- /* Set buffer pitch. */
- SH7722_SETREG32( sdrv, BSMWR(n), lock->pitch );
+ /* libshbeu: Set buffer pitch. */
+ sdev->shbeu_src[n].s.pitch = lock->pitch / DFB_BYTES_PER_PIXEL(buffer->format);
- /* Set buffer offset (Y plane or RGB packed). */
- SH7722_SETREG32( sdrv, BSAYR(n), lock->phys );
+ /* libshbeu: Set buffer offset (Y plane or RGB packed). */
+ sdev->shbeu_src[n].s.py = lock->addr;
+ sdev->shbeu_src[n].s.pc = NULL;
+ sdev->shbeu_src[n].s.pa = NULL;
+ /* libshbeu: Set alpha plane to same physical address as RGB plane if layer uses alpha */
+ if (DFB_PIXELFORMAT_HAS_ALPHA(buffer->format) && (config->options & DLOP_ALPHACHANNEL))
+ sdev->shbeu_src[n].s.pa = lock->addr;
+
/* Set buffer offset (UV plane). */
if (DFB_PLANAR_PIXELFORMAT(buffer->format)) {
D_ASSUME( buffer->format == DSPF_NV12 || buffer->format == DSPF_NV16 );
- SH7722_SETREG32( sdrv, BSACR(n), lock->phys + lock->pitch * surface->config.size.h );
+ sdev->shbeu_src[n].s.pc = lock->addr + lock->pitch * surface->config.size.h;
}
sreg->surface = surface;
@@ -256,92 +266,55 @@ sh7722SetRegion( CoreLayer *layer,
/* Update format? */
if (updated & CLRCF_FORMAT) {
- unsigned long tBSIFR = 0;
- unsigned long tBSWPR = BSWPR_MODSEL_EACH | (SH7722_GETREG32( sdrv, BSWPR ) & ~(7 << (n*8)));
-
/* Set pixel format. */
switch (config->format) {
case DSPF_NV12:
- tBSIFR |= CHRR_YCBCR_420 | BSIFR1_IN1TE_RGBYUV;
+ sdev->shbeu_src[n].s.format = REN_NV12;
break;
case DSPF_NV16:
- tBSIFR |= CHRR_YCBCR_422 | BSIFR1_IN1TE_RGBYUV;
+ sdev->shbeu_src[n].s.format = REN_NV16;
break;
case DSPF_ARGB:
- tBSIFR |= RPKF_ARGB;
- break;
-
case DSPF_RGB32:
- tBSIFR |= RPKF_RGB32;
+ sdev->shbeu_src[n].s.format = REN_RGB32;
break;
case DSPF_RGB24:
- tBSIFR |= RPKF_RGB24;
+ sdev->shbeu_src[n].s.format = REN_BGR24;
break;
case DSPF_RGB16:
- tBSIFR |= RPKF_RGB16;
+ sdev->shbeu_src[n].s.format = REN_RGB565;
break;
+/* Currently not supported
case DSPF_LUT8:
- tBSIFR |= BSIFR3_MOD0_OSD | BSIFR3_MOD1_LUT;
- break;
-
- default:
- break;
- }
-
-#if 0
- /* Set swapping. */
- switch (config->format) {
- case DSPF_LUT8:
- case DSPF_NV12:
- case DSPF_NV16:
- tBSWPR |= (BSWPR_INPUT_BYTESWAP |
- BSWPR_INPUT_WORDSWAP |
- BSWPR_INPUT_LONGSWAP) << (n*8);
+ sdev->shbeu_src[n].s.format = REN_PAL8; //FIXME: implement in libshbeu
break;
-
- case DSPF_RGB16:
- tBSWPR |= (BSWPR_INPUT_WORDSWAP |
- BSWPR_INPUT_LONGSWAP) << (n*8);
- break;
-
- case DSPF_ARGB:
- case DSPF_RGB32:
- case DSPF_RGB24:
- tBSWPR |= (BSWPR_INPUT_LONGSWAP) << (n*8);
- break;
-
+*/
default:
break;
}
-#endif
- SH7722_SETREG32( sdrv, BSIFR(n), tBSIFR );
- SH7722_SETREG32( sdrv, BSWPR, tBSWPR );
}
/* Update options or opacity? */
if (updated & (CLRCF_OPTIONS | CLRCF_OPACITY | CLRCF_FORMAT)) {
- unsigned long tBBLCR0 = BBLCR0_LAY_123;
-
- /* Set opacity value. */
- tBBLCR0 &= ~(0xff << (n*8));
- tBBLCR0 |= ((config->options & CLRCF_OPACITY) ? config->opacity : 0xff) << (n*8);
+ /* libshbeu: Set opacity value. */
+ sdev->shbeu_src[n].alpha = (config->options & DLOP_OPACITY) ? config->opacity : 0xff;
- /* Enable/disable alpha channel. */
+ /* libshbeu: Enable/disable alpha channel. */
if ((config->options & DLOP_ALPHACHANNEL) && DFB_PIXELFORMAT_HAS_ALPHA(config->format))
- tBBLCR0 |= BBLCR0_AMUX_BLENDPIXEL(n);
+ sdev->shbeu_src[n].s.pa = sdev->shbeu_src[n].s.py;
else
- tBBLCR0 &= ~BBLCR0_AMUX_BLENDPIXEL(n);
-
- SH7722_SETREG32( sdrv, BBLCR0, tBBLCR0 );
+ sdev->shbeu_src[n].s.pa = 0;
}
- /* Update CLUT? */
+//TODO: Implement CLUT in libshbeu
+/*
+ // Update CLUT?
if (updated & CLRCF_PALETTE && palette) {
const DFBColor *entries = palette->entries;
@@ -352,7 +325,7 @@ sh7722SetRegion( CoreLayer *layer,
entries[i].b ) );
}
}
-
+*/
/* Enable or disable input. */
if ((config->options & DLOP_OPACITY) && !config->opacity)
@@ -360,20 +333,6 @@ sh7722SetRegion( CoreLayer *layer,
else
sdev->input_mask |= (1 << n);
- /* Choose parent input. */
- if (sdev->input_mask) {
- unsigned long tBBLCR1 = SH7722_GETREG32( sdrv, BBLCR1 ) & ~BBLCR1_PWD_INPUT_MASK;
-
- if (sdev->input_mask & 4)
- tBBLCR1 |= BBLCR1_PWD_INPUT3;
- else if (sdev->input_mask & 2)
- tBBLCR1 |= BBLCR1_PWD_INPUT2;
- else
- tBBLCR1 |= BBLCR1_PWD_INPUT1;
-
- SH7722_SETREG32( sdrv, BBLCR1, tBBLCR1 );
- }
-
fusion_skirmish_dismiss( &sdev->beu_lock );
sreg->config = *config;
@@ -404,28 +363,28 @@ sh7722RemoveRegion( CoreLayer *layer,
fusion_skirmish_prevail( &sdev->beu_lock );
- /* Wait for idle BEU. */
- BEU_Wait( sdrv, sdev );
sdev->input_mask &= ~(1 << n);
- /* Choose parent input. */
+ /* libshbeu: reorder src surfaces and start blending. */
if (sdev->input_mask) {
- unsigned long tBBLCR1 = SH7722_GETREG32( sdrv, BBLCR1 ) & ~BBLCR1_PWD_INPUT_MASK;
-
- if (sdev->input_mask & 4)
- tBBLCR1 |= BBLCR1_PWD_INPUT3;
- else if (sdev->input_mask & 2)
- tBBLCR1 |= BBLCR1_PWD_INPUT2;
- else
- tBBLCR1 |= BBLCR1_PWD_INPUT1;
-
- SH7722_SETREG32( sdrv, BBLCR1, tBBLCR1 );
+ struct shbeu_surface * src[3] = {NULL, NULL, NULL};
+ int nr_surfaces = 0;
+ if (sdev->input_mask & 1) {
+ src[nr_surfaces] = &sdev->shbeu_src[0];
+ nr_surfaces++;
+ }
+ if (sdev->input_mask & 2) {
+ src[nr_surfaces] = &sdev->shbeu_src[1];
+ nr_surfaces++;
+ }
+ if (sdev->input_mask & 4) {
+ src[nr_surfaces] = &sdev->shbeu_src[2];
+ nr_surfaces++;
+ }
+ shbeu_blend(sdrv->shbeu, src[0], src[1], src[2], &sdev->shbeu_dest);
}
- /* Start operation! */
- BEU_Start( sdrv, sdev );
-
fusion_skirmish_dismiss( &sdev->beu_lock );
return DFB_OK;
@@ -463,25 +422,30 @@ sh7722FlipRegion( CoreLayer *layer,
fusion_skirmish_prevail( &sdev->beu_lock );
- /* Set buffer offset (Y plane or RGB packed). */
- SH7722_SETREG32( sdrv, BSAYR(n), lock->phys );
+ /* set new physical address for layer */
+ sdev->shbeu_src[n].s.py = lock->addr;
- /* Set buffer offset (UV plane). */
- if (DFB_PLANAR_PIXELFORMAT(buffer->format)) {
- D_ASSUME( buffer->format == DSPF_NV12 || buffer->format == DSPF_NV16 );
-
- SH7722_SETREG32( sdrv, BSACR(n), lock->phys + lock->pitch * surface->config.size.h );
+ /* libshbeu: reorder src surfaces and start blending. */
+ if (sdev->input_mask) {
+ struct shbeu_surface * src[3] = {NULL, NULL, NULL};
+ int nr_surfaces = 0;
+ if (sdev->input_mask & 1) {
+ src[nr_surfaces] = &sdev->shbeu_src[0];
+ nr_surfaces++;
+ }
+ if (sdev->input_mask & 2) {
+ src[nr_surfaces] = &sdev->shbeu_src[1];
+ nr_surfaces++;
+ }
+ if (sdev->input_mask & 4) {
+ src[nr_surfaces] = &sdev->shbeu_src[2];
+ nr_surfaces++;
+ }
+ shbeu_blend(sdrv->shbeu, src[0], src[1], src[2], &sdev->shbeu_dest);
}
- /* Start operation! */
- BEU_Start( sdrv, sdev );
-
fusion_skirmish_dismiss( &sdev->beu_lock );
-
- /* Wait for idle BEU? */
- if (flags & DSFLIP_WAIT)
- BEU_Wait( sdrv, sdev );
-
+
dfb_surface_flip( surface, false );
return DFB_OK;
@@ -505,11 +469,24 @@ sh7722UpdateRegion( CoreLayer *layer,
D_ASSERT( sdrv != NULL );
D_ASSERT( sdev != NULL );
- /* Start operation! */
- BEU_Start( sdrv, sdev );
-
- if (!(surface->config.caps & DSCAPS_FLIPPING))
- BEU_Wait( sdrv, sdev );
+ /* libshbeu: reorder src surfaces and start blending. */
+ if (sdev->input_mask) {
+ struct shbeu_surface * src[3] = {NULL, NULL, NULL};
+ int nr_surfaces = 0;
+ if (sdev->input_mask & 1) {
+ src[nr_surfaces] = &sdev->shbeu_src[0];
+ nr_surfaces++;
+ }
+ if (sdev->input_mask & 2) {
+ src[nr_surfaces] = &sdev->shbeu_src[1];
+ nr_surfaces++;
+ }
+ if (sdev->input_mask & 4) {
+ src[nr_surfaces] = &sdev->shbeu_src[2];
+ nr_surfaces++;
+ }
+ shbeu_blend(sdrv->shbeu, src[0], src[1], src[2], &sdev->shbeu_dest);
+ }
return DFB_OK;
}
diff --git a/gfxdrivers/sh772x/sh7722_lcd.c b/gfxdrivers/sh772x/sh7722_lcd.c
index 47df333..82562bd 100644
--- a/gfxdrivers/sh772x/sh7722_lcd.c
+++ b/gfxdrivers/sh772x/sh7722_lcd.c
@@ -14,7 +14,7 @@
#include "sh7722.h"
-D_DEBUG_DOMAIN( SH7722_LCD, "SH7722/LCD", "Renesas SH7722 LCD" );
+D_DEBUG_DOMAIN( SH7722_LCD, "SH772x/LCD", "Renesas SH772x LCD" );
/**********************************************************************************************************************/
diff --git a/gfxdrivers/sh772x/sh7722_multi.c b/gfxdrivers/sh772x/sh7722_multi.c
index d15871d..18b1da0 100644
--- a/gfxdrivers/sh772x/sh7722_multi.c
+++ b/gfxdrivers/sh772x/sh7722_multi.c
@@ -37,7 +37,7 @@
#include "sh7722_multi.h"
-D_DEBUG_DOMAIN( SH7722_Layer, "SH7722/Layer", "Renesas SH7722 Layers" );
+D_DEBUG_DOMAIN( SH7722_Layer, "SH772x/Layer", "Renesas SH772x Layers" );
/**********************************************************************************************************************/
@@ -61,8 +61,8 @@ sh7722InitLayer( CoreLayer *layer,
DFBDisplayLayerConfig *config,
DFBColorAdjustment *adjustment )
{
- SH7722DriverData *sdrv = driver_data;
- SH7722DeviceData *sdev = sdrv->dev;
+ SH7722DriverData *sdrv = driver_data;
+ SH7722DeviceData *sdev = sdrv->dev;
D_DEBUG_AT( SH7722_Layer, "%s()\n", __FUNCTION__ );
/* set capabilities and type */
diff --git a/gfxdrivers/sh772x/sh7722_regs.h b/gfxdrivers/sh772x/sh7722_regs.h
index c0ef019..d6590be 100644
--- a/gfxdrivers/sh772x/sh7722_regs.h
+++ b/gfxdrivers/sh772x/sh7722_regs.h
@@ -9,7 +9,6 @@
#define VEU_REG_BASE 0xFE920000
#define SH7722_BEU_BASE 0xFE930000
#define LCDC_REG_BASE 0xFE940000
-#define JPEG_REG_BASE 0xFEA00000
/******************************************************************************
@@ -418,207 +417,4 @@
#define LCDC_LDRCR (LCDC_REG_BASE + 0x0484)
-/******************************************************************************
- * JPEG
- */
-
-/* JPEG code mode register */
-#define JCMOD (JPEG_REG_BASE + 0x0000)
-
-/* JPEG code command register */
-#define JCCMD (JPEG_REG_BASE + 0x0004)
-
-/* JPEG code status register */
-#define JCSTS (JPEG_REG_BASE + 0x0008)
-
-/* JPEG code quantization table number register */
-#define JCQTN (JPEG_REG_BASE + 0x000C)
-
-/* JPEG code Huffman table number register */
-#define JCHTN (JPEG_REG_BASE + 0x0010)
-
-/* JPEG code DRI upper register */
-#define JCDRIU (JPEG_REG_BASE + 0x0014)
-
-/* JPEG code DRI lower register */
-#define JCDRID (JPEG_REG_BASE + 0x0018)
-
-/* JPEG code vertical size upper register */
-#define JCVSZU (JPEG_REG_BASE + 0x001C)
-
-/* JPEG code vertical size lower register */
-#define JCVSZD (JPEG_REG_BASE + 0x0020)
-
-/* JPEG code horizontal size upper register */
-#define JCHSZU (JPEG_REG_BASE + 0x0024)
-
-/* JPEG code horizontal size lower register */
-#define JCHSZD (JPEG_REG_BASE + 0x0028)
-
-/* JPEG code data count upper register */
-#define JCDTCU (JPEG_REG_BASE + 0x002C)
-
-/* JPEG code data count middle register */
-#define JCDTCM (JPEG_REG_BASE + 0x0030)
-
-/* JPEG code data count lower register */
-#define JCDTCD (JPEG_REG_BASE + 0x0034)
-
-/* JPEG interrupt enable register */
-#define JINTE (JPEG_REG_BASE + 0x0038)
-
-/* JPEG interrupt status register */
-#define JINTS (JPEG_REG_BASE + 0x003C)
-
-/* JPEG code decode error register */
-#define JCDERR (JPEG_REG_BASE + 0x0040)
-
-/* JPEG code reset register */
-#define JCRST (JPEG_REG_BASE + 0x0044)
-
-/* JPEG interface control register */
-#define JIFCNT (JPEG_REG_BASE + 0x0060)
-
-/* JPEG interface encoding control register */
-#define JIFECNT (JPEG_REG_BASE + 0x0070)
-
-/* JPEG interface encode source Y address register 1 */
-#define JIFESYA1 (JPEG_REG_BASE + 0x0074)
-
-/* JPEG interface encode source C address register 1 */
-#define JIFESCA1 (JPEG_REG_BASE + 0x0078)
-
-/* JPEG interface encode source Y address register 2 */
-#define JIFESYA2 (JPEG_REG_BASE + 0x007C)
-
-/* JPEG interface encode source C address register 2 */
-#define JIFESCA2 (JPEG_REG_BASE + 0x0080)
-
-/* JPEG interface encode source memory width register */
-#define JIFESMW (JPEG_REG_BASE + 0x0084)
-
-/* JPEG interface encode source vertical size register */
-#define JIFESVSZ (JPEG_REG_BASE + 0x0088)
-
-/* JPEG interface encode source horizontal size register */
-#define JIFESHSZ (JPEG_REG_BASE + 0x008C)
-
-/* JPEG interface encode destination address register 1 */
-#define JIFEDA1 (JPEG_REG_BASE + 0x0090)
-
-/* JPEG interface encode destination address register 2 */
-#define JIFEDA2 (JPEG_REG_BASE + 0x0094)
-
-/* JPEG interface encode data reload size register */
-#define JIFEDRSZ (JPEG_REG_BASE + 0x0098)
-
-/* JPEG interface decoding control register */
-#define JIFDCNT (JPEG_REG_BASE + 0x00A0)
-
-/* JPEG interface decode source address register 1 */
-#define JIFDSA1 (JPEG_REG_BASE + 0x00A4)
-
-/* JPEG interface decode source address register 2 */
-#define JIFDSA2 (JPEG_REG_BASE + 0x00A8)
-
-/* JPEG interface decode data reload size register */
-#define JIFDDRSZ (JPEG_REG_BASE + 0x00AC)
-
-/* JPEG interface decode destination memory width register */
-#define JIFDDMW (JPEG_REG_BASE + 0x00B0)
-
-/* JPEG interface decode destination vertical size register */
-#define JIFDDVSZ (JPEG_REG_BASE + 0x00B4)
-
-/* JPEG interface decode destination horizontal size register */
-#define JIFDDHSZ (JPEG_REG_BASE + 0x00B8)
-
-/* JPEG interface decode destination Y address register 1 */
-#define JIFDDYA1 (JPEG_REG_BASE + 0x00BC)
-
-/* JPEG interface decode destination C address register 1 */
-#define JIFDDCA1 (JPEG_REG_BASE + 0x00C0)
-
-/* JPEG interface decode destination Y address register 2 */
-#define JIFDDYA2 (JPEG_REG_BASE + 0x00C4)
-
-/* JPEG interface decode destination C address register 2 */
-#define JIFDDCA2 (JPEG_REG_BASE + 0x00C8)
-
-
-/* JPEG code quantization table 0 register */
-#define JCQTBL0(n) (JPEG_REG_BASE + 0x10000 + (((n)*4) & 0x3C)) // to 0x1003C
-
-/* JPEG code quantization table 1 register */
-#define JCQTBL1(n) (JPEG_REG_BASE + 0x10040 + (((n)*4) & 0x3C)) // to 0x1007C
-
-/* JPEG code quantization table 2 register */
-#define JCQTBL2(n) (JPEG_REG_BASE + 0x10080 + (((n)*4) & 0x3C)) // to 0x100BC
-
-/* JPEG code quantization table 3 register */
-#define JCQTBL3(n) (JPEG_REG_BASE + 0x100C0 + (((n)*4) & 0x3C)) // to 0x100FC
-
-/* JPEG code Huffman table DC0 register */
-#define JCHTBD0(n) (JPEG_REG_BASE + 0x10100 + (((n)*4) & 0x1C)) // to 0x1010C
-
-/* JPEG code Huffman table DC0 register */
-//#define JCHTBD1(n) (JPEG_REG_BASE + 0x10110 + (((n)*4) & 0x0C)) // to 0x10118
-
-/* JPEG code Huffman table AC0 register */
-#define JCHTBA0(n) (JPEG_REG_BASE + 0x10120 + (((n)*4) & 0xFC)) // to 0x1012C
-
-/* JPEG code Huffman table AC0 register */
-//#define JCHTBA1(n) (JPEG_REG_BASE + 0x10130 + (((n)*4) & 0x0C)) // to 0x101D0
-
-/* JPEG code Huffman table DC1 register */
-#define JCHTBD1(n) (JPEG_REG_BASE + 0x10200 + (((n)*4) & 0x1C)) // to 0x1020C
-
-/* JPEG code Huffman table DC1 register */
-//#define JCHTBD3(n) (JPEG_REG_BASE + 0x10210 + (((n)*4) & 0x0C)) // to 0x10218
-
-/* JPEG code Huffman table AC1 register */
-#define JCHTBA1(n) (JPEG_REG_BASE + 0x10220 + (((n)*4) & 0xFC)) // to 0x1022C
-
-/* JPEG code Huffman table AC1 register */
-//#define JCHTBA3(n) (JPEG_REG_BASE + 0x10230 + (((n)*4) & 0xFC)) // to 0x102D0
-
-
-#define JCCMD_START 0x00000001
-#define JCCMD_RESTART 0x00000002
-#define JCCMD_END 0x00000004
-#define JCCMD_LCMD2 0x00000100
-#define JCCMD_LCMD1 0x00000200
-#define JCCMD_RESET 0x00000080
-#define JCCMD_READ_RESTART 0x00000400
-#define JCCMD_WRITE_RESTART 0x00000800
-#define JCMOD_DSP_ENCODE 0x00000000
-#define JCMOD_DSP_DECODE 0x00000008
-#define JCMOD_INPUT_CTRL 0x00000080 // must always be set
-#define JIFCNT_VJSEL_JPU 0x00000000
-#define JIFCNT_VJSEL_VPU 0x00000002
-
-#define JIFECNT_LINEBUF_MODE 0x00000002
-#define JIFECNT_SWAP_1234 0x00000000
-#define JIFECNT_SWAP_2143 0x00000010
-#define JIFECNT_SWAP_3412 0x00000020
-#define JIFECNT_SWAP_4321 0x00000030
-#define JIFECNT_RELOAD_ENABLE 0x00000040
-
-#define JIFDCNT_LINEBUF_MODE 0x00000001
-#define JIFDCNT_SWAP_1234 0x00000000
-#define JIFDCNT_SWAP_2143 0x00000002
-#define JIFDCNT_SWAP_3412 0x00000004
-#define JIFDCNT_SWAP_4321 0x00000006
-#define JIFDCNT_RELOAD_ENABLE 0x00000008
-
-#define JINTS_MASK 0x00007C68
-#define JINTS_INS3_HEADER 0x00000008
-#define JINTS_INS5_ERROR 0x00000020
-#define JINTS_INS6_DONE 0x00000040
-#define JINTS_INS10_XFER_DONE 0x00000400
-#define JINTS_INS11_LINEBUF0 0x00000800
-#define JINTS_INS12_LINEBUF1 0x00001000
-#define JINTS_INS13_LOADED 0x00002000
-#define JINTS_INS14_RELOAD 0x00004000
-
#endif
diff --git a/gfxdrivers/sh772x/sh7722_screen.c b/gfxdrivers/sh772x/sh7722_screen.c
index 2fe4d46..6dd203c 100644
--- a/gfxdrivers/sh772x/sh7722_screen.c
+++ b/gfxdrivers/sh772x/sh7722_screen.c
@@ -36,7 +36,7 @@
#include "sh7722_screen.h"
-D_DEBUG_DOMAIN( SH7722_Screen, "SH7722/Screen", "Renesas SH7722 Screen" );
+D_DEBUG_DOMAIN( SH7722_Screen, "SH772x/Screen", "Renesas SH772x Screen" );
/**********************************************************************************************************************/
@@ -53,7 +53,7 @@ sh7722InitScreen( CoreScreen *screen,
description->caps = DSCCAPS_NONE;
/* Set the screen name. */
- snprintf( description->name, DFB_SCREEN_DESC_NAME_LENGTH, "SH7722 Screen" );
+ snprintf( description->name, DFB_SCREEN_DESC_NAME_LENGTH, "SH772x Screen" );
return DFB_OK;
}
@@ -65,8 +65,8 @@ sh7722GetScreenSize( CoreScreen *screen,
int *ret_width,
int *ret_height )
{
- SH7722DriverData *sdrv = driver_data;
- SH7722DeviceData *sdev = sdrv->dev;
+ SH7722DriverData *sdrv = driver_data;
+ SH7722DeviceData *sdev = sdrv->dev;
D_DEBUG_AT( SH7722_Screen, "%s()\n", __FUNCTION__ );
D_ASSERT( ret_width != NULL );
diff --git a/gfxdrivers/sh772x/sh7722_types.h b/gfxdrivers/sh772x/sh7722_types.h
index ea367da..6007bb3 100644
--- a/gfxdrivers/sh772x/sh7722_types.h
+++ b/gfxdrivers/sh772x/sh7722_types.h
@@ -5,6 +5,8 @@
#include <sh772x_gfx.h>
+#include <shbeu/shbeu.h>
+
#define SH7722GFX_MAX_PREPARE 8192
@@ -103,6 +105,11 @@ typedef struct {
/* sh7723 */
u32 rclr;
u32 color16;
+
+ /* libshbeu */
+ struct shbeu_surface shbeu_src[3];
+ struct shbeu_surface shbeu_dest;
+
} SH7722DeviceData;
@@ -130,6 +137,11 @@ typedef struct {
int num_inputs;
volatile void *lcd_virt;
+
+
+ /* for libshbeu */
+ SHBEU *shbeu;
+
} SH7722DriverData;
#endif
diff --git a/gfxdrivers/sis315/Makefile.am b/gfxdrivers/sis315/Makefile.am
index de0b424..5ed00e8 100644
--- a/gfxdrivers/sis315/Makefile.am
+++ b/gfxdrivers/sis315/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
diff --git a/gfxdrivers/sis315/Makefile.in b/gfxdrivers/sis315/Makefile.in
index d02f45d..b3ef5b9 100644
--- a/gfxdrivers/sis315/Makefile.in
+++ b/gfxdrivers/sis315/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(sis315dir)" "$(DESTDIR)$(sis315dir)"
-sis315LTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(sis315_LTLIBRARIES)
libdirectfb_sis315_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -60,30 +83,48 @@ libdirectfb_sis315_la_DEPENDENCIES = \
am_libdirectfb_sis315_la_OBJECTS = sis315.lo sis315_accel.lo \
sis315_mmio.lo sis315_state.lo
libdirectfb_sis315_la_OBJECTS = $(am_libdirectfb_sis315_la_OBJECTS)
-libdirectfb_sis315_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_sis315_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_sis315_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_sis315_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_sis315_la_SOURCES)
DIST_SOURCES = $(libdirectfb_sis315_la_SOURCES)
-sis315DATA_INSTALL = $(INSTALL_DATA)
DATA = $(sis315_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -107,11 +148,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -125,16 +169,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -155,12 +200,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -171,21 +219,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -193,6 +249,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -206,6 +266,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -213,9 +274,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -262,12 +324,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
@@ -304,14 +367,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/sis315/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/sis315/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/sis315/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/sis315/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -321,6 +384,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -329,23 +393,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-sis315LTLIBRARIES: $(sis315_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(sis315dir)" || $(MKDIR_P) "$(DESTDIR)$(sis315dir)"
- @list='$(sis315_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(sis315_LTLIBRARIES)'; test -n "$(sis315dir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(sis315LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(sis315dir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(sis315LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(sis315dir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(sis315dir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(sis315dir)"; \
+ }
uninstall-sis315LTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(sis315_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(sis315dir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(sis315dir)/$$p"; \
+ @list='$(sis315_LTLIBRARIES)'; test -n "$(sis315dir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(sis315dir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(sis315dir)/$$f"; \
done
clean-sis315LTLIBRARIES:
@@ -356,8 +425,8 @@ clean-sis315LTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_sis315.la: $(libdirectfb_sis315_la_OBJECTS) $(libdirectfb_sis315_la_DEPENDENCIES)
- $(libdirectfb_sis315_la_LINK) -rpath $(sis315dir) $(libdirectfb_sis315_la_OBJECTS) $(libdirectfb_sis315_la_LIBADD) $(LIBS)
+libdirectfb_sis315.la: $(libdirectfb_sis315_la_OBJECTS) $(libdirectfb_sis315_la_DEPENDENCIES) $(EXTRA_libdirectfb_sis315_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_sis315_la_LINK) -rpath $(sis315dir) $(libdirectfb_sis315_la_OBJECTS) $(libdirectfb_sis315_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -371,25 +440,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sis315_state.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -399,34 +468,35 @@ clean-libtool:
install-sis315DATA: $(sis315_DATA)
@$(NORMAL_INSTALL)
test -z "$(sis315dir)" || $(MKDIR_P) "$(DESTDIR)$(sis315dir)"
- @list='$(sis315_DATA)'; for p in $$list; do \
+ @list='$(sis315_DATA)'; test -n "$(sis315dir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(sis315DATA_INSTALL) '$$d$$p' '$(DESTDIR)$(sis315dir)/$$f'"; \
- $(sis315DATA_INSTALL) "$$d$$p" "$(DESTDIR)$(sis315dir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sis315dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(sis315dir)" || exit $$?; \
done
uninstall-sis315DATA:
@$(NORMAL_UNINSTALL)
- @list='$(sis315_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(sis315dir)/$$f'"; \
- rm -f "$(DESTDIR)$(sis315dir)/$$f"; \
- done
+ @list='$(sis315_DATA)'; test -n "$(sis315dir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(sis315dir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -434,29 +504,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -477,13 +552,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -504,16 +583,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -535,6 +620,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -543,18 +630,28 @@ install-data-am: install-sis315DATA install-sis315LTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -603,6 +700,7 @@ uninstall-am: uninstall-sis315DATA uninstall-sis315LTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/tdfx/Makefile.am b/gfxdrivers/tdfx/Makefile.am
index 98264f7..393e296 100644
--- a/gfxdrivers/tdfx/Makefile.am
+++ b/gfxdrivers/tdfx/Makefile.am
@@ -2,9 +2,9 @@
INCLUDES = \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
- -I$(top_builddir)/lib \
-I$(top_srcdir)/systems \
-I$(top_srcdir)/src
diff --git a/gfxdrivers/tdfx/Makefile.in b/gfxdrivers/tdfx/Makefile.in
index 3b72e2f..6eab522 100644
--- a/gfxdrivers/tdfx/Makefile.in
+++ b/gfxdrivers/tdfx/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,44 +47,83 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(tdfxdir)" "$(DESTDIR)$(tdfxdir)"
-tdfxLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(tdfx_LTLIBRARIES)
libdirectfb_tdfx_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_tdfx_la_OBJECTS = tdfx.lo
libdirectfb_tdfx_la_OBJECTS = $(am_libdirectfb_tdfx_la_OBJECTS)
-libdirectfb_tdfx_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_tdfx_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_tdfx_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_tdfx_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_tdfx_la_SOURCES)
DIST_SOURCES = $(libdirectfb_tdfx_la_SOURCES)
-tdfxDATA_INSTALL = $(INSTALL_DATA)
DATA = $(tdfx_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -106,11 +147,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -124,16 +168,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -154,12 +199,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -170,21 +218,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -192,6 +248,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -205,6 +265,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -212,9 +273,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -261,13 +323,14 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
- -I$(top_builddir)/lib \
-I$(top_srcdir)/systems \
-I$(top_srcdir)/src
@@ -295,14 +358,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/tdfx/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/tdfx/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/tdfx/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/tdfx/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -312,6 +375,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -320,23 +384,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-tdfxLTLIBRARIES: $(tdfx_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(tdfxdir)" || $(MKDIR_P) "$(DESTDIR)$(tdfxdir)"
- @list='$(tdfx_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(tdfx_LTLIBRARIES)'; test -n "$(tdfxdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(tdfxLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(tdfxdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(tdfxLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(tdfxdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(tdfxdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(tdfxdir)"; \
+ }
uninstall-tdfxLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(tdfx_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(tdfxdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(tdfxdir)/$$p"; \
+ @list='$(tdfx_LTLIBRARIES)'; test -n "$(tdfxdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(tdfxdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(tdfxdir)/$$f"; \
done
clean-tdfxLTLIBRARIES:
@@ -347,8 +416,8 @@ clean-tdfxLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_tdfx.la: $(libdirectfb_tdfx_la_OBJECTS) $(libdirectfb_tdfx_la_DEPENDENCIES)
- $(libdirectfb_tdfx_la_LINK) -rpath $(tdfxdir) $(libdirectfb_tdfx_la_OBJECTS) $(libdirectfb_tdfx_la_LIBADD) $(LIBS)
+libdirectfb_tdfx.la: $(libdirectfb_tdfx_la_OBJECTS) $(libdirectfb_tdfx_la_DEPENDENCIES) $(EXTRA_libdirectfb_tdfx_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_tdfx_la_LINK) -rpath $(tdfxdir) $(libdirectfb_tdfx_la_OBJECTS) $(libdirectfb_tdfx_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -359,25 +428,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tdfx.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -387,34 +456,35 @@ clean-libtool:
install-tdfxDATA: $(tdfx_DATA)
@$(NORMAL_INSTALL)
test -z "$(tdfxdir)" || $(MKDIR_P) "$(DESTDIR)$(tdfxdir)"
- @list='$(tdfx_DATA)'; for p in $$list; do \
+ @list='$(tdfx_DATA)'; test -n "$(tdfxdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(tdfxDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(tdfxdir)/$$f'"; \
- $(tdfxDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(tdfxdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tdfxdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(tdfxdir)" || exit $$?; \
done
uninstall-tdfxDATA:
@$(NORMAL_UNINSTALL)
- @list='$(tdfx_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(tdfxdir)/$$f'"; \
- rm -f "$(DESTDIR)$(tdfxdir)/$$f"; \
- done
+ @list='$(tdfx_DATA)'; test -n "$(tdfxdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(tdfxdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -422,29 +492,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -465,13 +540,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -492,16 +571,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -523,6 +608,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -531,18 +618,28 @@ install-data-am: install-tdfxDATA install-tdfxLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -591,6 +688,7 @@ uninstall-am: uninstall-tdfxDATA uninstall-tdfxLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/unichrome/Makefile.am b/gfxdrivers/unichrome/Makefile.am
index 3d4c3f9..5b8d5e9 100644
--- a/gfxdrivers/unichrome/Makefile.am
+++ b/gfxdrivers/unichrome/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
diff --git a/gfxdrivers/unichrome/Makefile.in b/gfxdrivers/unichrome/Makefile.in
index eb7e29e..a31df71 100644
--- a/gfxdrivers/unichrome/Makefile.in
+++ b/gfxdrivers/unichrome/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,15 +47,36 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(unichromedir)" \
"$(DESTDIR)$(unichromedir)"
-unichromeLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(unichrome_LTLIBRARIES)
libdirectfb_unichrome_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -64,30 +87,48 @@ am_libdirectfb_unichrome_la_OBJECTS = unichrome.lo uc_accel.lo \
uc_ovl_hwmap.lo uc_ovl_hwset.lo uc_primary.lo uc_spic.lo
libdirectfb_unichrome_la_OBJECTS = \
$(am_libdirectfb_unichrome_la_OBJECTS)
-libdirectfb_unichrome_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_unichrome_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_unichrome_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_unichrome_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_unichrome_la_SOURCES)
DIST_SOURCES = $(libdirectfb_unichrome_la_SOURCES)
-unichromeDATA_INSTALL = $(INSTALL_DATA)
DATA = $(unichrome_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -111,11 +152,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -129,16 +173,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -159,12 +204,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -175,21 +223,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -197,6 +253,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -210,6 +270,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -217,9 +278,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -266,12 +328,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
@@ -315,14 +378,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/unichrome/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/unichrome/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/unichrome/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/unichrome/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -332,6 +395,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -340,23 +404,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-unichromeLTLIBRARIES: $(unichrome_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(unichromedir)" || $(MKDIR_P) "$(DESTDIR)$(unichromedir)"
- @list='$(unichrome_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(unichrome_LTLIBRARIES)'; test -n "$(unichromedir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(unichromeLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(unichromedir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(unichromeLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(unichromedir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(unichromedir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(unichromedir)"; \
+ }
uninstall-unichromeLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(unichrome_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(unichromedir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(unichromedir)/$$p"; \
+ @list='$(unichrome_LTLIBRARIES)'; test -n "$(unichromedir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(unichromedir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(unichromedir)/$$f"; \
done
clean-unichromeLTLIBRARIES:
@@ -367,8 +436,8 @@ clean-unichromeLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_unichrome.la: $(libdirectfb_unichrome_la_OBJECTS) $(libdirectfb_unichrome_la_DEPENDENCIES)
- $(libdirectfb_unichrome_la_LINK) -rpath $(unichromedir) $(libdirectfb_unichrome_la_OBJECTS) $(libdirectfb_unichrome_la_LIBADD) $(LIBS)
+libdirectfb_unichrome.la: $(libdirectfb_unichrome_la_OBJECTS) $(libdirectfb_unichrome_la_DEPENDENCIES) $(EXTRA_libdirectfb_unichrome_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_unichrome_la_LINK) -rpath $(unichromedir) $(libdirectfb_unichrome_la_OBJECTS) $(libdirectfb_unichrome_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -389,25 +458,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unichrome.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -417,34 +486,35 @@ clean-libtool:
install-unichromeDATA: $(unichrome_DATA)
@$(NORMAL_INSTALL)
test -z "$(unichromedir)" || $(MKDIR_P) "$(DESTDIR)$(unichromedir)"
- @list='$(unichrome_DATA)'; for p in $$list; do \
+ @list='$(unichrome_DATA)'; test -n "$(unichromedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(unichromeDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(unichromedir)/$$f'"; \
- $(unichromeDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(unichromedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(unichromedir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(unichromedir)" || exit $$?; \
done
uninstall-unichromeDATA:
@$(NORMAL_UNINSTALL)
- @list='$(unichrome_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(unichromedir)/$$f'"; \
- rm -f "$(DESTDIR)$(unichromedir)/$$f"; \
- done
+ @list='$(unichrome_DATA)'; test -n "$(unichromedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(unichromedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -452,29 +522,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -495,13 +570,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -522,16 +601,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -553,6 +638,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -561,18 +648,28 @@ install-data-am: install-unichromeDATA install-unichromeLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -622,6 +719,7 @@ uninstall-am: uninstall-unichromeDATA uninstall-unichromeLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/vmware/Makefile.am b/gfxdrivers/vmware/Makefile.am
index 34c1c38..bd2dc27 100644
--- a/gfxdrivers/vmware/Makefile.am
+++ b/gfxdrivers/vmware/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
diff --git a/gfxdrivers/vmware/Makefile.in b/gfxdrivers/vmware/Makefile.in
index ea8ae6b..4031db2 100644
--- a/gfxdrivers/vmware/Makefile.in
+++ b/gfxdrivers/vmware/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,44 +47,83 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(vmwaredir)" "$(DESTDIR)$(vmwaredir)"
-vmwareLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(vmware_LTLIBRARIES)
libdirectfb_vmware_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_vmware_la_OBJECTS = vmware_2d.lo vmware_gfxdriver.lo
libdirectfb_vmware_la_OBJECTS = $(am_libdirectfb_vmware_la_OBJECTS)
-libdirectfb_vmware_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_vmware_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_vmware_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_vmware_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_vmware_la_SOURCES)
DIST_SOURCES = $(libdirectfb_vmware_la_SOURCES)
-vmwareDATA_INSTALL = $(INSTALL_DATA)
DATA = $(vmware_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -106,11 +147,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -124,16 +168,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -154,12 +199,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -170,21 +218,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -192,6 +248,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -205,6 +265,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -212,9 +273,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -261,12 +323,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
@@ -297,14 +360,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/vmware/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu gfxdrivers/vmware/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gfxdrivers/vmware/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu gfxdrivers/vmware/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -314,6 +377,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -322,23 +386,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-vmwareLTLIBRARIES: $(vmware_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(vmwaredir)" || $(MKDIR_P) "$(DESTDIR)$(vmwaredir)"
- @list='$(vmware_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(vmware_LTLIBRARIES)'; test -n "$(vmwaredir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(vmwareLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(vmwaredir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(vmwareLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(vmwaredir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(vmwaredir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(vmwaredir)"; \
+ }
uninstall-vmwareLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(vmware_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(vmwaredir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(vmwaredir)/$$p"; \
+ @list='$(vmware_LTLIBRARIES)'; test -n "$(vmwaredir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(vmwaredir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(vmwaredir)/$$f"; \
done
clean-vmwareLTLIBRARIES:
@@ -349,8 +418,8 @@ clean-vmwareLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_vmware.la: $(libdirectfb_vmware_la_OBJECTS) $(libdirectfb_vmware_la_DEPENDENCIES)
- $(libdirectfb_vmware_la_LINK) -rpath $(vmwaredir) $(libdirectfb_vmware_la_OBJECTS) $(libdirectfb_vmware_la_LIBADD) $(LIBS)
+libdirectfb_vmware.la: $(libdirectfb_vmware_la_OBJECTS) $(libdirectfb_vmware_la_DEPENDENCIES) $(EXTRA_libdirectfb_vmware_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_vmware_la_LINK) -rpath $(vmwaredir) $(libdirectfb_vmware_la_OBJECTS) $(libdirectfb_vmware_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -362,25 +431,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/vmware_gfxdriver.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -390,34 +459,35 @@ clean-libtool:
install-vmwareDATA: $(vmware_DATA)
@$(NORMAL_INSTALL)
test -z "$(vmwaredir)" || $(MKDIR_P) "$(DESTDIR)$(vmwaredir)"
- @list='$(vmware_DATA)'; for p in $$list; do \
+ @list='$(vmware_DATA)'; test -n "$(vmwaredir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(vmwareDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(vmwaredir)/$$f'"; \
- $(vmwareDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(vmwaredir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(vmwaredir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(vmwaredir)" || exit $$?; \
done
uninstall-vmwareDATA:
@$(NORMAL_UNINSTALL)
- @list='$(vmware_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(vmwaredir)/$$f'"; \
- rm -f "$(DESTDIR)$(vmwaredir)/$$f"; \
- done
+ @list='$(vmware_DATA)'; test -n "$(vmwaredir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(vmwaredir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -425,29 +495,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -468,13 +543,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -495,16 +574,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -526,6 +611,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -534,18 +621,28 @@ install-data-am: install-vmwareDATA install-vmwareLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -594,6 +691,7 @@ uninstall-am: uninstall-vmwareDATA uninstall-vmwareLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gfxdrivers/vmware/vmware_2d.c b/gfxdrivers/vmware/vmware_2d.c
index 1e50978..d9f1978 100644
--- a/gfxdrivers/vmware/vmware_2d.c
+++ b/gfxdrivers/vmware/vmware_2d.c
@@ -376,7 +376,7 @@ vmwareFillRectangle( void *drv, void *dev, DFBRectangle *rect )
}
/*
- * Render a filled rectangle using the current hardware state.
+ * Blit a surface using the current hardware state.
*/
bool
vmwareBlit( void *drv, void *dev, DFBRectangle *srect, int dx, int dy )
diff --git a/include/Makefile.am b/include/Makefile.am
index 2f0f4ff..a4f68cd 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -6,6 +6,7 @@ DISTCLEANFILES = directfb_keynames.h directfb_strings.h
include_HEADERS = \
directfb.h \
+ directfb_build.h \
directfb_keyboard.h \
directfb_keynames.h \
directfb_strings.h \
@@ -112,6 +113,9 @@ directfb_strings.h: directfb.h $(MKNAMES) Makefile
$(MKNAMES) DFBScreenEncoderScanMode DSESM UNKNOWN ScreenEncoderScanMode scan_mode $(INCP)/directfb.h \
| grep -v DSESM_ALL >> $@
+ $(MKNAMES) DFBScreenEncoderConfigFlags DSECONF UNKNOWN ScreenEncoderConfigFlags config_flags $(INCP)/directfb.h \
+ | grep -v DSECONF_ALL >> $@
+
$(MKNAMES) DFBScreenEncoderFrequency DSEF UNKNOWN ScreenEncoderFrequency frequency $(INCP)/directfb.h \
| grep -v DSEF_ALL >> $@
diff --git a/include/Makefile.in b/include/Makefile.in
index 7e7fe38..3a9d6ea 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,8 +17,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -35,7 +37,8 @@ host_triplet = @host@
target_triplet = @target@
subdir = include
DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/directfb_version.h.in
+ $(srcdir)/Makefile.in $(srcdir)/directfb_build.h.in \
+ $(srcdir)/directfb_version.h.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/as-ac-expand.m4 \
$(top_srcdir)/configure.in
@@ -43,7 +46,14 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = directfb_version.h
+CONFIG_CLEAN_FILES = directfb_build.h directfb_version.h
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -51,15 +61,36 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(includedir)"
-includeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(include_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -83,11 +114,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -101,16 +135,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -131,12 +166,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -147,21 +185,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -169,6 +215,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -182,6 +232,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -189,9 +240,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -238,11 +290,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
DISTCLEANFILES = directfb_keynames.h directfb_strings.h
include_HEADERS = \
directfb.h \
+ directfb_build.h \
directfb_keyboard.h \
directfb_keynames.h \
directfb_strings.h \
@@ -262,14 +316,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu include/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu include/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -287,6 +341,9 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+directfb_build.h: $(top_builddir)/config.status $(srcdir)/directfb_build.h.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
directfb_version.h: $(top_builddir)/config.status $(srcdir)/directfb_version.h.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
@@ -298,34 +355,35 @@ clean-libtool:
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
- @list='$(include_HEADERS)'; for p in $$list; do \
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
- $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(includedir)/$$f"; \
- done
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -333,29 +391,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -376,13 +439,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -403,16 +470,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@@ -433,6 +506,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -441,18 +516,28 @@ install-data-am: install-includeHEADERS
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -581,6 +666,9 @@ directfb_strings.h: directfb.h $(MKNAMES) Makefile
$(MKNAMES) DFBScreenEncoderScanMode DSESM UNKNOWN ScreenEncoderScanMode scan_mode $(INCP)/directfb.h \
| grep -v DSESM_ALL >> $@
+ $(MKNAMES) DFBScreenEncoderConfigFlags DSECONF UNKNOWN ScreenEncoderConfigFlags config_flags $(INCP)/directfb.h \
+ | grep -v DSECONF_ALL >> $@
+
$(MKNAMES) DFBScreenEncoderFrequency DSEF UNKNOWN ScreenEncoderFrequency frequency $(INCP)/directfb.h \
| grep -v DSEF_ALL >> $@
@@ -589,6 +677,7 @@ directfb_strings.h: directfb.h $(MKNAMES) Makefile
@echo '' >> $@
@echo '#endif' >> $@
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/include/dgiff.h b/include/dgiff.h
index 68075a4..103d7f2 100644
--- a/include/dgiff.h
+++ b/include/dgiff.h
@@ -70,7 +70,7 @@ typedef struct {
uint32_t num_glyphs;
uint32_t num_rows;
- uint32_t __pad;
+ DFBSurfaceBlittingFlags blittingflags;
} DGIFFFaceHeader;
typedef struct {
diff --git a/include/directfb.h b/include/directfb.h
index 12d38ef..b768018 100644
--- a/include/directfb.h
+++ b/include/directfb.h
@@ -38,6 +38,7 @@ extern "C"
#include <dfb_types.h>
#include <sys/time.h> /* struct timeval */
+#include <directfb_build.h>
#include <directfb_keyboard.h>
#include <direct/interface.h>
@@ -184,6 +185,7 @@ typedef enum {
DFB_NOVIDEOMEMORY, /* There's not enough video memory. */
DFB_MISSINGFONT, /* No font has been set. */
DFB_MISSINGIMAGE, /* No image has been set. */
+ DFB_NOALLOCATION, /* No allocation. */
} DFBResult;
/*
@@ -277,6 +279,18 @@ typedef struct {
} DFBTriangle;
/*
+ * A trapezoid specified by two points with a width each.
+ */
+typedef struct {
+ int x1; /* X coordinate of first span */
+ int y1; /* Y coordinate of first span */
+ int w1; /* width of first span */
+ int x2; /* X coordinate of second span */
+ int y2; /* Y coordinate of second span */
+ int w2; /* width of second span */
+} DFBTrapezoid;
+
+/*
* A color defined by channels with 8bit each.
*/
typedef struct {
@@ -415,6 +429,7 @@ DFBResult DirectFBCreate(
typedef unsigned int DFBScreenID;
typedef unsigned int DFBDisplayLayerID;
typedef unsigned int DFBDisplayLayerSourceID;
+typedef unsigned int DFBSurfaceID;
typedef unsigned int DFBWindowID;
typedef unsigned int DFBInputDeviceID;
typedef unsigned int DFBTextEncodingID;
@@ -773,6 +788,7 @@ typedef enum {
DFXL_DRAWRECTANGLE = 0x00000002, /* DrawRectangle() is accelerated. */
DFXL_DRAWLINE = 0x00000004, /* DrawLine() is accelerated. */
DFXL_FILLTRIANGLE = 0x00000008, /* FillTriangle() is accelerated. */
+ DFXL_FILLTRAPEZOID = 0x00000010, /* FillTrapezoid() is accelerated. */
DFXL_BLIT = 0x00010000, /* Blit() and TileBlit() are accelerated. */
DFXL_STRETCHBLIT = 0x00020000, /* StretchBlit() is accelerated. */
@@ -782,8 +798,8 @@ typedef enum {
DFXL_DRAWSTRING = 0x01000000, /* DrawString() and DrawGlyph() are accelerated. */
- DFXL_ALL = 0x010F000F, /* All drawing/blitting functions. */
- DFXL_ALL_DRAW = 0x0000000F, /* All drawing functions. */
+ DFXL_ALL = 0x010F001F, /* All drawing/blitting functions. */
+ DFXL_ALL_DRAW = 0x0000001F, /* All drawing functions. */
DFXL_ALL_BLIT = 0x010F0000, /* All blitting functions. */
} DFBAccelerationMask;
@@ -927,7 +943,8 @@ typedef enum {
DWCAPS_COLOR = 0x00000020, /* The window has no buffer;
it consumes no backing store.
It is filled with a constant color
- and it receives events */
+ and it receives events. The color is
+ never specified premultiplied. */
DWCAPS_NOFOCUS = 0x00000100, /* Window will never get focus or receive key events, unless it grabs them. */
@@ -959,6 +976,10 @@ typedef enum {
implies DWOP_KEEP... */
DWOP_INDESTRUCTIBLE = 0x00002000, /* window can't be destroyed
by internal shortcut */
+ DWOP_INPUTONLY = 0x00004000, /* The window will be input only.
+ It will receive events but is not shown.
+ Note that toggling this bit will not
+ free/assign the window surface. */
DWOP_SCALE = 0x00010000, /* Surface won't be changed if window size on screen changes. The surface
can be resized separately using IDirectFBWindow::ResizeSurface(). */
@@ -966,7 +987,7 @@ typedef enum {
DWOP_KEEP_UNDER = 0x00200000, /* Keep window under parent window. */
DWOP_FOLLOW_BOUNDS = 0x00400000, /* Follow window bounds from parent. */
- DWOP_ALL = 0x0071307F /* all possible options */
+ DWOP_ALL = 0x0071707F /* all possible options */
} DFBWindowOptions;
/*
@@ -1008,7 +1029,13 @@ typedef enum {
DFFA_NOBITMAP = 0x00000020, /* ignore bitmap strikes; for
bitmap-only fonts this flag is
ignored */
- DFFA_OUTLINED = 0x00000040
+ DFFA_OUTLINED = 0x00000040,
+ DFFA_AUTOHINTING = 0x00000080, /* prefer auto-hinter over the font's
+ native hinter */
+ DFFA_SOFTHINTING = 0x00000100 /* use a lighter hinting algorithm
+ that produces glyphs that are more
+ fuzzy but better resemble the
+ original shape */
} DFBFontAttributes;
/*
@@ -1026,6 +1053,7 @@ typedef enum {
DFDESC_FRACT_WIDTH = 0x00000040, /* fractional width is set */
DFDESC_OUTLINE_WIDTH = 0x00000080, /* outline width is set */
DFDESC_OUTLINE_OPACITY = 0x00000100, /* outline opacity is set */
+ DFDESC_ROTATION = 0x00000200, /* rotation is set */
} DFBFontDescriptionFlags;
/*
@@ -1046,6 +1074,9 @@ typedef enum {
*
* Outline parameters are ignored if DFFA_OUTLINED is not used (see DFBFontAttributes). To change the
* default values of 1.0 each use DFDESC_OUTLINE_WIDTH and/or DFDESC_OUTLINE_OPACITY.
+ *
+ * The rotation value is a 0.24 fixed point number of rotations. Use the macros DFB_DEGREES
+ * and DFB_RADIANS to convert from those units.
*/
typedef struct {
DFBFontDescriptionFlags flags;
@@ -1061,8 +1092,13 @@ typedef struct {
int outline_width; /* Outline width as 16.16 fixed point integer */
int outline_opacity; /* Outline opacity as 16.16 fixed point integer */
+
+ int rotation;
} DFBFontDescription;
+#define DFB_DEGREES(deg) ((int)((deg)/360.0*(1<<24)))
+#define DFB_RADIANS(rad) ((int)((rad)/(2.0*M_PI)*(1<<24)))
+
/*
* @internal
*
@@ -1209,10 +1245,16 @@ typedef enum {
/* 24 bit VYU 4:4:4 (3 byte, Cr 8 at 16, Y 8 at 8, Cb 8 at 0) */
DSPF_VYU = DFB_SURFACE_PIXELFORMAT( 34, 24, 0, 0, 0, 3, 0, 0, 0, 0, 0 ),
+ /* 1 bit alpha (1 byte/ 8 pixel, LEAST significant bit used first) */
+ DSPF_A1_LSB = DFB_SURFACE_PIXELFORMAT( 35, 0, 1, 1, 1, 0, 7, 0, 0, 0, 0 ),
+
+ /* 16 bit YUV (8 bit Y plane followed by 8 bit 2x1 subsampled V/U planes) */
+ DSPF_YV16 = DFB_SURFACE_PIXELFORMAT( 36, 16, 0, 0, 0, 1, 0, 0, 1, 0, 0 ),
+
} DFBSurfacePixelFormat;
/* Number of pixelformats defined */
-#define DFB_NUM_PIXELFORMATS 35
+#define DFB_NUM_PIXELFORMATS 37
/* These macros extract information about the pixel format. */
#define DFB_PIXELFORMAT_INDEX(fmt) (((fmt) & 0x0000007F) )
@@ -1311,6 +1353,9 @@ typedef struct {
>0 = actual number */
int sources; /* Number of selectable sources. */
int clip_regions; /* Number of clipping regions. */
+
+ DFBSurfaceCapabilities surface_caps;
+ unsigned int surface_accessor;
} DFBDisplayLayerDescription;
/*
@@ -1389,6 +1434,9 @@ typedef struct {
char name[DFB_INPUT_DEVICE_DESC_NAME_LENGTH]; /* Device name */
char vendor[DFB_INPUT_DEVICE_DESC_VENDOR_LENGTH]; /* Device vendor */
+
+ int vendor_id; /* Vendor ID */
+ int product_id; /* Product ID */
} DFBInputDeviceDescription;
typedef enum {
@@ -1449,7 +1497,7 @@ typedef struct {
DFBSurfacePixelFormat pixelformat; /* pixel format */
int posx; /* distance from left layer border */
int posy; /* distance from upper layer border */
- DFBSurfaceCapabilities surface_caps; /* pixel format */
+ DFBSurfaceCapabilities surface_caps; /* surface capabilities */
DFBWindowID parent_id; /* window id of parent window */
DFBWindowOptions options; /* initial window options */
DFBWindowStackingClass stacking; /* initial stacking class */
@@ -2210,7 +2258,8 @@ typedef enum {
DSOC_CVBS = 0x00000008, /* CVBS connector */
DSOC_SCART2 = 0x00000010, /* 2nd SCART connector */
DSOC_COMPONENT = 0x00000020, /* Component video connector */
- DSOC_HDMI = 0x00000040 /* HDMI connector */
+ DSOC_HDMI = 0x00000040, /* HDMI connector */
+ DSOC_656 = 0x00000080, /* DVO connector */
} DFBScreenOutputConnectors;
/*
@@ -2359,8 +2408,8 @@ typedef enum {
DSETV_PAL_N = 0x00000080, /* PAL N support (specific) */
DSETV_PAL_NC = 0x00000100, /* PAL NC support (specific) */
DSETV_NTSC_M_JPN = 0x00000200, /* NTSC_JPN support */
- DSETV_NTSC_443 = 0x00000800, /* NTSC with 4.43MHz colour carrier */
DSETV_DIGITAL = 0x00000400, /* TV standards from the digital domain. specify resolution, scantype, frequency.*/
+ DSETV_NTSC_443 = 0x00000800, /* NTSC with 4.43MHz colour carrier */
DSETV_ALL = 0x00000FFF /* All TV Standards*/
} DFBScreenEncoderTVStandards;
@@ -2685,6 +2734,17 @@ DEFINE_INTERFACE( IDirectFBScreen,
int output,
const DFBScreenOutputConfig *config
);
+
+
+ /** Synchronization **/
+
+ /*
+ * Return current VSync count.
+ */
+ DFBResult (*GetVSyncCount) (
+ IDirectFBScreen *thiz,
+ unsigned long *ret_count
+ );
)
@@ -3161,6 +3221,20 @@ DEFINE_INTERFACE( IDirectFBDisplayLayer,
IDirectFBDisplayLayer *thiz,
int *ret_rotation
);
+
+
+ /** Windows **/
+
+ /*
+ * Retrieve an interface to an existing window.
+ *
+ * The window is identified by its surface' resource id.
+ */
+ DFBResult (*GetWindowByResourceID) (
+ IDirectFBDisplayLayer *thiz,
+ unsigned long resource_id,
+ IDirectFBWindow **ret_interface
+ );
)
@@ -3184,6 +3258,9 @@ typedef enum {
DSFLIP_ONCE = 0x00000010,
+ DSFLIP_QUEUE = 0x00000100,
+ DSFLIP_FLUSH = 0x00000200,
+
DSFLIP_WAITFORSYNC = DSFLIP_WAIT | DSFLIP_ONSYNC
} DFBSurfaceFlipFlags;
@@ -3216,8 +3293,8 @@ typedef enum {
* These are important for surface swapping management.
*/
typedef enum {
- DSLF_READ = 0x00000001, /* request read access while
- surface is locked */
+ DSLF_READ = 0x00000001, /* Request read access while
+ surface is locked. */
DSLF_WRITE = 0x00000002 /* Request write access. If
specified and surface has
a back buffer, it will be
@@ -3227,11 +3304,12 @@ typedef enum {
/*
* Available Porter/Duff rules.
+ *
+ * pixel = (source * fs + destination * fd),
+ * sa = source alpha,
+ * da = destination alpha
*/
typedef enum {
- /* pixel = (source * fs + destination * fd),
- sa = source alpha,
- da = destination alpha */
DSPD_NONE = 0, /* fs: sa fd: 1.0-sa (defaults) */
DSPD_CLEAR = 1, /* fs: 0.0 fd: 0.0 */
DSPD_SRC = 2, /* fs: 1.0 fd: 0.0 */
@@ -3443,9 +3521,11 @@ DEFINE_INTERFACE( IDirectFBSurface,
);
/*
- * Returns the framebuffer offset of a locked surface.
- *
- * The surface must exist in video memory.
+ * Obsolete. Returns DFB_FAILURE always.
+ *
+ * Previously returned the framebuffer offset of a locked surface.
+ * However, it is not a safe API to use at all, since it is not
+ * guaranteed that the offset actually belongs to fbmem (e.g. could be AGP memory).
*/
DFBResult (*GetFramebufferOffset) (
IDirectFBSurface *thiz,
@@ -4150,6 +4230,32 @@ DEFINE_INTERFACE( IDirectFBSurface,
const DFBPoint *source2_points,
int num
);
+
+ /** Buffer operations **/
+
+ /*
+ * Returns the physical address of a locked surface.
+ *
+ * The surface must exist in a video memory pool.
+ */
+ DFBResult (*GetPhysicalAddress) (
+ IDirectFBSurface *thiz,
+ unsigned long *addr
+ );
+
+ /** Drawing functions **/
+
+ /*
+ * Fill a bunch of trapezoids with a single call.
+ *
+ * Fill <b>num</b> trapezoids with the current color following the
+ * drawing flags. Each trapezoid specified by a DFBTrapezoid.
+ */
+ DFBResult (*FillTrapezoids) (
+ IDirectFBSurface *thiz,
+ const DFBTrapezoid *traps,
+ unsigned int num
+ );
)
@@ -4632,7 +4738,9 @@ typedef enum {
window when it's
created */
- DWET_ALL = 0x003F033F /* all event types */
+ DWET_UPDATE = 0x01000000,
+
+ DWET_ALL = 0x013F033F /* all event types */
} DFBWindowEventType;
/*
@@ -4642,9 +4750,10 @@ typedef enum {
DWEF_NONE = 0x00000000, /* none of these */
DWEF_RETURNED = 0x00000001, /* This is a returned event, e.g. unconsumed key. */
+ DWEF_RELATIVE = 0x00000002, /* This is a relative motion event (using DWCF_RELATIVE) */
DWEF_REPEAT = 0x00000010, /* repeat event, e.g. repeating key */
- DWEF_ALL = 0x00000011 /* all of these */
+ DWEF_ALL = 0x00000013 /* all of these */
} DFBWindowEventFlags;
/*
@@ -4998,6 +5107,19 @@ typedef struct {
DFBLocation location;
} DFBWindowGeometry;
+typedef enum {
+ DWCF_NONE = 0x00000000,
+
+ DWCF_RELATIVE = 0x00000001,
+ DWCF_EXPLICIT = 0x00000002,
+ DWCF_UNCLIPPED = 0x00000004,
+ DWCF_TRAPPED = 0x00000008,
+ DWCF_FIXED = 0x00000010,
+ DWCF_INVISIBLE = 0x00000020,
+
+ DWCF_ALL = 0x0000003F
+} DFBWindowCursorFlags;
+
/*******************
* IDirectFBWindow *
*******************/
@@ -5553,6 +5675,7 @@ DEFINE_INTERFACE( IDirectFBWindow,
DFBWindowID window_id
);
+
/** Application ID **/
/*
@@ -5586,6 +5709,47 @@ DEFINE_INTERFACE( IDirectFBWindow,
IDirectFBWindow *thiz,
const DFBRegion *update
);
+
+
+ /** Events **/
+
+ /*
+ * Send event
+ */
+ DFBResult (*SendEvent) (
+ IDirectFBWindow *thiz,
+ const DFBWindowEvent *event
+ );
+
+
+ /** Cursor **/
+
+ /*
+ * Set cursor flags (active when in focus).
+ */
+ DFBResult (*SetCursorFlags) (
+ IDirectFBWindow *thiz,
+ DFBWindowCursorFlags flags
+ );
+
+ /*
+ * Set cursor resolution (coordinate space for cursor within window).
+ *
+ * The default cursor resolution is the surface dimensions.
+ */
+ DFBResult (*SetCursorResolution) (
+ IDirectFBWindow *thiz,
+ const DFBDimension *resolution
+ );
+
+ /*
+ * Set cursor position within window coordinates (surface or cursor resolution).
+ */
+ DFBResult (*SetCursorPosition) (
+ IDirectFBWindow *thiz,
+ int x,
+ int y
+ );
)
@@ -5630,7 +5794,7 @@ DEFINE_INTERFACE( IDirectFBFont,
);
/*
- * Get the logical height of this font. This is the vertical
+ * Get the logical height of this font. This is the
* distance from one baseline to the next when writing
* several lines of text. Note that this value does not
* correspond the height value specified when loading the
@@ -5665,6 +5829,7 @@ DEFINE_INTERFACE( IDirectFBFont,
int *ret_kern_y
);
+
/** Measurements **/
/*
@@ -5800,6 +5965,54 @@ DEFINE_INTERFACE( IDirectFBFont,
const char *name,
DFBTextEncodingID *ret_encoding
);
+
+
+ /** Resources **/
+
+ /*
+ * Dispose resources used by the font.
+ *
+ * Keeps font usable, recreating resources as needed.
+ */
+ DFBResult (*Dispose) (
+ IDirectFBFont *thiz
+ );
+
+
+ /** Measurements **/
+
+ /*
+ * Get the line spacing vector of this font. This is the
+ * displacement vector from one line to the next when writing
+ * several lines of text. It differs from the height only
+ * when the font is rotated.
+ */
+ DFBResult (*GetLineSpacingVector) (
+ IDirectFBFont *thiz,
+ int *ret_xspacing,
+ int *ret_yspacing
+ );
+
+ /*
+ * Get the extents of a glyph specified by its character code (extended version).
+ *
+ * The rectangle describes the the smallest rectangle
+ * containing all pixels that are touched when drawing the
+ * glyph. It is reported relative to the baseline. If you
+ * only need the advance, pass NULL for the rectangle.
+ *
+ * The advance describes the horizontal offset to the next
+ * glyph (without kerning applied). It may be a negative
+ * value indicating left-to-right rendering. If you don't
+ * need this value, pass NULL for advance.
+ */
+ DFBResult (*GetGlyphExtentsXY) (
+ IDirectFBFont *thiz,
+ unsigned int character,
+ DFBRectangle *ret_rect,
+ int *ret_xadvance,
+ int *ret_yadvance
+ );
)
/*
@@ -6007,14 +6220,14 @@ typedef struct {
unsigned int minimum_level; /* The level at which a DVPET_DATALOW event will be generated. */
unsigned int maximum_level; /* The level at which a DVPET_DATAHIGH event will be generated. */
unsigned int current_level; /* Current fill level of video input buffer.*/
- } video;
+ } video; /* struct containing the above two encoding properties for video */
struct {
unsigned int buffer_size; /* Size in bytes of the input buffer to audio decoder */
unsigned int minimum_level; /* The level at which a DVPET_DATALOW event will be generated. */
unsigned int maximum_level; /* The level at which a DVPET_DATAHIGH event will be generated. */
unsigned int current_level; /* Current fill level of audio input buffer.*/
- } audio;
+ } audio; /* struct containing the above two encoding properties for audio */
} DFBBufferOccupancy;
/*
@@ -6028,14 +6241,14 @@ typedef struct {
unsigned int maximum_level; /* The level at which a DVPET_DATAHIGH event will be generated. */
unsigned int minimum_time; /* The level at which a DVPET_BUFFERTIMELOW event will be generated. */
unsigned int maximum_time; /* The level at which a DVPET_BUFFERTIMEHIGH event will be generated. */
- } video;
+ } video; /* struct containing the above two encoding properties for video */
struct {
unsigned int minimum_level; /* The level at which a DVPET_DATALOW event will be generated. */
unsigned int maximum_level; /* The level at which a DVPET_DATAHIGH event will be generated. */
unsigned int minimum_time; /* The level at which a DVPET_BUFFERTIMELOW event will be generated. */
unsigned int maximum_time; /* The level at which a DVPET_BUFFERTIMEHIGH event will be generated. */
- } audio;
+ } audio; /* struct containing the above two encoding properties for audio */
} DFBBufferThresholds;
/*
@@ -6522,6 +6735,16 @@ DEFINE_INTERFACE( IDirectFBDataBuffer,
IDirectFBDataBuffer *thiz,
IDirectFBVideoProvider **interface
);
+
+ /*
+ * Load a font using the buffer's data, given a description
+ * of how to load the glyphs.
+ */
+ DFBResult (*CreateFont) (
+ IDirectFBDataBuffer *thiz,
+ const DFBFontDescription *desc,
+ IDirectFBFont **interface
+ );
)
#ifdef __cplusplus
diff --git a/lib/direct/list.c b/include/directfb_build.h
similarity index 82%
copy from lib/direct/list.c
copy to include/directfb_build.h
index 8a82bfa..ec25f2b 100644
--- a/lib/direct/list.c
+++ b/include/directfb_build.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -26,10 +26,11 @@
Boston, MA 02111-1307, USA.
*/
-#include <config.h>
+#ifndef __DIRECTFB_BUILD_H__
+#define __DIRECTFB_BUILD_H__
-#include <stddef.h>
-
-#include <direct/list.h>
+#define DIRECTFB_BUILD_VOODOO (0)
+#define DIRECTFB_BUILD_PURE_VOODOO (0)
+#endif /* __DIRECTFB_BUILD_H__ */
diff --git a/lib/direct/utf8.c b/include/directfb_build.h.in
similarity index 79%
copy from lib/direct/utf8.c
copy to include/directfb_build.h.in
index 75896da..8e2119c 100644
--- a/lib/direct/utf8.c
+++ b/include/directfb_build.h.in
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -10,8 +10,6 @@
Ville Syrjälä <syrjala at sci.fi> and
Claudio Ciccani <klan at users.sf.net>.
- UTF8 routines ported from glib-2.0 and optimized
-
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
@@ -28,9 +26,11 @@
Boston, MA 02111-1307, USA.
*/
-#include <config.h>
-
-#include <direct/utf8.h>
+#ifndef __DIRECTFB_BUILD_H__
+#define __DIRECTFB_BUILD_H__
+#define DIRECTFB_BUILD_VOODOO (@DIRECTFB_BUILD_VOODOO@)
+#define DIRECTFB_BUILD_PURE_VOODOO (@DIRECTFB_BUILD_PURE_VOODOO@)
+#endif /* __DIRECTFB_BUILD_H__ */
diff --git a/include/directfb_keyboard.h b/include/directfb_keyboard.h
index f1b78d6..4e7f312 100644
--- a/include/directfb_keyboard.h
+++ b/include/directfb_keyboard.h
@@ -614,7 +614,163 @@ typedef enum {
DIKS_CUSTOM96 = DFB_CUSTOM_KEY( 96 ),
DIKS_CUSTOM97 = DFB_CUSTOM_KEY( 97 ),
DIKS_CUSTOM98 = DFB_CUSTOM_KEY( 98 ),
- DIKS_CUSTOM99 = DFB_CUSTOM_KEY( 99 )
+ DIKS_CUSTOM99 = DFB_CUSTOM_KEY( 99 ),
+ DIKS_CUSTOM100 = DFB_CUSTOM_KEY( 100 ),
+ DIKS_CUSTOM101 = DFB_CUSTOM_KEY( 101 ),
+ DIKS_CUSTOM102 = DFB_CUSTOM_KEY( 102 ),
+ DIKS_CUSTOM103 = DFB_CUSTOM_KEY( 103 ),
+ DIKS_CUSTOM104 = DFB_CUSTOM_KEY( 104 ),
+ DIKS_CUSTOM105 = DFB_CUSTOM_KEY( 105 ),
+ DIKS_CUSTOM106 = DFB_CUSTOM_KEY( 106 ),
+ DIKS_CUSTOM107 = DFB_CUSTOM_KEY( 107 ),
+ DIKS_CUSTOM108 = DFB_CUSTOM_KEY( 108 ),
+ DIKS_CUSTOM109 = DFB_CUSTOM_KEY( 109 ),
+ DIKS_CUSTOM110 = DFB_CUSTOM_KEY( 110 ),
+ DIKS_CUSTOM111 = DFB_CUSTOM_KEY( 111 ),
+ DIKS_CUSTOM112 = DFB_CUSTOM_KEY( 112 ),
+ DIKS_CUSTOM113 = DFB_CUSTOM_KEY( 113 ),
+ DIKS_CUSTOM114 = DFB_CUSTOM_KEY( 114 ),
+ DIKS_CUSTOM115 = DFB_CUSTOM_KEY( 115 ),
+ DIKS_CUSTOM116 = DFB_CUSTOM_KEY( 116 ),
+ DIKS_CUSTOM117 = DFB_CUSTOM_KEY( 117 ),
+ DIKS_CUSTOM118 = DFB_CUSTOM_KEY( 118 ),
+ DIKS_CUSTOM119 = DFB_CUSTOM_KEY( 119 ),
+ DIKS_CUSTOM120 = DFB_CUSTOM_KEY( 120 ),
+ DIKS_CUSTOM121 = DFB_CUSTOM_KEY( 121 ),
+ DIKS_CUSTOM122 = DFB_CUSTOM_KEY( 122 ),
+ DIKS_CUSTOM123 = DFB_CUSTOM_KEY( 123 ),
+ DIKS_CUSTOM124 = DFB_CUSTOM_KEY( 124 ),
+ DIKS_CUSTOM125 = DFB_CUSTOM_KEY( 125 ),
+ DIKS_CUSTOM126 = DFB_CUSTOM_KEY( 126 ),
+ DIKS_CUSTOM127 = DFB_CUSTOM_KEY( 127 ),
+ DIKS_CUSTOM128 = DFB_CUSTOM_KEY( 128 ),
+ DIKS_CUSTOM129 = DFB_CUSTOM_KEY( 129 ),
+ DIKS_CUSTOM130 = DFB_CUSTOM_KEY( 130 ),
+ DIKS_CUSTOM131 = DFB_CUSTOM_KEY( 131 ),
+ DIKS_CUSTOM132 = DFB_CUSTOM_KEY( 132 ),
+ DIKS_CUSTOM133 = DFB_CUSTOM_KEY( 133 ),
+ DIKS_CUSTOM134 = DFB_CUSTOM_KEY( 134 ),
+ DIKS_CUSTOM135 = DFB_CUSTOM_KEY( 135 ),
+ DIKS_CUSTOM136 = DFB_CUSTOM_KEY( 136 ),
+ DIKS_CUSTOM137 = DFB_CUSTOM_KEY( 137 ),
+ DIKS_CUSTOM138 = DFB_CUSTOM_KEY( 138 ),
+ DIKS_CUSTOM139 = DFB_CUSTOM_KEY( 139 ),
+ DIKS_CUSTOM140 = DFB_CUSTOM_KEY( 140 ),
+ DIKS_CUSTOM141 = DFB_CUSTOM_KEY( 141 ),
+ DIKS_CUSTOM142 = DFB_CUSTOM_KEY( 142 ),
+ DIKS_CUSTOM143 = DFB_CUSTOM_KEY( 143 ),
+ DIKS_CUSTOM144 = DFB_CUSTOM_KEY( 144 ),
+ DIKS_CUSTOM145 = DFB_CUSTOM_KEY( 145 ),
+ DIKS_CUSTOM146 = DFB_CUSTOM_KEY( 146 ),
+ DIKS_CUSTOM147 = DFB_CUSTOM_KEY( 147 ),
+ DIKS_CUSTOM148 = DFB_CUSTOM_KEY( 148 ),
+ DIKS_CUSTOM149 = DFB_CUSTOM_KEY( 149 ),
+ DIKS_CUSTOM150 = DFB_CUSTOM_KEY( 150 ),
+ DIKS_CUSTOM151 = DFB_CUSTOM_KEY( 151 ),
+ DIKS_CUSTOM152 = DFB_CUSTOM_KEY( 152 ),
+ DIKS_CUSTOM153 = DFB_CUSTOM_KEY( 153 ),
+ DIKS_CUSTOM154 = DFB_CUSTOM_KEY( 154 ),
+ DIKS_CUSTOM155 = DFB_CUSTOM_KEY( 155 ),
+ DIKS_CUSTOM156 = DFB_CUSTOM_KEY( 156 ),
+ DIKS_CUSTOM157 = DFB_CUSTOM_KEY( 157 ),
+ DIKS_CUSTOM158 = DFB_CUSTOM_KEY( 158 ),
+ DIKS_CUSTOM159 = DFB_CUSTOM_KEY( 159 ),
+ DIKS_CUSTOM160 = DFB_CUSTOM_KEY( 160 ),
+ DIKS_CUSTOM161 = DFB_CUSTOM_KEY( 161 ),
+ DIKS_CUSTOM162 = DFB_CUSTOM_KEY( 162 ),
+ DIKS_CUSTOM163 = DFB_CUSTOM_KEY( 163 ),
+ DIKS_CUSTOM164 = DFB_CUSTOM_KEY( 164 ),
+ DIKS_CUSTOM165 = DFB_CUSTOM_KEY( 165 ),
+ DIKS_CUSTOM166 = DFB_CUSTOM_KEY( 166 ),
+ DIKS_CUSTOM167 = DFB_CUSTOM_KEY( 167 ),
+ DIKS_CUSTOM168 = DFB_CUSTOM_KEY( 168 ),
+ DIKS_CUSTOM169 = DFB_CUSTOM_KEY( 169 ),
+ DIKS_CUSTOM170 = DFB_CUSTOM_KEY( 170 ),
+ DIKS_CUSTOM171 = DFB_CUSTOM_KEY( 171 ),
+ DIKS_CUSTOM172 = DFB_CUSTOM_KEY( 172 ),
+ DIKS_CUSTOM173 = DFB_CUSTOM_KEY( 173 ),
+ DIKS_CUSTOM174 = DFB_CUSTOM_KEY( 174 ),
+ DIKS_CUSTOM175 = DFB_CUSTOM_KEY( 175 ),
+ DIKS_CUSTOM176 = DFB_CUSTOM_KEY( 176 ),
+ DIKS_CUSTOM177 = DFB_CUSTOM_KEY( 177 ),
+ DIKS_CUSTOM178 = DFB_CUSTOM_KEY( 178 ),
+ DIKS_CUSTOM179 = DFB_CUSTOM_KEY( 179 ),
+ DIKS_CUSTOM180 = DFB_CUSTOM_KEY( 180 ),
+ DIKS_CUSTOM181 = DFB_CUSTOM_KEY( 181 ),
+ DIKS_CUSTOM182 = DFB_CUSTOM_KEY( 182 ),
+ DIKS_CUSTOM183 = DFB_CUSTOM_KEY( 183 ),
+ DIKS_CUSTOM184 = DFB_CUSTOM_KEY( 184 ),
+ DIKS_CUSTOM185 = DFB_CUSTOM_KEY( 185 ),
+ DIKS_CUSTOM186 = DFB_CUSTOM_KEY( 186 ),
+ DIKS_CUSTOM187 = DFB_CUSTOM_KEY( 187 ),
+ DIKS_CUSTOM188 = DFB_CUSTOM_KEY( 188 ),
+ DIKS_CUSTOM189 = DFB_CUSTOM_KEY( 189 ),
+ DIKS_CUSTOM190 = DFB_CUSTOM_KEY( 190 ),
+ DIKS_CUSTOM191 = DFB_CUSTOM_KEY( 191 ),
+ DIKS_CUSTOM192 = DFB_CUSTOM_KEY( 192 ),
+ DIKS_CUSTOM193 = DFB_CUSTOM_KEY( 193 ),
+ DIKS_CUSTOM194 = DFB_CUSTOM_KEY( 194 ),
+ DIKS_CUSTOM195 = DFB_CUSTOM_KEY( 195 ),
+ DIKS_CUSTOM196 = DFB_CUSTOM_KEY( 196 ),
+ DIKS_CUSTOM197 = DFB_CUSTOM_KEY( 197 ),
+ DIKS_CUSTOM198 = DFB_CUSTOM_KEY( 198 ),
+ DIKS_CUSTOM199 = DFB_CUSTOM_KEY( 199 ),
+ DIKS_CUSTOM200 = DFB_CUSTOM_KEY( 200 ),
+ DIKS_CUSTOM201 = DFB_CUSTOM_KEY( 201 ),
+ DIKS_CUSTOM202 = DFB_CUSTOM_KEY( 202 ),
+ DIKS_CUSTOM203 = DFB_CUSTOM_KEY( 203 ),
+ DIKS_CUSTOM204 = DFB_CUSTOM_KEY( 204 ),
+ DIKS_CUSTOM205 = DFB_CUSTOM_KEY( 205 ),
+ DIKS_CUSTOM206 = DFB_CUSTOM_KEY( 206 ),
+ DIKS_CUSTOM207 = DFB_CUSTOM_KEY( 207 ),
+ DIKS_CUSTOM208 = DFB_CUSTOM_KEY( 208 ),
+ DIKS_CUSTOM209 = DFB_CUSTOM_KEY( 209 ),
+ DIKS_CUSTOM210 = DFB_CUSTOM_KEY( 210 ),
+ DIKS_CUSTOM211 = DFB_CUSTOM_KEY( 211 ),
+ DIKS_CUSTOM212 = DFB_CUSTOM_KEY( 212 ),
+ DIKS_CUSTOM213 = DFB_CUSTOM_KEY( 213 ),
+ DIKS_CUSTOM214 = DFB_CUSTOM_KEY( 214 ),
+ DIKS_CUSTOM215 = DFB_CUSTOM_KEY( 215 ),
+ DIKS_CUSTOM216 = DFB_CUSTOM_KEY( 216 ),
+ DIKS_CUSTOM217 = DFB_CUSTOM_KEY( 217 ),
+ DIKS_CUSTOM218 = DFB_CUSTOM_KEY( 218 ),
+ DIKS_CUSTOM219 = DFB_CUSTOM_KEY( 219 ),
+ DIKS_CUSTOM220 = DFB_CUSTOM_KEY( 220 ),
+ DIKS_CUSTOM221 = DFB_CUSTOM_KEY( 221 ),
+ DIKS_CUSTOM222 = DFB_CUSTOM_KEY( 222 ),
+ DIKS_CUSTOM223 = DFB_CUSTOM_KEY( 223 ),
+ DIKS_CUSTOM224 = DFB_CUSTOM_KEY( 224 ),
+ DIKS_CUSTOM225 = DFB_CUSTOM_KEY( 225 ),
+ DIKS_CUSTOM226 = DFB_CUSTOM_KEY( 226 ),
+ DIKS_CUSTOM227 = DFB_CUSTOM_KEY( 227 ),
+ DIKS_CUSTOM228 = DFB_CUSTOM_KEY( 228 ),
+ DIKS_CUSTOM229 = DFB_CUSTOM_KEY( 229 ),
+ DIKS_CUSTOM230 = DFB_CUSTOM_KEY( 230 ),
+ DIKS_CUSTOM231 = DFB_CUSTOM_KEY( 231 ),
+ DIKS_CUSTOM232 = DFB_CUSTOM_KEY( 232 ),
+ DIKS_CUSTOM233 = DFB_CUSTOM_KEY( 233 ),
+ DIKS_CUSTOM234 = DFB_CUSTOM_KEY( 234 ),
+ DIKS_CUSTOM235 = DFB_CUSTOM_KEY( 235 ),
+ DIKS_CUSTOM236 = DFB_CUSTOM_KEY( 236 ),
+ DIKS_CUSTOM237 = DFB_CUSTOM_KEY( 237 ),
+ DIKS_CUSTOM238 = DFB_CUSTOM_KEY( 238 ),
+ DIKS_CUSTOM239 = DFB_CUSTOM_KEY( 239 ),
+ DIKS_CUSTOM240 = DFB_CUSTOM_KEY( 240 ),
+ DIKS_CUSTOM241 = DFB_CUSTOM_KEY( 241 ),
+ DIKS_CUSTOM242 = DFB_CUSTOM_KEY( 242 ),
+ DIKS_CUSTOM243 = DFB_CUSTOM_KEY( 243 ),
+ DIKS_CUSTOM244 = DFB_CUSTOM_KEY( 244 ),
+ DIKS_CUSTOM245 = DFB_CUSTOM_KEY( 245 ),
+ DIKS_CUSTOM246 = DFB_CUSTOM_KEY( 246 ),
+ DIKS_CUSTOM247 = DFB_CUSTOM_KEY( 247 ),
+ DIKS_CUSTOM248 = DFB_CUSTOM_KEY( 248 ),
+ DIKS_CUSTOM249 = DFB_CUSTOM_KEY( 249 ),
+ DIKS_CUSTOM250 = DFB_CUSTOM_KEY( 250 ),
+ DIKS_CUSTOM251 = DFB_CUSTOM_KEY( 251 ),
+ DIKS_CUSTOM252 = DFB_CUSTOM_KEY( 252 ),
+ DIKS_CUSTOM253 = DFB_CUSTOM_KEY( 253 ),
+ DIKS_CUSTOM254 = DFB_CUSTOM_KEY( 254 ),
+ DIKS_CUSTOM255 = DFB_CUSTOM_KEY( 255 )
} DFBInputDeviceKeySymbol;
/*
diff --git a/include/directfb_keynames.h b/include/directfb_keynames.h
index 5bb866f..a635fdf 100644
--- a/include/directfb_keynames.h
+++ b/include/directfb_keynames.h
@@ -351,6 +351,162 @@ struct DFBKeySymbolName {
{ DIKS_CUSTOM97, "CUSTOM97" }, \
{ DIKS_CUSTOM98, "CUSTOM98" }, \
{ DIKS_CUSTOM99, "CUSTOM99" }, \
+ { DIKS_CUSTOM100, "CUSTOM100" }, \
+ { DIKS_CUSTOM101, "CUSTOM101" }, \
+ { DIKS_CUSTOM102, "CUSTOM102" }, \
+ { DIKS_CUSTOM103, "CUSTOM103" }, \
+ { DIKS_CUSTOM104, "CUSTOM104" }, \
+ { DIKS_CUSTOM105, "CUSTOM105" }, \
+ { DIKS_CUSTOM106, "CUSTOM106" }, \
+ { DIKS_CUSTOM107, "CUSTOM107" }, \
+ { DIKS_CUSTOM108, "CUSTOM108" }, \
+ { DIKS_CUSTOM109, "CUSTOM109" }, \
+ { DIKS_CUSTOM110, "CUSTOM110" }, \
+ { DIKS_CUSTOM111, "CUSTOM111" }, \
+ { DIKS_CUSTOM112, "CUSTOM112" }, \
+ { DIKS_CUSTOM113, "CUSTOM113" }, \
+ { DIKS_CUSTOM114, "CUSTOM114" }, \
+ { DIKS_CUSTOM115, "CUSTOM115" }, \
+ { DIKS_CUSTOM116, "CUSTOM116" }, \
+ { DIKS_CUSTOM117, "CUSTOM117" }, \
+ { DIKS_CUSTOM118, "CUSTOM118" }, \
+ { DIKS_CUSTOM119, "CUSTOM119" }, \
+ { DIKS_CUSTOM120, "CUSTOM120" }, \
+ { DIKS_CUSTOM121, "CUSTOM121" }, \
+ { DIKS_CUSTOM122, "CUSTOM122" }, \
+ { DIKS_CUSTOM123, "CUSTOM123" }, \
+ { DIKS_CUSTOM124, "CUSTOM124" }, \
+ { DIKS_CUSTOM125, "CUSTOM125" }, \
+ { DIKS_CUSTOM126, "CUSTOM126" }, \
+ { DIKS_CUSTOM127, "CUSTOM127" }, \
+ { DIKS_CUSTOM128, "CUSTOM128" }, \
+ { DIKS_CUSTOM129, "CUSTOM129" }, \
+ { DIKS_CUSTOM130, "CUSTOM130" }, \
+ { DIKS_CUSTOM131, "CUSTOM131" }, \
+ { DIKS_CUSTOM132, "CUSTOM132" }, \
+ { DIKS_CUSTOM133, "CUSTOM133" }, \
+ { DIKS_CUSTOM134, "CUSTOM134" }, \
+ { DIKS_CUSTOM135, "CUSTOM135" }, \
+ { DIKS_CUSTOM136, "CUSTOM136" }, \
+ { DIKS_CUSTOM137, "CUSTOM137" }, \
+ { DIKS_CUSTOM138, "CUSTOM138" }, \
+ { DIKS_CUSTOM139, "CUSTOM139" }, \
+ { DIKS_CUSTOM140, "CUSTOM140" }, \
+ { DIKS_CUSTOM141, "CUSTOM141" }, \
+ { DIKS_CUSTOM142, "CUSTOM142" }, \
+ { DIKS_CUSTOM143, "CUSTOM143" }, \
+ { DIKS_CUSTOM144, "CUSTOM144" }, \
+ { DIKS_CUSTOM145, "CUSTOM145" }, \
+ { DIKS_CUSTOM146, "CUSTOM146" }, \
+ { DIKS_CUSTOM147, "CUSTOM147" }, \
+ { DIKS_CUSTOM148, "CUSTOM148" }, \
+ { DIKS_CUSTOM149, "CUSTOM149" }, \
+ { DIKS_CUSTOM150, "CUSTOM150" }, \
+ { DIKS_CUSTOM151, "CUSTOM151" }, \
+ { DIKS_CUSTOM152, "CUSTOM152" }, \
+ { DIKS_CUSTOM153, "CUSTOM153" }, \
+ { DIKS_CUSTOM154, "CUSTOM154" }, \
+ { DIKS_CUSTOM155, "CUSTOM155" }, \
+ { DIKS_CUSTOM156, "CUSTOM156" }, \
+ { DIKS_CUSTOM157, "CUSTOM157" }, \
+ { DIKS_CUSTOM158, "CUSTOM158" }, \
+ { DIKS_CUSTOM159, "CUSTOM159" }, \
+ { DIKS_CUSTOM160, "CUSTOM160" }, \
+ { DIKS_CUSTOM161, "CUSTOM161" }, \
+ { DIKS_CUSTOM162, "CUSTOM162" }, \
+ { DIKS_CUSTOM163, "CUSTOM163" }, \
+ { DIKS_CUSTOM164, "CUSTOM164" }, \
+ { DIKS_CUSTOM165, "CUSTOM165" }, \
+ { DIKS_CUSTOM166, "CUSTOM166" }, \
+ { DIKS_CUSTOM167, "CUSTOM167" }, \
+ { DIKS_CUSTOM168, "CUSTOM168" }, \
+ { DIKS_CUSTOM169, "CUSTOM169" }, \
+ { DIKS_CUSTOM170, "CUSTOM170" }, \
+ { DIKS_CUSTOM171, "CUSTOM171" }, \
+ { DIKS_CUSTOM172, "CUSTOM172" }, \
+ { DIKS_CUSTOM173, "CUSTOM173" }, \
+ { DIKS_CUSTOM174, "CUSTOM174" }, \
+ { DIKS_CUSTOM175, "CUSTOM175" }, \
+ { DIKS_CUSTOM176, "CUSTOM176" }, \
+ { DIKS_CUSTOM177, "CUSTOM177" }, \
+ { DIKS_CUSTOM178, "CUSTOM178" }, \
+ { DIKS_CUSTOM179, "CUSTOM179" }, \
+ { DIKS_CUSTOM180, "CUSTOM180" }, \
+ { DIKS_CUSTOM181, "CUSTOM181" }, \
+ { DIKS_CUSTOM182, "CUSTOM182" }, \
+ { DIKS_CUSTOM183, "CUSTOM183" }, \
+ { DIKS_CUSTOM184, "CUSTOM184" }, \
+ { DIKS_CUSTOM185, "CUSTOM185" }, \
+ { DIKS_CUSTOM186, "CUSTOM186" }, \
+ { DIKS_CUSTOM187, "CUSTOM187" }, \
+ { DIKS_CUSTOM188, "CUSTOM188" }, \
+ { DIKS_CUSTOM189, "CUSTOM189" }, \
+ { DIKS_CUSTOM190, "CUSTOM190" }, \
+ { DIKS_CUSTOM191, "CUSTOM191" }, \
+ { DIKS_CUSTOM192, "CUSTOM192" }, \
+ { DIKS_CUSTOM193, "CUSTOM193" }, \
+ { DIKS_CUSTOM194, "CUSTOM194" }, \
+ { DIKS_CUSTOM195, "CUSTOM195" }, \
+ { DIKS_CUSTOM196, "CUSTOM196" }, \
+ { DIKS_CUSTOM197, "CUSTOM197" }, \
+ { DIKS_CUSTOM198, "CUSTOM198" }, \
+ { DIKS_CUSTOM199, "CUSTOM199" }, \
+ { DIKS_CUSTOM200, "CUSTOM200" }, \
+ { DIKS_CUSTOM201, "CUSTOM201" }, \
+ { DIKS_CUSTOM202, "CUSTOM202" }, \
+ { DIKS_CUSTOM203, "CUSTOM203" }, \
+ { DIKS_CUSTOM204, "CUSTOM204" }, \
+ { DIKS_CUSTOM205, "CUSTOM205" }, \
+ { DIKS_CUSTOM206, "CUSTOM206" }, \
+ { DIKS_CUSTOM207, "CUSTOM207" }, \
+ { DIKS_CUSTOM208, "CUSTOM208" }, \
+ { DIKS_CUSTOM209, "CUSTOM209" }, \
+ { DIKS_CUSTOM210, "CUSTOM210" }, \
+ { DIKS_CUSTOM211, "CUSTOM211" }, \
+ { DIKS_CUSTOM212, "CUSTOM212" }, \
+ { DIKS_CUSTOM213, "CUSTOM213" }, \
+ { DIKS_CUSTOM214, "CUSTOM214" }, \
+ { DIKS_CUSTOM215, "CUSTOM215" }, \
+ { DIKS_CUSTOM216, "CUSTOM216" }, \
+ { DIKS_CUSTOM217, "CUSTOM217" }, \
+ { DIKS_CUSTOM218, "CUSTOM218" }, \
+ { DIKS_CUSTOM219, "CUSTOM219" }, \
+ { DIKS_CUSTOM220, "CUSTOM220" }, \
+ { DIKS_CUSTOM221, "CUSTOM221" }, \
+ { DIKS_CUSTOM222, "CUSTOM222" }, \
+ { DIKS_CUSTOM223, "CUSTOM223" }, \
+ { DIKS_CUSTOM224, "CUSTOM224" }, \
+ { DIKS_CUSTOM225, "CUSTOM225" }, \
+ { DIKS_CUSTOM226, "CUSTOM226" }, \
+ { DIKS_CUSTOM227, "CUSTOM227" }, \
+ { DIKS_CUSTOM228, "CUSTOM228" }, \
+ { DIKS_CUSTOM229, "CUSTOM229" }, \
+ { DIKS_CUSTOM230, "CUSTOM230" }, \
+ { DIKS_CUSTOM231, "CUSTOM231" }, \
+ { DIKS_CUSTOM232, "CUSTOM232" }, \
+ { DIKS_CUSTOM233, "CUSTOM233" }, \
+ { DIKS_CUSTOM234, "CUSTOM234" }, \
+ { DIKS_CUSTOM235, "CUSTOM235" }, \
+ { DIKS_CUSTOM236, "CUSTOM236" }, \
+ { DIKS_CUSTOM237, "CUSTOM237" }, \
+ { DIKS_CUSTOM238, "CUSTOM238" }, \
+ { DIKS_CUSTOM239, "CUSTOM239" }, \
+ { DIKS_CUSTOM240, "CUSTOM240" }, \
+ { DIKS_CUSTOM241, "CUSTOM241" }, \
+ { DIKS_CUSTOM242, "CUSTOM242" }, \
+ { DIKS_CUSTOM243, "CUSTOM243" }, \
+ { DIKS_CUSTOM244, "CUSTOM244" }, \
+ { DIKS_CUSTOM245, "CUSTOM245" }, \
+ { DIKS_CUSTOM246, "CUSTOM246" }, \
+ { DIKS_CUSTOM247, "CUSTOM247" }, \
+ { DIKS_CUSTOM248, "CUSTOM248" }, \
+ { DIKS_CUSTOM249, "CUSTOM249" }, \
+ { DIKS_CUSTOM250, "CUSTOM250" }, \
+ { DIKS_CUSTOM251, "CUSTOM251" }, \
+ { DIKS_CUSTOM252, "CUSTOM252" }, \
+ { DIKS_CUSTOM253, "CUSTOM253" }, \
+ { DIKS_CUSTOM254, "CUSTOM254" }, \
+ { DIKS_CUSTOM255, "CUSTOM255" }, \
{ DIKS_NULL, "NULL" } \
};
diff --git a/include/directfb_strings.h b/include/directfb_strings.h
index 05cbe9a..59a2851 100644
--- a/include/directfb_strings.h
+++ b/include/directfb_strings.h
@@ -43,6 +43,8 @@ struct DFBPixelFormatName {
{ DSPF_ARGB8565, "ARGB8565" }, \
{ DSPF_AVYU, "AVYU" }, \
{ DSPF_VYU, "VYU" }, \
+ { DSPF_A1_LSB, "A1_LSB" }, \
+ { DSPF_YV16, "YV16" }, \
{ DSPF_UNKNOWN, "UNKNOWN" } \
};
@@ -236,6 +238,7 @@ struct DFBWindowOptionsName {
{ DWOP_KEEP_STACKING, "KEEP_STACKING" }, \
{ DWOP_GHOST, "GHOST" }, \
{ DWOP_INDESTRUCTIBLE, "INDESTRUCTIBLE" }, \
+ { DWOP_INPUTONLY, "INPUTONLY" }, \
{ DWOP_SCALE, "SCALE" }, \
{ DWOP_KEEP_ABOVE, "KEEP_ABOVE" }, \
{ DWOP_KEEP_UNDER, "KEEP_UNDER" }, \
@@ -311,8 +314,8 @@ struct DFBScreenEncoderTVStandardsName {
{ DSETV_PAL_N, "PAL_N" }, \
{ DSETV_PAL_NC, "PAL_NC" }, \
{ DSETV_NTSC_M_JPN, "NTSC_M_JPN" }, \
- { DSETV_NTSC_443, "NTSC_443" }, \
{ DSETV_DIGITAL, "DIGITAL" }, \
+ { DSETV_NTSC_443, "NTSC_443" }, \
{ DSETV_UNKNOWN, "UNKNOWN" } \
};
@@ -346,6 +349,7 @@ struct DFBScreenOutputConnectorsName {
{ DSOC_SCART2, "SCART2" }, \
{ DSOC_COMPONENT, "COMPONENT" }, \
{ DSOC_HDMI, "HDMI" }, \
+ { DSOC_656, "656" }, \
{ DSOC_UNKNOWN, "UNKNOWN" } \
};
@@ -463,6 +467,28 @@ struct DFBScreenEncoderScanModeName {
};
+struct DFBScreenEncoderConfigFlagsName {
+ DFBScreenEncoderConfigFlags config_flags;
+ const char *name;
+};
+
+#define DirectFBScreenEncoderConfigFlagsNames(Identifier) struct DFBScreenEncoderConfigFlagsName Identifier[] = { \
+ { DSECONF_NONE, "NONE" }, \
+ { DSECONF_TV_STANDARD, "TV_STANDARD" }, \
+ { DSECONF_TEST_PICTURE, "TEST_PICTURE" }, \
+ { DSECONF_MIXER, "MIXER" }, \
+ { DSECONF_OUT_SIGNALS, "OUT_SIGNALS" }, \
+ { DSECONF_SCANMODE, "SCANMODE" }, \
+ { DSECONF_TEST_COLOR, "TEST_COLOR" }, \
+ { DSECONF_ADJUSTMENT, "ADJUSTMENT" }, \
+ { DSECONF_FREQUENCY, "FREQUENCY" }, \
+ { DSECONF_CONNECTORS, "CONNECTORS" }, \
+ { DSECONF_SLOW_BLANKING, "SLOW_BLANKING" }, \
+ { DSECONF_RESOLUTION, "RESOLUTION" }, \
+ { DSECONF_UNKNOWN, "UNKNOWN" } \
+};
+
+
struct DFBScreenEncoderFrequencyName {
DFBScreenEncoderFrequency frequency;
const char *name;
@@ -492,6 +518,7 @@ struct DFBAccelerationMaskName {
{ DFXL_DRAWRECTANGLE, "DRAWRECTANGLE" }, \
{ DFXL_DRAWLINE, "DRAWLINE" }, \
{ DFXL_FILLTRIANGLE, "FILLTRIANGLE" }, \
+ { DFXL_FILLTRAPEZOID, "FILLTRAPEZOID" }, \
{ DFXL_BLIT, "BLIT" }, \
{ DFXL_STRETCHBLIT, "STRETCHBLIT" }, \
{ DFXL_TEXTRIANGLES, "TEXTRIANGLES" }, \
diff --git a/include/directfb_version.h b/include/directfb_version.h
index 6c87801..5af3948 100644
--- a/include/directfb_version.h
+++ b/include/directfb_version.h
@@ -31,8 +31,8 @@
#define DIRECTFB_MAJOR_VERSION (1)
#define DIRECTFB_MINOR_VERSION (4)
-#define DIRECTFB_MICRO_VERSION (3)
-#define DIRECTFB_BINARY_AGE (3)
-#define DIRECTFB_INTERFACE_AGE (0)
+#define DIRECTFB_MICRO_VERSION (17)
+#define DIRECTFB_BINARY_AGE (11)
+#define DIRECTFB_INTERFACE_AGE (11)
#endif /* __DIRECTFB_VERSION_H__ */
diff --git a/include/directfbgl.h b/include/directfbgl.h
index c570e8c..57827e4 100644
--- a/include/directfbgl.h
+++ b/include/directfbgl.h
@@ -107,6 +107,16 @@ DEFINE_INTERFACE( IDirectFBGL,
const char *name,
void **ret_address
);
+
+ /*
+ * Set a surface to be used by the current texture object.
+ */
+ DFBResult (*TextureSurface) (
+ IDirectFBGL *thiz,
+ int target,
+ int level,
+ IDirectFBSurface *surface
+ );
)
diff --git a/inputdrivers/Makefile.in b/inputdrivers/Makefile.in
index f432c2f..c95a44a 100644
--- a/inputdrivers/Makefile.in
+++ b/inputdrivers/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -42,6 +44,13 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -53,14 +62,43 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = dbox2remote dreamboxremote dynapro elo gunze h3600_ts \
joystick keyboard linux_input lirc mutouch zytronic penmount \
ps2mouse serialmouse sonypi tslib ucb1x00_ts wm97xx_ts
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -84,11 +122,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -102,16 +143,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -132,12 +174,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -148,21 +193,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -170,6 +223,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -183,6 +240,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -190,9 +248,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -239,6 +298,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@DBOX2REMOTE_TRUE at DBOX2REMOTE_DIR = dbox2remote
@@ -288,14 +348,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -313,6 +373,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -327,7 +388,7 @@ clean-libtool:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -344,7 +405,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -352,7 +413,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -378,16 +439,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -395,14 +456,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -414,7 +475,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -423,29 +484,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -466,29 +532,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -508,16 +589,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -536,6 +623,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -544,18 +633,28 @@ install-data-am:
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am:
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -576,8 +675,8 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic clean-libtool \
@@ -593,6 +692,7 @@ uninstall-am:
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/dbox2remote/Makefile.am b/inputdrivers/dbox2remote/Makefile.am
index 9d880f8..e18ab67 100644
--- a/inputdrivers/dbox2remote/Makefile.am
+++ b/inputdrivers/dbox2remote/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/inputdrivers/dbox2remote
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/inputdrivers/dbox2remote/Makefile.in b/inputdrivers/dbox2remote/Makefile.in
index 7407be8..f480283 100644
--- a/inputdrivers/dbox2remote/Makefile.in
+++ b/inputdrivers/dbox2remote/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,15 +47,36 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(dbox2remotedir)" \
"$(DESTDIR)$(dbox2remotedir)"
-dbox2remoteLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(dbox2remote_LTLIBRARIES)
libdirectfb_dbox2remote_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -61,31 +84,48 @@ libdirectfb_dbox2remote_la_DEPENDENCIES = \
am_libdirectfb_dbox2remote_la_OBJECTS = dbox2remote.lo
libdirectfb_dbox2remote_la_OBJECTS = \
$(am_libdirectfb_dbox2remote_la_OBJECTS)
-libdirectfb_dbox2remote_la_LINK = $(LIBTOOL) --tag=CC \
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_dbox2remote_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) $(libdirectfb_dbox2remote_la_LDFLAGS) \
$(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_dbox2remote_la_SOURCES)
DIST_SOURCES = $(libdirectfb_dbox2remote_la_SOURCES)
-dbox2remoteDATA_INSTALL = $(INSTALL_DATA)
DATA = $(dbox2remote_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -109,11 +149,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -127,16 +170,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -157,12 +201,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -173,21 +220,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -195,6 +250,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -208,6 +267,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -215,9 +275,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -264,11 +325,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -295,14 +358,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/dbox2remote/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/dbox2remote/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/dbox2remote/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/dbox2remote/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -312,6 +375,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -320,23 +384,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-dbox2remoteLTLIBRARIES: $(dbox2remote_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(dbox2remotedir)" || $(MKDIR_P) "$(DESTDIR)$(dbox2remotedir)"
- @list='$(dbox2remote_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(dbox2remote_LTLIBRARIES)'; test -n "$(dbox2remotedir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(dbox2remoteLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(dbox2remotedir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(dbox2remoteLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(dbox2remotedir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(dbox2remotedir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(dbox2remotedir)"; \
+ }
uninstall-dbox2remoteLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(dbox2remote_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(dbox2remotedir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(dbox2remotedir)/$$p"; \
+ @list='$(dbox2remote_LTLIBRARIES)'; test -n "$(dbox2remotedir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(dbox2remotedir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(dbox2remotedir)/$$f"; \
done
clean-dbox2remoteLTLIBRARIES:
@@ -347,8 +416,8 @@ clean-dbox2remoteLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_dbox2remote.la: $(libdirectfb_dbox2remote_la_OBJECTS) $(libdirectfb_dbox2remote_la_DEPENDENCIES)
- $(libdirectfb_dbox2remote_la_LINK) -rpath $(dbox2remotedir) $(libdirectfb_dbox2remote_la_OBJECTS) $(libdirectfb_dbox2remote_la_LIBADD) $(LIBS)
+libdirectfb_dbox2remote.la: $(libdirectfb_dbox2remote_la_OBJECTS) $(libdirectfb_dbox2remote_la_DEPENDENCIES) $(EXTRA_libdirectfb_dbox2remote_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_dbox2remote_la_LINK) -rpath $(dbox2remotedir) $(libdirectfb_dbox2remote_la_OBJECTS) $(libdirectfb_dbox2remote_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -359,25 +428,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dbox2remote.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -387,34 +456,35 @@ clean-libtool:
install-dbox2remoteDATA: $(dbox2remote_DATA)
@$(NORMAL_INSTALL)
test -z "$(dbox2remotedir)" || $(MKDIR_P) "$(DESTDIR)$(dbox2remotedir)"
- @list='$(dbox2remote_DATA)'; for p in $$list; do \
+ @list='$(dbox2remote_DATA)'; test -n "$(dbox2remotedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(dbox2remoteDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(dbox2remotedir)/$$f'"; \
- $(dbox2remoteDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(dbox2remotedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dbox2remotedir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(dbox2remotedir)" || exit $$?; \
done
uninstall-dbox2remoteDATA:
@$(NORMAL_UNINSTALL)
- @list='$(dbox2remote_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(dbox2remotedir)/$$f'"; \
- rm -f "$(DESTDIR)$(dbox2remotedir)/$$f"; \
- done
+ @list='$(dbox2remote_DATA)'; test -n "$(dbox2remotedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(dbox2remotedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -422,29 +492,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -465,13 +540,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -492,16 +571,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -523,6 +608,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -532,18 +619,28 @@ install-data-am: install-dbox2remoteDATA \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -594,6 +691,7 @@ uninstall-am: uninstall-dbox2remoteDATA \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/dreamboxremote/Makefile.am b/inputdrivers/dreamboxremote/Makefile.am
index 126288b..f6a824a 100644
--- a/inputdrivers/dreamboxremote/Makefile.am
+++ b/inputdrivers/dreamboxremote/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/inputdrivers/dreamboxremote
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/inputdrivers/dreamboxremote/Makefile.in b/inputdrivers/dreamboxremote/Makefile.in
index 092ea75..49a0b88 100644
--- a/inputdrivers/dreamboxremote/Makefile.in
+++ b/inputdrivers/dreamboxremote/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,15 +47,36 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(dreamboxremotedir)" \
"$(DESTDIR)$(dreamboxremotedir)"
-dreamboxremoteLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(dreamboxremote_LTLIBRARIES)
libdirectfb_dreamboxremote_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -61,31 +84,48 @@ libdirectfb_dreamboxremote_la_DEPENDENCIES = \
am_libdirectfb_dreamboxremote_la_OBJECTS = dreamboxremote.lo
libdirectfb_dreamboxremote_la_OBJECTS = \
$(am_libdirectfb_dreamboxremote_la_OBJECTS)
-libdirectfb_dreamboxremote_la_LINK = $(LIBTOOL) --tag=CC \
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_dreamboxremote_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
$(libdirectfb_dreamboxremote_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_dreamboxremote_la_SOURCES)
DIST_SOURCES = $(libdirectfb_dreamboxremote_la_SOURCES)
-dreamboxremoteDATA_INSTALL = $(INSTALL_DATA)
DATA = $(dreamboxremote_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -109,11 +149,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -127,16 +170,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -157,12 +201,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -173,21 +220,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -195,6 +250,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -208,6 +267,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -215,9 +275,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -264,11 +325,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -295,14 +358,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/dreamboxremote/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/dreamboxremote/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/dreamboxremote/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/dreamboxremote/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -312,6 +375,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -320,23 +384,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-dreamboxremoteLTLIBRARIES: $(dreamboxremote_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(dreamboxremotedir)" || $(MKDIR_P) "$(DESTDIR)$(dreamboxremotedir)"
- @list='$(dreamboxremote_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(dreamboxremote_LTLIBRARIES)'; test -n "$(dreamboxremotedir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(dreamboxremoteLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(dreamboxremotedir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(dreamboxremoteLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(dreamboxremotedir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(dreamboxremotedir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(dreamboxremotedir)"; \
+ }
uninstall-dreamboxremoteLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(dreamboxremote_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(dreamboxremotedir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(dreamboxremotedir)/$$p"; \
+ @list='$(dreamboxremote_LTLIBRARIES)'; test -n "$(dreamboxremotedir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(dreamboxremotedir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(dreamboxremotedir)/$$f"; \
done
clean-dreamboxremoteLTLIBRARIES:
@@ -347,8 +416,8 @@ clean-dreamboxremoteLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_dreamboxremote.la: $(libdirectfb_dreamboxremote_la_OBJECTS) $(libdirectfb_dreamboxremote_la_DEPENDENCIES)
- $(libdirectfb_dreamboxremote_la_LINK) -rpath $(dreamboxremotedir) $(libdirectfb_dreamboxremote_la_OBJECTS) $(libdirectfb_dreamboxremote_la_LIBADD) $(LIBS)
+libdirectfb_dreamboxremote.la: $(libdirectfb_dreamboxremote_la_OBJECTS) $(libdirectfb_dreamboxremote_la_DEPENDENCIES) $(EXTRA_libdirectfb_dreamboxremote_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_dreamboxremote_la_LINK) -rpath $(dreamboxremotedir) $(libdirectfb_dreamboxremote_la_OBJECTS) $(libdirectfb_dreamboxremote_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -359,25 +428,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dreamboxremote.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -387,34 +456,35 @@ clean-libtool:
install-dreamboxremoteDATA: $(dreamboxremote_DATA)
@$(NORMAL_INSTALL)
test -z "$(dreamboxremotedir)" || $(MKDIR_P) "$(DESTDIR)$(dreamboxremotedir)"
- @list='$(dreamboxremote_DATA)'; for p in $$list; do \
+ @list='$(dreamboxremote_DATA)'; test -n "$(dreamboxremotedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(dreamboxremoteDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(dreamboxremotedir)/$$f'"; \
- $(dreamboxremoteDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(dreamboxremotedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dreamboxremotedir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(dreamboxremotedir)" || exit $$?; \
done
uninstall-dreamboxremoteDATA:
@$(NORMAL_UNINSTALL)
- @list='$(dreamboxremote_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(dreamboxremotedir)/$$f'"; \
- rm -f "$(DESTDIR)$(dreamboxremotedir)/$$f"; \
- done
+ @list='$(dreamboxremote_DATA)'; test -n "$(dreamboxremotedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(dreamboxremotedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -422,29 +492,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -465,13 +540,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -492,16 +571,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -523,6 +608,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -532,18 +619,28 @@ install-data-am: install-dreamboxremoteDATA \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -594,6 +691,7 @@ uninstall-am: uninstall-dreamboxremoteDATA \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/dynapro/Makefile.am b/inputdrivers/dynapro/Makefile.am
index 58dfc5c..3a465e2 100644
--- a/inputdrivers/dynapro/Makefile.am
+++ b/inputdrivers/dynapro/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/inputdrivers/dynapro
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/inputdrivers/dynapro/Makefile.in b/inputdrivers/dynapro/Makefile.in
index 8ac9c1a..bce3dc9 100644
--- a/inputdrivers/dynapro/Makefile.in
+++ b/inputdrivers/dynapro/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,44 +47,83 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(inputdir)" "$(DESTDIR)$(inputdir)"
-inputLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(input_LTLIBRARIES)
libdirectfb_dynapro_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_dynapro_la_OBJECTS = dynapro.lo
libdirectfb_dynapro_la_OBJECTS = $(am_libdirectfb_dynapro_la_OBJECTS)
-libdirectfb_dynapro_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_dynapro_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_dynapro_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_dynapro_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_dynapro_la_SOURCES)
DIST_SOURCES = $(libdirectfb_dynapro_la_SOURCES)
-inputDATA_INSTALL = $(INSTALL_DATA)
DATA = $(input_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -106,11 +147,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -124,16 +168,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -154,12 +199,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -170,21 +218,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -192,6 +248,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -205,6 +265,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -212,9 +273,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -261,11 +323,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -292,14 +356,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/dynapro/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/dynapro/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/dynapro/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/dynapro/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -309,6 +373,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -317,23 +382,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-inputLTLIBRARIES: $(input_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(inputdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(inputdir)"; \
+ }
uninstall-inputLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$p"; \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$f"; \
done
clean-inputLTLIBRARIES:
@@ -344,8 +414,8 @@ clean-inputLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_dynapro.la: $(libdirectfb_dynapro_la_OBJECTS) $(libdirectfb_dynapro_la_DEPENDENCIES)
- $(libdirectfb_dynapro_la_LINK) -rpath $(inputdir) $(libdirectfb_dynapro_la_OBJECTS) $(libdirectfb_dynapro_la_LIBADD) $(LIBS)
+libdirectfb_dynapro.la: $(libdirectfb_dynapro_la_OBJECTS) $(libdirectfb_dynapro_la_DEPENDENCIES) $(EXTRA_libdirectfb_dynapro_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_dynapro_la_LINK) -rpath $(inputdir) $(libdirectfb_dynapro_la_OBJECTS) $(libdirectfb_dynapro_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -356,25 +426,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dynapro.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -384,34 +454,35 @@ clean-libtool:
install-inputDATA: $(input_DATA)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_DATA)'; for p in $$list; do \
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(inputDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(inputDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(inputdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(inputdir)" || exit $$?; \
done
uninstall-inputDATA:
@$(NORMAL_UNINSTALL)
- @list='$(input_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
- rm -f "$(DESTDIR)$(inputdir)/$$f"; \
- done
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(inputdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -419,29 +490,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -462,13 +538,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -489,16 +569,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -520,6 +606,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -528,18 +616,28 @@ install-data-am: install-inputDATA install-inputLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -588,6 +686,7 @@ uninstall-am: uninstall-inputDATA uninstall-inputLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/elo/Makefile.am b/inputdrivers/elo/Makefile.am
index 28a3583..5af2654 100644
--- a/inputdrivers/elo/Makefile.am
+++ b/inputdrivers/elo/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/inputdrivers/elo
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/inputdrivers/elo/Makefile.in b/inputdrivers/elo/Makefile.in
index 668c4d9..7f437fd 100644
--- a/inputdrivers/elo/Makefile.in
+++ b/inputdrivers/elo/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,44 +47,83 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(inputdir)" "$(DESTDIR)$(inputdir)"
-inputLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(input_LTLIBRARIES)
libdirectfb_elo_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_elo_la_OBJECTS = elo.lo
libdirectfb_elo_la_OBJECTS = $(am_libdirectfb_elo_la_OBJECTS)
-libdirectfb_elo_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_elo_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_elo_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_elo_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_elo_la_SOURCES)
DIST_SOURCES = $(libdirectfb_elo_la_SOURCES)
-inputDATA_INSTALL = $(INSTALL_DATA)
DATA = $(input_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -106,11 +147,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -124,16 +168,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -154,12 +199,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -170,21 +218,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -192,6 +248,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -205,6 +265,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -212,9 +273,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -261,11 +323,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -292,14 +356,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/elo/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/elo/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/elo/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/elo/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -309,6 +373,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -317,23 +382,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-inputLTLIBRARIES: $(input_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(inputdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(inputdir)"; \
+ }
uninstall-inputLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$p"; \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$f"; \
done
clean-inputLTLIBRARIES:
@@ -344,8 +414,8 @@ clean-inputLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_elo.la: $(libdirectfb_elo_la_OBJECTS) $(libdirectfb_elo_la_DEPENDENCIES)
- $(libdirectfb_elo_la_LINK) -rpath $(inputdir) $(libdirectfb_elo_la_OBJECTS) $(libdirectfb_elo_la_LIBADD) $(LIBS)
+libdirectfb_elo.la: $(libdirectfb_elo_la_OBJECTS) $(libdirectfb_elo_la_DEPENDENCIES) $(EXTRA_libdirectfb_elo_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_elo_la_LINK) -rpath $(inputdir) $(libdirectfb_elo_la_OBJECTS) $(libdirectfb_elo_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -356,25 +426,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/elo.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -384,34 +454,35 @@ clean-libtool:
install-inputDATA: $(input_DATA)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_DATA)'; for p in $$list; do \
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(inputDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(inputDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(inputdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(inputdir)" || exit $$?; \
done
uninstall-inputDATA:
@$(NORMAL_UNINSTALL)
- @list='$(input_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
- rm -f "$(DESTDIR)$(inputdir)/$$f"; \
- done
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(inputdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -419,29 +490,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -462,13 +538,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -489,16 +569,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -520,6 +606,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -528,18 +616,28 @@ install-data-am: install-inputDATA install-inputLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -588,6 +686,7 @@ uninstall-am: uninstall-inputDATA uninstall-inputLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/gunze/Makefile.am b/inputdrivers/gunze/Makefile.am
index ef0b9e6..328c5a4 100644
--- a/inputdrivers/gunze/Makefile.am
+++ b/inputdrivers/gunze/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/inputdrivers/gunze
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/inputdrivers/gunze/Makefile.in b/inputdrivers/gunze/Makefile.in
index e350679..376d335 100644
--- a/inputdrivers/gunze/Makefile.in
+++ b/inputdrivers/gunze/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,44 +47,83 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(inputdir)" "$(DESTDIR)$(inputdir)"
-inputLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(input_LTLIBRARIES)
libdirectfb_gunze_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_gunze_la_OBJECTS = gunze.lo
libdirectfb_gunze_la_OBJECTS = $(am_libdirectfb_gunze_la_OBJECTS)
-libdirectfb_gunze_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_gunze_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_gunze_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_gunze_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_gunze_la_SOURCES)
DIST_SOURCES = $(libdirectfb_gunze_la_SOURCES)
-inputDATA_INSTALL = $(INSTALL_DATA)
DATA = $(input_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -106,11 +147,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -124,16 +168,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -154,12 +199,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -170,21 +218,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -192,6 +248,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -205,6 +265,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -212,9 +273,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -261,11 +323,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -292,14 +356,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/gunze/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/gunze/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/gunze/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/gunze/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -309,6 +373,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -317,23 +382,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-inputLTLIBRARIES: $(input_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(inputdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(inputdir)"; \
+ }
uninstall-inputLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$p"; \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$f"; \
done
clean-inputLTLIBRARIES:
@@ -344,8 +414,8 @@ clean-inputLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_gunze.la: $(libdirectfb_gunze_la_OBJECTS) $(libdirectfb_gunze_la_DEPENDENCIES)
- $(libdirectfb_gunze_la_LINK) -rpath $(inputdir) $(libdirectfb_gunze_la_OBJECTS) $(libdirectfb_gunze_la_LIBADD) $(LIBS)
+libdirectfb_gunze.la: $(libdirectfb_gunze_la_OBJECTS) $(libdirectfb_gunze_la_DEPENDENCIES) $(EXTRA_libdirectfb_gunze_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_gunze_la_LINK) -rpath $(inputdir) $(libdirectfb_gunze_la_OBJECTS) $(libdirectfb_gunze_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -356,25 +426,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gunze.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -384,34 +454,35 @@ clean-libtool:
install-inputDATA: $(input_DATA)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_DATA)'; for p in $$list; do \
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(inputDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(inputDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(inputdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(inputdir)" || exit $$?; \
done
uninstall-inputDATA:
@$(NORMAL_UNINSTALL)
- @list='$(input_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
- rm -f "$(DESTDIR)$(inputdir)/$$f"; \
- done
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(inputdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -419,29 +490,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -462,13 +538,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -489,16 +569,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -520,6 +606,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -528,18 +616,28 @@ install-data-am: install-inputDATA install-inputLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -588,6 +686,7 @@ uninstall-am: uninstall-inputDATA uninstall-inputLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/h3600_ts/Makefile.am b/inputdrivers/h3600_ts/Makefile.am
index 3338669..869ff3b 100644
--- a/inputdrivers/h3600_ts/Makefile.am
+++ b/inputdrivers/h3600_ts/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/inputdrivers/h3600_ts
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/inputdrivers/h3600_ts/Makefile.in b/inputdrivers/h3600_ts/Makefile.in
index 59bfa26..d4a0845 100644
--- a/inputdrivers/h3600_ts/Makefile.in
+++ b/inputdrivers/h3600_ts/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(inputdir)" "$(DESTDIR)$(inputdir)"
-inputLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(input_LTLIBRARIES)
libdirectfb_h3600_ts_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -60,30 +83,48 @@ libdirectfb_h3600_ts_la_DEPENDENCIES = \
am_libdirectfb_h3600_ts_la_OBJECTS = h3600_ts.lo
libdirectfb_h3600_ts_la_OBJECTS = \
$(am_libdirectfb_h3600_ts_la_OBJECTS)
-libdirectfb_h3600_ts_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_h3600_ts_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_h3600_ts_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_h3600_ts_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_h3600_ts_la_SOURCES)
DIST_SOURCES = $(libdirectfb_h3600_ts_la_SOURCES)
-inputDATA_INSTALL = $(INSTALL_DATA)
DATA = $(input_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -107,11 +148,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -125,16 +169,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -155,12 +200,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -171,21 +219,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -193,6 +249,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -206,6 +266,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -213,9 +274,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -262,11 +324,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -293,14 +357,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/h3600_ts/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/h3600_ts/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/h3600_ts/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/h3600_ts/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -310,6 +374,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -318,23 +383,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-inputLTLIBRARIES: $(input_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(inputdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(inputdir)"; \
+ }
uninstall-inputLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$p"; \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$f"; \
done
clean-inputLTLIBRARIES:
@@ -345,8 +415,8 @@ clean-inputLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_h3600_ts.la: $(libdirectfb_h3600_ts_la_OBJECTS) $(libdirectfb_h3600_ts_la_DEPENDENCIES)
- $(libdirectfb_h3600_ts_la_LINK) -rpath $(inputdir) $(libdirectfb_h3600_ts_la_OBJECTS) $(libdirectfb_h3600_ts_la_LIBADD) $(LIBS)
+libdirectfb_h3600_ts.la: $(libdirectfb_h3600_ts_la_OBJECTS) $(libdirectfb_h3600_ts_la_DEPENDENCIES) $(EXTRA_libdirectfb_h3600_ts_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_h3600_ts_la_LINK) -rpath $(inputdir) $(libdirectfb_h3600_ts_la_OBJECTS) $(libdirectfb_h3600_ts_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -357,25 +427,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/h3600_ts.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -385,34 +455,35 @@ clean-libtool:
install-inputDATA: $(input_DATA)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_DATA)'; for p in $$list; do \
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(inputDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(inputDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(inputdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(inputdir)" || exit $$?; \
done
uninstall-inputDATA:
@$(NORMAL_UNINSTALL)
- @list='$(input_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
- rm -f "$(DESTDIR)$(inputdir)/$$f"; \
- done
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(inputdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -420,29 +491,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -463,13 +539,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -490,16 +570,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -521,6 +607,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -529,18 +617,28 @@ install-data-am: install-inputDATA install-inputLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -589,6 +687,7 @@ uninstall-am: uninstall-inputDATA uninstall-inputLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/joystick/Makefile.am b/inputdrivers/joystick/Makefile.am
index 0f957df..de940a1 100644
--- a/inputdrivers/joystick/Makefile.am
+++ b/inputdrivers/joystick/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/inputdrivers/joystick
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/inputdrivers/joystick/Makefile.in b/inputdrivers/joystick/Makefile.in
index 90a6b69..0fc2244 100644
--- a/inputdrivers/joystick/Makefile.in
+++ b/inputdrivers/joystick/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,15 +47,36 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(joystickdir)" \
"$(DESTDIR)$(joystickdir)"
-joystickLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(joystick_LTLIBRARIES)
libdirectfb_joystick_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -61,30 +84,48 @@ libdirectfb_joystick_la_DEPENDENCIES = \
am_libdirectfb_joystick_la_OBJECTS = joystick.lo
libdirectfb_joystick_la_OBJECTS = \
$(am_libdirectfb_joystick_la_OBJECTS)
-libdirectfb_joystick_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_joystick_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_joystick_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_joystick_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_joystick_la_SOURCES)
DIST_SOURCES = $(libdirectfb_joystick_la_SOURCES)
-joystickDATA_INSTALL = $(INSTALL_DATA)
DATA = $(joystick_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -108,11 +149,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -126,16 +170,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -156,12 +201,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -172,21 +220,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -194,6 +250,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -207,6 +267,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -214,9 +275,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -263,11 +325,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -294,14 +358,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/joystick/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/joystick/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/joystick/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/joystick/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -311,6 +375,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -319,23 +384,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-joystickLTLIBRARIES: $(joystick_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(joystickdir)" || $(MKDIR_P) "$(DESTDIR)$(joystickdir)"
- @list='$(joystick_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(joystick_LTLIBRARIES)'; test -n "$(joystickdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(joystickLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(joystickdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(joystickLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(joystickdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(joystickdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(joystickdir)"; \
+ }
uninstall-joystickLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(joystick_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(joystickdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(joystickdir)/$$p"; \
+ @list='$(joystick_LTLIBRARIES)'; test -n "$(joystickdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(joystickdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(joystickdir)/$$f"; \
done
clean-joystickLTLIBRARIES:
@@ -346,8 +416,8 @@ clean-joystickLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_joystick.la: $(libdirectfb_joystick_la_OBJECTS) $(libdirectfb_joystick_la_DEPENDENCIES)
- $(libdirectfb_joystick_la_LINK) -rpath $(joystickdir) $(libdirectfb_joystick_la_OBJECTS) $(libdirectfb_joystick_la_LIBADD) $(LIBS)
+libdirectfb_joystick.la: $(libdirectfb_joystick_la_OBJECTS) $(libdirectfb_joystick_la_DEPENDENCIES) $(EXTRA_libdirectfb_joystick_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_joystick_la_LINK) -rpath $(joystickdir) $(libdirectfb_joystick_la_OBJECTS) $(libdirectfb_joystick_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -358,25 +428,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/joystick.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -386,34 +456,35 @@ clean-libtool:
install-joystickDATA: $(joystick_DATA)
@$(NORMAL_INSTALL)
test -z "$(joystickdir)" || $(MKDIR_P) "$(DESTDIR)$(joystickdir)"
- @list='$(joystick_DATA)'; for p in $$list; do \
+ @list='$(joystick_DATA)'; test -n "$(joystickdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(joystickDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(joystickdir)/$$f'"; \
- $(joystickDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(joystickdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(joystickdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(joystickdir)" || exit $$?; \
done
uninstall-joystickDATA:
@$(NORMAL_UNINSTALL)
- @list='$(joystick_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(joystickdir)/$$f'"; \
- rm -f "$(DESTDIR)$(joystickdir)/$$f"; \
- done
+ @list='$(joystick_DATA)'; test -n "$(joystickdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(joystickdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -421,29 +492,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -464,13 +540,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -491,16 +571,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -522,6 +608,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -530,18 +618,28 @@ install-data-am: install-joystickDATA install-joystickLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -590,6 +688,7 @@ uninstall-am: uninstall-joystickDATA uninstall-joystickLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/joystick/joystick.c b/inputdrivers/joystick/joystick.c
index 807c455..97c292c 100644
--- a/inputdrivers/joystick/joystick.c
+++ b/inputdrivers/joystick/joystick.c
@@ -191,7 +191,8 @@ driver_open_device( CoreInputDevice *device,
InputDeviceInfo *info,
void **driver_data )
{
- int fd, buttons, axes;
+ int fd;
+ char buttons, axes;
JoystickData *data;
char devicename[20];
@@ -212,8 +213,10 @@ driver_open_device( CoreInputDevice *device,
}
/* query number of buttons and axes */
- ioctl( fd, JSIOCGBUTTONS, &buttons );
- ioctl( fd, JSIOCGAXES, &axes );
+ if (ioctl( fd, JSIOCGBUTTONS, &buttons ) == -1)
+ buttons = 0;
+ if (ioctl( fd, JSIOCGAXES, &axes ) == -1)
+ axes = 0;
/* fill device info structure */
snprintf( info->desc.name,
diff --git a/inputdrivers/keyboard/Makefile.am b/inputdrivers/keyboard/Makefile.am
index 3b949ed..a6f1211 100644
--- a/inputdrivers/keyboard/Makefile.am
+++ b/inputdrivers/keyboard/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
diff --git a/inputdrivers/keyboard/Makefile.in b/inputdrivers/keyboard/Makefile.in
index 349e001..cc28a85 100644
--- a/inputdrivers/keyboard/Makefile.in
+++ b/inputdrivers/keyboard/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,15 +47,36 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(keyboarddir)" \
"$(DESTDIR)$(keyboarddir)"
-keyboardLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(keyboard_LTLIBRARIES)
libdirectfb_keyboard_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -61,30 +84,48 @@ libdirectfb_keyboard_la_DEPENDENCIES = \
am_libdirectfb_keyboard_la_OBJECTS = keyboard.lo
libdirectfb_keyboard_la_OBJECTS = \
$(am_libdirectfb_keyboard_la_OBJECTS)
-libdirectfb_keyboard_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_keyboard_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_keyboard_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_keyboard_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_keyboard_la_SOURCES)
DIST_SOURCES = $(libdirectfb_keyboard_la_SOURCES)
-keyboardDATA_INSTALL = $(INSTALL_DATA)
DATA = $(keyboard_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -108,11 +149,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -126,16 +170,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -156,12 +201,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -172,21 +220,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -194,6 +250,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -207,6 +267,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -214,9 +275,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -263,12 +325,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
@@ -296,14 +359,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/keyboard/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/keyboard/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/keyboard/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/keyboard/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -313,6 +376,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -321,23 +385,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-keyboardLTLIBRARIES: $(keyboard_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(keyboarddir)" || $(MKDIR_P) "$(DESTDIR)$(keyboarddir)"
- @list='$(keyboard_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(keyboard_LTLIBRARIES)'; test -n "$(keyboarddir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(keyboardLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(keyboarddir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(keyboardLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(keyboarddir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(keyboarddir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(keyboarddir)"; \
+ }
uninstall-keyboardLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(keyboard_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(keyboarddir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(keyboarddir)/$$p"; \
+ @list='$(keyboard_LTLIBRARIES)'; test -n "$(keyboarddir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(keyboarddir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(keyboarddir)/$$f"; \
done
clean-keyboardLTLIBRARIES:
@@ -348,8 +417,8 @@ clean-keyboardLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_keyboard.la: $(libdirectfb_keyboard_la_OBJECTS) $(libdirectfb_keyboard_la_DEPENDENCIES)
- $(libdirectfb_keyboard_la_LINK) -rpath $(keyboarddir) $(libdirectfb_keyboard_la_OBJECTS) $(libdirectfb_keyboard_la_LIBADD) $(LIBS)
+libdirectfb_keyboard.la: $(libdirectfb_keyboard_la_OBJECTS) $(libdirectfb_keyboard_la_DEPENDENCIES) $(EXTRA_libdirectfb_keyboard_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_keyboard_la_LINK) -rpath $(keyboarddir) $(libdirectfb_keyboard_la_OBJECTS) $(libdirectfb_keyboard_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -360,25 +429,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/keyboard.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -388,34 +457,35 @@ clean-libtool:
install-keyboardDATA: $(keyboard_DATA)
@$(NORMAL_INSTALL)
test -z "$(keyboarddir)" || $(MKDIR_P) "$(DESTDIR)$(keyboarddir)"
- @list='$(keyboard_DATA)'; for p in $$list; do \
+ @list='$(keyboard_DATA)'; test -n "$(keyboarddir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(keyboardDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(keyboarddir)/$$f'"; \
- $(keyboardDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(keyboarddir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(keyboarddir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(keyboarddir)" || exit $$?; \
done
uninstall-keyboardDATA:
@$(NORMAL_UNINSTALL)
- @list='$(keyboard_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(keyboarddir)/$$f'"; \
- rm -f "$(DESTDIR)$(keyboarddir)/$$f"; \
- done
+ @list='$(keyboard_DATA)'; test -n "$(keyboarddir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(keyboarddir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -423,29 +493,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -466,13 +541,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -493,16 +572,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -524,6 +609,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -532,18 +619,28 @@ install-data-am: install-keyboardDATA install-keyboardLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -592,6 +689,7 @@ uninstall-am: uninstall-keyboardDATA uninstall-keyboardLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/linux_input/Makefile.am b/inputdrivers/linux_input/Makefile.am
index eb4265a..13fb48f 100644
--- a/inputdrivers/linux_input/Makefile.am
+++ b/inputdrivers/linux_input/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
diff --git a/inputdrivers/linux_input/Makefile.in b/inputdrivers/linux_input/Makefile.in
index aa7f8b3..8e2bf64 100644
--- a/inputdrivers/linux_input/Makefile.in
+++ b/inputdrivers/linux_input/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,15 +47,36 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(linux_inputdir)" \
"$(DESTDIR)$(linux_inputdir)"
-linux_inputLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(linux_input_LTLIBRARIES)
libdirectfb_linux_input_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -61,31 +84,48 @@ libdirectfb_linux_input_la_DEPENDENCIES = \
am_libdirectfb_linux_input_la_OBJECTS = linux_input.lo
libdirectfb_linux_input_la_OBJECTS = \
$(am_libdirectfb_linux_input_la_OBJECTS)
-libdirectfb_linux_input_la_LINK = $(LIBTOOL) --tag=CC \
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_linux_input_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) $(libdirectfb_linux_input_la_LDFLAGS) \
$(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_linux_input_la_SOURCES)
DIST_SOURCES = $(libdirectfb_linux_input_la_SOURCES)
-linux_inputDATA_INSTALL = $(INSTALL_DATA)
DATA = $(linux_input_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -109,11 +149,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -127,16 +170,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -157,12 +201,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -173,21 +220,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -195,6 +250,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -208,6 +267,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -215,9 +275,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -264,12 +325,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/systems
@@ -298,14 +360,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/linux_input/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/linux_input/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/linux_input/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/linux_input/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -315,6 +377,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -323,23 +386,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-linux_inputLTLIBRARIES: $(linux_input_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(linux_inputdir)" || $(MKDIR_P) "$(DESTDIR)$(linux_inputdir)"
- @list='$(linux_input_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(linux_input_LTLIBRARIES)'; test -n "$(linux_inputdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(linux_inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(linux_inputdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(linux_inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(linux_inputdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(linux_inputdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(linux_inputdir)"; \
+ }
uninstall-linux_inputLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(linux_input_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(linux_inputdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(linux_inputdir)/$$p"; \
+ @list='$(linux_input_LTLIBRARIES)'; test -n "$(linux_inputdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(linux_inputdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(linux_inputdir)/$$f"; \
done
clean-linux_inputLTLIBRARIES:
@@ -350,8 +418,8 @@ clean-linux_inputLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_linux_input.la: $(libdirectfb_linux_input_la_OBJECTS) $(libdirectfb_linux_input_la_DEPENDENCIES)
- $(libdirectfb_linux_input_la_LINK) -rpath $(linux_inputdir) $(libdirectfb_linux_input_la_OBJECTS) $(libdirectfb_linux_input_la_LIBADD) $(LIBS)
+libdirectfb_linux_input.la: $(libdirectfb_linux_input_la_OBJECTS) $(libdirectfb_linux_input_la_DEPENDENCIES) $(EXTRA_libdirectfb_linux_input_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_linux_input_la_LINK) -rpath $(linux_inputdir) $(libdirectfb_linux_input_la_OBJECTS) $(libdirectfb_linux_input_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -362,25 +430,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/linux_input.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -390,34 +458,35 @@ clean-libtool:
install-linux_inputDATA: $(linux_input_DATA)
@$(NORMAL_INSTALL)
test -z "$(linux_inputdir)" || $(MKDIR_P) "$(DESTDIR)$(linux_inputdir)"
- @list='$(linux_input_DATA)'; for p in $$list; do \
+ @list='$(linux_input_DATA)'; test -n "$(linux_inputdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(linux_inputDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(linux_inputdir)/$$f'"; \
- $(linux_inputDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(linux_inputdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(linux_inputdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(linux_inputdir)" || exit $$?; \
done
uninstall-linux_inputDATA:
@$(NORMAL_UNINSTALL)
- @list='$(linux_input_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(linux_inputdir)/$$f'"; \
- rm -f "$(DESTDIR)$(linux_inputdir)/$$f"; \
- done
+ @list='$(linux_input_DATA)'; test -n "$(linux_inputdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(linux_inputdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -425,29 +494,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -468,13 +542,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -495,16 +573,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -526,6 +610,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -535,18 +621,28 @@ install-data-am: install-linux_inputDATA \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -597,6 +693,7 @@ uninstall-am: uninstall-linux_inputDATA \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/linux_input/linux_input.c b/inputdrivers/linux_input/linux_input.c
index 17cd627..2253766 100644
--- a/inputdrivers/linux_input/linux_input.c
+++ b/inputdrivers/linux_input/linux_input.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -104,6 +104,12 @@ typedef unsigned long kernel_ulong_t;
#include <misc/conf.h>
#include <misc/util.h>
+#include <sys/socket.h>
+#include <sys/un.h>
+
+/* Exclude hot-plug stub functionality from this input provider. */
+#define DISABLE_INPUT_HOTPLUG_FUNCTION_STUB
+
#ifdef LINUX_INPUT_USE_FBDEV
#include <fbdev/fbdev.h>
#endif
@@ -125,15 +131,19 @@ D_DEBUG_DOMAIN( Debug_LinuxInput, "Input/Linux", "Linux input driver" );
#undef test_bit
#define test_bit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1)
+#define MAX_LENGTH_OF_EVENT_STRING 1024
+
/* compat for 2.4.x kernel - just a compile fix */
#ifndef HAVE_INPUT_ABSINFO
-struct input_absinfo {
+typedef struct {
s32 value;
s32 minimum;
s32 maximum;
s32 fuzz;
s32 flat;
-};
+} Input_AbsInfo;
+#else
+typedef struct input_absinfo Input_AbsInfo;
#endif
@@ -147,6 +157,7 @@ typedef struct {
int fd;
int quitpipe[2];
+ bool has_keys;
bool has_leds;
unsigned long led_state[NBITS(LED_CNT)];
DFBInputDeviceLockState locks;
@@ -157,6 +168,11 @@ typedef struct {
int dy;
bool touchpad;
+
+ /* Indice of the associated device_nums and device_names array entry.
+ * Used as the second parameter of the driver_open_device function.
+ */
+ int index;
} LinuxInputData;
@@ -164,6 +180,21 @@ typedef struct {
static int num_devices = 0;
static char *device_names[MAX_LINUX_INPUT_DEVICES];
+/* The entries with the same index in device_names and device_nums are the same
+ * are used in two different forms (one is "/dev/input/eventX", the other is
+ * X).
+ */
+static int device_nums[MAX_LINUX_INPUT_DEVICES] = { 0 };
+/* Socket file descriptor for getting udev events. */
+static int socket_fd = 0;
+/* Pipe file descriptor for terminating the hotplug thread. */
+static int hotplug_quitpipe[2];
+/* The hot-plug thread that is launched by the launch_hotplug() function. */
+static DirectThread *hotplug_thread = NULL;
+/* The driver suspended lock mutex. */
+static pthread_mutex_t driver_suspended_lock;
+/* Flag that indicates if the driver is suspended when true. */
+static bool driver_suspended = false;
static const
@@ -800,11 +831,11 @@ linux_input_EventThread( DirectThread *thread, void *driver_data )
D_DEBUG_AT( Debug_LinuxInput, "%s()\n", __FUNCTION__ );
- fdmax = (data->fd > data->quitpipe[0]) ? data->fd : data->quitpipe[0];
+ fdmax = MAX( data->fd, data->quitpipe[0] );
/* Query min/max coordinates. */
if (data->touchpad) {
- struct input_absinfo absinfo;
+ Input_AbsInfo absinfo;
touchpad_fsm_init( &fsm_state );
@@ -817,6 +848,39 @@ linux_input_EventThread( DirectThread *thread, void *driver_data )
fsm_state.y.max = absinfo.maximum;
}
+ /* Query key states. */
+ if (data->has_keys) {
+ unsigned long keybit[NBITS(KEY_CNT)];
+ unsigned long keystate[NBITS(KEY_CNT)];
+ int i;
+
+ /* get keyboard bits */
+ ioctl( data->fd, EVIOCGBIT(EV_KEY, sizeof(keybit)), keybit );
+
+ /* get key states */
+ ioctl( data->fd, EVIOCGKEY(sizeof(keystate)), keystate );
+
+ /* for each key,
+ synthetize a press or release event depending on the key state */
+ for (i=0; i<=KEY_CNT; i++) {
+ if (test_bit( i, keybit )) {
+ const int key = translate_key( i );
+
+ if (DFB_KEY_TYPE(key) == DIKT_IDENTIFIER) {
+ DFBInputEvent devt;
+
+ devt.type = (test_bit( i, keystate )
+ ? DIET_KEYPRESS : DIET_KEYRELEASE);
+ devt.flags = DIEF_KEYID | DIEF_KEYCODE;
+ devt.key_id = key;
+ devt.key_code = i;
+
+ dfb_input_dispatch( data->device, &devt );
+ }
+ }
+ }
+ }
+
while (1) {
DFBInputEvent devt = { .type = DIET_UNKNOWN };
@@ -843,7 +907,7 @@ linux_input_EventThread( DirectThread *thread, void *driver_data )
if (status < 0 && errno != EINTR)
break;
- if (FD_ISSET( data->quitpipe[0], &set ))
+ if (status > 0 && FD_ISSET( data->quitpipe[0], &set ))
break;
direct_thread_testcancel( thread );
@@ -974,6 +1038,8 @@ get_device_info( int fd,
unsigned long relbit[NBITS(REL_CNT)];
unsigned long absbit[NBITS(ABS_CNT)];
+ struct input_id devinfo;
+
/* get device name */
ioctl( fd, EVIOCGNAME(DFB_INPUT_DEVICE_DESC_NAME_LENGTH - 1), info->desc.name );
@@ -987,14 +1053,24 @@ get_device_info( int fd,
if (test_bit( EV_KEY, evbit )) {
int i;
+ info->desc.caps |= DICAPS_KEYS;
+
/* get keyboard bits */
ioctl( fd, EVIOCGBIT(EV_KEY, sizeof(keybit)), keybit );
- /** count typical keyboard keys only */
+ /* count typical keyboard keys only */
for (i=KEY_Q; i<=KEY_M; i++)
if (test_bit( i, keybit ))
num_keys++;
+ /* this might be a keyboard with just cursor keys, typically found
+ on front panels - handle as remote control and make sure not to
+ treat normal (full key) keyboards likewise */
+ if (!num_keys)
+ for (i=KEY_HOME; i<=KEY_PAGEDOWN; i++)
+ if (test_bit( i, keybit ))
+ num_ext_keys++;
+
for (i=KEY_OK; i<KEY_CNT; i++)
if (test_bit( i, keybit ))
num_ext_keys++;
@@ -1050,7 +1126,6 @@ get_device_info( int fd,
/* A Keyboard, do we have at least some letters? */
if (num_keys > 20) {
info->desc.type |= DIDTF_KEYBOARD;
- info->desc.caps |= DICAPS_KEYS;
info->desc.min_keycode = 0;
info->desc.max_keycode = 127;
@@ -1059,7 +1134,6 @@ get_device_info( int fd,
/* A Remote Control? */
if (num_ext_keys) {
info->desc.type |= DIDTF_REMOTE;
- info->desc.caps |= DICAPS_KEYS;
}
/* Buttons */
@@ -1085,6 +1159,12 @@ get_device_info( int fd,
info->prefered_id = DIDID_MOUSE;
else
info->prefered_id = DIDID_ANY;
+
+ /* Get VID and PID information */
+ ioctl( fd, EVIOCGID, &devinfo );
+
+ info->desc.vendor_id = devinfo.vendor;
+ info->desc.product_id = devinfo.product;
}
static bool
@@ -1118,6 +1198,9 @@ check_device( const char *device )
ioctl( fd, EVIOCGRAB, 0 );
close( fd );
+ if (!info.desc.caps)
+ return false;
+
if (!dfb_config->linux_input_ir_only ||
(info.desc.type & DIDTF_REMOTE))
return true;
@@ -1141,6 +1224,15 @@ driver_get_available( void )
#ifdef LINUX_INPUT_USE_FBDEV
if (dfb_system_type() != CORE_FBDEV)
return 0;
+
+ FBDev *dfb_fbdev = (FBDev*) dfb_system_data();
+ D_ASSERT( dfb_fbdev );
+
+ // Only allow USB keyboard and mouse support if the systems driver has
+ // the Virtual Terminal file ("/dev/tty0") open and available for use.
+ // FIXME: Additional logic needed for system drivers not similar to fbdev?
+ if (!dfb_fbdev->vt || dfb_fbdev->vt->fd < 0)
+ return 0;
#endif
/* Use the devices specified in the configuration. */
@@ -1151,8 +1243,13 @@ driver_get_available( void )
if (num_devices >= MAX_LINUX_INPUT_DEVICES)
break;
- if (check_device( device ))
- device_names[num_devices++] = D_STRDUP( device );
+ /* Update the device_names and device_nums array entries too. */
+ if (check_device( device )){
+ D_ASSERT( device_names[num_devices] == NULL );
+ device_names[num_devices] = D_STRDUP( device );
+ device_nums[num_devices] = i;
+ num_devices++;
+ }
}
return num_devices;
@@ -1167,12 +1264,21 @@ driver_get_available( void )
snprintf( buf, 32, "/dev/input/event%d", i );
+ /* Initialize device_names and device_nums array entries. */
+ device_nums[i] = MAX_LINUX_INPUT_DEVICES;
+ device_names[i] = NULL;
+
/* Let tslib driver handle its device. */
if (tsdev && !strcmp( tsdev, buf ))
continue;
- if (check_device( buf ))
- device_names[num_devices++] = D_STRDUP( buf );
+ /* Update the device_names and device_nums array entries too. */
+ if (check_device( buf )){
+ D_ASSERT( device_names[num_devices] == NULL );
+ device_names[num_devices] = D_STRDUP( buf );
+ device_nums[num_devices] = i;
+ num_devices++;
+ }
}
return num_devices;
@@ -1196,6 +1302,455 @@ driver_get_info( InputDriverInfo *info )
}
/*
+ * Enter the driver suspended state by setting the driver_suspended Boolean
+ * to prevent hotplug events from being handled.
+ */
+static DFBResult
+driver_suspend( void )
+{
+ if (pthread_mutex_lock(&driver_suspended_lock))
+ return DFB_FAILURE;
+
+ driver_suspended = true;
+
+ pthread_mutex_unlock(&driver_suspended_lock);
+
+ return DFB_OK;
+}
+
+/*
+ * Leave the driver suspended state by clearing the driver_suspended Boolean
+ * which will allow hotplug events to be handled again.
+ */
+static DFBResult
+driver_resume( void )
+{
+ if (pthread_mutex_lock(&driver_suspended_lock))
+ return DFB_FAILURE;
+
+ driver_suspended = false;
+
+ pthread_mutex_unlock(&driver_suspended_lock);
+
+ return DFB_OK;
+}
+
+/*
+ * Register /dev/input/eventX device node into the driver. Called when a new
+ * device node is created. The device node indicated by event_num should never
+ * be registered before registering it into the driver or should be
+ * unregistered by unregister_device_node() beforehand.
+ */
+static DFBResult
+register_device_node( int event_num, int *index)
+{
+ D_DEBUG_AT( Debug_LinuxInput, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( index != NULL );
+
+ int i;
+ char buf[32];
+
+ for (i=0; i<MAX_LINUX_INPUT_DEVICES; i++) {
+ if (device_nums[i] == MAX_LINUX_INPUT_DEVICES) {
+ device_nums[i] = event_num;
+ *index = i;
+ num_devices++;
+
+ snprintf( buf, 32, "/dev/input/event%d", event_num);
+ D_ASSERT( device_names[i] == NULL );
+ device_names[i] = D_STRDUP( buf );
+
+ return DFB_OK;
+ }
+ }
+
+ /* Too many input devices plugged in to be handled by linux_input driver. */
+ D_DEBUG_AT( Debug_LinuxInput,
+ "The amount of devices registered exceeds the limit (%u) "
+ "supported by linux input provider.\n",
+ MAX_LINUX_INPUT_DEVICES );
+ return DFB_UNSUPPORTED;
+}
+
+/*
+ * Unregister /dev/input/eventX device node from the driver. Called when a new
+ * device node is removed.
+ */
+static DFBResult
+unregister_device_node( int event_num, int *index)
+{
+ D_DEBUG_AT( Debug_LinuxInput, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( index != NULL );
+
+ int i;
+
+ for (i=0; i<MAX_LINUX_INPUT_DEVICES; i++) {
+ if (device_nums[i] == event_num) {
+ device_nums[i] = MAX_LINUX_INPUT_DEVICES;
+ num_devices--;
+
+ *index = i;
+ D_FREE(device_names[i]);
+ device_names[i] = NULL;
+
+ return DFB_OK;
+ }
+ }
+
+ return DFB_UNSUPPORTED;
+}
+
+/*
+ * Check if /dev/input/eventX is handled by the input device. If so, return
+ * DFB_OK. Otherwise, return DFB_UNSUPPORTED.
+ */
+static DFBResult
+is_created( int index, void *data)
+{
+ D_DEBUG_AT( Debug_LinuxInput, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( data != NULL );
+
+ if (index < 0 || index >= MAX_LINUX_INPUT_DEVICES) {
+ return DFB_UNSUPPORTED;
+ }
+
+ if (index != ((LinuxInputData *)data)->index) {
+ return DFB_UNSUPPORTED;
+ }
+
+ return DFB_OK;
+}
+
+/*
+ * Indicate that the hotplug detection capability is supported by this input
+ * provider if the Virtual Terminal was opened for use by the systems driver.
+ *
+ * Note: The systems driver will open the Virtual Terminal file
+ * ("/dev/tty0") based on the directfbrc commands "vt" and "no-vt".
+ */
+static InputDriverCapability
+get_capability( void )
+{
+ D_DEBUG_AT( Debug_LinuxInput, "%s()\n", __FUNCTION__ );
+
+ InputDriverCapability capabilities = IDC_NONE;
+
+#ifdef LINUX_INPUT_USE_FBDEV
+ FBDev *dfb_fbdev;
+
+ if (dfb_system_type() != CORE_FBDEV)
+ return IDC_NONE;
+
+ dfb_fbdev = (FBDev*) dfb_system_data();
+ D_ASSERT( dfb_fbdev );
+
+ // Only allow USB keyboard and mouse support if the systems driver has
+ // the Virtual Terminal file ("/dev/tty0") open and available for use.
+ // FIXME: Additional logic needed for system drivers not similar to fbdev?
+ if (!dfb_fbdev->vt || dfb_fbdev->vt->fd < 0)
+ return IDC_NONE;
+#endif
+
+ capabilities |= IDC_HOTPLUG;
+
+ return capabilities;
+}
+
+/*
+ * Detect udev hotplug events from socket /org/kernel/udev/monitor and act
+ * according to hotplug events received.
+ */
+static void *
+udev_hotplug_EventThread(DirectThread *thread, void * hotplug_data)
+{
+ D_DEBUG_AT( Debug_LinuxInput, "%s()\n", __FUNCTION__ );
+
+ CoreDFB *core;
+ void *driver;
+ HotplugThreadData *data = (HotplugThreadData *)hotplug_data;
+ int rt;
+ struct sockaddr_un sock_addr;
+ int fdmax;
+
+ D_ASSERT( data != NULL );
+ D_ASSERT( data->core != NULL );
+ D_ASSERT( data->driver != NULL );
+
+ core = data->core;
+ driver = data->driver;
+
+ /* Free no needed data packet */
+ D_FREE(data);
+
+ /* Open and bind the socket /org/kernel/udev/monitor */
+
+ socket_fd = socket(AF_UNIX, SOCK_DGRAM, 0);
+ if (socket_fd == -1) {
+ D_PERROR( "DirectFB/linux_input: socket() failed: %s\n",
+ strerror(errno) );
+ goto errorExit;
+ }
+
+ fdmax = MAX( socket_fd, hotplug_quitpipe[0] );
+
+ memset(&sock_addr, 0, sizeof(sock_addr));
+ sock_addr.sun_family = AF_UNIX;
+ strncpy(&sock_addr.sun_path[1],
+ "/org/kernel/udev/monitor",
+ sizeof(sock_addr.sun_path) - 1);
+
+ rt = bind(socket_fd, &sock_addr,
+ sizeof(sock_addr.sun_family)+1+strlen(&sock_addr.sun_path[1]));
+ if (rt < 0) {
+ D_PERROR( "DirectFB/linux_input: bind() failed: %s\n",
+ strerror(errno) );
+ goto errorExit;
+ }
+
+ while(1) {
+ char udev_event[MAX_LENGTH_OF_EVENT_STRING];
+ char *pos;
+ char *event_cont; //udev event content
+ int device_num, number_file, recv_len, index;
+ DFBResult ret;
+ fd_set rset;
+
+ /* get udev event */
+ FD_ZERO(&rset);
+ FD_SET(socket_fd, &rset);
+ FD_SET(hotplug_quitpipe[0], &rset);
+
+ number_file = select(fdmax+1, &rset, NULL, NULL, NULL);
+
+ if (number_file < 0 && errno != EINTR)
+ break;
+
+ if (FD_ISSET( hotplug_quitpipe[0], &rset ))
+ break;
+
+ /* check cancel thread */
+ direct_thread_testcancel( thread );
+
+ if (FD_ISSET(socket_fd, &rset)) {
+ recv_len = recv(socket_fd, udev_event, sizeof(udev_event), 0);
+ if (recv_len <= 0) {
+ D_DEBUG_AT( Debug_LinuxInput,
+ "error receiving uevent message: %s\n",
+ strerror(errno) );
+ continue;
+ }
+ /* check cancel thread */
+ direct_thread_testcancel( thread );
+ }
+ /* analysize udev event */
+
+ pos = strchr(udev_event, '@');
+ if (pos == NULL)
+ continue;
+
+ /* replace '@' with '\0' to separate event type and event content */
+ *pos = '\0';
+
+ event_cont = pos + 1;
+
+ pos = strstr(event_cont, "/event");
+ if (pos == NULL)
+ continue;
+
+ /* get event device number */
+ device_num = atoi(pos + 6);
+
+ /* Attempt to lock the driver suspended mutex. */
+ pthread_mutex_lock(&driver_suspended_lock);
+ if (driver_suspended)
+ {
+ /* Release the lock and quit handling hotplug events. */
+ D_DEBUG_AT( Debug_LinuxInput, "Driver is suspended\n" );
+ pthread_mutex_unlock(&driver_suspended_lock);
+ continue;
+ }
+
+ /* Handle hotplug events since the driver is not suspended. */
+ if (!strcmp(udev_event, "add")) {
+ D_DEBUG_AT( Debug_LinuxInput,
+ "Device node /dev/input/event%d is created by udev\n",
+ device_num);
+
+ ret = register_device_node( device_num, &index);
+ if ( DFB_OK == ret) {
+ /* Handle the event that the input device node is created */
+ ret = dfb_input_create_device(index, core, driver);
+
+ /* If cannot create the device within Linux Input
+ * provider, inform the user.
+ */
+ if ( DFB_OK != ret) {
+ D_DEBUG_AT( Debug_LinuxInput,
+ "Linux/Input: Failed to create the "
+ "device for /dev/input/event%d\n",
+ device_num );
+ }
+ }
+ }
+ else if (!strcmp(udev_event, "remove")) {
+ D_DEBUG_AT( Debug_LinuxInput,
+ "Device node /dev/input/event%d is removed by udev\n",
+ device_num );
+ ret = unregister_device_node( device_num, &index );
+
+ if ( DFB_OK == ret) {
+ /* Handle the event that the input device node is removed */
+ ret = dfb_input_remove_device( index, driver );
+
+ /* If unable to remove the device within the Linux Input
+ * provider, just print the info.
+ */
+ if ( DFB_OK != ret) {
+ D_DEBUG_AT( Debug_LinuxInput,
+ "Linux/Input: Failed to remove the "
+ "device for /dev/input/event%d\n",
+ device_num );
+ }
+ }
+ }
+
+ /* Hotplug event handling is complete so release the lock. */
+ pthread_mutex_unlock(&driver_suspended_lock);
+ }
+
+ D_DEBUG_AT( Debug_LinuxInput,
+ "Finished hotplug detection thread within Linux Input "
+ "provider.\n" );
+ return NULL;
+
+errorExit:
+ D_INFO( "Linux/Input: Fail to open udev socket, disable detecting "
+ "hotplug with Linux Input provider\n" );
+
+ if (socket_fd != -1) {
+ close(socket_fd);
+ }
+
+ return NULL;
+}
+
+/*
+ * Stop hotplug detection thread.
+ */
+static DFBResult
+stop_hotplug( void )
+{
+ D_DEBUG_AT( Debug_LinuxInput, "%s()\n", __FUNCTION__ );
+
+ /* Exit immediately if the hotplug thread is not created successfully in
+ * launch_hotplug().
+ */
+ if (!hotplug_thread)
+ goto exit;
+
+ /* Write to the hotplug quit pipe to cause the thread to terminate */
+ (void)write( hotplug_quitpipe[1], " ", 1 );
+ /* Shutdown the hotplug detection thread. */
+ direct_thread_join(hotplug_thread);
+ direct_thread_destroy(hotplug_thread);
+ close( hotplug_quitpipe[0] );
+ close( hotplug_quitpipe[1] );
+
+ hotplug_thread = NULL;
+
+ /* Destroy the suspended mutex. */
+ pthread_mutex_destroy(&driver_suspended_lock);
+
+ /* shutdown the connection of the socket */
+ if (socket_fd > 0) {
+ int rt = shutdown(socket_fd, SHUT_RDWR);
+ if (rt < 0) {
+ D_PERROR( "DirectFB/linux_input: Socket shutdown failed: %s\n",
+ strerror(errno) );
+ return DFB_FAILURE;
+ }
+ }
+ if (socket_fd > 0) {
+ close(socket_fd);
+ socket_fd = 0;
+ }
+
+exit:
+ D_DEBUG_AT( Debug_LinuxInput, "%s() closed\n", __FUNCTION__ );
+ return DFB_OK;
+}
+
+/*
+ * Launch hotplug detection thread.
+ */
+static DFBResult
+launch_hotplug(CoreDFB *core,
+ void *input_driver)
+{
+ int ret;
+
+ D_DEBUG_AT( Debug_LinuxInput, "%s()\n", __FUNCTION__ );
+
+ HotplugThreadData *data;
+ DFBResult result;
+
+ D_ASSERT( core != NULL );
+ D_ASSERT( input_driver != NULL );
+ D_ASSERT( hotplug_thread == NULL );
+
+ data = D_CALLOC(1, sizeof(HotplugThreadData));
+
+ if (!data) {
+ D_OOM();
+ result = DFB_UNSUPPORTED;
+ goto errorExit;
+ }
+
+ data->core = core;
+ data->driver = input_driver;
+
+ /* open a pipe to awake the reader thread when we want to quit */
+ ret = pipe( hotplug_quitpipe );
+ if (ret < 0) {
+ D_PERROR( "DirectFB/linux_input: could not open quitpipe for hotplug" );
+ D_FREE( data );
+ result = DFB_INIT;
+ goto errorExit;
+ }
+ socket_fd = 0;
+
+ /* Initialize a mutex used to communicate to the hotplug handling thread
+ * when the driver is suspended.
+ */
+ pthread_mutex_init(&driver_suspended_lock, NULL);
+
+ /* Create a thread to handle hotplug events. */
+ hotplug_thread = direct_thread_create( DTT_INPUT,
+ udev_hotplug_EventThread,
+ data,
+ "Hotplug with Linux Input" );
+ if (!hotplug_thread) {
+ pthread_mutex_destroy(&driver_suspended_lock);
+
+ /* The hotplug thread normally deallocates the HotplugThreadData
+ * memory, however since it could not be created it must be done
+ * here.
+ */
+ D_FREE( data );
+
+ result = DFB_UNSUPPORTED;
+ }
+ else
+ result = DFB_OK;
+
+errorExit:
+ return result;
+}
+
+/*
* Open the device, fill out information about it,
* allocate and fill private data, start input thread.
* Called during initialization, resuming or taking over mastership.
@@ -1211,10 +1766,14 @@ driver_open_device( CoreInputDevice *device,
unsigned long ledbit[NBITS(LED_CNT)];
LinuxInputData *data;
+ D_DEBUG_AT( Debug_LinuxInput, "%s()\n", __FUNCTION__ );
+
/* open device */
fd = open( device_names[number], O_RDWR );
if (fd < 0) {
- D_PERROR( "DirectFB/linux_input: could not open device" );
+ D_DEBUG_AT( Debug_LinuxInput,
+ "DirectFB/linux_input: could not open device %s\n",
+ device_names[number] );
return DFB_INIT;
}
@@ -1241,11 +1800,15 @@ driver_open_device( CoreInputDevice *device,
return D_OOM();
}
- data->fd = fd;
- data->device = device;
+ data->fd = fd;
+ data->device = device;
+ data->has_keys = (info->desc.caps & DICAPS_KEYS) != 0;
data->touchpad = touchpad;
data->vt_fd = -1;
+ /* Track associated entry in device_nums and device_names array. */
+ data->index = number;
+
if (info->desc.min_keycode >= 0 && info->desc.max_keycode >= info->desc.min_keycode) {
#ifdef LINUX_INPUT_USE_FBDEV
FBDev *dfb_fbdev = dfb_system_data();
@@ -1330,7 +1893,7 @@ driver_get_axis_info( CoreInputDevice *device,
ioctl( data->fd, EVIOCGBIT(EV_ABS, sizeof(absbit)), absbit );
if (test_bit (axis, absbit)) {
- struct input_absinfo absinfo;
+ Input_AbsInfo absinfo;
if (ioctl( data->fd, EVIOCGABS(axis), &absinfo ) == 0 &&
(absinfo.minimum || absinfo.maximum)) {
@@ -1417,7 +1980,6 @@ driver_close_device( void *driver_data )
D_DEBUG_AT( Debug_LinuxInput, "%s()\n", __FUNCTION__ );
/* stop input thread */
- direct_thread_cancel( data->thread );
(void)write( data->quitpipe[1], " ", 1 );
direct_thread_join( data->thread );
direct_thread_destroy( data->thread );
diff --git a/inputdrivers/lirc/Makefile.am b/inputdrivers/lirc/Makefile.am
index c4b2f94..6ac7909 100644
--- a/inputdrivers/lirc/Makefile.am
+++ b/inputdrivers/lirc/Makefile.am
@@ -1,11 +1,11 @@
## Makefile.am for DirectFB/inputdrivers/lirc
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
- -I$(top_srcdir)/src \
- -I$(top_builddir)/include
+ -I$(top_srcdir)/src
lirc_LTLIBRARIES = libdirectfb_lirc.la
diff --git a/inputdrivers/lirc/Makefile.in b/inputdrivers/lirc/Makefile.in
index d19fec3..101eb89 100644
--- a/inputdrivers/lirc/Makefile.in
+++ b/inputdrivers/lirc/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,44 +47,83 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(lircdir)" "$(DESTDIR)$(lircdir)"
-lircLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lirc_LTLIBRARIES)
libdirectfb_lirc_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_lirc_la_OBJECTS = lirc.lo
libdirectfb_lirc_la_OBJECTS = $(am_libdirectfb_lirc_la_OBJECTS)
-libdirectfb_lirc_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_lirc_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_lirc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_lirc_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_lirc_la_SOURCES)
DIST_SOURCES = $(libdirectfb_lirc_la_SOURCES)
-lircDATA_INSTALL = $(INSTALL_DATA)
DATA = $(lirc_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -106,11 +147,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -124,16 +168,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -154,12 +199,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -170,21 +218,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -192,6 +248,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -205,6 +265,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -212,9 +273,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -261,14 +323,15 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
- -I$(top_srcdir)/src \
- -I$(top_builddir)/include
+ -I$(top_srcdir)/src
lirc_LTLIBRARIES = libdirectfb_lirc.la
@BUILD_STATIC_TRUE at lirc_DATA = $(lirc_LTLIBRARIES:.la=.o)
@@ -293,14 +356,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/lirc/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/lirc/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/lirc/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/lirc/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -310,6 +373,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -318,23 +382,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-lircLTLIBRARIES: $(lirc_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(lircdir)" || $(MKDIR_P) "$(DESTDIR)$(lircdir)"
- @list='$(lirc_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lirc_LTLIBRARIES)'; test -n "$(lircdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(lircLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(lircdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(lircLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(lircdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(lircdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(lircdir)"; \
+ }
uninstall-lircLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(lirc_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(lircdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(lircdir)/$$p"; \
+ @list='$(lirc_LTLIBRARIES)'; test -n "$(lircdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(lircdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(lircdir)/$$f"; \
done
clean-lircLTLIBRARIES:
@@ -345,8 +414,8 @@ clean-lircLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_lirc.la: $(libdirectfb_lirc_la_OBJECTS) $(libdirectfb_lirc_la_DEPENDENCIES)
- $(libdirectfb_lirc_la_LINK) -rpath $(lircdir) $(libdirectfb_lirc_la_OBJECTS) $(libdirectfb_lirc_la_LIBADD) $(LIBS)
+libdirectfb_lirc.la: $(libdirectfb_lirc_la_OBJECTS) $(libdirectfb_lirc_la_DEPENDENCIES) $(EXTRA_libdirectfb_lirc_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_lirc_la_LINK) -rpath $(lircdir) $(libdirectfb_lirc_la_OBJECTS) $(libdirectfb_lirc_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -357,25 +426,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lirc.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -385,34 +454,35 @@ clean-libtool:
install-lircDATA: $(lirc_DATA)
@$(NORMAL_INSTALL)
test -z "$(lircdir)" || $(MKDIR_P) "$(DESTDIR)$(lircdir)"
- @list='$(lirc_DATA)'; for p in $$list; do \
+ @list='$(lirc_DATA)'; test -n "$(lircdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(lircDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(lircdir)/$$f'"; \
- $(lircDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(lircdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(lircdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(lircdir)" || exit $$?; \
done
uninstall-lircDATA:
@$(NORMAL_UNINSTALL)
- @list='$(lirc_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(lircdir)/$$f'"; \
- rm -f "$(DESTDIR)$(lircdir)/$$f"; \
- done
+ @list='$(lirc_DATA)'; test -n "$(lircdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(lircdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -420,29 +490,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -463,13 +538,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -490,16 +569,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -521,6 +606,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -529,18 +616,28 @@ install-data-am: install-lircDATA install-lircLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -589,6 +686,7 @@ uninstall-am: uninstall-lircDATA uninstall-lircLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/mutouch/Makefile.am b/inputdrivers/mutouch/Makefile.am
index 513cd1b..81636df 100644
--- a/inputdrivers/mutouch/Makefile.am
+++ b/inputdrivers/mutouch/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/inputdrivers/microtouch
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/inputdrivers/mutouch/Makefile.in b/inputdrivers/mutouch/Makefile.in
index 00ee4f9..984c8af 100644
--- a/inputdrivers/mutouch/Makefile.in
+++ b/inputdrivers/mutouch/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,44 +47,83 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(inputdir)" "$(DESTDIR)$(inputdir)"
-inputLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(input_LTLIBRARIES)
libdirectfb_mutouch_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_mutouch_la_OBJECTS = mutouch.lo
libdirectfb_mutouch_la_OBJECTS = $(am_libdirectfb_mutouch_la_OBJECTS)
-libdirectfb_mutouch_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_mutouch_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_mutouch_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_mutouch_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_mutouch_la_SOURCES)
DIST_SOURCES = $(libdirectfb_mutouch_la_SOURCES)
-inputDATA_INSTALL = $(INSTALL_DATA)
DATA = $(input_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -106,11 +147,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -124,16 +168,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -154,12 +199,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -170,21 +218,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -192,6 +248,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -205,6 +265,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -212,9 +273,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -261,11 +323,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -290,14 +354,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/mutouch/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/mutouch/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/mutouch/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/mutouch/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -307,6 +371,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -315,23 +380,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-inputLTLIBRARIES: $(input_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(inputdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(inputdir)"; \
+ }
uninstall-inputLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$p"; \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$f"; \
done
clean-inputLTLIBRARIES:
@@ -342,8 +412,8 @@ clean-inputLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_mutouch.la: $(libdirectfb_mutouch_la_OBJECTS) $(libdirectfb_mutouch_la_DEPENDENCIES)
- $(libdirectfb_mutouch_la_LINK) -rpath $(inputdir) $(libdirectfb_mutouch_la_OBJECTS) $(libdirectfb_mutouch_la_LIBADD) $(LIBS)
+libdirectfb_mutouch.la: $(libdirectfb_mutouch_la_OBJECTS) $(libdirectfb_mutouch_la_DEPENDENCIES) $(EXTRA_libdirectfb_mutouch_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_mutouch_la_LINK) -rpath $(inputdir) $(libdirectfb_mutouch_la_OBJECTS) $(libdirectfb_mutouch_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -354,25 +424,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mutouch.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -382,34 +452,35 @@ clean-libtool:
install-inputDATA: $(input_DATA)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_DATA)'; for p in $$list; do \
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(inputDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(inputDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(inputdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(inputdir)" || exit $$?; \
done
uninstall-inputDATA:
@$(NORMAL_UNINSTALL)
- @list='$(input_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
- rm -f "$(DESTDIR)$(inputdir)/$$f"; \
- done
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(inputdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -417,29 +488,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -460,13 +536,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -487,16 +567,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -518,6 +604,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -526,18 +614,28 @@ install-data-am: install-inputDATA install-inputLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -586,6 +684,7 @@ uninstall-am: uninstall-inputDATA uninstall-inputLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/penmount/Makefile.am b/inputdrivers/penmount/Makefile.am
index 4b2e92f..1b57c76 100755
--- a/inputdrivers/penmount/Makefile.am
+++ b/inputdrivers/penmount/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/inputdrivers/penmount
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/inputdrivers/penmount/Makefile.in b/inputdrivers/penmount/Makefile.in
index 4eead23..bf7e127 100644
--- a/inputdrivers/penmount/Makefile.in
+++ b/inputdrivers/penmount/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(inputdir)" "$(DESTDIR)$(inputdir)"
-inputLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(input_LTLIBRARIES)
libdirectfb_penmount_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -60,30 +83,48 @@ libdirectfb_penmount_la_DEPENDENCIES = \
am_libdirectfb_penmount_la_OBJECTS = penmount.lo
libdirectfb_penmount_la_OBJECTS = \
$(am_libdirectfb_penmount_la_OBJECTS)
-libdirectfb_penmount_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_penmount_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_penmount_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_penmount_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_penmount_la_SOURCES)
DIST_SOURCES = $(libdirectfb_penmount_la_SOURCES)
-inputDATA_INSTALL = $(INSTALL_DATA)
DATA = $(input_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -107,11 +148,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -125,16 +169,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -155,12 +200,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -171,21 +219,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -193,6 +249,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -206,6 +266,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -213,9 +274,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -262,11 +324,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -291,14 +355,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/penmount/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/penmount/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/penmount/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/penmount/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -308,6 +372,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -316,23 +381,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-inputLTLIBRARIES: $(input_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(inputdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(inputdir)"; \
+ }
uninstall-inputLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$p"; \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$f"; \
done
clean-inputLTLIBRARIES:
@@ -343,8 +413,8 @@ clean-inputLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_penmount.la: $(libdirectfb_penmount_la_OBJECTS) $(libdirectfb_penmount_la_DEPENDENCIES)
- $(libdirectfb_penmount_la_LINK) -rpath $(inputdir) $(libdirectfb_penmount_la_OBJECTS) $(libdirectfb_penmount_la_LIBADD) $(LIBS)
+libdirectfb_penmount.la: $(libdirectfb_penmount_la_OBJECTS) $(libdirectfb_penmount_la_DEPENDENCIES) $(EXTRA_libdirectfb_penmount_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_penmount_la_LINK) -rpath $(inputdir) $(libdirectfb_penmount_la_OBJECTS) $(libdirectfb_penmount_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -355,25 +425,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/penmount.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -383,34 +453,35 @@ clean-libtool:
install-inputDATA: $(input_DATA)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_DATA)'; for p in $$list; do \
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(inputDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(inputDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(inputdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(inputdir)" || exit $$?; \
done
uninstall-inputDATA:
@$(NORMAL_UNINSTALL)
- @list='$(input_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
- rm -f "$(DESTDIR)$(inputdir)/$$f"; \
- done
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(inputdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -418,29 +489,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -461,13 +537,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -488,16 +568,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -519,6 +605,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -527,18 +615,28 @@ install-data-am: install-inputDATA install-inputLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -587,6 +685,7 @@ uninstall-am: uninstall-inputDATA uninstall-inputLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/ps2mouse/Makefile.am b/inputdrivers/ps2mouse/Makefile.am
index 30915f8..55d78b6 100644
--- a/inputdrivers/ps2mouse/Makefile.am
+++ b/inputdrivers/ps2mouse/Makefile.am
@@ -1,9 +1,10 @@
## Makefile.am for DirectFB/inputdrivers/ps2mouse
INCLUDES = \
+ -I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
- -I$(top_builddir)/lib \
-I$(top_srcdir)/src
ps2mouse_LTLIBRARIES = libdirectfb_ps2mouse.la
diff --git a/inputdrivers/ps2mouse/Makefile.in b/inputdrivers/ps2mouse/Makefile.in
index 004552b..f1db4f9 100644
--- a/inputdrivers/ps2mouse/Makefile.in
+++ b/inputdrivers/ps2mouse/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,15 +47,36 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(ps2mousedir)" \
"$(DESTDIR)$(ps2mousedir)"
-ps2mouseLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(ps2mouse_LTLIBRARIES)
libdirectfb_ps2mouse_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -61,30 +84,48 @@ libdirectfb_ps2mouse_la_DEPENDENCIES = \
am_libdirectfb_ps2mouse_la_OBJECTS = ps2mouse.lo
libdirectfb_ps2mouse_la_OBJECTS = \
$(am_libdirectfb_ps2mouse_la_OBJECTS)
-libdirectfb_ps2mouse_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_ps2mouse_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_ps2mouse_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_ps2mouse_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_ps2mouse_la_SOURCES)
DIST_SOURCES = $(libdirectfb_ps2mouse_la_SOURCES)
-ps2mouseDATA_INSTALL = $(INSTALL_DATA)
DATA = $(ps2mouse_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -108,11 +149,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -126,16 +170,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -156,12 +201,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -172,21 +220,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -194,6 +250,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -207,6 +267,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -214,9 +275,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -263,12 +325,14 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
+ -I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
- -I$(top_builddir)/lib \
-I$(top_srcdir)/src
ps2mouse_LTLIBRARIES = libdirectfb_ps2mouse.la
@@ -294,14 +358,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/ps2mouse/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/ps2mouse/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/ps2mouse/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/ps2mouse/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -311,6 +375,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -319,23 +384,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-ps2mouseLTLIBRARIES: $(ps2mouse_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(ps2mousedir)" || $(MKDIR_P) "$(DESTDIR)$(ps2mousedir)"
- @list='$(ps2mouse_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(ps2mouse_LTLIBRARIES)'; test -n "$(ps2mousedir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(ps2mouseLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(ps2mousedir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(ps2mouseLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(ps2mousedir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(ps2mousedir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(ps2mousedir)"; \
+ }
uninstall-ps2mouseLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(ps2mouse_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(ps2mousedir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(ps2mousedir)/$$p"; \
+ @list='$(ps2mouse_LTLIBRARIES)'; test -n "$(ps2mousedir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(ps2mousedir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(ps2mousedir)/$$f"; \
done
clean-ps2mouseLTLIBRARIES:
@@ -346,8 +416,8 @@ clean-ps2mouseLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_ps2mouse.la: $(libdirectfb_ps2mouse_la_OBJECTS) $(libdirectfb_ps2mouse_la_DEPENDENCIES)
- $(libdirectfb_ps2mouse_la_LINK) -rpath $(ps2mousedir) $(libdirectfb_ps2mouse_la_OBJECTS) $(libdirectfb_ps2mouse_la_LIBADD) $(LIBS)
+libdirectfb_ps2mouse.la: $(libdirectfb_ps2mouse_la_OBJECTS) $(libdirectfb_ps2mouse_la_DEPENDENCIES) $(EXTRA_libdirectfb_ps2mouse_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_ps2mouse_la_LINK) -rpath $(ps2mousedir) $(libdirectfb_ps2mouse_la_OBJECTS) $(libdirectfb_ps2mouse_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -358,25 +428,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ps2mouse.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -386,34 +456,35 @@ clean-libtool:
install-ps2mouseDATA: $(ps2mouse_DATA)
@$(NORMAL_INSTALL)
test -z "$(ps2mousedir)" || $(MKDIR_P) "$(DESTDIR)$(ps2mousedir)"
- @list='$(ps2mouse_DATA)'; for p in $$list; do \
+ @list='$(ps2mouse_DATA)'; test -n "$(ps2mousedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(ps2mouseDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(ps2mousedir)/$$f'"; \
- $(ps2mouseDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(ps2mousedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(ps2mousedir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(ps2mousedir)" || exit $$?; \
done
uninstall-ps2mouseDATA:
@$(NORMAL_UNINSTALL)
- @list='$(ps2mouse_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(ps2mousedir)/$$f'"; \
- rm -f "$(DESTDIR)$(ps2mousedir)/$$f"; \
- done
+ @list='$(ps2mouse_DATA)'; test -n "$(ps2mousedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(ps2mousedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -421,29 +492,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -464,13 +540,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -491,16 +571,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -522,6 +608,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -530,18 +618,28 @@ install-data-am: install-ps2mouseDATA install-ps2mouseLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -590,6 +688,7 @@ uninstall-am: uninstall-ps2mouseDATA uninstall-ps2mouseLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/serialmouse/Makefile.am b/inputdrivers/serialmouse/Makefile.am
index 13f5744..20e3c0b 100644
--- a/inputdrivers/serialmouse/Makefile.am
+++ b/inputdrivers/serialmouse/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/inputdrivers/serialmouse
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/inputdrivers/serialmouse/Makefile.in b/inputdrivers/serialmouse/Makefile.in
index 39057a2..18e410f 100644
--- a/inputdrivers/serialmouse/Makefile.in
+++ b/inputdrivers/serialmouse/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,15 +47,36 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(serialmousedir)" \
"$(DESTDIR)$(serialmousedir)"
-serialmouseLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(serialmouse_LTLIBRARIES)
libdirectfb_serialmouse_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -61,31 +84,48 @@ libdirectfb_serialmouse_la_DEPENDENCIES = \
am_libdirectfb_serialmouse_la_OBJECTS = serialmouse.lo
libdirectfb_serialmouse_la_OBJECTS = \
$(am_libdirectfb_serialmouse_la_OBJECTS)
-libdirectfb_serialmouse_la_LINK = $(LIBTOOL) --tag=CC \
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_serialmouse_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) $(libdirectfb_serialmouse_la_LDFLAGS) \
$(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_serialmouse_la_SOURCES)
DIST_SOURCES = $(libdirectfb_serialmouse_la_SOURCES)
-serialmouseDATA_INSTALL = $(INSTALL_DATA)
DATA = $(serialmouse_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -109,11 +149,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -127,16 +170,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -157,12 +201,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -173,21 +220,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -195,6 +250,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -208,6 +267,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -215,9 +275,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -264,11 +325,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -293,14 +356,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/serialmouse/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/serialmouse/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/serialmouse/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/serialmouse/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -310,6 +373,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -318,23 +382,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-serialmouseLTLIBRARIES: $(serialmouse_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(serialmousedir)" || $(MKDIR_P) "$(DESTDIR)$(serialmousedir)"
- @list='$(serialmouse_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(serialmouse_LTLIBRARIES)'; test -n "$(serialmousedir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(serialmouseLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(serialmousedir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(serialmouseLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(serialmousedir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(serialmousedir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(serialmousedir)"; \
+ }
uninstall-serialmouseLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(serialmouse_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(serialmousedir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(serialmousedir)/$$p"; \
+ @list='$(serialmouse_LTLIBRARIES)'; test -n "$(serialmousedir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(serialmousedir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(serialmousedir)/$$f"; \
done
clean-serialmouseLTLIBRARIES:
@@ -345,8 +414,8 @@ clean-serialmouseLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_serialmouse.la: $(libdirectfb_serialmouse_la_OBJECTS) $(libdirectfb_serialmouse_la_DEPENDENCIES)
- $(libdirectfb_serialmouse_la_LINK) -rpath $(serialmousedir) $(libdirectfb_serialmouse_la_OBJECTS) $(libdirectfb_serialmouse_la_LIBADD) $(LIBS)
+libdirectfb_serialmouse.la: $(libdirectfb_serialmouse_la_OBJECTS) $(libdirectfb_serialmouse_la_DEPENDENCIES) $(EXTRA_libdirectfb_serialmouse_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_serialmouse_la_LINK) -rpath $(serialmousedir) $(libdirectfb_serialmouse_la_OBJECTS) $(libdirectfb_serialmouse_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -357,25 +426,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/serialmouse.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -385,34 +454,35 @@ clean-libtool:
install-serialmouseDATA: $(serialmouse_DATA)
@$(NORMAL_INSTALL)
test -z "$(serialmousedir)" || $(MKDIR_P) "$(DESTDIR)$(serialmousedir)"
- @list='$(serialmouse_DATA)'; for p in $$list; do \
+ @list='$(serialmouse_DATA)'; test -n "$(serialmousedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(serialmouseDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(serialmousedir)/$$f'"; \
- $(serialmouseDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(serialmousedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(serialmousedir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(serialmousedir)" || exit $$?; \
done
uninstall-serialmouseDATA:
@$(NORMAL_UNINSTALL)
- @list='$(serialmouse_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(serialmousedir)/$$f'"; \
- rm -f "$(DESTDIR)$(serialmousedir)/$$f"; \
- done
+ @list='$(serialmouse_DATA)'; test -n "$(serialmousedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(serialmousedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -420,29 +490,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -463,13 +538,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -490,16 +569,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -521,6 +606,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -530,18 +617,28 @@ install-data-am: install-serialmouseDATA \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -591,6 +688,7 @@ uninstall-am: uninstall-serialmouseDATA \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/sonypi/Makefile.am b/inputdrivers/sonypi/Makefile.am
index 7851e0e..867da39 100644
--- a/inputdrivers/sonypi/Makefile.am
+++ b/inputdrivers/sonypi/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/inputdrivers/sonypi
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/inputdrivers/sonypi/Makefile.in b/inputdrivers/sonypi/Makefile.in
index 41d7b5d..f89b61c 100644
--- a/inputdrivers/sonypi/Makefile.in
+++ b/inputdrivers/sonypi/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,44 +47,83 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(sonypidir)" "$(DESTDIR)$(sonypidir)"
-sonypiLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(sonypi_LTLIBRARIES)
libdirectfb_sonypi_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_sonypi_la_OBJECTS = sonypi.lo
libdirectfb_sonypi_la_OBJECTS = $(am_libdirectfb_sonypi_la_OBJECTS)
-libdirectfb_sonypi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_sonypi_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_sonypi_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_sonypi_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_sonypi_la_SOURCES)
DIST_SOURCES = $(libdirectfb_sonypi_la_SOURCES)
-sonypiDATA_INSTALL = $(INSTALL_DATA)
DATA = $(sonypi_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -106,11 +147,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -124,16 +168,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -154,12 +199,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -170,21 +218,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -192,6 +248,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -205,6 +265,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -212,9 +273,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -261,11 +323,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -292,14 +356,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/sonypi/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/sonypi/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/sonypi/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/sonypi/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -309,6 +373,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -317,23 +382,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-sonypiLTLIBRARIES: $(sonypi_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(sonypidir)" || $(MKDIR_P) "$(DESTDIR)$(sonypidir)"
- @list='$(sonypi_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(sonypi_LTLIBRARIES)'; test -n "$(sonypidir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(sonypiLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(sonypidir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(sonypiLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(sonypidir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(sonypidir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(sonypidir)"; \
+ }
uninstall-sonypiLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(sonypi_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(sonypidir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(sonypidir)/$$p"; \
+ @list='$(sonypi_LTLIBRARIES)'; test -n "$(sonypidir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(sonypidir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(sonypidir)/$$f"; \
done
clean-sonypiLTLIBRARIES:
@@ -344,8 +414,8 @@ clean-sonypiLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_sonypi.la: $(libdirectfb_sonypi_la_OBJECTS) $(libdirectfb_sonypi_la_DEPENDENCIES)
- $(libdirectfb_sonypi_la_LINK) -rpath $(sonypidir) $(libdirectfb_sonypi_la_OBJECTS) $(libdirectfb_sonypi_la_LIBADD) $(LIBS)
+libdirectfb_sonypi.la: $(libdirectfb_sonypi_la_OBJECTS) $(libdirectfb_sonypi_la_DEPENDENCIES) $(EXTRA_libdirectfb_sonypi_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_sonypi_la_LINK) -rpath $(sonypidir) $(libdirectfb_sonypi_la_OBJECTS) $(libdirectfb_sonypi_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -356,25 +426,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sonypi.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -384,34 +454,35 @@ clean-libtool:
install-sonypiDATA: $(sonypi_DATA)
@$(NORMAL_INSTALL)
test -z "$(sonypidir)" || $(MKDIR_P) "$(DESTDIR)$(sonypidir)"
- @list='$(sonypi_DATA)'; for p in $$list; do \
+ @list='$(sonypi_DATA)'; test -n "$(sonypidir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(sonypiDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(sonypidir)/$$f'"; \
- $(sonypiDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(sonypidir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sonypidir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(sonypidir)" || exit $$?; \
done
uninstall-sonypiDATA:
@$(NORMAL_UNINSTALL)
- @list='$(sonypi_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(sonypidir)/$$f'"; \
- rm -f "$(DESTDIR)$(sonypidir)/$$f"; \
- done
+ @list='$(sonypi_DATA)'; test -n "$(sonypidir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(sonypidir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -419,29 +490,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -462,13 +538,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -489,16 +569,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -520,6 +606,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -528,18 +616,28 @@ install-data-am: install-sonypiDATA install-sonypiLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -588,6 +686,7 @@ uninstall-am: uninstall-sonypiDATA uninstall-sonypiLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/tslib/Makefile.am b/inputdrivers/tslib/Makefile.am
index 5bca495..cf93b0f 100644
--- a/inputdrivers/tslib/Makefile.am
+++ b/inputdrivers/tslib/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/inputdrivers/tslib
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/inputdrivers/tslib/Makefile.in b/inputdrivers/tslib/Makefile.in
index a89d0c7..2ab9ffb 100644
--- a/inputdrivers/tslib/Makefile.in
+++ b/inputdrivers/tslib/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(tslibdir)" "$(DESTDIR)$(tslibdir)"
-tslibLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(tslib_LTLIBRARIES)
am__DEPENDENCIES_1 =
libdirectfb_tslib_la_DEPENDENCIES = \
@@ -60,31 +83,48 @@ libdirectfb_tslib_la_DEPENDENCIES = \
$(top_builddir)/src/libdirectfb.la $(am__DEPENDENCIES_1)
am_libdirectfb_tslib_la_OBJECTS = libdirectfb_tslib_la-tslib.lo
libdirectfb_tslib_la_OBJECTS = $(am_libdirectfb_tslib_la_OBJECTS)
-libdirectfb_tslib_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_tslib_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(libdirectfb_tslib_la_CFLAGS) $(CFLAGS) \
$(libdirectfb_tslib_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_tslib_la_SOURCES)
DIST_SOURCES = $(libdirectfb_tslib_la_SOURCES)
-tslibDATA_INSTALL = $(INSTALL_DATA)
DATA = $(tslib_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -108,11 +148,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -126,16 +169,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -156,12 +200,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -172,21 +219,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -194,6 +249,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -207,6 +266,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -214,9 +274,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -263,11 +324,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -298,14 +361,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/tslib/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/tslib/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/tslib/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/tslib/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -315,6 +378,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -323,23 +387,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-tslibLTLIBRARIES: $(tslib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(tslibdir)" || $(MKDIR_P) "$(DESTDIR)$(tslibdir)"
- @list='$(tslib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(tslib_LTLIBRARIES)'; test -n "$(tslibdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(tslibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(tslibdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(tslibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(tslibdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(tslibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(tslibdir)"; \
+ }
uninstall-tslibLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(tslib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(tslibdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(tslibdir)/$$p"; \
+ @list='$(tslib_LTLIBRARIES)'; test -n "$(tslibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(tslibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(tslibdir)/$$f"; \
done
clean-tslibLTLIBRARIES:
@@ -350,8 +419,8 @@ clean-tslibLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_tslib.la: $(libdirectfb_tslib_la_OBJECTS) $(libdirectfb_tslib_la_DEPENDENCIES)
- $(libdirectfb_tslib_la_LINK) -rpath $(tslibdir) $(libdirectfb_tslib_la_OBJECTS) $(libdirectfb_tslib_la_LIBADD) $(LIBS)
+libdirectfb_tslib.la: $(libdirectfb_tslib_la_OBJECTS) $(libdirectfb_tslib_la_DEPENDENCIES) $(EXTRA_libdirectfb_tslib_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_tslib_la_LINK) -rpath $(tslibdir) $(libdirectfb_tslib_la_OBJECTS) $(libdirectfb_tslib_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -362,32 +431,32 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libdirectfb_tslib_la-tslib.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
libdirectfb_tslib_la-tslib.lo: tslib.c
- at am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_tslib_la_CFLAGS) $(CFLAGS) -MT libdirectfb_tslib_la-tslib.lo -MD -MP -MF $(DEPDIR)/libdirectfb_tslib_la-tslib.Tpo -c -o libdirectfb_tslib_la-tslib.lo `test -f 'tslib.c' || echo '$(srcdir)/'`tslib.c
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libdirectfb_tslib_la-tslib.Tpo $(DEPDIR)/libdirectfb_tslib_la-tslib.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tslib.c' object='libdirectfb_tslib_la-tslib.lo' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_tslib_la_CFLAGS) $(CFLAGS) -MT libdirectfb_tslib_la-tslib.lo -MD -MP -MF $(DEPDIR)/libdirectfb_tslib_la-tslib.Tpo -c -o libdirectfb_tslib_la-tslib.lo `test -f 'tslib.c' || echo '$(srcdir)/'`tslib.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdirectfb_tslib_la-tslib.Tpo $(DEPDIR)/libdirectfb_tslib_la-tslib.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tslib.c' object='libdirectfb_tslib_la-tslib.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_tslib_la_CFLAGS) $(CFLAGS) -c -o libdirectfb_tslib_la-tslib.lo `test -f 'tslib.c' || echo '$(srcdir)/'`tslib.c
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirectfb_tslib_la_CFLAGS) $(CFLAGS) -c -o libdirectfb_tslib_la-tslib.lo `test -f 'tslib.c' || echo '$(srcdir)/'`tslib.c
mostlyclean-libtool:
-rm -f *.lo
@@ -397,34 +466,35 @@ clean-libtool:
install-tslibDATA: $(tslib_DATA)
@$(NORMAL_INSTALL)
test -z "$(tslibdir)" || $(MKDIR_P) "$(DESTDIR)$(tslibdir)"
- @list='$(tslib_DATA)'; for p in $$list; do \
+ @list='$(tslib_DATA)'; test -n "$(tslibdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(tslibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(tslibdir)/$$f'"; \
- $(tslibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(tslibdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tslibdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(tslibdir)" || exit $$?; \
done
uninstall-tslibDATA:
@$(NORMAL_UNINSTALL)
- @list='$(tslib_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(tslibdir)/$$f'"; \
- rm -f "$(DESTDIR)$(tslibdir)/$$f"; \
- done
+ @list='$(tslib_DATA)'; test -n "$(tslibdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(tslibdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -432,29 +502,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -475,13 +550,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -502,16 +581,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -533,6 +618,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -541,18 +628,28 @@ install-data-am: install-tslibDATA install-tslibLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -601,6 +698,7 @@ uninstall-am: uninstall-tslibDATA uninstall-tslibLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/ucb1x00_ts/Makefile.am b/inputdrivers/ucb1x00_ts/Makefile.am
index e85b9bc..1e7856e 100644
--- a/inputdrivers/ucb1x00_ts/Makefile.am
+++ b/inputdrivers/ucb1x00_ts/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/inputdrivers/ucb1x00_ts
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/inputdrivers/ucb1x00_ts/Makefile.in b/inputdrivers/ucb1x00_ts/Makefile.in
index 59373bc..6e68f19 100644
--- a/inputdrivers/ucb1x00_ts/Makefile.in
+++ b/inputdrivers/ucb1x00_ts/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(inputdir)" "$(DESTDIR)$(inputdir)"
-inputLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(input_LTLIBRARIES)
libdirectfb_ucb1x00_ts_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -60,31 +83,48 @@ libdirectfb_ucb1x00_ts_la_DEPENDENCIES = \
am_libdirectfb_ucb1x00_ts_la_OBJECTS = ucb1x00_ts.lo
libdirectfb_ucb1x00_ts_la_OBJECTS = \
$(am_libdirectfb_ucb1x00_ts_la_OBJECTS)
-libdirectfb_ucb1x00_ts_la_LINK = $(LIBTOOL) --tag=CC \
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_ucb1x00_ts_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) $(libdirectfb_ucb1x00_ts_la_LDFLAGS) \
$(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_ucb1x00_ts_la_SOURCES)
DIST_SOURCES = $(libdirectfb_ucb1x00_ts_la_SOURCES)
-inputDATA_INSTALL = $(INSTALL_DATA)
DATA = $(input_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -108,11 +148,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -126,16 +169,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -156,12 +200,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -172,21 +219,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -194,6 +249,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -207,6 +266,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -214,9 +274,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -263,11 +324,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -294,14 +357,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/ucb1x00_ts/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/ucb1x00_ts/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/ucb1x00_ts/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/ucb1x00_ts/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -311,6 +374,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -319,23 +383,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-inputLTLIBRARIES: $(input_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(inputdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(inputdir)"; \
+ }
uninstall-inputLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$p"; \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$f"; \
done
clean-inputLTLIBRARIES:
@@ -346,8 +415,8 @@ clean-inputLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_ucb1x00_ts.la: $(libdirectfb_ucb1x00_ts_la_OBJECTS) $(libdirectfb_ucb1x00_ts_la_DEPENDENCIES)
- $(libdirectfb_ucb1x00_ts_la_LINK) -rpath $(inputdir) $(libdirectfb_ucb1x00_ts_la_OBJECTS) $(libdirectfb_ucb1x00_ts_la_LIBADD) $(LIBS)
+libdirectfb_ucb1x00_ts.la: $(libdirectfb_ucb1x00_ts_la_OBJECTS) $(libdirectfb_ucb1x00_ts_la_DEPENDENCIES) $(EXTRA_libdirectfb_ucb1x00_ts_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_ucb1x00_ts_la_LINK) -rpath $(inputdir) $(libdirectfb_ucb1x00_ts_la_OBJECTS) $(libdirectfb_ucb1x00_ts_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -358,25 +427,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ucb1x00_ts.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -386,34 +455,35 @@ clean-libtool:
install-inputDATA: $(input_DATA)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_DATA)'; for p in $$list; do \
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(inputDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(inputDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(inputdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(inputdir)" || exit $$?; \
done
uninstall-inputDATA:
@$(NORMAL_UNINSTALL)
- @list='$(input_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
- rm -f "$(DESTDIR)$(inputdir)/$$f"; \
- done
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(inputdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -421,29 +491,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -464,13 +539,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -491,16 +570,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -522,6 +607,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -530,18 +617,28 @@ install-data-am: install-inputDATA install-inputLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -590,6 +687,7 @@ uninstall-am: uninstall-inputDATA uninstall-inputLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/wm97xx_ts/Makefile.am b/inputdrivers/wm97xx_ts/Makefile.am
index d65c509..6d366c8 100644
--- a/inputdrivers/wm97xx_ts/Makefile.am
+++ b/inputdrivers/wm97xx_ts/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/inputdrivers/wm97xx
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/inputdrivers/wm97xx_ts/Makefile.in b/inputdrivers/wm97xx_ts/Makefile.in
index 860bfe1..35d4521 100644
--- a/inputdrivers/wm97xx_ts/Makefile.in
+++ b/inputdrivers/wm97xx_ts/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(inputdir)" "$(DESTDIR)$(inputdir)"
-inputLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(input_LTLIBRARIES)
libdirectfb_wm97xx_ts_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -60,30 +83,48 @@ libdirectfb_wm97xx_ts_la_DEPENDENCIES = \
am_libdirectfb_wm97xx_ts_la_OBJECTS = wm97xx_ts.lo
libdirectfb_wm97xx_ts_la_OBJECTS = \
$(am_libdirectfb_wm97xx_ts_la_OBJECTS)
-libdirectfb_wm97xx_ts_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_wm97xx_ts_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_wm97xx_ts_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_wm97xx_ts_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_wm97xx_ts_la_SOURCES)
DIST_SOURCES = $(libdirectfb_wm97xx_ts_la_SOURCES)
-inputDATA_INSTALL = $(INSTALL_DATA)
DATA = $(input_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -107,11 +148,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -125,16 +169,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -155,12 +200,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -171,21 +219,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -193,6 +249,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -206,6 +266,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -213,9 +274,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -262,11 +324,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -293,14 +357,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/wm97xx_ts/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/wm97xx_ts/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/wm97xx_ts/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/wm97xx_ts/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -310,6 +374,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -318,23 +383,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-inputLTLIBRARIES: $(input_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(inputdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(inputdir)"; \
+ }
uninstall-inputLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$p"; \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$f"; \
done
clean-inputLTLIBRARIES:
@@ -345,8 +415,8 @@ clean-inputLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_wm97xx_ts.la: $(libdirectfb_wm97xx_ts_la_OBJECTS) $(libdirectfb_wm97xx_ts_la_DEPENDENCIES)
- $(libdirectfb_wm97xx_ts_la_LINK) -rpath $(inputdir) $(libdirectfb_wm97xx_ts_la_OBJECTS) $(libdirectfb_wm97xx_ts_la_LIBADD) $(LIBS)
+libdirectfb_wm97xx_ts.la: $(libdirectfb_wm97xx_ts_la_OBJECTS) $(libdirectfb_wm97xx_ts_la_DEPENDENCIES) $(EXTRA_libdirectfb_wm97xx_ts_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_wm97xx_ts_la_LINK) -rpath $(inputdir) $(libdirectfb_wm97xx_ts_la_OBJECTS) $(libdirectfb_wm97xx_ts_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -357,25 +427,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wm97xx_ts.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -385,34 +455,35 @@ clean-libtool:
install-inputDATA: $(input_DATA)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_DATA)'; for p in $$list; do \
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(inputDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(inputDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(inputdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(inputdir)" || exit $$?; \
done
uninstall-inputDATA:
@$(NORMAL_UNINSTALL)
- @list='$(input_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
- rm -f "$(DESTDIR)$(inputdir)/$$f"; \
- done
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(inputdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -420,29 +491,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -463,13 +539,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -490,16 +570,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -521,6 +607,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -529,18 +617,28 @@ install-data-am: install-inputDATA install-inputLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -589,6 +687,7 @@ uninstall-am: uninstall-inputDATA uninstall-inputLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/inputdrivers/zytronic/Makefile.am b/inputdrivers/zytronic/Makefile.am
index b113b4b..ea0b50c 100644
--- a/inputdrivers/zytronic/Makefile.am
+++ b/inputdrivers/zytronic/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/inputdrivers/zytronic
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/inputdrivers/zytronic/Makefile.in b/inputdrivers/zytronic/Makefile.in
index 370c2fe..3cf5be1 100644
--- a/inputdrivers/zytronic/Makefile.in
+++ b/inputdrivers/zytronic/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(inputdir)" "$(DESTDIR)$(inputdir)"
-inputLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(input_LTLIBRARIES)
libdirectfb_zytronic_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -60,30 +83,48 @@ libdirectfb_zytronic_la_DEPENDENCIES = \
am_libdirectfb_zytronic_la_OBJECTS = zytronic.lo
libdirectfb_zytronic_la_OBJECTS = \
$(am_libdirectfb_zytronic_la_OBJECTS)
-libdirectfb_zytronic_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_zytronic_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_zytronic_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_zytronic_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_zytronic_la_SOURCES)
DIST_SOURCES = $(libdirectfb_zytronic_la_SOURCES)
-inputDATA_INSTALL = $(INSTALL_DATA)
DATA = $(input_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -107,11 +148,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -125,16 +169,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -155,12 +200,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -171,21 +219,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -193,6 +249,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -206,6 +266,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -213,9 +274,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -262,11 +324,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -291,14 +355,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/zytronic/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu inputdrivers/zytronic/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu inputdrivers/zytronic/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu inputdrivers/zytronic/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -308,6 +372,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -316,23 +381,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-inputLTLIBRARIES: $(input_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(inputdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(inputdir)"; \
+ }
uninstall-inputLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(input_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$p"; \
+ @list='$(input_LTLIBRARIES)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdir)/$$f"; \
done
clean-inputLTLIBRARIES:
@@ -343,8 +413,8 @@ clean-inputLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_zytronic.la: $(libdirectfb_zytronic_la_OBJECTS) $(libdirectfb_zytronic_la_DEPENDENCIES)
- $(libdirectfb_zytronic_la_LINK) -rpath $(inputdir) $(libdirectfb_zytronic_la_OBJECTS) $(libdirectfb_zytronic_la_LIBADD) $(LIBS)
+libdirectfb_zytronic.la: $(libdirectfb_zytronic_la_OBJECTS) $(libdirectfb_zytronic_la_DEPENDENCIES) $(EXTRA_libdirectfb_zytronic_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_zytronic_la_LINK) -rpath $(inputdir) $(libdirectfb_zytronic_la_OBJECTS) $(libdirectfb_zytronic_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -355,25 +425,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/zytronic.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -383,34 +453,35 @@ clean-libtool:
install-inputDATA: $(input_DATA)
@$(NORMAL_INSTALL)
test -z "$(inputdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdir)"
- @list='$(input_DATA)'; for p in $$list; do \
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(inputDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(inputdir)/$$f'"; \
- $(inputDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(inputdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(inputdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(inputdir)" || exit $$?; \
done
uninstall-inputDATA:
@$(NORMAL_UNINSTALL)
- @list='$(input_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(inputdir)/$$f'"; \
- rm -f "$(DESTDIR)$(inputdir)/$$f"; \
- done
+ @list='$(input_DATA)'; test -n "$(inputdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(inputdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -418,29 +489,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -461,13 +537,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -488,16 +568,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -519,6 +605,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -527,18 +615,28 @@ install-data-am: install-inputDATA install-inputLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -587,6 +685,7 @@ uninstall-am: uninstall-inputDATA uninstall-inputLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/install-sh b/install-sh
index a5897de..a9244eb 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2006-12-25.00
+scriptversion=2011-01-19.21; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -156,6 +156,10 @@ while test $# -ne 0; do
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
+ # Protect names problematic for `test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
shift;;
-T) no_target_directory=true;;
@@ -186,6 +190,10 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
fi
shift # arg
dst_arg=$arg
+ # Protect names problematic for `test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
done
fi
@@ -200,7 +208,11 @@ if test $# -eq 0; then
fi
if test -z "$dir_arg"; then
- trap '(exit $?); exit' 1 2 13 15
+ do_exit='(exit $ret); exit $ret'
+ trap "ret=129; $do_exit" 1
+ trap "ret=130; $do_exit" 2
+ trap "ret=141; $do_exit" 13
+ trap "ret=143; $do_exit" 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
@@ -228,9 +240,9 @@ fi
for src
do
- # Protect names starting with `-'.
+ # Protect names problematic for `test' and other utilities.
case $src in
- -*) src=./$src;;
+ -* | [=\(\)!]) src=./$src;;
esac
if test -n "$dir_arg"; then
@@ -252,12 +264,7 @@ do
echo "$0: no destination specified." >&2
exit 1
fi
-
dst=$dst_arg
- # Protect names starting with `-'.
- case $dst in
- -*) dst=./$dst;;
- esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
@@ -385,7 +392,7 @@ do
case $dstdir in
/*) prefix='/';;
- -*) prefix='./';;
+ [-=\(\)!]*) prefix='./';;
*) prefix='';;
esac
@@ -403,7 +410,7 @@ do
for d
do
- test -z "$d" && continue
+ test X"$d" = X && continue
prefix=$prefix$d
if test -d "$prefix"; then
@@ -515,5 +522,6 @@ done
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
# End:
diff --git a/interfaces/ICoreResourceManager/Makefile.am b/interfaces/ICoreResourceManager/Makefile.am
new file mode 100644
index 0000000..480226b
--- /dev/null
+++ b/interfaces/ICoreResourceManager/Makefile.am
@@ -0,0 +1,37 @@
+## Makefile.am for DirectFB/interfaces/ICoreResourceManager
+
+icoreresourcemanagerdir = $(MODULEDIR)/interfaces/ICoreResourceManager
+
+
+INCLUDES = \
+ -I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib \
+ -I$(top_srcdir)/src
+
+AM_CPPFLAGS = -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\"
+
+icoreresourcemanager_LTLIBRARIES = \
+ libicoreresourcemanager_test.la
+
+if BUILD_STATIC
+icoreresourcemanager_DATA = $(icoreresourcemanager_LTLIBRARIES:.la=.o)
+endif
+
+
+libicoreresourcemanager_test_la_SOURCES = \
+ icoreresourcemanager_test.c \
+ icoreresourcemanager_test.h \
+ icoreresourcemanager_test_client.c \
+ icoreresourcemanager_test_client.h
+
+libicoreresourcemanager_test_la_LIBADD = \
+ $(top_builddir)/lib/direct/libdirect.la \
+ $(top_builddir)/src/libdirectfb.la
+
+libicoreresourcemanager_test_la_LDFLAGS = -avoid-version -module
+
+
+include $(top_srcdir)/rules/libobject.make
+
diff --git a/interfaces/IDirectFBVideoProvider/Makefile.in b/interfaces/ICoreResourceManager/Makefile.in
similarity index 56%
copy from interfaces/IDirectFBVideoProvider/Makefile.in
copy to interfaces/ICoreResourceManager/Makefile.in
index 7ac14f3..3f60088 100644
--- a/interfaces/IDirectFBVideoProvider/Makefile.in
+++ b/interfaces/ICoreResourceManager/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -36,7 +38,7 @@ host_triplet = @host@
target_triplet = @target@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/rules/libobject.make
-subdir = interfaces/IDirectFBVideoProvider
+subdir = interfaces/ICoreResourceManager
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/as-ac-expand.m4 \
$(top_srcdir)/configure.in
@@ -45,67 +47,87 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(idirectfbvideoproviderdir)" \
- "$(DESTDIR)$(idirectfbvideoproviderdir)"
-idirectfbvideoproviderLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(idirectfbvideoprovider_LTLIBRARIES)
-libidirectfbvideoprovider_gif_la_DEPENDENCIES = \
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(icoreresourcemanagerdir)" \
+ "$(DESTDIR)$(icoreresourcemanagerdir)"
+LTLIBRARIES = $(icoreresourcemanager_LTLIBRARIES)
+libicoreresourcemanager_test_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
- $(top_builddir)/lib/fusion/libfusion.la \
$(top_builddir)/src/libdirectfb.la
-am_libidirectfbvideoprovider_gif_la_OBJECTS = \
- idirectfbvideoprovider_gif.lo
-libidirectfbvideoprovider_gif_la_OBJECTS = \
- $(am_libidirectfbvideoprovider_gif_la_OBJECTS)
-libidirectfbvideoprovider_gif_la_LINK = $(LIBTOOL) --tag=CC \
+am_libicoreresourcemanager_test_la_OBJECTS = \
+ icoreresourcemanager_test.lo \
+ icoreresourcemanager_test_client.lo
+libicoreresourcemanager_test_la_OBJECTS = \
+ $(am_libicoreresourcemanager_test_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libicoreresourcemanager_test_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
- $(libidirectfbvideoprovider_gif_la_LDFLAGS) $(LDFLAGS) -o $@
- at GIF_PROVIDER_TRUE@am_libidirectfbvideoprovider_gif_la_rpath = -rpath \
- at GIF_PROVIDER_TRUE@ $(idirectfbvideoproviderdir)
-libidirectfbvideoprovider_v4l_la_DEPENDENCIES = \
- $(top_builddir)/lib/direct/libdirect.la \
- $(top_builddir)/lib/fusion/libfusion.la \
- $(top_builddir)/src/libdirectfb.la
-am_libidirectfbvideoprovider_v4l_la_OBJECTS = \
- idirectfbvideoprovider_v4l.lo
-libidirectfbvideoprovider_v4l_la_OBJECTS = \
- $(am_libidirectfbvideoprovider_v4l_la_OBJECTS)
-libidirectfbvideoprovider_v4l_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
- $(libidirectfbvideoprovider_v4l_la_LDFLAGS) $(LDFLAGS) -o $@
- at V4L_PROVIDER_TRUE@am_libidirectfbvideoprovider_v4l_la_rpath = -rpath \
- at V4L_PROVIDER_TRUE@ $(idirectfbvideoproviderdir)
+ $(libicoreresourcemanager_test_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(libidirectfbvideoprovider_gif_la_SOURCES) \
- $(libidirectfbvideoprovider_v4l_la_SOURCES)
-DIST_SOURCES = $(libidirectfbvideoprovider_gif_la_SOURCES) \
- $(libidirectfbvideoprovider_v4l_la_SOURCES)
-idirectfbvideoproviderDATA_INSTALL = $(INSTALL_DATA)
-DATA = $(idirectfbvideoprovider_DATA)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+SOURCES = $(libicoreresourcemanager_test_la_SOURCES)
+DIST_SOURCES = $(libicoreresourcemanager_test_la_SOURCES)
+DATA = $(icoreresourcemanager_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -129,11 +151,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -147,16 +172,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -177,12 +203,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -193,21 +222,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -215,6 +252,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -228,6 +269,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -235,9 +277,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -284,41 +327,33 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-idirectfbvideoproviderdir = $(MODULEDIR)/interfaces/IDirectFBVideoProvider
-EXTRA_DIST = videodev.h videodev2.h
- at V4L_PROVIDER_FALSE@V4L_PROVIDER_LTLIB =
- at V4L_PROVIDER_TRUE@V4L_PROVIDER_LTLIB = libidirectfbvideoprovider_v4l.la
- at GIF_PROVIDER_FALSE@GIF_PROVIDER_LTLIB =
- at GIF_PROVIDER_TRUE@GIF_PROVIDER_LTLIB = libidirectfbvideoprovider_gif.la
+icoreresourcemanagerdir = $(MODULEDIR)/interfaces/ICoreResourceManager
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
- -I$(top_srcdir)/src \
- -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\"
+ -I$(top_srcdir)/src
-idirectfbvideoprovider_LTLIBRARIES = \
- $(GIF_PROVIDER_LTLIB) \
- $(V4L_PROVIDER_LTLIB)
+AM_CPPFLAGS = -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\"
+icoreresourcemanager_LTLIBRARIES = \
+ libicoreresourcemanager_test.la
- at BUILD_STATIC_TRUE@idirectfbvideoprovider_DATA = $(idirectfbvideoprovider_LTLIBRARIES:.la=.o)
-libidirectfbvideoprovider_v4l_la_SOURCES = idirectfbvideoprovider_v4l.c
-libidirectfbvideoprovider_v4l_la_LDFLAGS = -avoid-version -module
-libidirectfbvideoprovider_v4l_la_LIBADD = \
- $(top_builddir)/lib/direct/libdirect.la \
- $(top_builddir)/lib/fusion/libfusion.la \
- $(top_builddir)/src/libdirectfb.la
+ at BUILD_STATIC_TRUE@icoreresourcemanager_DATA = $(icoreresourcemanager_LTLIBRARIES:.la=.o)
+libicoreresourcemanager_test_la_SOURCES = \
+ icoreresourcemanager_test.c \
+ icoreresourcemanager_test.h \
+ icoreresourcemanager_test_client.c \
+ icoreresourcemanager_test_client.h
-libidirectfbvideoprovider_gif_la_SOURCES = idirectfbvideoprovider_gif.c
-libidirectfbvideoprovider_gif_la_LDFLAGS = -avoid-version -module
-libidirectfbvideoprovider_gif_la_LIBADD = \
+libicoreresourcemanager_test_la_LIBADD = \
$(top_builddir)/lib/direct/libdirect.la \
- $(top_builddir)/lib/fusion/libfusion.la \
$(top_builddir)/src/libdirectfb.la
+libicoreresourcemanager_test_la_LDFLAGS = -avoid-version -module
all: all-am
.SUFFIXES:
@@ -327,14 +362,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu interfaces/IDirectFBVideoProvider/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu interfaces/IDirectFBVideoProvider/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu interfaces/ICoreResourceManager/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu interfaces/ICoreResourceManager/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -344,6 +379,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -352,37 +388,40 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-idirectfbvideoproviderLTLIBRARIES: $(idirectfbvideoprovider_LTLIBRARIES)
+$(am__aclocal_m4_deps):
+install-icoreresourcemanagerLTLIBRARIES: $(icoreresourcemanager_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(idirectfbvideoproviderdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbvideoproviderdir)"
- @list='$(idirectfbvideoprovider_LTLIBRARIES)'; for p in $$list; do \
+ test -z "$(icoreresourcemanagerdir)" || $(MKDIR_P) "$(DESTDIR)$(icoreresourcemanagerdir)"
+ @list='$(icoreresourcemanager_LTLIBRARIES)'; test -n "$(icoreresourcemanagerdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbvideoproviderLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbvideoproviderdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbvideoproviderLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbvideoproviderdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(icoreresourcemanagerdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(icoreresourcemanagerdir)"; \
+ }
-uninstall-idirectfbvideoproviderLTLIBRARIES:
+uninstall-icoreresourcemanagerLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbvideoprovider_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbvideoproviderdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbvideoproviderdir)/$$p"; \
+ @list='$(icoreresourcemanager_LTLIBRARIES)'; test -n "$(icoreresourcemanagerdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(icoreresourcemanagerdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(icoreresourcemanagerdir)/$$f"; \
done
-clean-idirectfbvideoproviderLTLIBRARIES:
- -test -z "$(idirectfbvideoprovider_LTLIBRARIES)" || rm -f $(idirectfbvideoprovider_LTLIBRARIES)
- @list='$(idirectfbvideoprovider_LTLIBRARIES)'; for p in $$list; do \
+clean-icoreresourcemanagerLTLIBRARIES:
+ -test -z "$(icoreresourcemanager_LTLIBRARIES)" || rm -f $(icoreresourcemanager_LTLIBRARIES)
+ @list='$(icoreresourcemanager_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libidirectfbvideoprovider_gif.la: $(libidirectfbvideoprovider_gif_la_OBJECTS) $(libidirectfbvideoprovider_gif_la_DEPENDENCIES)
- $(libidirectfbvideoprovider_gif_la_LINK) $(am_libidirectfbvideoprovider_gif_la_rpath) $(libidirectfbvideoprovider_gif_la_OBJECTS) $(libidirectfbvideoprovider_gif_la_LIBADD) $(LIBS)
-libidirectfbvideoprovider_v4l.la: $(libidirectfbvideoprovider_v4l_la_OBJECTS) $(libidirectfbvideoprovider_v4l_la_DEPENDENCIES)
- $(libidirectfbvideoprovider_v4l_la_LINK) $(am_libidirectfbvideoprovider_v4l_la_rpath) $(libidirectfbvideoprovider_v4l_la_OBJECTS) $(libidirectfbvideoprovider_v4l_la_LIBADD) $(LIBS)
+libicoreresourcemanager_test.la: $(libicoreresourcemanager_test_la_OBJECTS) $(libicoreresourcemanager_test_la_DEPENDENCIES) $(EXTRA_libicoreresourcemanager_test_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libicoreresourcemanager_test_la_LINK) -rpath $(icoreresourcemanagerdir) $(libicoreresourcemanager_test_la_OBJECTS) $(libicoreresourcemanager_test_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -390,66 +429,67 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbvideoprovider_gif.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbvideoprovider_v4l.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/icoreresourcemanager_test.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/icoreresourcemanager_test_client.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-install-idirectfbvideoproviderDATA: $(idirectfbvideoprovider_DATA)
+install-icoreresourcemanagerDATA: $(icoreresourcemanager_DATA)
@$(NORMAL_INSTALL)
- test -z "$(idirectfbvideoproviderdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbvideoproviderdir)"
- @list='$(idirectfbvideoprovider_DATA)'; for p in $$list; do \
+ test -z "$(icoreresourcemanagerdir)" || $(MKDIR_P) "$(DESTDIR)$(icoreresourcemanagerdir)"
+ @list='$(icoreresourcemanager_DATA)'; test -n "$(icoreresourcemanagerdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbvideoproviderDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbvideoproviderdir)/$$f'"; \
- $(idirectfbvideoproviderDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbvideoproviderdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icoreresourcemanagerdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(icoreresourcemanagerdir)" || exit $$?; \
done
-uninstall-idirectfbvideoproviderDATA:
+uninstall-icoreresourcemanagerDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbvideoprovider_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbvideoproviderdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbvideoproviderdir)/$$f"; \
- done
+ @list='$(icoreresourcemanager_DATA)'; test -n "$(icoreresourcemanagerdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(icoreresourcemanagerdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -457,29 +497,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -500,13 +545,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -514,7 +563,7 @@ check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES) $(DATA)
installdirs:
- for dir in "$(DESTDIR)$(idirectfbvideoproviderdir)" "$(DESTDIR)$(idirectfbvideoproviderdir)"; do \
+ for dir in "$(DESTDIR)$(icoreresourcemanagerdir)" "$(DESTDIR)$(icoreresourcemanagerdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -527,23 +576,29 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-idirectfbvideoproviderLTLIBRARIES \
+clean-am: clean-generic clean-icoreresourcemanagerLTLIBRARIES \
clean-libtool mostlyclean-am
distclean: distclean-am
@@ -558,27 +613,39 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
-install-data-am: install-idirectfbvideoproviderDATA \
- install-idirectfbvideoproviderLTLIBRARIES
+install-data-am: install-icoreresourcemanagerDATA \
+ install-icoreresourcemanagerLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -599,28 +666,27 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-idirectfbvideoproviderDATA \
- uninstall-idirectfbvideoproviderLTLIBRARIES
+uninstall-am: uninstall-icoreresourcemanagerDATA \
+ uninstall-icoreresourcemanagerLTLIBRARIES
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-idirectfbvideoproviderLTLIBRARIES clean-libtool ctags \
+ clean-icoreresourcemanagerLTLIBRARIES clean-libtool ctags \
distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am \
- install-idirectfbvideoproviderDATA \
- install-idirectfbvideoproviderLTLIBRARIES install-info \
+ install-icoreresourcemanagerDATA \
+ install-icoreresourcemanagerLTLIBRARIES install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am \
- uninstall-idirectfbvideoproviderDATA \
- uninstall-idirectfbvideoproviderLTLIBRARIES
+ tags uninstall uninstall-am uninstall-icoreresourcemanagerDATA \
+ uninstall-icoreresourcemanagerLTLIBRARIES
%.o: .libs/%.a %.la
rm -f $<.tmp/*.o
@@ -631,6 +697,7 @@ uninstall-am: uninstall-idirectfbvideoproviderDATA \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/interfaces/ICoreResourceManager/icoreresourcemanager_test.c b/interfaces/ICoreResourceManager/icoreresourcemanager_test.c
new file mode 100644
index 0000000..60d2b00
--- /dev/null
+++ b/interfaces/ICoreResourceManager/icoreresourcemanager_test.c
@@ -0,0 +1,180 @@
+/*
+ (c) Copyright 2001-2008 The DirectFB Organization (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+//#define DIRECT_ENABLE_DEBUG
+
+#include <config.h>
+
+#include <stdarg.h>
+
+#include <directfb.h>
+
+#include <direct/debug.h>
+#include <direct/interface.h>
+
+#include <core/core.h>
+
+#include "icoreresourcemanager_test.h"
+#include "icoreresourcemanager_test_client.h"
+
+
+D_DEBUG_DOMAIN( ICoreResourceManager_test, "ICoreResourceManager/test", "ICoreResourceManager Interface test Implementation" );
+
+/**********************************************************************************************************************/
+
+static DirectResult
+Probe( void *ctx, ... );
+
+static DirectResult
+Construct( void *interface, ... );
+
+#include <direct/interface_implementation.h>
+
+DIRECT_INTERFACE_IMPLEMENTATION( ICoreResourceManager, test )
+
+/**********************************************************************************************************************/
+
+static void
+ICoreResourceManager_test_Destruct( ICoreResourceManager *thiz )
+{
+ ICoreResourceManager_test_data *data;
+
+ D_DEBUG_AT( ICoreResourceManager_test, "%s( %p )\n", __FUNCTION__, thiz );
+
+ D_ASSERT( thiz != NULL );
+
+ data = thiz->priv;
+
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+}
+
+static DirectResult
+ICoreResourceManager_test_AddRef( ICoreResourceManager *thiz )
+{
+ DIRECT_INTERFACE_GET_DATA(ICoreResourceManager_test)
+
+ D_DEBUG_AT( ICoreResourceManager_test, "%s( %p )\n", __FUNCTION__, thiz );
+
+ data->ref++;
+
+ return DR_OK;
+}
+
+static DirectResult
+ICoreResourceManager_test_Release( ICoreResourceManager *thiz )
+{
+ DIRECT_INTERFACE_GET_DATA(ICoreResourceManager_test)
+
+ D_DEBUG_AT( ICoreResourceManager_test, "%s( %p )\n", __FUNCTION__, thiz );
+
+ if (--data->ref == 0)
+ ICoreResourceManager_test_Destruct( thiz );
+
+ return DR_OK;
+}
+
+/**********************************************************************************************************************/
+
+static DFBResult
+ICoreResourceManager_test_CreateClient( ICoreResourceManager *thiz,
+ FusionID identity,
+ ICoreResourceClient **ret_client )
+{
+ DFBResult ret;
+ ICoreResourceClient *client;
+
+ DIRECT_INTERFACE_GET_DATA(ICoreResourceManager_test)
+
+ D_DEBUG_AT( ICoreResourceManager_test, "%s( %p )\n", __FUNCTION__, thiz );
+
+ DIRECT_ALLOCATE_INTERFACE( client, ICoreResourceClient );
+
+ ret = ICoreResourceClient_test_Construct( client, thiz, identity );
+ if (ret)
+ return ret;
+
+ *ret_client = client;
+
+ return DFB_OK;
+}
+
+/**********************************************************************************************************************/
+
+static DirectResult
+Probe( void *ctx, ... )
+{
+ D_DEBUG_AT( ICoreResourceManager_test, "%s()\n", __FUNCTION__ );
+
+ (void) ctx;
+
+ /* ... */
+
+ return DR_OK;
+}
+
+static DirectResult
+Construct( void *interface, ... )
+{
+ DirectResult ret = DR_INVARG;
+ ICoreResourceManager *thiz = interface;
+ CoreDFB *core;
+
+ DIRECT_ALLOCATE_INTERFACE_DATA(thiz, ICoreResourceManager_test)
+
+ D_DEBUG_AT( ICoreResourceManager_test, "%s( %p )\n", __FUNCTION__, thiz );
+
+ va_list tag;
+ va_start(tag, interface);
+ core = va_arg(tag, CoreDFB *);
+ va_end( tag );
+
+ /* Check arguments. */
+ if (!thiz)
+ goto error;
+
+ /* Initialize interface data. */
+ data->ref = 1;
+ data->core = core;
+
+
+ /* Initialize function pointer table. */
+ thiz->AddRef = ICoreResourceManager_test_AddRef;
+ thiz->Release = ICoreResourceManager_test_Release;
+
+ thiz->CreateClient = ICoreResourceManager_test_CreateClient;
+
+
+ return DR_OK;
+
+
+error:
+ DIRECT_DEALLOCATE_INTERFACE(thiz);
+
+ return ret;
+}
+
diff --git a/src/display/idirectfbscreen.h b/interfaces/ICoreResourceManager/icoreresourcemanager_test.h
similarity index 76%
copy from src/display/idirectfbscreen.h
copy to interfaces/ICoreResourceManager/icoreresourcemanager_test.h
index 682ee8b..a2a801a 100644
--- a/src/display/idirectfbscreen.h
+++ b/interfaces/ICoreResourceManager/icoreresourcemanager_test.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2011 The DirectFB Organization (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -26,17 +26,22 @@
Boston, MA 02111-1307, USA.
*/
-#ifndef __IDIRECTFBSCREEN_H__
-#define __IDIRECTFBSCREEN_H__
+#ifndef __ICORERESOURCEMANAGER_TEST_H__
+#define __ICORERESOURCEMANAGER_TEST_H__
#include <directfb.h>
+
#include <core/coretypes.h>
+
/*
- * initializes interface struct and private data
+ * private data struct of ICoreResourceManager_test
*/
-DFBResult IDirectFBScreen_Construct( IDirectFBScreen *thiz,
- CoreScreen *screen );
+typedef struct {
+ int ref; /* reference counter */
+
+ CoreDFB *core;
+} ICoreResourceManager_test_data;
#endif
diff --git a/interfaces/ICoreResourceManager/icoreresourcemanager_test_client.c b/interfaces/ICoreResourceManager/icoreresourcemanager_test_client.c
new file mode 100644
index 0000000..5089791
--- /dev/null
+++ b/interfaces/ICoreResourceManager/icoreresourcemanager_test_client.c
@@ -0,0 +1,239 @@
+/*
+ (c) Copyright 2001-2008 The DirectFB Organization (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+//#define DIRECT_ENABLE_DEBUG
+
+#include <config.h>
+
+#include <directfb.h>
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/interface.h>
+
+#include <fusion/fusion.h>
+
+#include <core/core.h>
+#include <core/surface.h>
+
+#include "icoreresourcemanager_test_client.h"
+
+
+D_DEBUG_DOMAIN( ICoreResourceClient_test, "ICoreResourceClient/test", "ICoreResourceClient Interface test Implementation" );
+
+/**********************************************************************************************************************/
+
+static void
+ICoreResourceClient_test_Destruct( ICoreResourceClient *thiz )
+{
+ ICoreResourceClient_test_data *data;
+
+ D_DEBUG_AT( ICoreResourceClient_test, "%s( %p )\n", __FUNCTION__, thiz );
+
+ D_ASSERT( thiz != NULL );
+
+ data = thiz->priv;
+
+ D_INFO( "ICoreResourceClient/test: Removing ID %lu\n", data->identity );
+
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+}
+
+static DirectResult
+ICoreResourceClient_test_AddRef( ICoreResourceClient *thiz )
+{
+ DIRECT_INTERFACE_GET_DATA(ICoreResourceClient_test)
+
+ D_DEBUG_AT( ICoreResourceClient_test, "%s( %p )\n", __FUNCTION__, thiz );
+
+ data->ref++;
+
+ return DR_OK;
+}
+
+static DirectResult
+ICoreResourceClient_test_Release( ICoreResourceClient *thiz )
+{
+ DIRECT_INTERFACE_GET_DATA(ICoreResourceClient_test)
+
+ D_DEBUG_AT( ICoreResourceClient_test, "%s( %p )\n", __FUNCTION__, thiz );
+
+ if (--data->ref == 0)
+ ICoreResourceClient_test_Destruct( thiz );
+
+ return DR_OK;
+}
+
+/**********************************************************************************************************************/
+
+static inline unsigned int
+surface_mem( const CoreSurfaceConfig *config )
+{
+ unsigned int mem;
+
+ mem = DFB_PLANE_MULTIPLY( config->format, config->size.h ) *
+ DFB_BYTES_PER_LINE( config->format, config->size.w );
+
+ if (config->caps & DSCAPS_TRIPLE)
+ mem *= 3;
+ else if (config->caps & DSCAPS_DOUBLE)
+ mem *= 2;
+
+ return mem;
+}
+
+static DFBResult
+ICoreResourceClient_test_CheckSurface( ICoreResourceClient *thiz,
+ const CoreSurfaceConfig *config,
+ CoreSurfaceTypeFlags type,
+ u64 resource_id,
+ CorePalette *palette )
+{
+ DIRECT_INTERFACE_GET_DATA(ICoreResourceClient_test)
+
+ D_DEBUG_AT( ICoreResourceClient_test, "%s( %p [%lu] )\n", __FUNCTION__, thiz, data->identity );
+
+ D_INFO( "ICoreResourceClient/test: Check surface %dx%d %s %uk (ID %lu, at %uk)\n", config->size.w, config->size.h,
+ dfb_pixelformat_name( config->format ), surface_mem( config ) / 1024, data->identity, data->surface_mem / 1024 );
+
+ if (data->surface_mem > 1024 * 1024) {
+ // return DFB_LIMITEXCEEDED;
+ }
+
+ return DFB_OK;
+}
+
+static DFBResult
+ICoreResourceClient_test_CheckSurfaceUpdate( ICoreResourceClient *thiz,
+ CoreSurface *surface,
+ const CoreSurfaceConfig *config )
+{
+ unsigned int mem;
+
+ DIRECT_INTERFACE_GET_DATA(ICoreResourceClient_test)
+
+ D_DEBUG_AT( ICoreResourceClient_test, "%s( %p [%lu] )\n", __FUNCTION__, thiz, data->identity );
+
+ mem = surface_mem( &surface->config );
+
+ D_DEBUG_AT( ICoreResourceClient_test, " -> %u bytes\n", mem );
+
+ return DFB_OK;
+}
+
+static DFBResult
+ICoreResourceClient_test_AddSurface( ICoreResourceClient *thiz,
+ CoreSurface *surface )
+{
+ unsigned int mem;
+
+ DIRECT_INTERFACE_GET_DATA(ICoreResourceClient_test)
+
+ D_DEBUG_AT( ICoreResourceClient_test, "%s( %p [%lu] )\n", __FUNCTION__, thiz, data->identity );
+
+ mem = surface_mem( &surface->config );
+
+ D_DEBUG_AT( ICoreResourceClient_test, " -> %u bytes\n", mem );
+
+ data->surface_mem += mem;
+
+ return DFB_OK;
+}
+
+static DFBResult
+ICoreResourceClient_test_RemoveSurface( ICoreResourceClient *thiz,
+ CoreSurface *surface )
+{
+ unsigned int mem;
+
+ DIRECT_INTERFACE_GET_DATA(ICoreResourceClient_test)
+
+ D_DEBUG_AT( ICoreResourceClient_test, "%s( %p [%lu] )\n", __FUNCTION__, thiz, data->identity );
+
+ mem = surface_mem( &surface->config );
+
+ D_DEBUG_AT( ICoreResourceClient_test, " -> %u bytes\n", mem );
+
+ data->surface_mem -= mem;
+
+ return DFB_OK;
+}
+
+static DFBResult
+ICoreResourceClient_test_UpdateSurface( ICoreResourceClient *thiz,
+ CoreSurface *surface,
+ const CoreSurfaceConfig *config )
+{
+ DIRECT_INTERFACE_GET_DATA(ICoreResourceClient_test)
+
+ D_DEBUG_AT( ICoreResourceClient_test, "%s( %p [%lu] )\n", __FUNCTION__, thiz, data->identity );
+
+ data->surface_mem -= surface_mem( &surface->config );
+ data->surface_mem += surface_mem( config );
+
+ return DFB_OK;
+}
+
+/**********************************************************************************************************************/
+
+DirectResult
+ICoreResourceClient_test_Construct( ICoreResourceClient *thiz,
+ ICoreResourceManager *manager,
+ FusionID identity )
+{
+ char buf[512] = { 0 };
+ size_t len;
+
+ DIRECT_ALLOCATE_INTERFACE_DATA(thiz, ICoreResourceClient_test)
+
+ D_DEBUG_AT( ICoreResourceClient_test, "%s( %p )\n", __FUNCTION__, thiz );
+
+ fusion_get_fusionee_path( core_dfb->world, identity, buf, 512, &len );
+
+ D_INFO( "ICoreResourceClient/test: Adding ID %lu - '%s'\n", identity, buf );
+
+ /* Initialize interface data. */
+ data->ref = 1;
+ data->manager = manager;
+ data->identity = identity;
+
+
+ /* Initialize function pointer table. */
+ thiz->AddRef = ICoreResourceClient_test_AddRef;
+ thiz->Release = ICoreResourceClient_test_Release;
+
+ thiz->CheckSurface = ICoreResourceClient_test_CheckSurface;
+ thiz->CheckSurfaceUpdate = ICoreResourceClient_test_CheckSurfaceUpdate;
+ thiz->AddSurface = ICoreResourceClient_test_AddSurface;
+ thiz->RemoveSurface = ICoreResourceClient_test_RemoveSurface;
+ thiz->UpdateSurface = ICoreResourceClient_test_UpdateSurface;
+
+
+ return DR_OK;
+}
+
diff --git a/proxy/requestor/idirectfbeventbuffer_requestor.h b/interfaces/ICoreResourceManager/icoreresourcemanager_test_client.h
similarity index 60%
copy from proxy/requestor/idirectfbeventbuffer_requestor.h
copy to interfaces/ICoreResourceManager/icoreresourcemanager_test_client.h
index 001732a..d605999 100644
--- a/proxy/requestor/idirectfbeventbuffer_requestor.h
+++ b/interfaces/ICoreResourceManager/icoreresourcemanager_test_client.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2011 The DirectFB Organization (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -26,29 +26,30 @@
Boston, MA 02111-1307, USA.
*/
-#ifndef __IDIRECTFBEVENTBUFFER_REQUESTOR_H__
-#define __IDIRECTFBEVENTBUFFER_REQUESTOR_H__
-
-#include <direct/types.h>
-#include <voodoo/types.h>
+#ifndef __ICORERESOURCEMANAGER_TEST_CLIENT_H__
+#define __ICORERESOURCEMANAGER_TEST_CLIENT_H__
#include <directfb.h>
+#include <core/core.h>
+
+#include "icoreresourcemanager_test.h"
+
/*
- * private data struct of IDirectFBEventBuffer_Requestor
+ * private data struct of ICoreResourceClient_test
*/
typedef struct {
- int ref; /* reference counter */
+ int ref; /* reference counter */
- VoodooManager *manager;
- VoodooInstanceID instance;
+ ICoreResourceManager *manager;
+ FusionID identity;
- IDirectFBEventBuffer *src;
- IDirectFBEventBuffer *dst;
+ unsigned int surface_mem;
+} ICoreResourceClient_test_data;
- bool stop;
- DirectThread *thread;
-} IDirectFBEventBuffer_Requestor_data;
+DirectResult ICoreResourceClient_test_Construct( ICoreResourceClient *thiz,
+ ICoreResourceManager *manager,
+ FusionID identity );
-#endif
+#endif
diff --git a/interfaces/IDirectFBFont/Makefile.am b/interfaces/IDirectFBFont/Makefile.am
index 84ebbad..8e6adc4 100644
--- a/interfaces/IDirectFBFont/Makefile.am
+++ b/interfaces/IDirectFBFont/Makefile.am
@@ -8,19 +8,26 @@ else
FREETYPE_PROVIDER_LTLIB =
endif
+if LINOTYPE_PROVIDER
+LINOTYPE_PROVIDER_LTLIB = libidirectfbfont_lino.la
+else
+LINOTYPE_PROVIDER_LTLIB =
+endif
+
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\"
-AM_CFLAGS = $(FREETYPE_CFLAGS)
+AM_CFLAGS = $(FREETYPE_CFLAGS) $(LINOTYPE_CFLAGS)
idirectfbfont_LTLIBRARIES = \
- libidirectfbfont_default.la \
$(FREETYPE_PROVIDER_LTLIB) \
+ $(LINOTYPE_PROVIDER_LTLIB) \
libidirectfbfont_dgiff.la
if BUILD_STATIC
@@ -28,15 +35,6 @@ idirectfbfont_DATA = $(idirectfbfont_LTLIBRARIES:.la=.o)
endif
-libidirectfbfont_default_la_SOURCES = idirectfbfont_default.c default_font.h
-
-libidirectfbfont_default_la_LDFLAGS = -avoid-version -module
-
-libidirectfbfont_default_la_LIBADD = \
- $(top_builddir)/lib/direct/libdirect.la \
- $(top_builddir)/src/libdirectfb.la
-
-
libidirectfbfont_dgiff_la_SOURCES = idirectfbfont_dgiff.c
libidirectfbfont_dgiff_la_LDFLAGS = -avoid-version -module
@@ -52,9 +50,20 @@ libidirectfbfont_ft2_la_SOURCES = idirectfbfont_ft2.c
libidirectfbfont_ft2_la_LIBADD = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la \
- $(FREETYPE_LIBS)
+ $(FREETYPE_LIBS) \
+ $(LIBM)
libidirectfbfont_ft2_la_LDFLAGS = -avoid-version -module
+libidirectfbfont_lino_la_SOURCES = idirectfbfont_lino.c
+
+libidirectfbfont_lino_la_LIBADD = \
+ $(top_builddir)/lib/direct/libdirect.la \
+ $(top_builddir)/src/libdirectfb.la \
+ $(LINOTYPE_LIBS)
+
+libidirectfbfont_lino_la_LDFLAGS = -avoid-version -module
+
+
include $(top_srcdir)/rules/libobject.make
diff --git a/interfaces/IDirectFBFont/Makefile.in b/interfaces/IDirectFBFont/Makefile.in
index 014dd28..1b00ae5 100644
--- a/interfaces/IDirectFBFont/Makefile.in
+++ b/interfaces/IDirectFBFont/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,26 +47,37 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(idirectfbfontdir)" \
"$(DESTDIR)$(idirectfbfontdir)"
-idirectfbfontLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(idirectfbfont_LTLIBRARIES)
-libidirectfbfont_default_la_DEPENDENCIES = \
- $(top_builddir)/lib/direct/libdirect.la \
- $(top_builddir)/src/libdirectfb.la
-am_libidirectfbfont_default_la_OBJECTS = idirectfbfont_default.lo
-libidirectfbfont_default_la_OBJECTS = \
- $(am_libidirectfbfont_default_la_OBJECTS)
-libidirectfbfont_default_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) $(libidirectfbfont_default_la_LDFLAGS) \
- $(LDFLAGS) -o $@
libidirectfbfont_dgiff_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/lib/fusion/libfusion.la \
@@ -72,47 +85,78 @@ libidirectfbfont_dgiff_la_DEPENDENCIES = \
am_libidirectfbfont_dgiff_la_OBJECTS = idirectfbfont_dgiff.lo
libidirectfbfont_dgiff_la_OBJECTS = \
$(am_libidirectfbfont_dgiff_la_OBJECTS)
-libidirectfbfont_dgiff_la_LINK = $(LIBTOOL) --tag=CC \
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libidirectfbfont_dgiff_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) $(libidirectfbfont_dgiff_la_LDFLAGS) \
$(LDFLAGS) -o $@
am__DEPENDENCIES_1 =
libidirectfbfont_ft2_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
- $(top_builddir)/src/libdirectfb.la $(am__DEPENDENCIES_1)
+ $(top_builddir)/src/libdirectfb.la $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1)
am_libidirectfbfont_ft2_la_OBJECTS = idirectfbfont_ft2.lo
libidirectfbfont_ft2_la_OBJECTS = \
$(am_libidirectfbfont_ft2_la_OBJECTS)
-libidirectfbfont_ft2_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libidirectfbfont_ft2_la_LDFLAGS) $(LDFLAGS) -o $@
+libidirectfbfont_ft2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libidirectfbfont_ft2_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
@FREETYPE_PROVIDER_TRUE at am_libidirectfbfont_ft2_la_rpath = -rpath \
@FREETYPE_PROVIDER_TRUE@ $(idirectfbfontdir)
+libidirectfbfont_lino_la_DEPENDENCIES = \
+ $(top_builddir)/lib/direct/libdirect.la \
+ $(top_builddir)/src/libdirectfb.la $(am__DEPENDENCIES_1)
+am_libidirectfbfont_lino_la_OBJECTS = idirectfbfont_lino.lo
+libidirectfbfont_lino_la_OBJECTS = \
+ $(am_libidirectfbfont_lino_la_OBJECTS)
+libidirectfbfont_lino_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libidirectfbfont_lino_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+ at LINOTYPE_PROVIDER_TRUE@am_libidirectfbfont_lino_la_rpath = -rpath \
+ at LINOTYPE_PROVIDER_TRUE@ $(idirectfbfontdir)
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(libidirectfbfont_default_la_SOURCES) \
- $(libidirectfbfont_dgiff_la_SOURCES) \
- $(libidirectfbfont_ft2_la_SOURCES)
-DIST_SOURCES = $(libidirectfbfont_default_la_SOURCES) \
- $(libidirectfbfont_dgiff_la_SOURCES) \
- $(libidirectfbfont_ft2_la_SOURCES)
-idirectfbfontDATA_INSTALL = $(INSTALL_DATA)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+SOURCES = $(libidirectfbfont_dgiff_la_SOURCES) \
+ $(libidirectfbfont_ft2_la_SOURCES) \
+ $(libidirectfbfont_lino_la_SOURCES)
+DIST_SOURCES = $(libidirectfbfont_dgiff_la_SOURCES) \
+ $(libidirectfbfont_ft2_la_SOURCES) \
+ $(libidirectfbfont_lino_la_SOURCES)
DATA = $(idirectfbfont_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -136,11 +180,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -154,16 +201,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -184,12 +232,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -200,21 +251,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -222,6 +281,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -235,6 +298,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -242,9 +306,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -291,32 +356,30 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
idirectfbfontdir = $(MODULEDIR)/interfaces/IDirectFBFont
@FREETYPE_PROVIDER_FALSE at FREETYPE_PROVIDER_LTLIB =
@FREETYPE_PROVIDER_TRUE at FREETYPE_PROVIDER_LTLIB = libidirectfbfont_ft2.la
+ at LINOTYPE_PROVIDER_FALSE@LINOTYPE_PROVIDER_LTLIB =
+ at LINOTYPE_PROVIDER_TRUE@LINOTYPE_PROVIDER_LTLIB = libidirectfbfont_lino.la
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\"
-AM_CFLAGS = $(FREETYPE_CFLAGS)
+AM_CFLAGS = $(FREETYPE_CFLAGS) $(LINOTYPE_CFLAGS)
idirectfbfont_LTLIBRARIES = \
- libidirectfbfont_default.la \
$(FREETYPE_PROVIDER_LTLIB) \
+ $(LINOTYPE_PROVIDER_LTLIB) \
libidirectfbfont_dgiff.la
@BUILD_STATIC_TRUE at idirectfbfont_DATA = $(idirectfbfont_LTLIBRARIES:.la=.o)
-libidirectfbfont_default_la_SOURCES = idirectfbfont_default.c default_font.h
-libidirectfbfont_default_la_LDFLAGS = -avoid-version -module
-libidirectfbfont_default_la_LIBADD = \
- $(top_builddir)/lib/direct/libdirect.la \
- $(top_builddir)/src/libdirectfb.la
-
libidirectfbfont_dgiff_la_SOURCES = idirectfbfont_dgiff.c
libidirectfbfont_dgiff_la_LDFLAGS = -avoid-version -module
libidirectfbfont_dgiff_la_LIBADD = \
@@ -328,9 +391,17 @@ libidirectfbfont_ft2_la_SOURCES = idirectfbfont_ft2.c
libidirectfbfont_ft2_la_LIBADD = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/src/libdirectfb.la \
- $(FREETYPE_LIBS)
+ $(FREETYPE_LIBS) \
+ $(LIBM)
libidirectfbfont_ft2_la_LDFLAGS = -avoid-version -module
+libidirectfbfont_lino_la_SOURCES = idirectfbfont_lino.c
+libidirectfbfont_lino_la_LIBADD = \
+ $(top_builddir)/lib/direct/libdirect.la \
+ $(top_builddir)/src/libdirectfb.la \
+ $(LINOTYPE_LIBS)
+
+libidirectfbfont_lino_la_LDFLAGS = -avoid-version -module
all: all-am
.SUFFIXES:
@@ -339,14 +410,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu interfaces/IDirectFBFont/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu interfaces/IDirectFBFont/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu interfaces/IDirectFBFont/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu interfaces/IDirectFBFont/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -356,6 +427,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -364,23 +436,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-idirectfbfontLTLIBRARIES: $(idirectfbfont_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbfontdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbfontdir)"
- @list='$(idirectfbfont_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbfont_LTLIBRARIES)'; test -n "$(idirectfbfontdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbfontLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbfontdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbfontLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbfontdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbfontdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbfontdir)"; \
+ }
uninstall-idirectfbfontLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbfont_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbfontdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbfontdir)/$$p"; \
+ @list='$(idirectfbfont_LTLIBRARIES)'; test -n "$(idirectfbfontdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbfontdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbfontdir)/$$f"; \
done
clean-idirectfbfontLTLIBRARIES:
@@ -391,12 +468,12 @@ clean-idirectfbfontLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libidirectfbfont_default.la: $(libidirectfbfont_default_la_OBJECTS) $(libidirectfbfont_default_la_DEPENDENCIES)
- $(libidirectfbfont_default_la_LINK) -rpath $(idirectfbfontdir) $(libidirectfbfont_default_la_OBJECTS) $(libidirectfbfont_default_la_LIBADD) $(LIBS)
-libidirectfbfont_dgiff.la: $(libidirectfbfont_dgiff_la_OBJECTS) $(libidirectfbfont_dgiff_la_DEPENDENCIES)
- $(libidirectfbfont_dgiff_la_LINK) -rpath $(idirectfbfontdir) $(libidirectfbfont_dgiff_la_OBJECTS) $(libidirectfbfont_dgiff_la_LIBADD) $(LIBS)
-libidirectfbfont_ft2.la: $(libidirectfbfont_ft2_la_OBJECTS) $(libidirectfbfont_ft2_la_DEPENDENCIES)
- $(libidirectfbfont_ft2_la_LINK) $(am_libidirectfbfont_ft2_la_rpath) $(libidirectfbfont_ft2_la_OBJECTS) $(libidirectfbfont_ft2_la_LIBADD) $(LIBS)
+libidirectfbfont_dgiff.la: $(libidirectfbfont_dgiff_la_OBJECTS) $(libidirectfbfont_dgiff_la_DEPENDENCIES) $(EXTRA_libidirectfbfont_dgiff_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbfont_dgiff_la_LINK) -rpath $(idirectfbfontdir) $(libidirectfbfont_dgiff_la_OBJECTS) $(libidirectfbfont_dgiff_la_LIBADD) $(LIBS)
+libidirectfbfont_ft2.la: $(libidirectfbfont_ft2_la_OBJECTS) $(libidirectfbfont_ft2_la_DEPENDENCIES) $(EXTRA_libidirectfbfont_ft2_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbfont_ft2_la_LINK) $(am_libidirectfbfont_ft2_la_rpath) $(libidirectfbfont_ft2_la_OBJECTS) $(libidirectfbfont_ft2_la_LIBADD) $(LIBS)
+libidirectfbfont_lino.la: $(libidirectfbfont_lino_la_OBJECTS) $(libidirectfbfont_lino_la_DEPENDENCIES) $(EXTRA_libidirectfbfont_lino_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbfont_lino_la_LINK) $(am_libidirectfbfont_lino_la_rpath) $(libidirectfbfont_lino_la_OBJECTS) $(libidirectfbfont_lino_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -404,30 +481,30 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbfont_default.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbfont_dgiff.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbfont_ft2.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbfont_lino.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -437,34 +514,35 @@ clean-libtool:
install-idirectfbfontDATA: $(idirectfbfont_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbfontdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbfontdir)"
- @list='$(idirectfbfont_DATA)'; for p in $$list; do \
+ @list='$(idirectfbfont_DATA)'; test -n "$(idirectfbfontdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbfontDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbfontdir)/$$f'"; \
- $(idirectfbfontDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbfontdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbfontdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbfontdir)" || exit $$?; \
done
uninstall-idirectfbfontDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbfont_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbfontdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbfontdir)/$$f"; \
- done
+ @list='$(idirectfbfont_DATA)'; test -n "$(idirectfbfontdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbfontdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -472,29 +550,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -515,13 +598,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -542,16 +629,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -573,6 +666,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -582,18 +677,28 @@ install-data-am: install-idirectfbfontDATA \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -644,6 +749,7 @@ uninstall-am: uninstall-idirectfbfontDATA \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/interfaces/IDirectFBFont/default_font.h b/interfaces/IDirectFBFont/default_font.h
deleted file mode 100644
index a0c953d..0000000
--- a/interfaces/IDirectFBFont/default_font.h
+++ /dev/null
@@ -1,623 +0,0 @@
-/* DirectFB surface dump created by directfb-csource 0.9.17 */
-
-static unsigned char font_data[] =
- "\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\377"
- "\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\377\0\0"
- "\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\377\0\0\0\0\0\377"
- "\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\377\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0"
- "\0\377\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0"
- "\0\377\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0"
- "\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\0\377\0\0"
- "\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\377\0\0\0"
- "\0\0\0\0\0\377\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\377"
- "\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\377\0\0\0\0\377"
- "\0\0\0\0\377\0\0\0\0\0\0\0\0\377\0\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0"
- "\377\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\377"
- "\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\377\0\0\0\0\0\0\377\0\0\0\0\0\377\0"
- "\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0"
- "\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\377\0\0\0\0\0\0\0"
- "\0\377\0\0\0\0\0\0\377\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\377\0\0\0\0\0"
- "\0\0\0\0\377\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\377"
- "\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\377\0\0\0\0"
- "\377\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\377\0\0\0\0\377"
- "\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\377\0\0\0\0\0\0"
- "\0\0\0\0\0\377\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\377\0\0\0\0\377\0"
- "\0\0\0\377\0\0\377\0\0\0\0\377\0\0\0\377\0\0\0\0\377\0\0\0\0\0\0\0\0"
- "\0\0\377\0\0\0\0\0\0\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\0\0\377\0\0"
- "\0\0\0\0\377\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\377"
- "\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""8U8\0\34UUU\34\34"
- "UUU\34""8U\34\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0""8U\34\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0UU\0\0\0\0"
- "\0\0\0\0\0\0\0\0""8U8\0\0\0\0\0\0\0\0\0\0""8U\34\0\0\0\0\0\0\0""88\0"
- "\0\0\34U\0\0\0UU\0\0\0\0\0\0\34U8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\34U8\0UU\0\0\0\0\0\0\377\252\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\34U\34\0\0qU\0\0"
- "\215U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\34U8\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\377U\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\377\377\252\0U"
- "\377\377\377UU\377\377\377U\252\377\3778\0\0\0""8U\0\0\0\0\0\0\2158\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""8U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\34U8\0\0\0\0""8\252\2528\0\0\0\0\0q\252\252\252"
- "\252\2528\0\0\0\0\0\0""8\215\252\252U\0\0""8\252\252\252\252\2158\0\0"
- "\0\0""8\252\252\252\252\252\252q\0\0q\252\252\252\252\252\252\0\0\0\0"
- "8\215\252\252q\34\0\0\0\252\252\0\0\0\0q\2528\0\0""8\252q\0\0\0\252\252"
- "\0\0\0q\2528\0\0\34\252\2528\0q\2528\0\0\0\0\0\0\252\252q\0\0\0\0q\252"
- "\252\0\0\0""8\252\252U\0\0\0""8\252q\0\0\0\0U\252\252\2158\0\0\0\0""8"
- "\252\252\252\252\215\34\0\0\0\0\0U\252\252\2158\0\0\0\0""8\252\252\252"
- "\252\252U\0\0\0\0\0\34\215\252\252q\34\0q\252\252\252\252\252\252\252"
- "\252\0q\2528\0\0\0\0\252\252\0\0\252\2528\0\0\0\0""8\252q\0\252\2528"
- "\0\0\0\252\252\215\0\0\0U\252q\0\252\252U\0\0\0\0\215\25288\252\252\34"
- "\0\0\0""8\252\252\0q\252\252\252\252\252\252q\0\0\0\0\0\0\0\0\0\0\0\252"
- "\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\0\0\0\0\0\0\0\0"
- "\0\0\215\377\377\377U\0\0\0\0\0\0\0\0\0\252\377U\0\0\0\0\0\0""8\377\377"
- "8\0\0\342\377\215\0\0\377\377\0\0\0\0\0\0U\377\252\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0UU\34\0\0\0\0\0\0\0\0\0\0\0\0\34UU\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0U\377\252\0\0U\377\252\0\377\377\0\0\0\0\0\34\377"
- "\306\34\0\0\0\0\0\0UU\0\0\0\0\0\342\252\0\0\0\0\0\0\0\0\0U\252\252q\0"
- "\0\0\0\0\0\0\0\0q\3778\0\34\377\252\0\0\342\306\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\34\215\342\377\342U\0\0\0\0\0\0\306\377\342\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377U8\0U\377\215U\34\34"
- "U\215\377U8q\377\252\0\0\0\252\377\34\0\0\0\0""8\377\377\215\34\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\252\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\252U\0\34\2528\0\0U\377\252\0\0\0\0\252\377\377\252\0\0\0\0\0\252\377"
- "\377\377\377\377\377\252\0\0\0\0\252\377\377\377\377\377\34\0U\377\377"
- "\377\377\377\377\252\0\0\0U\377\377\377\377\377\377\252\0\0\252\377\377"
- "\377\377\377\377\0\0\0\252\377\377\377\377\377\377\0\0\0\377\377\0\0"
- "\0\0\252\377U\0\0U\377\252\0\0\0\377\377\0\0\0\252\377U\0\0\306\377\306"
- "\0\0\252\377U\0\0\0\0\0\0\377\377\342\0\0\0\0\342\377\377\0\0\0U\377"
- "\377\342\0\0\0U\377\252\0\0\0\252\377\377\377\377\377U\0\0\0U\377\377"
- "\377\377\377\377U\0\0\0\252\377\377\377\377\377U\0\0\0U\377\377\377\377"
- "\377\377\342\0\0\0U\377\377\377\377\377\215\0\252\377\377\377\377\377"
- "\377\377\377\0\252\377U\0\0\0\0\377\377\0\0\306\377\215\0\0\0\0\215\377"
- "\252\0\342\377U\0\0""8\377\377\377\0\0\0\252\377q\0q\377\377\34\0\0q"
- "\377\342\0\0\342\377\215\0\0\0\252\377\252\0\252\377\377\377\377\377"
- "\377\252\0\0\0\0\0\0\0\0\0\0\0\252\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\377\377\0\0\0\0\0\0\0\0\0\0\0\377\377q\215\34\0\0\0\0\0\0\0"
- "\0\0\252\377U\0\0\0\0\0\0""8\377\3778\0\0\342\377\215\0\0\377\377\0\0"
- "\0\0\0\0U\377\252\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0U\252\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\377\377\377\377\0\0\0\0\0\0"
- "\0\0\0\0\0\215\377\377\377\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0U\377\252\0\0""8\377\252\0\377\342\0\0\0\34\306\377\377\377\377\342"
- "\0\0\0\34\342\377\377\342\34\0\0""8\377\215\0\0\0\0\0\0\0\0\252\377\377"
- "\377\377\252\0\0\0\0\0\0\0\0\306\377\0\0\215\377U\0\0\215\3778\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0""8\377\342\252\377\3778\0\0\0\0""8\377\342\377q"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\377U\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\252\0\0"
- "\0U\377U\0\0\0\0U\377U\0\0\377\252\0\0\0U\377q\0\0\0\0\0U\306\377\342"
- "8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\252\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0U\377q\0U\377U\0\0""8\377\252\0\0\0\0\377\342\377\377\0\0\0\0\0\252"
- "\377U\0\0U\377\377\34\0\0\215\377\3068\0""8q\0\0U\377\252\0\0""8\342"
- "\377q\0\0U\377\252\0\0\0\0\0\0\0\252\377U\0\0\0\0\0\0\215\377\3068\0"
- "\34qq\0\0\0\377\377\0\0\0\0\252\377U\0\0U\377\252\0\0\0\377\377\0\0\0"
- "\252\377U\0q\377\342\34\0\0\252\377U\0\0\0\0\0\34\377\377\377\34\0\0"
- "\34\377\377\3778\0\0U\377\342\377U\0\0U\377\252\0\0q\377\252\34\0U\377"
- "\377\34\0\0U\377\252\0\0U\377\377\0\0q\377\252\34\0U\377\377\34\0\0U"
- "\377\252\0\0\34\342\377q\0\34\377\3778\0\34q8\0\0\0\0U\377\252\0\0\0"
- "\0\252\377U\0\0\0\0\377\377\0\0q\377\306\0\0\0\0\306\377U\0\252\377\252"
- "\0\0U\377\306\3778\0\0\306\377U\0\0\342\377\215\0\0\342\3778\0\0q\377"
- "\342\0\0\0\377\3778\0\0\0\0\0\0q\377U\0\0\0\0\0\0\0\0\0\0\0\252\377U"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\0\0\0\0\0\0\0\0\0\0"
- "\377\377\0\0\0\0\0\0\0\0\0\0\0\0\252\377U\0\0\0\0\0\0\0""88\0\0\0\34"
- "U\0\0\0\377\377\0\0\0\0\0\0U\377\252\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""8U8\0\0\0\0\0\0\0""8\0\0\0\0""8U8\0"
- "\0\0\0\0""8UU\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\377\342"
- "qq\215\0\0\0\0\0\0\0\0\0\0q\377\342Uq\377\377\34\0\0\0\0UU\34\0\0\0\0"
- "\0\0UU\34\0\0\0\0U\377\252\0\0\0\377\252\0\377\252\0\0\0\342\377\306"
- "\377\342\252\377\0\0\0\215\377qq\377\252\0\0\215\3778\0\0\0\0\0\0\0""8"
- "\377\342\34\34\342\3778\0\0\0\0\0\0\0\377\252\0\0\342\377\0\0\0U\377"
- "\215\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\34\0q\377\252\0\0\0\0\306\3778\377"
- "\342\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\377U\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\252"
- "\0\0\0U\377U\0\0\0\0U\377U\0\0\377\252\0\0\0\0\377\252\0\0\0\0\0\0\0"
- "8\252\0\0\0\0\0\0\0\0\0\0\0\0\215\342\215\306\377\215\342\215\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0U\377U\0U\377\34\0\0\0\377\252\0\0\0""8\377\252\252"
- "\377U\0\0\0\0\252\377U\0\0\0\252\377U\0\34\377\377\34\0\0\0\0\0\0U\377"
- "\252\0\0\0""8\377\342\0\0U\377\252\0\0\0\0\0\0\0\252\377U\0\0\0\0\0\34"
- "\377\377\34\0\0\0\0\0\0\0\0\377\377\0\0\0\0\252\377U\0\0U\377\252\0\0"
- "\0\377\377\0\0\0\252\377U\34\342\377U\0\0\0\252\377U\0\0\0\0\0U\377\306"
- "\377U\0\0U\377\342\377U\0\0U\377\252\377\306\0\0U\377\252\0\0\342\377"
- "\34\0\0\0q\377\215\0\0U\377\252\0\0\0\306\377U\0\342\377\34\0\0\0q\377"
- "\215\0\0U\377\252\0\0\0U\377\252\0U\377\252\0\0\0\0\0\0\0\0\0U\377\252"
- "\0\0\0\0\252\377U\0\0\0\0\377\377\0\0""8\377\377\0\0\0\0\377\377\0\0"
- "\215\377\252\0\0\252\377q\377U\0\0\377\377\34\0\0U\377\377\34q\377\306"
- "\0\0\0\34\377\3778\0q\377\306\0\0\0\0\0\0\34\377\306\0\0\0\0\0\0\0\0"
- "\0\0\0\0\252\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\0\0"
- "\0\0\0\0\0\0\0\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\252\377U\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\377\377\0\0\0\0\0\0U\377\252\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\252\377\377\377\306\34\0"
- "\0\34q\342\252\0\0U\342\377\377\377\306\34\0""8\342\377\377\377\342U"
- "\0\0\0\0""8\377\252\0\0\0\0U\377\377\377\377\377\252\0\0\0\342\377\34"
- "\0\0\0\0U\377\377\377\377\377\377\3778\252\377U\0\0\306\377U\0\0U\377"
- "\377\377\377\215\0\0\0\34\342\377\377\377\215\0\0\0U\377\252\0\0\0\377"
- "\252\0\377\252\0\0U\377\306\0\377\252\0\0\0\0\0\377\306\0\0\306\377\0"
- "\0\306\377\0\0\0\0\0\0\0\0U\377\252\0\0\252\377U\0\0\0\0\0\0U\377U\0"
- "\34\377\252\0\0\0\0\377\342\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\377\252"
- "\0\0\0""8\377\215\0\215\377q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0U\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\377\252\0\0\0U\377U\0\0\0\0U\377U\0\0\377\252\0\0\0\0"
- "\306\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""8\215\342\377\377"
- "\306q\34\0\0\0\0\0\0\0\0\0\0\0\0\0\0\215\3778\0\252\377\0\0\0\0\377\252"
- "\0\0\0\215\377Uq\377\215\0\0\0\0\252\377U\0\0\0\252\3778\0U\377\252\0"
- "\0\0\0\0\0\0U\377\252\0\0\0\0\377\377\34\0U\377\252\0\0\0\0\0\0\0\252"
- "\377U\0\0\0\0\0U\377\252\0\0\0\0\0\0\0\0\0\377\377\0\0\0\0\252\377U\0"
- "\0U\377\252\0\0\0\377\377\0\0\0\252\377U\252\377\252\0\0\0\0\252\377"
- "U\0\0\0\0\0U\377\252\377\252\0\0\252\377\252\377U\0\0U\377\252\306\377"
- "\34\0U\377\252\0\34\377\342\0\0\0\0""8\377\306\0\0U\377\252\0\0\0\252"
- "\377U\34\377\342\0\0\0\0""8\377\306\0\0U\377\252\0\0\0q\377\215\0U\377"
- "\342\34\0\0\0\0\0\0\0\0U\377\252\0\0\0\0\252\377U\0\0\0\0\377\377\0\0"
- "\0\342\377U\0\0U\377\306\0\0U\377\342\0\0\306\3778\377\215\0\0\377\377"
- "\0\0\0\0\306\377\215\342\377\34\0\0\0\0\215\377\252\0\306\3778\0\0\0"
- "\0\0\0\306\3778\0\0\0""8\306\377\377\342U\0\0\0\252\377q\306\377\306"
- "8\0\0\0\34\252\377\377\306\0\0\34\252\377\342U\377\377\0\0\0q\342\377"
- "\342U\0U\377\377\377\377\377\0\0q\342\377\377\377\377\215\0\252\377q"
- "\215\377\377U\0\0\0\377\377\0\0\0\252\377U\0\0\377\377\0\0\342\377\215"
- "\0U\377\252\0\0U\377Uq\377\377\215\34\306\377\342U\0\0U\377Uq\342\377"
- "\252\0\0\0\0q\342\377\342q\0\0\0\252\377\34\306\377\342U\0\0\0U\342\377"
- "\306\34\377\252\0\0\377\252U\342\3778\0\215\377\377\342qU\377\377\377"
- "\377\252\0U\377\252\0\0U\377\252\0\252\377\215\0\0\34\377\377U\377\342"
- "\0\0""8\377\377U\0\0\252\377U\215\377\306\0\0U\377\342\0\377\3778\0\0"
- "8\377\306\0\377\377\377\377\377\377\0\0\215\377\306U\252\377\215\0q\377"
- "\377\377\252\0\0q\377\215U\306\377\215\0\34\377\215U\215\377\342\0\0"
- "\0\0\215\3778\0\0\0\0U\377\306\252\252\252q\0\0""8\377\252\0\0\0\0\0"
- "8\252\252\252\252\252\377\377\0\252\377q\0\0\306\377U\0\34\377\377qU"
- "\342\3778\0\0\342\377\215U\342\3778\0\0""8\377\252\0\0\0\0\0\0\0\0\0"
- "\0U\377\252\0\377\252\0\0\0\0\0\377\252\0\0\252\377\0\34\377\252\0\0"
- "\0\0\0\0\0\0""8\377\342\0\0\342\377\34\0\0\0\0\0\0\252\377\34\0U\377"
- "\252\0\0\0\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\342\377q\0\0\0"
- "\306\377\34\0\34\377\342\0\0\0\0\0\0\0\0""8\252\252\0U\3068\0\0\0\0\0"
- "\0\0U\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\377\252\0\0\0U\377U\0\0\0\0U\377U\0\0\377\252\0\0\0\0"
- "q\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\34U\34\0\0\0\0\0\0q\377\377U\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\252\377\377\377\377\377\377\377\377\377\0\0\0\0"
- "\0\0\0\306\37788\377\342\0\0\0\0\252\377U\0\0U\377\252\0\0\252\377U\0"
- "\0\0\0\0\0\0U\377\252\0\0\0\0\252\377U\0U\377\306UUUU\0\0\0\252\377U"
- "\0\0\0\0\0\252\377U\0\0\0\0\0\0\0\0\0\377\377UUUU\306\377U\0\0U\377\252"
- "\0\0\0\377\377\0\0\0\252\377\252\377\342\34\0\0\0\0\252\377U\0\0\0\0"
- "\0U\377\252\306\342\0\0\342\342\252\377U\0\0U\377\252U\377\215\0U\377"
- "\252\0U\377\252\0\0\0\0\0\377\377\0\0U\377\252\0\0\0\342\3778U\377\252"
- "\0\0\0\0\0\377\377\0\0U\377\252\0\0""8\342\3778\0\0\342\377\342q\0\0"
- "\0\0\0\0\0U\377\252\0\0\0\0\252\377U\0\0\0\0\377\377\0\0\0\252\377\215"
- "\0\0\215\377q\0\0""8\377\377\0\0\377\252\0\377\252\0U\377\252\0\0\0\0"
- "8\377\377\377\215\0\0\0\0\0\34\377\377\34\377\306\0\0\0\0\0\0U\377\215"
- "\0\0\0\0q\377\252\252\377\3778\0\0\252\377\377\306\306\377\342\0\0\34"
- "\342\377\306\306\342\0\0\215\377\342\252\377\377\377\0\0q\377\342\252"
- "\377\37788\252\377\377\252\252\0q\377\342\252\306\377\342U\0\252\377"
- "\377\306\252\377\3778\0\0\377\377\0\0\0\252\377U\0\0\377\377\0q\377\306"
- "\0\0U\377\252\0\0U\377\377\342\252\377\377\342\306\306\377\342\0\0U\377"
- "\377\342\252\342\377\215\0\0q\377\342\252\342\377\215\0\0\252\377\377"
- "\306\306\377\342\34\0\34\342\377\306\306\377\377\252\0\0\377\377\342"
- "\306\377\34q\377\342\252\342\2158\252\377\377\252q\0U\377\252\0\0U\377"
- "\252\0U\377\306\0\0U\377\252\0\377\377\0\0q\377\377\215\0\0\377\377\0"
- "\34\342\3778\0\342\3778\0\252\377q\0\0q\377\215\0\252\252\252\252\377"
- "\377\0\0\377\377\34\0\34\377\377\0q\342\252\377\252\0\0\0""8\0\0\34\377"
- "\377\0\0\34\0\0\0\306\377U\0\0\0\377\306\0\0\0\0\0U\377U\0\0\0\0\0\0"
- "q\377\215\306\377\342U\0\0\0\0\0\0U\377\252\0""8\377\342\34U\377\342"
- "\0\0\215\377\215\0\0U\377\252\0U\377\306\0\0q\377\252\0\0\0\377\252\0"
- "\0\0\0\0\0\0\0\0\0\34\377\377q\377\252\0\0\0\0\0\377\252\0\0\252\377"
- "\0U\377U\0\34UU\0\0\0\0\0\252\377\252\252\377\252\0\0\0\0\0\0\0\342\306"
- "\0\0\215\377U\0\0\0\0\252\377U\0""8\252\252\252\252\252\252\252\252\252"
- "\0\0\0\0q\377\342\34\0\0""8\377\215\0\0\0\215\377q\0\0\0\0\0""8\306\377"
- "\377q\0""8\342\377\342q\0\0\0\0\0U\377U\0\0\0\0\0\0\252\377U\0\0\0\0"
- "\0\252\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""8\377\252\0\0\0U\377"
- "U\0\0\0\0U\377U\0\0\377\342\0\0\0\0""8\377\215\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0U\377U\0\0\0\0\0""8\377q\215\377\34\0\0\0\0\0\0\0\0\0\0\0\0\0q\252"
- "\377\377\252\252\377\342\252q\0\0\0\0\0\0\34\377\377\0\0\377\3778\0\0"
- "\0\252\377\377\377\377\377\306\0\0\0\252\377U\0\0\0\0\0\0\0U\377\252"
- "\0\0\0\0\252\377U\0U\377\377\377\377\377\377U\0\0\252\377\377\377\377"
- "\377\252\0\252\377U\0U\377\377\377\377\0\0\0\377\377\377\377\377\377"
- "\377\377U\0\0U\377\252\0\0\0\377\377\0\0\0\252\377\377\377\215\0\0\0"
- "\0\0\252\377U\0\0\0\0\0q\377\215\215\377\34\34\377\252\215\377q\0\0U"
- "\377\252\0\342\342\0U\377\252\0U\377\252\0\0\0\0\0\377\377\0\0U\377\306"
- "UU\306\377\306\0U\377\252\0\0\0\0\0\377\377\0\0U\377\377\377\377\377"
- "\3068\0\0\0U\342\377\377\342q\0\0\0\0\0U\377\252\0\0\0\0\252\377U\0\0"
- "\0\0\377\377\0\0\0U\377\306\0\0\306\3778\0\0\0\377\377\34""8\377\215"
- "\0\306\377\0U\377\252\0\0\0\0\0\252\377\377\34\0\0\0\0\0\0\215\377\252"
- "\3778\0\0\0\0\0\0\342\377\34\0\0\0\0\0\0\0\0q\377\252\0\0\252\377\306"
- "\0\0\306\377U\0\215\377\215\0\0\0\0\0\377\377\34\0q\377\377\0\0\377\377"
- "\34\0q\377\252\0\0\377\377\0\0\0\342\377\34\0\0\342\377\34\0\252\377"
- "\306\0\0\252\377U\0\0\377\377\0\0\0\252\377U\0\0\377\377\34\377\377\34"
- "\0\0U\377\252\0\0U\377\306\0\0\252\377\306\0\0\377\377\0\0U\377\377\34"
- "\0U\377\252\0\0\377\377\34\0\34\377\377\0\0\252\377\306\0\0\306\377U"
- "\0U\377\306\0\0\306\377\252\0\0\377\377U\0U\0\252\377U\0\0\0\0\0\377"
- "\377\0\0\0U\377\252\0\0U\377\252\0\0\377\377\0\0\252\377q\0\342\3778"
- "\0\252\377\342\306\0\0\377\306\0\0U\377\306q\377\215\0\0U\377\306\0\0"
- "\252\377U\0\0\0\0q\377\215\0""8\377\306\0\0\0\306\377U\0\0U\377\252\0"
- "\0\0\0\0\0\0\377\377\0\0\0\0\0\0\306\377U\0\0q\377q\0\0\0\0\0\252\377"
- "U\0\0\0\0\0\0\252\377\377\306\306\377\342\34\0\0\0\0\0\252\377U\0\0U"
- "\377\377\377\342\34\0\0\252\377U\0\0\0\377\342\0\215\377q\0\0\34\377"
- "\377\0\0\0\377\252\0\0\0\0\0\0\0\0\0\0\0U\377\377\377\342q\0\0\0\0\252"
- "\377\34\34\377\306\0\252\377\34U\377\377\377\342\34\0\0\0""8\377\377"
- "\377\215\0\0\0\0\0\0\0""8\377\215\0\0\252\377U\0\0\0\0\252\377U\0U\377"
- "\377\377\377\377\377\377\377\377\0\0\0\34\342\377U\0\0\0\306\377\34\0"
- "\0\0\0\342\342\0\0\0""8\306\377\342q\34\0\0\0\0q\306\377\342q\0\0\0U"
- "\377U\0\0\0\0\0\0\377\377\252\0\0\0\0\0\377\377\252\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0""8\342\3778\0\0\0U\377U\0\0\0\0U\377U\0\0q\377\3068"
- "\0\0\0\342\342\0\0\0\0\0\0\0\0\0\0\0\0\0U\377U\0\0\0\0\0U\306\0\0\306"
- "8\0\0\0""8\252\2158\0\0\0""8\0\0\0\0\377\252\0\0\377\252\0\0\0\0\0\0"
- "\0\0U\377\252\0\0\252\377q\0\0\0\252\377\306\252\252\342\377\342\34\0"
- "\252\377U\0\0\0\0\0\0\0U\377\252\0\0\0\0\252\377U\0U\377\306UUUU\0\0"
- "\0\252\377\306\252\252\252q\0\252\377U\0""8\252\252\377\377\0\0\0\377"
- "\377UUUU\306\377U\0\0U\377\252\0\0\0\377\377\0\0\0\252\377\215\377\377"
- "\34\0\0\0\0\252\377U\0\0\0\0\0\252\377UU\377UU\377UU\377\252\0\0U\377"
- "\252\0q\377UU\377\252\0U\377\252\0\0\0\0\0\377\377\0\0U\377\377\377\377"
- "\377\306\34\0U\377\252\0\0\0\0\0\377\377\0\0U\377\342\252\342\377\252"
- "\0\0\0\0\0\34\215\342\377\377\252\0\0\0\0U\377\252\0\0\0\0\252\377U\0"
- "\0\0\0\377\377\0\0\0\0\377\377\0\0\377\342\0\0\0\0\342\377UU\377U\0\252"
- "\377\34\215\377U\0\0\0\0\0\342\377\377q\0\0\0\0\0\0\34\377\377\306\0"
- "\0\0\0\0\0q\377q\0\0\0\0\0\0\0""8U\215\377\252\0\0\252\377q\0\0q\377"
- "\252\0\342\377\34\0\0\0\0U\377\306\0\0\34\377\377\0U\377\252\0\0\0\377"
- "\342\0\0\377\377\0\0\0\377\377\0\0\0\252\377U\0\252\377U\0\0\252\377"
- "U\0\0\377\377\0\0\0\252\377U\0\0\377\377\252\377U\0\0\0U\377\252\0\0"
- "U\377U\0\0\252\377U\0\0\377\377\0\0U\377\252\0\0U\377\252\0U\377\306"
- "\0\0\0\306\377U\0\252\377U\0\0q\377\252\0\252\377U\0\0q\377\252\0\0\377"
- "\377\0\0\0\0\215\377\3428\0\0\0\0\377\377\0\0\0U\377\252\0\0U\377\252"
- "\0\0\306\377U\0\306\377\34\0\252\377U\0\342\306\252\377\0U\377\252\0"
- "\0\0\306\377\342\342\0\0\0\0\377\377\0\0\377\377\0\0\0\0\34\377\342\0"
- "\0U\377\252\0\0\0\252\377U\0\0U\377\252\0\0\0\0\0\0q\377\306\0\0\0\0"
- "\34q\377\342\0\0\0\306\377\0""8\3778\0\0\252\377\215\252\252q\0\0\0\252"
- "\377\306\0\0\306\377q\0\0\0\0\34\377\377\0\0\34\342\377\306\342\377\252"
- "\0\0\252\377U\0\0\0\377\377\0\252\377U\0\0\0\377\377\0\0\0\377\252\0"
- "\0\0\0\0\0\0\0\0\0\0\0""8\252\377\377\377\342\34\0\0""8\377\377\377\377"
- "8\0\377\306\0\342\342Uq\377\252\0\0\34\342\377\377\377\34\0U\377U\0\0"
- "\0q\3778\0\0\252\377U\0\0\0\0\252\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\377"
- "\306\0\0\0""8\377\215\0\0\0\0\0q\377U\0\215\377\306U\0\0\0\0\0\0\0\0"
- "\0""8\252\377\342\0\0U\377U\0\0\0\0\0\0U\252\34\0\0\0\0\0U\252\34\0""8"
- "UUU8\0\0\0\0\0\0\0\0\0\0\0\252\377\306\0\0\0\0U\377U\0\0\0\0U\377U\0"
- "\0\34\306\377\252\0\0\0\215\377\34\0\0\0\0\0\0\0\0\0\0\0\0U\377U\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\215\377\377\377\377\306U\252\377\0\0\0\0\377\252"
- "\0""8\377q\0\0\0\0\0\0\0\0\252\377\252UU\252\377\306\0\0\0\252\377U\0"
- "\0\0\215\377\306\0\252\377U\0\0\0\0\0\0\0U\377\252\0\0\0\0\252\377U\0"
- "U\377\252\0\0\0\0\0\0\0\252\377U\0\0\0\0\0\252\377U\0\0\0\0\377\377\0"
- "\0\0\377\377\0\0\0\0\252\377U\0\0U\377\252\0\0\0\377\377\0\0\0\252\377"
- "U\306\377\306\0\0\0\0\252\377U\0\0\0\0\0\252\377U\0\377\252\252\377\34"
- "U\377\252\0\0U\377\252\0\34\377\306U\377\252\0U\377\252\0\0\0\0\0\377"
- "\377\0\0U\377\306UU8\0\0\0U\377\252\0\0\0\0\0\377\377\0\0U\377\252\0"
- "\34\342\377\215\0\0\0\0\0\0\0\252\377\377\34\0\0\0U\377\252\0\0\0\0\252"
- "\377U\0\0\0\0\377\377\0\0\0\0\306\377UU\377\252\0\0\0\0\252\377U\252"
- "\377\34\0U\377U\252\377U\0\0\0\0\215\377\306\377\377\34\0\0\0\0\0\0\306"
- "\377U\0\0\0\0\0\34\377\342\0\0\0\0\0\0U\377\377\377\377\377\252\0\0\252"
- "\377U\0\0U\377\252\0\377\377\0\0\0\0\0U\377\252\0\0\0\377\377\0U\377"
- "\377\377\377\377\377\377\0\0\377\377\0\0\0\342\3778\0\0\342\3778\0\252"
- "\377U\0\0\252\377U\0\0\377\377\0\0\0\252\377U\0\0\377\377\377\377\34"
- "\0\0\0U\377\252\0\0U\377U\0\0\252\377U\0\0\377\377\0\0U\377\252\0\0U"
- "\377\252\0U\377\252\0\0\0\252\377U\0\252\377U\0\0U\377\252\0\252\377"
- "U\0\0U\377\252\0\0\377\377\0\0\0\0\0\252\377\377\252\34\0\0\377\377\0"
- "\0\0U\377\252\0\0U\377\252\0\0q\377q\0\377\342\0\0U\377\252\34\377\252"
- "\215\3778q\377U\0\0\0""8\377\377q\0\0\0\0\306\377U8\377\306\0\0\0\0\252"
- "\3778\0\0U\377\252\0\0\0\252\377U\0\0U\377\252\0\0\0\0\0\34\342\377q"
- "\0\0\0\252\377\377\342\34\0\0\34\377\252\0U\377U\0\0\252\377\377\377"
- "\377\377\215\0\0\252\377U\0\0U\377\252\0\0\0\0q\377\252\0\0\252\377q"
- "\0\34\342\377q\0\215\377\252\0\0""8\377\377\0\252\377U\0\0\0\377\377"
- "\0\0\0\377\252\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\306\342\377\252\0\0\0"
- "8\252\2528\0""8\377\215U\377q\0\0\306\377\0\0\215\377\252U\377\342\34"
- "U\377U\0\0\0\306\377\0\0\0\252\377U\0\0\0\0\252\377U\0\34UUUUUUUUU\0"
- "\0\0\252\377U\0\0\0\0""8\34\0\0\0\0\0\0U\0\0q\377\377\306U\0\0\0\0\0"
- "\0\0""8\215\342\377\306\0\0U\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\252\377\377\377\252\0\0\0\0\0\0\0\0\0\0\0\0\252\377q\0\0\0U\377U\0\0"
- "\0\0U\377U\0\0\306\377q\0\0\0\0U\377q\0\0\0\0\0\0\0\0\0\252\377\377\377"
- "\377\377\377\377\252\0\0\0\0\0\0\0\0\0\0Uq\0""8\306\377\377\377U\0""8"
- "\377\377\377\377\377\377\377\377\377U\0\0\0\0\0\0\377\377\377\377\377"
- "\377\377\377\34\0\0\252\377U\0\0\0\0\377\377\0U\377\252\0\0\0\0\0\0\0"
- "U\377\252\0\0\0\0\342\377\34\0U\377\252\0\0\0\0\0\0\0\252\377U\0\0\0"
- "\0\0q\377\252\0\0\0\0\377\377\0\0\0\377\377\0\0\0\0\252\377U\0\0U\377"
- "\252\0\0\0\377\377\0\0\0\252\377U\34\377\377q\0\0\0\252\377U\0\0\0\0"
- "\0\252\377U\0\306\342\306\306\0U\377\252\0\0U\377\252\0\0\252\377q\377"
- "\252\0\34\377\342\0\0\0\0""8\377\306\0\0U\377\252\0\0\0\0\0\0\34\377"
- "\342\0\0\0\0""8\377\306\0\0U\377\252\0\0""8\377\377\34\0\0\0\0\0\0\0"
- "\306\377U\0\0\0U\377\252\0\0\0\0\252\377U\0\0\0\0\377\377\0\0\0\0q\377"
- "\215\215\377U\0\0\0\0q\377\252\306\377\0\0""8\377q\342\377\0\0\0\0\34"
- "\377\377\34\306\377\252\0\0\0\0\0\0\252\377U\0\0\0\0\0\252\3778\0\0\0"
- "\0\0\34\377\377\215U\215\377\252\0\0\252\377U\0\0U\377\252\0\377\377"
- "\0\0\0\0\0U\377\252\0\0\0\377\377\0U\377\342\252\252\252\252\252\0\0"
- "\377\377\0\0\0q\377\342\252\306\377\306\0\0\252\377U\0\0\252\377U\0\0"
- "\377\377\0\0\0\252\377U\0\0\377\377\215\377\306\0\0\0U\377\252\0\0U\377"
- "U\0\0\252\377U\0\0\377\377\0\0U\377\252\0\0U\377\252\0U\377\252\0\0\0"
- "\252\377U\0\252\377U\0\0U\377\252\0\252\377U\0\0U\377\252\0\0\377\377"
- "\0\0\0\0\0\0""8\342\377\342\0\0\377\377\0\0\0U\377\252\0\0U\377\252\0"
- "\0""8\377\252U\377\215\0\0\34\377\252U\377UU\377q\252\3778\0\0\0\215"
- "\377\377\342\0\0\0\0q\377\215q\377\215\0\0\0U\377\252\0\0\0U\377\252"
- "\0\0\0\252\377U\0\0U\377\252\0\0\0\0\34\342\377\252\0\0\0\0q\252\377"
- "\377\252\0\0\215\3778\0\215\377U\0\0U\377\215\0""8\377\377\34\0\252\377"
- "U\0\0U\377\252\0\0\0\0\306\377U\0\0\377\377\0\0\0U\377\252\0""8\377\377"
- "qU\342\377\377\0\252\377U\0\0\0\377\377\0\0\0\215U\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\377\252\34\377\377\0\0\0\0\0\0\0\0\215\3778U\377U\0\0\252"
- "\377\0\0\377\377\0\0U\377\342\342\377\34\0\0\0\377\252\0\0\0\252\377"
- "U\0\0\0\0\252\377U\0U\377\377\377\377\377\377\377\377\377\0\0\0U\252"
- "8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\34q\342\377\377\2528\0\34\215\342\377"
- "\377\2158\0\0\0U\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""8UUU8\0\0"
- "\0\0\0\0\0\0\0\0\0\0\34\377\252\0\0\0U\377U\0\0\0\0U\377U\0\0\377\306"
- "\0\0\0\0\0\0\377\306\0\0\0\0\0\0\0\0\0q\252\252\306\377\306\252\252q"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\34U\34\0\0""8\252\306\377\306\252\342"
- "\377\252\252\34\0\0\0\0\0""8\377\377UUUU\342\377q\0\0\252\377U\0\0\0"
- "\34\377\377\0\34\377\377\34\0\0\0\0\0\0U\377\252\0\0\0""8\377\342\0\0"
- "U\377\252\0\0\0\0\0\0\0\252\377U\0\0\0\0\0\34\377\377\34\0\0\0\377\377"
- "\0\0\0\377\377\0\0\0\0\252\377U\0\0U\377\252\0\0\0\377\377\0\0\0\252"
- "\377U\0\215\377\342\34\0\0\252\377U\0\0\0\0\0\252\377U\0\215\377\377"
- "\215\0U\377\252\0\0U\377\252\0\0""8\377\306\377\252\0\0\342\377\34\0"
- "\0\0q\377\215\0\0U\377\252\0\0\0\0\0\0\0\342\377\34\0\0\0q\377\215\0"
- "\0U\377\252\0\0\0\306\377q\0\0\0\0\0\0\0\252\377U\0\0\0U\377\252\0\0"
- "\0\0\252\377q\0\0\0\34\377\377\0\0\0\0\34\377\252\252\377\0\0\0\0\0U"
- "\377\252\377\252\0\0\0\377\252\377\377\0\0\0\0\306\377\215\0""8\377\377"
- "8\0\0\0\0\0\252\377U\0\0\0\0""8\377\306\0\0\0\0\0\0U\377\252\0\0U\377"
- "\252\0\0\252\377q\0\0q\377\215\0\306\3778\0\0\0\0""8\377\306\0\0\34\377"
- "\377\0\34\377\306\0\0\0\0\0\0\0\377\377\0\0\0\0\342\377\377\377\215\34"
- "\0\0\252\377U\0\0\252\377U\0\0\377\377\0\0\0\252\377U\0\0\377\377\0\342"
- "\377q\0\0U\377\252\0\0U\377U\0\0\252\377U\0\0\377\377\0\0U\377\252\0"
- "\0U\377\252\0\34\377\342\0\0\0\342\377\34\0\252\377\215\0\0q\377\215"
- "\0\215\377q\0\0\215\377\252\0\0\377\377\0\0\0\0\0\0\0\0\306\377U\0\377"
- "\377\0\0\0U\377\252\0\0q\377\252\0\0\0\342\377q\377U\0\0\0\342\377\215"
- "\377\34\0\377\252\306\377\0\0\0""8\377\306\306\377\215\0\0\0\34\377\306"
- "\252\3778\0\0\0\342\342\34\0\0\0\34\377\377\0\0\0\377\377\0\0\0U\377"
- "\252\0\0\0\34\342\377\252\0\0\0\0\0\0\0\34\342\377q\0\342\342\0\0\252"
- "\377U\0\0\0\0\0\0\0\252\377U\0q\377q\0\0q\377\215\0\0\0\34\377\377\0"
- "\0\0\377\377\0\0\0U\377\252\0\0U\377\377\377\252\377\377\0q\377\252\0"
- "\0U\377\252\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\252\0\377\377\0"
- "\0\0\0\0\0\0\0\306\342\0U\377U\0\0\252\377\0\0\377\377\0\0\0U\377\377"
- "\306\0\0\0U\377U\0\0\0U\377\252\0\0\0\0\342\377\0\0\34UUUUUUUUU\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""8\252\377\252\0U\377\306"
- "q\0\0\0\0\0\0U\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\377\252\0\0\0U\377U\0\0\0\0U\377U\0\0\377\252"
- "\0\0\0\0\0\0\252\377\0\0\0\0\0\0\0\0\0\0\0\0U\377U\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\215\377\34\0\252\377\0\0\0\0\0\0\0\0"
- "\215\377\252\0\0\0\0\252\377\252\0\0\252\377U\0\0\34\252\377\306\0\0"
- "\215\377\3068\0\34U\0\0U\377\252\0\0""8\342\377q\0\0U\377\252\0\0\0\0"
- "\0\0\0\252\377U\0\0\0\0\0\0\252\377\3068\0\0\377\377\0\0\0\377\377\0"
- "\0\0\0\252\377U\0\0U\377\252\0\0\0\377\377\0\0\0\252\377U\0\34\342\377"
- "\215\0\0\252\377U\0\0\0\0\0\377\377\0\0U\377\377U\0\0\377\377\0\0U\377"
- "\252\0\0\0\342\342\377\252\0\0q\377\342\34\0U\377\377\34\0\0U\377\252"
- "\0\0\0\0\0\0\0q\377\342\34\0U\377\377\34\0\0U\377\252\0\0\0q\377\342"
- "\0\0\252U\0\0q\377\342\0\0\0\0U\377\252\0\0\0\0U\377\3428\0\34\252\377"
- "\215\0\0\0\0\0\342\377\377\306\0\0\0\0\0\34\377\252\377\215\0\0\0\306"
- "\252\377\252\0\0\0""8\377\342\34\0\0\306\377\306\0\0\0\0\0\252\377U\0"
- "\0\0\0\306\3778\0\0\0\0\0\0U\377\306\0\34\342\377\252\0\0\252\377\342"
- "\34\34\342\377U\0q\377\306\34\0\34\0\0\377\377U\0\252\377\377\0\0\342"
- "\377q\0\0U\34\0\0\377\377\0\0\0""8\377q\0\0\0\0\0\0\252\377U\0\0\252"
- "\377U\0\0\377\377\0\0\0\252\377U\0\0\377\377\0q\377\342\34\0U\377\252"
- "\0\0U\377U\0\0\252\377U\0\0\377\377\0\0U\377\252\0\0U\377\252\0\0\306"
- "\377U\0U\377\342\0\0\252\377\342\34\34\342\377U\0U\377\342\34\34\342"
- "\377\252\0\0\377\377\0\0\0\0UU\0\0\306\377U\0\377\377\34\0\0U\377\306"
- "\0\34\342\377\252\0\0\0\252\377\252\377\0\0\0\0\252\377\252\377\0\0\306"
- "\306\377\252\0\0\0\342\3778\34\377\377\34\0\0\0\306\377\342\377\0\0\0"
- "\215\377q\0\0\0\0\0\306\377q\0\215\377\306\0\0\0U\377\252\0\0U\377\377"
- "\252\0\0\0\0\0\0\0\0\0U\377\252U\377\342\252\252\342\377\306q\0\0\0\0"
- "\0\0\252\377U\0\34\377\342\34\34\342\3778\0\0\0q\377\252\0\0\0\306\377"
- "\215\0\34\306\377q\0\0\0\34U8\34\377\306\0\34\377\377\34\34\306\377q"
- "\0\0U\377\252\0\0\0\0\0\0\0\0\0\0\0\215U\0\377\306\252\377\252\0\0\0"
- "\0\0\0\0\34\377\252\0\0\377\306\0\34\377\306\0\0\306\377\252\34\0U\342"
- "\377\252\0\0\0\252\377\34\0\0\0""8\377\252\0\0\0\0\377\342\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\252\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\34""8\0\34\34\0\0\0\0\0\0\0\0U\377U\0\34\342\342\34\0\252\377U\34"
- "\342\342\34\0\252\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\252"
- "\0\0\0U\377U\0\0\0\0U\377U\0\0\377\252\0\0\0\0\0\0q\377U\0\0\0\0\0\0"
- "\0\0\0\0\0U\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\252"
- "\377\0\0\306\342\0\0\0\0\0\0\0\0\306\377U\0\0\0\0U\377\377\0\0\252\377"
- "\377\377\377\377\377\342\34\0\0\0\252\377\377\377\377\377\34\0U\377\377"
- "\377\377\377\377\252\0\0\0U\377\377\377\377\377\377\342\0\0\252\377U"
- "\0\0\0\0\0\0\34\306\377\377\377\377\377\377\0\0\0\377\377\0\0\0\0\252"
- "\377U\0\0U\377\252\0\0\0\377\377\0\0\0\252\377U\0\0q\377\3778\0\252\377"
- "\377\377\377\377\377\0\377\377\0\0\0UU\0\0\0\377\377\0\0U\377\252\0\0"
- "\0q\377\377\252\0\0\0\252\377\377\377\377\377U\0\0\0U\377\252\0\0\0\0"
- "\0\0\0\0\252\377\377\377\377\377\3428\0\0U\377\252\0\0\0""8\377\3778"
- "U\377\377\377\377\377\377U\0\0\0\0U\377\252\0\0\0\0\0\252\377\377\377"
- "\377\377\342\34\0\0\0\0\0\215\377\377q\0\0\0\0\0\0\377\377\377U\0\0\0"
- "\252\377\377\252\0\0\0\342\377q\0\0\0\34\377\377q\0\0\0\0\252\377U\0"
- "\0\0\0\377\377\377\377\377\377\377\377\0\0\342\377\377\377\342\377\252"
- "\0\0\252\377\306\377\377\377\342\0\0\0\342\377\377\377\377\34\0\215\377"
- "\377\377\342\342\377\0\0""8\377\377\377\377\377\215\0\0\377\377\0\0\0"
- "8\377\377\377\377\377\306\34\0\252\377U\0\0\252\377U\0\0\377\377\0\0"
- "\0\252\377U\0\0\377\377\0\0\306\377\252\0""8\377\377\377UU\377U\0\0\252"
- "\377U\0\0\377\377\0\0U\377\252\0\0U\377\252\0\0""8\377\377\377\377\377"
- "8\0\0\252\377\377\377\377\377\306\0\0\0\306\377\377\377\377\377\252\0"
- "\0\377\377\0\0\0\0\377\377\377\377\377\306\0\0\342\377\377\342\0\34\377"
- "\377\377\377\306\377\252\0\0\0U\377\377\252\0\0\0\0q\377\342\252\0\0"
- "\252\377\377\215\0\0q\377\252\0\0\215\377\306\0\0\0q\377\377\252\0\0"
- "\0\377\377\377\377\377\377U\0""8\377\377\377\377\342\34\0U\377\377\377"
- "\377\377\0\252\377\377\377\377\377\377U\0\0\0\0\0U\377\252U\377\377\377"
- "\377\377\377\377\252\0\0\0\0\0\0\306\3778\0\0\215\377\377\377\377\252"
- "\0\0\0\0\306\377U\0\0\0""8\342\377\377\377\377\342\0\0\0\0\0\0\0q\377"
- "\215\0\0\215\377\377\377\377\252\0\0\0\252\377\377\0\0\0\0\0\0\0\0\0"
- "\0U\377\377\377\377\377\377\342\34\0\0\0\0\0\0\0U\377U\0\0\215\377\377"
- "\377\3778\0\0\34\342\377\377\377\377\377\306\377\252\0\0\342\306\0\0"
- "\0\0\0\377\377\0\0\0""8\377\252\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377"
- "\252\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0U\377U\0U\377\377U\0\377\377\252U\377\377U\0\377\377\252\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\252\0\0\0U\377U\0\0\0\0U\377U\0\0"
- "\377\252\0\0\0\0\0\0\34\377\252\0\0\0\0\0\0\0\0\0\0\0U\377U\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\306\342\0\0\377\252\0\0\0\0"
- "\0\0\0\0\252\252\34\0\0\0\0\0\252\252\34\0q\252\252\252\252\252q\34\0"
- "\0\0\0\0""8\252\252\252U\0\0""8\252\252\252\252\2528\0\0\0\0""8\252\252"
- "\252\252\252\252\215\0\0U\252\34\0\0\0\0\0\0\0\0U\252\252\252q\34\0\0"
- "\0\252\252\0\0\0\0q\2528\0\0""8\252q\0\0\0\377\377\0\0\0q\2528\0\0\0"
- "\215\252q\0q\252\252\252\252\252\252\0\252\252\0\0\0\0\0\0\0\0\252\252"
- "\0\0""8\252q\0\0\0\34\252\252q\0\0\0\0U\252\252\2158\0\0\0\0""8\252q"
- "\0\0\0\0\0\0\0\0\0U\252\252\215q\377\377\252\0""8\252q\0\0\0\0\215\252"
- "8\0U\215\252\252\215\34\0\0\0\0\0""8\252q\0\0\0\0\0\0U\252\252\252q\0"
- "\0\0\0\0\0\0""8\252\252\34\0\0\0\0\0\0\215\252\252\34\0\0\0U\252\252"
- "8\0\0""8\252\252\0\0\0\0\0q\252q\0\0\0\0q\2528\0\0\0\0\252\252\252\252"
- "\252\252\252\252\0\0\34\215\252q\34\252\252\0\0q\252\0\215\252\215\34"
- "\0\0\0\0q\252\252\215\34\0\0q\252\252\34q\252\0\0\0\34\215\252\252q\34"
- "\0\0\252\252\0\0\0\0q\252\252\252\306\377\306\0q\2528\0\0q\2528\0\0\252"
- "\252\0\0\0\252\377U\0\0\252\252\0\0""8\252\252\0\0q\252\252\34""8\252"
- "8\0\0q\2528\0\0\252\252\0\0""8\252q\0\0""8\252q\0\0\0\34\215\252\215"
- "\34\0\0\0\252\377U\215\252\215\34\0\0\0\34\215\252\215U\377\252\0\0\252"
- "\252\0\0\0\0""8\215\252\252q\0\0\0\34\252\252\215\0\0""8\252\252U\0\252"
- "q\0\0\0\0\252\252U\0\0\0\0\34\252\252U\0\0""8\252\2528\0\0\252\252\34"
- "\0\0\34\252\252\34\0\0\0q\377q\0\0\0\252\252\252\252\252\2528\0\0\34"
- "\215\252\215\34\0\0""8\252\252\252\252\252\0q\252\252\252\252\252\252"
- "8\0\0\0\0\0\306\377q\0\0\0\0\0\252\377U\0\0\0\0\0\0""8\377\342\0\0\0"
- "\0U\252\252q\0\0\0\0\34\377\377\0\0\0\0\0\34\215\252\252q\0\0\0\0\0\0"
- "\0\0\342\3778\0\0\0""8\252\252q\0\0\0\0\34\252U\0\0\0\0\0\0\0\0\0\0\0"
- "U\252\252\377\342q\0\0\0\0\0\0\0\0\0\252\377\0\0\0\0q\252\2528\0\0\0"
- "\0\34q\252\252q\34\0\342\215\0""8\377\215\0\0\0\0\0\252\3778\0\0q\377"
- "U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\252\34\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\377U\0\0\306\3778\0q\377\215"
- "\0\215\215\0\0U\252\34\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\252"
- "\0\0\0U\377U\0\0\0\0U\377U\0\0\377\252\0\0\0\0\0\0\0\342\342\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\252q\0\0\252U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\377\342\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\252\252"
- "\0\0\0\0\306\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\252\377U\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\252\377U\0\0\0\0\0\0\0\0\0\0\0U\377\252\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\306\3778\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\306\377"
- "\342\0\0\0\0\0\0\252\377U\0\0\0\0\34q\377\377U\0\0\0\0\0\0\0\0\0\0\0"
- "\0q\377\306\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\342\377\252\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\252\0\0\0\0\0\0\0"
- "\0\0\0\252\215\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\3778\0\0"
- "\0\0\0""8\377\215\0\0\306\342\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\377"
- "U\0\34\377\252\0\0\306\342\34\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\377\342\0\0\0U\377U\0\0\0\0U\377U\0""8\377\252\0\0\0\0"
- "\0\0\0\215\3778\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0q\377\342\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\34""8\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\342\377\215\0\0""8\342\342\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\34"
- "\342\3778\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\252\377U\0\0\0\0\0\0\0\0\0\0\0U"
- "\377\252\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\377"
- "\306\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0U\377\377\377\377\306\34\0\0\0\0\0\0\252\377U\0\0\252\377\377\377"
- "\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\252\377q\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\252\377\377\377\252\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\252q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0q\252\0\0\0\0\0\0\0\252\215\0\0\342q\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0U\377U\0\34\215\0\0\0\215\34\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0U\377\377\377\377\377\377\377\377\377U\0\0\252\377\377\252"
- "\0U\377\377\377UU\377\377\377U\252\377\377q\0\0\0\0\0\0\0""8\2528\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0""8\377\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\377\377"
- "\377\377\377\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\342\377\252\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\252\377U\0\0\0\0\0\0\0\0\0\0\0U\377\252\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\377\3778\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\34\252\252"
- "q8\0\0\0\0\0\0\0\0""8U\34\0\0U\252\252U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\252q8\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U\377U\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\34UUUUUUUUU\34\0\0\34\215\252q\0""8\252\252\252"
- "88\252\252\2528q\252\215\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2158\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""8\215\252\252q\34\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0Uq\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\2528\0\0\0"
- "\0\0\0\0\0\0\0\0""8\252q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\34\252\34\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0U\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-
-static DFBSurfaceDescription font_desc = {
- flags : DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT |
- DSDESC_PREALLOCATED,
- width : 824,
- height : 21,
- pixelformat : DSPF_A8,
- preallocated : {{ data : (void *) font_data,
- pitch : 824 }}
-};
-
diff --git a/interfaces/IDirectFBFont/idirectfbfont_default.c b/interfaces/IDirectFBFont/idirectfbfont_default.c
deleted file mode 100644
index 1bb77cf..0000000
--- a/interfaces/IDirectFBFont/idirectfbfont_default.c
+++ /dev/null
@@ -1,363 +0,0 @@
-/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
- (c) Copyright 2000-2004 Convergence (integrated media) GmbH
-
- All rights reserved.
-
- Written by Denis Oliver Kropp <dok at directfb.org>,
- Andreas Hundt <andi at fischlustig.de>,
- Sven Neumann <neo at directfb.org>,
- Ville Syrjälä <syrjala at sci.fi> and
- Claudio Ciccani <klan at users.sf.net>.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
-*/
-
-#include <config.h>
-#include <stdarg.h>
-
-#include <directfb.h>
-
-#include <core/fonts.h>
-#include <core/gfxcard.h>
-#include <core/surface.h>
-#include <core/surface_buffer.h>
-
-#include <gfx/convert.h>
-
-#include <media/idirectfbfont.h>
-
-#include <direct/hash.h>
-
-#include <direct/interface.h>
-#include <direct/mem.h>
-#include <direct/memcpy.h>
-#include <direct/utf8.h>
-
-#include "default_font.h"
-
-#define DEFAULT_FONT_HEIGHT 24
-#define DEFAULT_FONT_ASCENDER 16
-#define DEFAULT_FONT_DESCENDER -4
-
-
-static DFBResult
-Probe( IDirectFBFont_ProbeContext *ctx );
-
-static DFBResult
-Construct( IDirectFBFont *thiz,
- ... );
-
-#include <direct/interface_implementation.h>
-
-DIRECT_INTERFACE_IMPLEMENTATION( IDirectFBFont, Default )
-
-
-static DFBResult
-Probe( IDirectFBFont_ProbeContext *ctx )
-{
- /* default font is created with a NULL filename */
- if (ctx->filename)
- return DFB_UNSUPPORTED;
-
- return DFB_OK;
-}
-
-static DFBResult
-Construct( IDirectFBFont *thiz,
- ... )
-{
- DFBResult ret;
- CoreFont *font;
- CoreSurface *surface;
- CoreFontCacheRow *row;
- u8 *pixels;
- int i;
-
- CoreDFB *core;
- char *filename;
- DFBFontDescription *desc;
- CoreSurfaceConfig config;
-
- va_list tag;
- va_start(tag, thiz);
- core = va_arg(tag, CoreDFB *);
- filename = va_arg(tag, char *);
- desc = va_arg(tag, DFBFontDescription *);
- va_end( tag );
-
- D_DEBUG( "DirectFB/FontDefault: Construct default font");
-
- ret = dfb_font_create( core, &font );
- if (ret) {
- DIRECT_DEALLOCATE_INTERFACE( thiz );
- return ret;
- }
-
- D_ASSERT( font->pixel_format == DSPF_ARGB ||
- font->pixel_format == DSPF_AiRGB ||
- font->pixel_format == DSPF_ARGB8565 ||
- font->pixel_format == DSPF_ARGB4444 ||
- font->pixel_format == DSPF_RGBA4444 ||
- font->pixel_format == DSPF_ARGB2554 ||
- font->pixel_format == DSPF_ARGB1555 ||
- font->pixel_format == DSPF_RGBA5551 ||
- font->pixel_format == DSPF_A8 ||
- font->pixel_format == DSPF_A4 ||
- font->pixel_format == DSPF_A1 );
-
- font->height = DEFAULT_FONT_HEIGHT;
- font->ascender = DEFAULT_FONT_ASCENDER;
- font->descender = DEFAULT_FONT_DESCENDER;
-
- row = D_CALLOC( 1, sizeof(CoreFontCacheRow) );
- if (!row) {
- D_OOM();
- dfb_font_destroy( font );
- DIRECT_DEALLOCATE_INTERFACE( thiz );
- return DFB_NOSYSTEMMEMORY;
- }
-
- config.flags = CSCONF_SIZE | CSCONF_FORMAT | CSCONF_CAPS;
- config.size.w = font_desc.width;
- config.size.h = font_desc.height;
- config.format = font->pixel_format;
- config.caps = font->surface_caps;
-
- ret = dfb_surface_create( core, &config, CSTF_FONT, 0, NULL, &surface );
- if (ret) {
- dfb_font_destroy( font );
- return ret;
- }
-
- font->num_rows = 1;
- font->row_width = font_desc.width;
- font->rows = D_MALLOC(sizeof (void *));
- font->rows[0] = row;
-
- row->surface = surface;
-
- D_MAGIC_SET( row, CoreFontCacheRow );
-
- pixels = font_data;
-
- {
- CoreGlyphData *data;
- int use_unicode;
- int start = 0;
- int index = 0;
- int key;
- const char *glyphs =
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "abcdefghijklmnopqrstuvwxyz"
- "01234567890!\"$%&/()=?^<>" // FIXME: '0' is repeated!
- "|,;.:-_{[]}\\`+*~#'";
-
- if (desc && (desc->flags & DFDESC_ATTRIBUTES) &&
- (desc->attributes & DFFA_NOCHARMAP))
- use_unicode = 0;
- else
- use_unicode = 1;
-
- for (i = 0; i < font_desc.width; i++) {
- if (pixels[i] == 0xFF) {
- if (use_unicode)
- key = glyphs[index];
- else
- key = index;
-
- if (!direct_hash_lookup( font->layers[0].glyph_hash, key )) {
- data = D_CALLOC( 1, sizeof(CoreGlyphData) );
- data->surface = surface;
- data->start = start;
- data->width = i - start + 1;
- data->height = font_desc.height - 1;
- data->left = 0;
- data->top = 0;
- data->advance = ((desc && (desc->flags &
- DFDESC_FIXEDADVANCE)) ?
- desc->fixed_advance :
- data->width + 1);
-
- D_DEBUG( "DirectFB/core/fonts: "
- "glyph '%c' at %d, width %d\n",
- glyphs[index], start, i-start );
-
- D_MAGIC_SET( data, CoreGlyphData );
-
- if (font->maxadvance < data->advance)
- font->maxadvance = data->advance;
-
- direct_hash_insert( font->layers[0].glyph_hash, key, data );
- }
-
- start = i + 1;
- index++;
- }
- if (glyphs[index] == '\0')
- break;
- }
-
- /* space */
- data = D_CALLOC( 1, sizeof(CoreGlyphData) );
- data->advance = 5;
-
- D_MAGIC_SET( data, CoreGlyphData );
-
- if (use_unicode)
- key = 32;
- else
- key = index;
-
- direct_hash_insert( font->layers[0].glyph_hash, key, data );
- }
-
- {
- CoreSurfaceBufferLock lock;
-
- ret = dfb_surface_lock_buffer( surface, CSBR_BACK, CSAID_CPU, CSAF_WRITE, &lock );
- if (ret) {
- D_DERROR( ret, "IDirectFBFont_Default: Could not lock surface buffer!\n" );
- }
- else {
- for (i = 1; i < font_desc.height; i++) {
- int i, j, n;
- u8 *dst8 = lock.addr;
- u16 *dst16 = lock.addr;
- u32 *dst32 = lock.addr;
-
- pixels += font_desc.preallocated[0].pitch;
- switch (surface->config.format) {
- case DSPF_ARGB:
- if (surface->config.caps & DSCAPS_PREMULTIPLIED) {
- for (i=0; i<font_desc.width; i++)
- dst32[i] = pixels[i] * 0x01010101;
- }
- else
- for (i=0; i<font_desc.width; i++)
- dst32[i] = (pixels[i] << 24) | 0xFFFFFF;
- break;
- case DSPF_AiRGB:
- for (i=0; i<font_desc.width; i++)
- dst32[i] = ((pixels[i] ^ 0xFF) << 24) | 0xFFFFFF;
- break;
- case DSPF_ARGB8565:
- for (n = 0, j = -1; n < font_desc.width; ++n) {
- u32 d;
- if (surface->config.caps & DSCAPS_PREMULTIPLIED) {
- d = (pixels[n] << 16) * 0x01010101;
- d = ARGB_TO_ARGB8565 (d);
- }
- else
- d = (pixels[n] << 16) | 0xFFFF;
-#ifdef WORDS_BIGENDIAN
- dst8[++j] = (d >> 16) & 0xff;
- dst8[++j] = (d >> 8) & 0xff;
- dst8[++j] = (d >> 0) & 0xff;
-#else
- dst8[++j] = (d >> 0) & 0xff;
- dst8[++j] = (d >> 8) & 0xff;
- dst8[++j] = (d >> 16) & 0xff;
-#endif
- }
- break;
- case DSPF_ARGB4444:
- case DSPF_RGBA4444:
- if (surface->config.caps & DSCAPS_PREMULTIPLIED) {
- for (i=0; i<font_desc.width; i++)
- dst16[i] = (pixels[i] >> 4) * 0x1111;
- }
- else {
- if( surface->config.format == DSPF_ARGB4444 ) {
- for (i=0; i<font_desc.width; i++)
- dst16[i] = (pixels[i] << 8) | 0x0FFF;
- } else {
- for (i=0; i<font_desc.width; i++)
- dst16[i] = (pixels[i] >> 4) | 0xFFF0;
- }
- }
- break;
- case DSPF_ARGB2554:
- for (i=0; i<font_desc.width; i++)
- dst16[i] = (pixels[i] << 8) | 0x3FFF;
- break;
- case DSPF_ARGB1555:
- if (surface->config.caps & DSCAPS_PREMULTIPLIED) {
- for (i=0; i<font_desc.width; i++) {
- unsigned short x = pixels[i] >> 3;
- dst16[i] = ((pixels[i] & 0x80) << 8) |
- (x << 10) | (x << 5) | x;
- }
- }
- else {
- for (i=0; i<font_desc.width; i++)
- dst16[i] = (pixels[i] << 8) | 0x7FFF;
- }
- break;
- case DSPF_RGBA5551:
- if (surface->config.caps & DSCAPS_PREMULTIPLIED) {
- for (i=0; i<font_desc.width; i++) {
- unsigned short x = pixels[i] >> 3;
- dst16[i] = (x << 11) | (x << 6) | (x << 1) |
- (pixels[i] >> 7);
- }
- }
- else {
- for (i=0; i<font_desc.width; i++)
- dst16[i] = 0xFFFE | (pixels[i] >> 7);
- }
- break;
- case DSPF_A8:
- direct_memcpy( lock.addr, pixels, font_desc.width );
- break;
- case DSPF_A4:
- for (i=0, j=0; i<font_desc.width; i+=2, j++)
- dst8[j] = (pixels[i] & 0xF0) | (pixels[i+1] >> 4);
- break;
- case DSPF_A1:
- for (i=0, j=0; i < font_desc.width; ++j) {
- register u8 p = 0;
-
- for (n=0; n<8 && i<font_desc.width; ++i, ++n)
- p |= (pixels[i] & 0x80) >> n;
-
- dst8[j] = p;
- }
- break;
- case DSPF_LUT2:
- for (i=0, j=0; i < font_desc.width; ++j) {
- register u8 p = 0;
-
- for (n=0; n<8 && i<font_desc.width; ++i, n+=2)
- p |= (pixels[i] & 0xC0) >> n;
-
- dst8[j] = p;
- }
- break;
- default:
- D_UNIMPLEMENTED();
- break;
- }
-
- lock.addr += lock.pitch;
- }
-
- dfb_surface_unlock_buffer( surface, &lock );
- }
- }
-
- return IDirectFBFont_Construct (thiz, font);
-}
diff --git a/interfaces/IDirectFBFont/idirectfbfont_dgiff.c b/interfaces/IDirectFBFont/idirectfbfont_dgiff.c
index b0312ca..ea9b79b 100644
--- a/interfaces/IDirectFBFont/idirectfbfont_dgiff.c
+++ b/interfaces/IDirectFBFont/idirectfbfont_dgiff.c
@@ -37,6 +37,8 @@
#include <directfb.h>
+#include <core/CoreDFB.h>
+
#include <core/fonts.h>
#include <core/gfxcard.h>
#include <core/surface.h>
@@ -55,16 +57,19 @@
#include <dgiff.h>
+
+D_DEBUG_DOMAIN( Font_DGIFF, "Font/DGIFF", "Font implementation for DGIFF" );
+
/**********************************************************************************************************************/
static DFBResult
Probe( IDirectFBFont_ProbeContext *ctx );
static DFBResult
-Construct( IDirectFBFont *thiz,
- CoreDFB *core,
- const char *filename,
- DFBFontDescription *desc );
+Construct( IDirectFBFont *thiz,
+ CoreDFB *core,
+ IDirectFBFont_ProbeContext *ctx,
+ DFBFontDescription *desc );
/**********************************************************************************************************************/
@@ -75,8 +80,23 @@ DIRECT_INTERFACE_IMPLEMENTATION( IDirectFBFont, DGIFF )
/**********************************************************************************************************************/
typedef struct {
+ unsigned int stamp;
+
+ CoreSurface *surface;
+ int next_x;
+
+ DirectLink *glyphs;
+
+ int magic;
+} CoreFontCacheRow;
+
+
+typedef struct {
void *map; /* Memory map of the file. */
int size; /* Size of the memory map. */
+
+ CoreFontCacheRow **rows; /* contain bitmaps of loaded glyphs */
+ int num_rows;
} DGIFFImplData;
/**********************************************************************************************************************/
@@ -105,7 +125,7 @@ IDirectFBFont_DGIFF_Release( IDirectFBFont *thiz )
IDirectFBFont_DGIFF_Destruct( thiz );
}
- return DFB_OK;
+ return DR_OK;
}
static DFBResult
@@ -145,10 +165,10 @@ out:
}
static DFBResult
-Construct( IDirectFBFont *thiz,
- CoreDFB *core,
- const char *filename,
- DFBFontDescription *desc )
+Construct( IDirectFBFont *thiz,
+ CoreDFB *core,
+ IDirectFBFont_ProbeContext *ctx,
+ DFBFontDescription *desc )
{
DFBResult ret;
int i;
@@ -161,10 +181,16 @@ Construct( IDirectFBFont *thiz,
DGIFFGlyphInfo *glyphs;
DGIFFGlyphRow *row;
DGIFFImplData *data;
+ const char *filename;
CoreSurfaceConfig config;
-// if (desc->flags & (DFDESC_WIDTH | DFDESC_ATTRIBUTES | DFDESC_FIXEDADVANCE))
- // return DFB_UNSUPPORTED;
+ D_DEBUG_AT( Font_DGIFF, "%s()\n", __func__ );
+
+ /* use the filename for backwards compatibility */
+ filename = ctx->filename;
+
+ if (desc->flags & DFDESC_ROTATION)
+ return DFB_UNSUPPORTED;
/* Open the file. */
fd = open( filename, O_RDONLY );
@@ -221,15 +247,30 @@ Construct( IDirectFBFont *thiz,
font->ascender = face->ascender;
font->descender = face->descender;
font->height = face->height;
+ font->up_unit_x = 0.0;
+ font->up_unit_y = -1.0;
font->maxadvance = face->max_advance;
font->pixel_format = face->pixelformat;
+ font->surface_caps = DSCAPS_NONE;
- font->num_rows = face->num_rows;
+
+ data = D_CALLOC( 1, sizeof(DGIFFImplData) );
+ if (!data) {
+ ret = D_OOM();
+ goto error;
+ }
+
+ data->num_rows = face->num_rows;
+
+ if (face->blittingflags)
+ font->blittingflags = face->blittingflags;
+
+ CORE_FONT_DEBUG_AT( Font_DGIFF, font );
/* Allocate array for glyph cache rows. */
- font->rows = D_CALLOC( face->num_rows, sizeof(void*) );
- if (!font->rows) {
+ data->rows = D_CALLOC( face->num_rows, sizeof(void*) );
+ if (!data->rows) {
ret = D_OOM();
goto error;
}
@@ -242,8 +283,8 @@ Construct( IDirectFBFont *thiz,
config.preallocated[1].pitch = 0;
for (i=0; i<face->num_rows; i++) {
- font->rows[i] = D_CALLOC( 1, sizeof(CoreFontCacheRow) );
- if (!font->rows[i]) {
+ data->rows[i] = D_CALLOC( 1, sizeof(CoreFontCacheRow) );
+ if (!data->rows[i]) {
ret = D_OOM();
goto error;
}
@@ -253,8 +294,8 @@ Construct( IDirectFBFont *thiz,
config.preallocated[0].addr = (void*)(row+1);
config.preallocated[0].pitch = row->pitch;
- ret = dfb_surface_create( core, &config, CSTF_PREALLOCATED, 0, NULL,
- &font->rows[i]->surface );
+ ret = CoreDFB_CreateSurface( core, &config, CSTF_PREALLOCATED, 0, NULL,
+ &data->rows[i]->surface );
if (ret) {
D_DERROR( ret, "DGIFF/Font: Could not create preallocated %s %dx%d glyph row surface!\n",
@@ -262,7 +303,7 @@ Construct( IDirectFBFont *thiz,
goto error;
}
- D_MAGIC_SET( font->rows[i], CoreFontCacheRow );
+ D_MAGIC_SET( data->rows[i], CoreFontCacheRow );
/* Jump to next row. */
row = (void*)(row + 1) + row->pitch * row->height;
@@ -270,39 +311,34 @@ Construct( IDirectFBFont *thiz,
/* Build glyph infos. */
for (i=0; i<face->num_glyphs; i++) {
- CoreGlyphData *data;
+ CoreGlyphData *glyph_data;
DGIFFGlyphInfo *glyph = &glyphs[i];
- data = D_CALLOC( 1, sizeof(CoreGlyphData) );
- if (!data) {
+ glyph_data = D_CALLOC( 1, sizeof(CoreGlyphData) );
+ if (!glyph_data) {
ret = D_OOM();
goto error;
}
- data->surface = font->rows[glyph->row]->surface;
+ glyph_data->surface = data->rows[glyph->row]->surface;
- data->start = glyph->offset;
- data->width = glyph->width;
- data->height = glyph->height;
- data->left = glyph->left;
- data->top = glyph->top;
- data->advance = glyph->advance;
+ glyph_data->start = glyph->offset;
+ glyph_data->width = glyph->width;
+ glyph_data->height = glyph->height;
+ glyph_data->left = glyph->left;
+ glyph_data->top = glyph->top;
+ glyph_data->xadvance = glyph->advance;
+ glyph_data->yadvance = 0;
- D_MAGIC_SET( data, CoreGlyphData );
+ D_MAGIC_SET( glyph_data, CoreGlyphData );
- direct_hash_insert( font->layers[0].glyph_hash, glyph->unicode, data );
+ direct_hash_insert( font->layers[0].glyph_hash, glyph->unicode, glyph_data );
if (glyph->unicode < 128)
- font->layers[0].glyph_data[glyph->unicode] = data;
+ font->layers[0].glyph_data[glyph->unicode] = glyph_data;
}
- data = D_CALLOC( 1, sizeof(DGIFFImplData) );
- if (!data) {
- ret = D_OOM();
- goto error;
- }
-
data->map = ptr;
data->size = stat.st_size;
@@ -321,19 +357,19 @@ Construct( IDirectFBFont *thiz,
error:
if (font) {
- if (font->rows) {
- for (i=0; i<font->num_rows; i++) {
- if (font->rows[i]) {
- if (font->rows[i]->surface)
- dfb_surface_unref( font->rows[i]->surface );
+ if (data->rows) {
+ for (i=0; i<data->num_rows; i++) {
+ if (data->rows[i]) {
+ if (data->rows[i]->surface)
+ dfb_surface_unref( data->rows[i]->surface );
- D_FREE( font->rows[i] );
+ D_FREE( data->rows[i] );
}
}
- D_FREE( font->rows );
+ D_FREE( data->rows );
- font->rows = NULL;
+ data->rows = NULL;
}
dfb_font_destroy( font );
diff --git a/interfaces/IDirectFBFont/idirectfbfont_ft2.c b/interfaces/IDirectFBFont/idirectfbfont_ft2.c
index a7131dc..c33611b 100644
--- a/interfaces/IDirectFBFont/idirectfbfont_ft2.c
+++ b/interfaces/IDirectFBFont/idirectfbfont_ft2.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -32,13 +32,14 @@
#include <stdlib.h>
#include <unistd.h>
#include <stdarg.h>
+#include <math.h>
#include <directfb.h>
#include <core/fonts.h>
#include <core/gfxcard.h>
-#include <core/surface.h>
-#include <core/surface_buffer.h>
+
+#include <core/CoreSurface.h>
#include <gfx/convert.h>
@@ -58,18 +59,27 @@
#include FT_GLYPH_H
#ifndef FT_LOAD_TARGET_MONO
- /* FT_LOAD_TARGET_MONO was added in FreeType-2.1.3, we have to use (less good)
- FT_LOAD_MONOCHROME with older versions. Make it an alias for code simplicity. */
+ /* FT_LOAD_TARGET_MONO was added in FreeType-2.1.3. We have to use
+ (less good) FT_LOAD_MONOCHROME with older versions. Make it an
+ alias for code simplicity. */
#define FT_LOAD_TARGET_MONO FT_LOAD_MONOCHROME
#endif
+#ifndef FT_LOAD_FORCE_AUTOHINT
+ #define FT_LOAD_FORCE_AUTOHINT 0
+#endif
+#ifndef FT_LOAD_TARGET_LIGHT
+ #define FT_LOAD_TARGET_LIGHT 0
+#endif
static DFBResult
Probe( IDirectFBFont_ProbeContext *ctx );
static DFBResult
-Construct( IDirectFBFont *thiz,
- ... );
+Construct( IDirectFBFont *thiz,
+ CoreDFB *core,
+ IDirectFBFont_ProbeContext *ctx,
+ DFBFontDescription *desc );
#include <direct/interface_implementation.h>
@@ -283,8 +293,11 @@ render_glyph( CoreFont *thiz,
if (info->height > surface->config.size.h)
info->height = surface->config.size.h;
- info->left = face->glyph->bitmap_left;
- info->top = thiz->ascender - face->glyph->bitmap_top;
+ /* bitmap_left and bitmap_top are relative to the glyph's origin on the
+ baseline. info->left and info->top are relative to the top-left of the
+ character cell. */
+ info->left = face->glyph->bitmap_left - thiz->ascender*thiz->up_unit_x;
+ info->top = - face->glyph->bitmap_top - thiz->ascender*thiz->up_unit_y;
if (data->fixed_clip) {
while (info->left + info->width > data->fixed_advance)
@@ -405,6 +418,16 @@ render_glyph( CoreFont *thiz,
dst8[j] = p;
}
break;
+ case DSPF_A1_LSB:
+ for (i=0, j=0; i < info->width; ++j) {
+ register u8 p = 0;
+
+ for (n=0; n<8 && i<info->width; ++i, ++n)
+ p |= (src[i] & 0x80) >> (7-n);
+
+ dst8[j] = p;
+ }
+ break;
case DSPF_LUT2:
for (i=0, j=0; i < info->width; ++j) {
register u8 p = 0;
@@ -494,6 +517,16 @@ render_glyph( CoreFont *thiz,
case DSPF_A1:
direct_memcpy( lock.addr, src, DFB_BYTES_PER_LINE(DSPF_A1, info->width) );
break;
+ case DSPF_A1_LSB:
+ for (i=0, j=0; i < info->width; ++j) {
+ register u8 p = 0;
+
+ for (n=0; n<8 && i<info->width; ++i, ++n)
+ p |= (((src[i] >> n) & 1) << (7-n));
+
+ dst8[j] = p;
+ }
+ break;
default:
D_UNIMPLEMENTED();
break;
@@ -556,8 +589,15 @@ get_glyph_info( CoreFont *thiz,
info->width = face->glyph->bitmap.width;
info->height = face->glyph->bitmap.rows;
- info->advance = data->fixed_advance ?
- data->fixed_advance : (face->glyph->advance.x >> 6);
+
+ if (data->fixed_advance) {
+ info->xadvance = - data->fixed_advance * thiz->up_unit_y;
+ info->yadvance = data->fixed_advance * thiz->up_unit_x;
+ }
+ else {
+ info->xadvance = face->glyph->advance.x >> 6;
+ info->yadvance = - face->glyph->advance.y >> 6;
+ }
if (data->fixed_clip && info->width > data->fixed_advance)
info->width = data->fixed_advance;
@@ -599,6 +639,7 @@ get_kerning( CoreFont *thiz,
pthread_mutex_lock ( &library_mutex );
/* Lookup kerning values for the character pair. */
+ /* The vector returned by FreeType does not allow for any rotation. */
FT_Get_Kerning( data->base.face,
prev, current, ft_kerning_default, &vector );
@@ -606,16 +647,16 @@ get_kerning( CoreFont *thiz,
/* Convert to integer. */
if (kern_x)
- *kern_x = vector.x >> 6;
+ *kern_x = (int)(- vector.x*thiz->up_unit_y + vector.y*thiz->up_unit_x) >> 6;
if (kern_y)
- *kern_y = vector.y >> 6;
+ *kern_y = (int)( vector.y*thiz->up_unit_y + vector.x*thiz->up_unit_x) >> 6;
return DFB_OK;
}
static void
-init_kerning_cache( FT2ImplKerningData *data )
+init_kerning_cache( FT2ImplKerningData *data, float up_unit_x, float up_unit_y )
{
int a, b;
@@ -630,8 +671,8 @@ init_kerning_cache( FT2ImplKerningData *data )
FT_Get_Kerning( data->base.face,
a, b, ft_kerning_default, &vector );
- cache->x = (signed char) (vector.x >> 6);
- cache->y = (signed char) (vector.y >> 6);
+ cache->x = (signed char) ((int)(- vector.x*up_unit_y + vector.y*up_unit_x) >> 6);
+ cache->y = (signed char) ((int)( vector.y*up_unit_y + vector.x*up_unit_x) >> 6);
}
}
@@ -711,7 +752,7 @@ IDirectFBFont_FT2_Release( IDirectFBFont *thiz )
IDirectFBFont_FT2_Destruct( thiz );
}
- return DFB_OK;
+ return DR_OK;
}
@@ -723,7 +764,7 @@ Probe( IDirectFBFont_ProbeContext *ctx )
D_DEBUG( "DirectFB/FontFT2: Probe font `%s'.\n", ctx->filename );
- if (!ctx->filename)
+ if(!ctx->content)
return DFB_UNSUPPORTED;
if (init_freetype() != DFB_OK) {
@@ -731,12 +772,13 @@ Probe( IDirectFBFont_ProbeContext *ctx )
}
pthread_mutex_lock ( &library_mutex );
+
/*
* This should be
- * err = FT_New_Face( library, ctx->filename, -1, NULL );
+ * err = FT_New...Face( library, ctx->filename, -1, NULL );
* but due to freetype bugs it doesn't work.
*/
- err = FT_New_Face( library, ctx->filename, 0, &face );
+ err = FT_New_Memory_Face( library, ctx->content, ctx->content_size, 0, &face );
if (!err)
FT_Done_Face( face );
pthread_mutex_unlock ( &library_mutex );
@@ -748,8 +790,10 @@ Probe( IDirectFBFont_ProbeContext *ctx )
static DFBResult
-Construct( IDirectFBFont *thiz,
- ... )
+Construct( IDirectFBFont *thiz,
+ CoreDFB *core,
+ IDirectFBFont_ProbeContext *ctx,
+ DFBFontDescription *desc )
{
int i;
DFBResult ret;
@@ -762,23 +806,18 @@ Construct( IDirectFBFont *thiz,
bool disable_kerning = false;
bool load_mono = false;
u32 mask = 0;
- CoreDFB *core;
- char *filename;
- DFBFontDescription *desc;
+ const char *filename = ctx->filename; /* intended for printf only */
- va_list tag;
- va_start(tag, thiz);
- core = va_arg(tag, CoreDFB *);
- filename = va_arg(tag, char *);
- desc = va_arg(tag, DFBFontDescription *);
- va_end( tag );
+ float sin_rot = 0.0;
+ float cos_rot = 1.0;
D_DEBUG( "DirectFB/FontFT2: "
- "Construct font from file `%s' (index %d) at pixel size %d x %d.\n",
+ "Construct font from file `%s' (index %d) at pixel size %d x %d and rotation %d.\n",
filename,
- (desc->flags & DFDESC_INDEX) ? desc->index : 0,
- (desc->flags & DFDESC_WIDTH) ? desc->width : 0,
- (desc->flags & DFDESC_HEIGHT) ? desc->height : 0 );
+ (desc->flags & DFDESC_INDEX) ? desc->index : 0,
+ (desc->flags & DFDESC_WIDTH) ? desc->width : 0,
+ (desc->flags & DFDESC_HEIGHT) ? desc->height : 0,
+ (desc->flags & DFDESC_ROTATION) ? desc->rotation : 0 );
if (init_freetype() != DFB_OK) {
DIRECT_DEALLOCATE_INTERFACE( thiz );
@@ -786,9 +825,9 @@ Construct( IDirectFBFont *thiz,
}
pthread_mutex_lock ( &library_mutex );
- err = FT_New_Face( library, filename,
- (desc->flags & DFDESC_INDEX) ? desc->index : 0,
- &face );
+ err = FT_New_Memory_Face( library, ctx->content, ctx->content_size,
+ (desc->flags & DFDESC_INDEX) ? desc->index : 0,
+ &face );
pthread_mutex_unlock ( &library_mutex );
if (err) {
switch (err) {
@@ -807,7 +846,40 @@ Construct( IDirectFBFont *thiz,
return DFB_FAILURE;
}
+ if ((desc->flags & DFDESC_ROTATION) && desc->rotation) {
+ if (!FT_IS_SCALABLE(face)) {
+ D_ERROR( "DirectFB/FontFT2: "
+ "Face %d from font file `%s' is not scalable so cannot be rotated\n",
+ (desc->flags & DFDESC_INDEX) ? desc->index : 0,
+ filename );
+ pthread_mutex_lock ( &library_mutex );
+ FT_Done_Face( face );
+ pthread_mutex_unlock ( &library_mutex );
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return DFB_UNSUPPORTED;
+ }
+
+ float rot_radians = 2.0 * M_PI * desc->rotation / (1<<24);
+ sin_rot = sin(rot_radians);
+ cos_rot = cos(rot_radians);
+
+ int sin_rot_fx = (int)(sin_rot*65536.0);
+ int cos_rot_fx = (int)(cos_rot*65536.0);
+ FT_Matrix matrix;
+ matrix.xx = cos_rot_fx;
+ matrix.xy = -sin_rot_fx;
+ matrix.yx = sin_rot_fx;
+ matrix.yy = cos_rot_fx;
+
+ pthread_mutex_lock ( &library_mutex );
+ FT_Set_Transform( face, &matrix, NULL );
+ /* FreeType docs suggest FT_Set_Transform returns an error code, but it seems
+ that this is not the case. */
+ pthread_mutex_unlock ( &library_mutex );
+ }
+
if (dfb_config->font_format == DSPF_A1 ||
+ dfb_config->font_format == DSPF_A1_LSB ||
dfb_config->font_format == DSPF_ARGB1555 ||
dfb_config->font_format == DSPF_RGBA5551)
load_mono = true;
@@ -817,6 +889,10 @@ Construct( IDirectFBFont *thiz,
load_flags |= FT_LOAD_NO_HINTING;
if (desc->attributes & DFFA_NOBITMAP)
load_flags |= FT_LOAD_NO_BITMAP;
+ if (desc->attributes & DFFA_AUTOHINTING)
+ load_flags |= FT_LOAD_FORCE_AUTOHINT;
+ if (desc->attributes & DFFA_SOFTHINTING)
+ load_flags |= FT_LOAD_TARGET_LIGHT;
if (desc->attributes & DFFA_NOCHARMAP)
disable_charmap = true;
if (desc->attributes & DFFA_NOKERNING)
@@ -923,15 +999,19 @@ Construct( IDirectFBFont *thiz,
font->pixel_format == DSPF_RGBA5551 ||
font->pixel_format == DSPF_A8 ||
font->pixel_format == DSPF_A4 ||
- font->pixel_format == DSPF_A1 );
+ font->pixel_format == DSPF_A1 ||
+ font->pixel_format == DSPF_A1_LSB );
font->ascender = face->size->metrics.ascender >> 6;
font->descender = face->size->metrics.descender >> 6;
font->height = font->ascender + ABS(font->descender) + 1;
font->maxadvance = face->size->metrics.max_advance >> 6;
- D_DEBUG( "DirectFB/FontFT2: height = %d, ascender = %d, descender = %d, maxadvance = %d\n",
- font->height, font->ascender, font->descender, font->maxadvance );
+ font->up_unit_x = -sin_rot;
+ font->up_unit_y = -cos_rot;
+
+ D_DEBUG( "DirectFB/FontFT2: height = %d, ascender = %d, descender = %d, maxadvance = %d, up unit: %5.2f,%5.2f\n",
+ font->height, font->ascender, font->descender, font->maxadvance, font->up_unit_x, font->up_unit_y );
font->GetGlyphData = get_glyph_info;
font->RenderGlyph = render_glyph;
@@ -947,7 +1027,7 @@ Construct( IDirectFBFont *thiz,
data->disable_charmap = disable_charmap;
if (FT_HAS_KERNING(face) && !disable_kerning)
- init_kerning_cache( (FT2ImplKerningData*) data );
+ init_kerning_cache( (FT2ImplKerningData*) data, font->up_unit_x, font->up_unit_y);
if (desc->flags & DFDESC_FIXEDADVANCE) {
data->fixed_advance = desc->fixed_advance;
diff --git a/interfaces/IDirectFBFont/idirectfbfont_lino.c b/interfaces/IDirectFBFont/idirectfbfont_lino.c
new file mode 100644
index 0000000..54353fb
--- /dev/null
+++ b/interfaces/IDirectFBFont/idirectfbfont_lino.c
@@ -0,0 +1,1311 @@
+/*
+ (c) Copyright 2001-2008 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdarg.h>
+#include <math.h>
+
+#include <directfb.h>
+
+#include <core/fonts.h>
+#include <core/gfxcard.h>
+#include <core/surface.h>
+#include <core/surface_buffer.h>
+
+#include <gfx/convert.h>
+
+#include <media/idirectfbfont.h>
+
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+#include <direct/utf8.h>
+#include <direct/util.h>
+
+#include <misc/conf.h>
+#include <misc/util.h>
+
+#undef SIZEOF_LONG
+/*
+#include <ft2build.h>
+#include FT_GLYPH_H
+*/
+/*#ifndef FT_LOAD_TARGET_MONO DZ*/
+/* FT_LOAD_TARGET_MONO was added in FreeType-2.1.3, we have to use (less good)
+ FT_LOAD_MONOCHROME with older versions. Make it an alias for code simplicity. */
+/* #define FT_LOAD_TARGET_MONO FT_LOAD_MONOCHROME
+#endif
+*/
+#include <fs_itype.h>
+#include <adfinittermsystem.h>
+
+#ifdef NOT_BIG_ENOUGH_FOR_GULIM_AC3
+#define THE_HEAP_SIZE 327680
+#else
+#define THE_HEAP_SIZE (1*1024*1024)
+#endif
+static FS_BOOLEAN state_init = false;
+static FS_STATE state_global;
+static bool load_mono = false;
+
+static DFBResult
+Probe( IDirectFBFont_ProbeContext *ctx );
+
+static DFBResult
+Construct( IDirectFBFont *thiz,
+ CoreDFB *core,
+ IDirectFBFont_ProbeContext *ctx,
+ DFBFontDescription *desc );
+
+#include <direct/interface_implementation.h>
+
+DIRECT_INTERFACE_IMPLEMENTATION( IDirectFBFont, Lino )
+
+
+D_DEBUG_DOMAIN( Font_Itype, "Font/Itype", "Itype" );
+
+/*
+static FT_Library library = NULL;
+*/
+static int library_ref_count = 0;
+static pthread_mutex_t library_mutex = PTHREAD_MUTEX_INITIALIZER;
+
+#define KERNING_CACHE_MIN 0
+#define KERNING_CACHE_MAX 127
+#define KERNING_CACHE_SIZE (KERNING_CACHE_MAX - KERNING_CACHE_MIN + 1)
+
+#define KERNING_DO_CACHE(a,b) ((a) >= KERNING_CACHE_MIN && \
+ (a) <= KERNING_CACHE_MAX && \
+ (b) >= KERNING_CACHE_MIN && \
+ (b) <= KERNING_CACHE_MAX)
+
+#define KERNING_CACHE_ENTRY(a,b) \
+ (data->kerning[(a)-KERNING_CACHE_MIN][(b)-KERNING_CACHE_MIN])
+/*
+#define CHAR_INDEX(c) (((c) < 256) ? data->indices[c] : FT_Get_Char_Index( data->face, c ))
+*/
+#define CHAR_INDEX(c) (((c) < 256) ? data->indices[c] : FS_map_char( data->state, c ))
+
+typedef struct {
+ /*FT_Face face;*/
+ FS_STATE *state;
+ int disable_charmap;
+ int fixed_advance;
+ bool fixed_clip;
+ unsigned int indices[256];
+} ITImplData;
+
+typedef struct {
+ signed char x;
+ signed char y;
+} KerningCacheEntry;
+
+typedef struct {
+ ITImplData base;
+
+ KerningCacheEntry kerning[KERNING_CACHE_SIZE][KERNING_CACHE_SIZE];
+} ITImplKerningData;
+
+/**********************************************************************************************************************/
+
+static DFBResult
+UTF8GetCharacterIndex( CoreFont *thiz,
+ unsigned int character,
+ unsigned int *ret_index )
+{
+ ITImplData *data = thiz->impl_data;
+
+ D_MAGIC_ASSERT( thiz, CoreFont );
+
+ if (data->disable_charmap)
+ *ret_index = character;
+ else {
+ pthread_mutex_lock ( &library_mutex );
+
+ *ret_index = CHAR_INDEX( character );
+
+ pthread_mutex_unlock ( &library_mutex );
+ }
+
+ return DFB_OK;
+}
+
+static DFBResult
+UTF8DecodeText( CoreFont *thiz,
+ const void *text,
+ int length,
+ unsigned int *ret_indices,
+ int *ret_num )
+{
+ int pos = 0, num = 0;
+ const u8 *bytes = text;
+ ITImplData *data = thiz->impl_data;
+
+ D_MAGIC_ASSERT( thiz, CoreFont );
+ D_ASSERT( text != NULL );
+ D_ASSERT( length >= 0 );
+ D_ASSERT( ret_indices != NULL );
+ D_ASSERT( ret_num != NULL );
+
+ pthread_mutex_lock ( &library_mutex );
+
+ while (pos < length) {
+ unsigned int c;
+
+ if (bytes[pos] < 128)
+ c = bytes[pos++];
+ else {
+ c = DIRECT_UTF8_GET_CHAR( &bytes[pos] );
+ pos += DIRECT_UTF8_SKIP(bytes[pos]);
+ }
+
+ if (data->disable_charmap)
+ ret_indices[num++] = c;
+ else
+ ret_indices[num++] = CHAR_INDEX( c );
+ }
+
+ pthread_mutex_unlock ( &library_mutex );
+
+ *ret_num = num;
+
+ return DFB_OK;
+}
+
+static const CoreFontEncodingFuncs UTF8Funcs = {
+ .GetCharacterIndex = UTF8GetCharacterIndex,
+ .DecodeText = UTF8DecodeText,
+};
+
+/**********************************************************************************************************************/
+
+static DFBResult
+UTF16GetCharacterIndex( CoreFont *thiz,
+ unsigned int character,
+ unsigned int *ret_index )
+{
+ ITImplData *data = thiz->impl_data;
+
+ D_MAGIC_ASSERT( thiz, CoreFont );
+
+ if (data->disable_charmap)
+ *ret_index = character;
+ else {
+ pthread_mutex_lock ( &library_mutex );
+
+ *ret_index = CHAR_INDEX( character );
+
+ pthread_mutex_unlock ( &library_mutex );
+ }
+
+ return DFB_OK;
+}
+
+#define SURROGATE_VALUE(h,l) (((h) - 0xd800) * 0x400 + (l) - 0xdc00 + 0x10000)
+
+static DFBResult
+UTF16DecodeText( CoreFont *thiz,
+ const void *text,
+ int length,
+ unsigned int *ret_indices,
+ int *ret_num )
+{
+ int pos = 0, num = 0;
+ unsigned int high_surrogate = 0;
+ const u16 *shorts = text;
+ ITImplData *data = thiz->impl_data;
+
+ D_MAGIC_ASSERT( thiz, CoreFont );
+ D_ASSERT( text != NULL );
+ D_ASSERT( length >= 0 );
+ D_ASSERT( ret_indices != NULL );
+ D_ASSERT( ret_num != NULL );
+
+ pthread_mutex_lock ( &library_mutex );
+
+ while (pos < length/2) {
+ unsigned int c = shorts[pos++];
+
+ if (c >= 0xdc00 && c < 0xe000) { /* low surrogate */
+ c = SURROGATE_VALUE (high_surrogate, c);
+ high_surrogate = 0;
+ }
+ else if (c >= 0xd800 && c < 0xdc00) { /* high surrogate */
+ high_surrogate = c;
+ continue;
+ }
+
+ if (data->disable_charmap)
+ ret_indices[num++] = c;
+ else
+ ret_indices[num++] = CHAR_INDEX( c );
+ }
+
+ pthread_mutex_unlock ( &library_mutex );
+
+ *ret_num = num;
+
+ return DFB_OK;
+}
+
+static const CoreFontEncodingFuncs UTF16Funcs = {
+ .GetCharacterIndex = UTF16GetCharacterIndex,
+ .DecodeText = UTF16DecodeText,
+};
+
+/**********************************************************************************************************************/
+
+static DFBResult
+Latin1GetCharacterIndex( CoreFont *thiz,
+ unsigned int character,
+ unsigned int *ret_index )
+{
+ ITImplData *data = thiz->impl_data;
+
+ D_MAGIC_ASSERT( thiz, CoreFont );
+
+ if (data->disable_charmap)
+ *ret_index = character;
+ else
+ *ret_index = data->indices[character];
+
+ return DFB_OK;
+}
+
+static DFBResult
+Latin1DecodeText( CoreFont *thiz,
+ const void *text,
+ int length,
+ unsigned int *ret_indices,
+ int *ret_num )
+{
+ int i;
+ const u8 *bytes = text;
+ ITImplData *data = thiz->impl_data;
+
+ D_MAGIC_ASSERT( thiz, CoreFont );
+ D_ASSERT( text != NULL );
+ D_ASSERT( length >= 0 );
+ D_ASSERT( ret_indices != NULL );
+ D_ASSERT( ret_num != NULL );
+
+ if (data->disable_charmap) {
+ for (i=0; i<length; i++)
+ ret_indices[i] = bytes[i];
+ }
+ else {
+ for (i=0; i<length; i++)
+ ret_indices[i] = data->indices[bytes[i]];
+ }
+
+ *ret_num = length;
+
+ return DFB_OK;
+}
+
+static const CoreFontEncodingFuncs Latin1Funcs = {
+ .GetCharacterIndex = Latin1GetCharacterIndex,
+ .DecodeText = Latin1DecodeText,
+};
+
+/**********************************************************************************************************************/
+
+static DFBResult
+render_glyph( CoreFont *thiz,
+ unsigned int index,
+ CoreGlyphData *info )
+{
+ /* FT_Error err;
+ FT_Face face;
+ FT_Int load_flags;*/
+ u8 *src;
+ int y;
+ FS_LONG err;
+// FS_LONG load_flags;
+ ITImplData *data = (ITImplData*) thiz->impl_data;
+ FS_GLYPHMAP *glyph_map;
+
+ CoreSurface *surface = info->surface;
+ CoreSurfaceBufferLock lock;
+
+ pthread_mutex_lock ( &library_mutex );
+
+ /* face = data->face;
+
+ load_flags = (unsigned long) face->generic.data;
+ load_flags |= FT_LOAD_RENDER;
+
+ if ((err = FT_Load_Glyph( face, index, load_flags ))) {
+ D_DEBUG( "DirectFB/FontFT2: Could not render glyph for character index #%d!\n", index );
+ pthread_mutex_unlock ( &library_mutex );
+ return DFB_FAILURE;
+ }
+ */
+
+ switch (info->layer) {
+ case 0:
+ err = FS_set_flags( data->state, FLAGS_NO_EFFECT );
+ if (err) {
+ D_ERROR( "DirectFB/FontItype: Failed setting FLAGS_NO_EFFECT!\n" );
+
+ pthread_mutex_unlock ( &library_mutex );
+ return DFB_FAILURE;
+ }
+ break;
+
+ case 1:
+ err = FS_set_flags( data->state, FLAGS_OUTLINED_SOFT );
+ if (err) {
+ D_ERROR( "DirectFB/FontItype: Failed setting FLAGS_OUTLINED_SOFT!\n" );
+
+ pthread_mutex_unlock ( &library_mutex );
+ return DFB_FAILURE;
+ }
+ break;
+
+ default:
+ return DFB_UNSUPPORTED;
+ }
+
+ if (load_mono)
+ glyph_map = FS_get_glyphmap( data->state, index, FS_MAP_BITMAP );
+ else
+ glyph_map = FS_get_glyphmap( data->state, index, FS_MAP_EDGE_GRAYMAP8 | FS_MAP_GRAYMAP8);
+ if (!glyph_map) {
+ /* glyph_map->err = FS_error(&state);*/
+ D_DEBUG( "DirectFB/FontItype: Could not load glyph for character index #%d!\n", index );
+
+ pthread_mutex_unlock ( &library_mutex );
+
+ return DFB_FAILURE;
+ }
+ pthread_mutex_unlock ( &library_mutex );
+
+ err = dfb_surface_lock_buffer( surface, CSBR_BACK, CSAID_CPU, CSAF_WRITE, &lock );
+ if (err) {
+ D_DERROR( err, "DirectFB/FontItype: Unable to lock surface!\n" );
+ return err;
+ }
+
+ info->width = glyph_map->width;
+ if (info->width + info->start > surface->config.size.w)
+ info->width = surface->config.size.w - info->start;
+
+ info->height = glyph_map->height;
+ if (info->height > surface->config.size.h)
+ info->height = surface->config.size.h;
+
+ /* bitmap_left and bitmap_top are relative to the glyph's origin on the
+ baseline. info->left and info->top are relative to the top-left of the
+ character cell. */
+ info->left = glyph_map->lo_x - thiz->ascender*thiz->up_unit_x;
+ info->top = - glyph_map->hi_y - thiz->ascender*thiz->up_unit_y;
+
+ if (data->fixed_clip) {
+ while (info->left + info->width > data->fixed_advance)
+ info->left--;
+
+ if (info->left < 0)
+ info->left = 0;
+
+ if (info->width > data->fixed_advance)
+ info->width = data->fixed_advance;
+ }
+
+ /*src = face->glyph->bitmap.buffer;*/
+ src = glyph_map->bits;
+ lock.addr += DFB_BYTES_PER_LINE(surface->config.format, info->start);
+
+ for (y=0; y < info->height; y++) {
+ int i, j, n;
+ u8 *dst8 = lock.addr;
+ u16 *dst16 = lock.addr;
+ u32 *dst32 = lock.addr;
+
+ /*switch (face->glyph->bitmap.pixel_mode) {*/
+ switch (load_mono) {
+ /* case ft_pixel_mode_grays:*/
+ case false:
+ switch (surface->config.format) {
+ case DSPF_ARGB:
+ if (thiz->surface_caps & DSCAPS_PREMULTIPLIED) {
+ for (i=0; i<info->width; i++)
+ dst32[i] = src[i] * 0x01010101;
+ }
+ else
+ for (i=0; i<info->width; i++)
+ dst32[i] = (src[i] << 24) | 0xFFFFFF;
+ break;
+ case DSPF_AiRGB:
+ for (i=0; i<info->width; i++)
+ dst32[i] = ((src[i] ^ 0xFF) << 24) | 0xFFFFFF;
+ break;
+ case DSPF_ARGB4444:
+ if (thiz->surface_caps & DSCAPS_PREMULTIPLIED) {
+ for (i=0; i<info->width; i++)
+ dst16[i] = (src[i] >> 4) * 0x1111;
+ }
+ else {
+ for (i=0; i<info->width; i++)
+ dst16[i] = (src[i] << 8) | 0xFFF;
+ }
+ break;
+ case DSPF_ARGB2554:
+ for (i=0; i<info->width; i++)
+ dst16[i] = (src[i] << 8) | 0x3FFF;
+ break;
+ case DSPF_ARGB1555:
+ for (i=0; i<info->width; i++)
+ dst16[i] = (src[i] << 8) | 0x7FFF;
+ break;
+ case DSPF_A8:
+ direct_memcpy( lock.addr, src, info->width );
+ break;
+ case DSPF_A4:
+ for (i=0, j=0; i<info->width; i+=2, j++)
+ dst8[j] = (src[i] & 0xF0) | (src[i+1] >> 4);
+ break;
+ case DSPF_A1:
+ for (i=0, j=0; i < info->width; ++j) {
+ register u8 p = 0;
+
+ for (n=0; n<8 && i<info->width; ++i, ++n)
+ p |= (src[i] & 0x80) >> n;
+
+ dst8[j] = p;
+ }
+ break;
+ case DSPF_LUT2:
+ for (i=0, j=0; i < info->width; ++j) {
+ register u8 p = 0;
+
+ for (n=0; n<8 && i<info->width; ++i, n+=2)
+ p |= (src[i] & 0xC0) >> n;
+
+ dst8[j] = p;
+ }
+ break;
+ default:
+ D_UNIMPLEMENTED();
+ break;
+ }
+ break;
+
+ /* case ft_pixel_mode_mono: */
+ case true:
+ switch (surface->config.format) {
+ case DSPF_ARGB:
+ for (i=0; i<info->width; i++)
+ dst32[i] = (((src[i>>3] & (1<<(7-(i%8)))) ?
+ 0xFF : 0x00) << 24) | 0xFFFFFF;
+ break;
+ case DSPF_AiRGB:
+ for (i=0; i<info->width; i++)
+ dst32[i] = (((src[i>>3] & (1<<(7-(i%8)))) ?
+ 0x00 : 0xFF) << 24) | 0xFFFFFF;
+ break;
+ case DSPF_ARGB4444:
+ for (i=0; i<info->width; i++)
+ dst16[i] = (((src[i>>3] & (1<<(7-(i%8)))) ?
+ 0xF : 0x0) << 12) | 0xFFF;
+ break;
+ case DSPF_ARGB2554:
+ for (i=0; i<info->width; i++)
+ dst16[i] = (((src[i>>3] & (1<<(7-(i%8)))) ?
+ 0x3 : 0x0) << 14) | 0x3FFF;
+ break;
+ case DSPF_ARGB1555:
+ for (i=0; i<info->width; i++)
+ dst16[i] = (((src[i>>3] & (1<<(7-(i%8)))) ?
+ 0x1 : 0x0) << 15) | 0x7FFF;
+ break;
+ case DSPF_A8:
+ for (i=0; i<info->width; i++)
+ dst8[i] = (src[i>>3] &
+ (1<<(7-(i%8)))) ? 0xFF : 0x00;
+ break;
+ case DSPF_A4:
+ for (i=0, j=0; i<info->width; i+=2, j++)
+ dst8[j] = ((src[i>>3] &
+ (1<<(7-(i%8)))) ? 0xF0 : 0x00) |
+ ((src[(i+1)>>3] &
+ (1<<(7-((i+1)%8)))) ? 0x0F : 0x00);
+ break;
+ case DSPF_A1:
+ direct_memcpy( lock.addr, src, DFB_BYTES_PER_LINE(DSPF_A1, info->width) );
+ break;
+ default:
+ D_UNIMPLEMENTED();
+ break;
+ }
+ break;
+
+ default:
+ break;
+
+ }
+
+ /*src += face->glyph->bitmap.pitch; */
+ src += glyph_map->bpl;
+
+ lock.addr += lock.pitch;
+ }
+
+ dfb_surface_unlock_buffer( surface, &lock );
+ FS_free_char(data->state,glyph_map);
+ return DFB_OK;
+}
+
+
+static DFBResult
+get_glyph_info( CoreFont *thiz,
+ unsigned int index,
+ CoreGlyphData *info )
+{
+ FS_LONG err;
+ /* FT_Face face;
+ FT_Int load_flags;*/
+ ITImplData *data = (ITImplData*) thiz->impl_data;
+ FS_GLYPHMAP *glyph_map;
+
+ pthread_mutex_lock ( &library_mutex );
+
+ /* face = data->face;
+
+ load_flags = (unsigned long) face->generic.data;
+ */
+
+ switch (info->layer) {
+ case 0:
+ err = FS_set_flags( data->state, FLAGS_NO_EFFECT );
+ if (err) {
+ D_ERROR( "DirectFB/FontItype: Failed setting FLAGS_NO_EFFECT!\n" );
+
+ pthread_mutex_unlock ( &library_mutex );
+ return DFB_FAILURE;
+ }
+ break;
+
+ case 1:
+ err = FS_set_flags( data->state, FLAGS_OUTLINED_SOFT );
+ if (err) {
+ D_ERROR( "DirectFB/FontItype: Failed setting FLAGS_OUTLINED_SOFT!\n" );
+
+ pthread_mutex_unlock ( &library_mutex );
+ return DFB_FAILURE;
+ }
+ break;
+
+ default:
+ return DFB_UNSUPPORTED;
+ }
+
+ if (load_mono)
+ glyph_map = FS_get_glyphmap( data->state, index, FS_MAP_BITMAP );
+ else
+ glyph_map = FS_get_glyphmap( data->state, index, FS_MAP_EDGE_GRAYMAP8 | FS_MAP_GRAYMAP8);
+ if (!glyph_map) {
+ /*glyph_map->err = FS_error(&state);*/
+ D_DEBUG( "DirectFB/FontItype: Could not load glyph for character index #%d!\n", index );
+
+ pthread_mutex_unlock ( &library_mutex );
+
+ return DFB_FAILURE;
+ }
+
+ /* if ((err = FT_Load_Glyph( face, index, load_flags ))) {
+ D_DEBUG( "DirectFB/FontFT2: Could not load glyph for character index #%d!\n", index );
+
+ pthread_mutex_unlock ( &library_mutex );
+
+ return DFB_FAILURE;
+ }
+
+ if (face->glyph->format != ft_glyph_format_bitmap) {
+ err = FT_Render_Glyph( face->glyph,
+ (load_flags & FT_LOAD_TARGET_MONO) ? ft_render_mode_mono : ft_render_mode_normal );
+ if (err) {
+ D_ERROR( "DirectFB/FontFT2: Could not render glyph for character index #%d!\n", index );
+
+ pthread_mutex_unlock ( &library_mutex );
+
+ return DFB_FAILURE;
+ }
+ }
+ */
+ pthread_mutex_unlock ( &library_mutex );
+
+ info->width = glyph_map->width;
+ info->height = glyph_map->height;
+// info->advance = data->fixed_advance ?
+// data->fixed_advance : (glyph_map->dx >> 16);
+ if (data->fixed_advance) {
+ info->xadvance = - data->fixed_advance * thiz->up_unit_y;
+ info->yadvance = data->fixed_advance * thiz->up_unit_x;
+ }
+ else {
+ info->xadvance = glyph_map->dx >> 16;
+ info->yadvance = - glyph_map->dy >> 16;
+ }
+
+ if (data->fixed_clip && info->width > data->fixed_advance)
+ info->width = data->fixed_advance;
+ FS_free_char(data->state,glyph_map);
+ return DFB_OK;
+}
+
+
+static DFBResult
+get_kerning( CoreFont *thiz,
+ unsigned int prev,
+ unsigned int current,
+ int *kern_x,
+ int *kern_y)
+{
+ /* FT_Vector vector;
+
+ FT2ImplKerningData *data = thiz->impl_data;
+ KerningCacheEntry *cache = NULL;
+
+ D_ASSUME( (kern_x != NULL) || (kern_y != NULL) );
+ */
+ /*
+ * Use cached values if characters are in the
+ * cachable range and the cache entry is already filled.
+ */
+ /* if (KERNING_DO_CACHE (prev, current)) {
+ cache = &KERNING_CACHE_ENTRY (prev, current);
+
+ if (kern_x)
+ *kern_x = (int) cache->x;
+
+ if (kern_y)
+ *kern_y = (int) cache->y;
+
+ return DFB_OK;
+ }
+
+ pthread_mutex_lock ( &library_mutex );
+ */
+ /* Lookup kerning values for the character pair. */
+/* FT_Get_Kerning( data->base.face,
+ prev, current, ft_kerning_default, &vector );
+
+ pthread_mutex_unlock ( &library_mutex );
+*/
+ /* Convert to integer. */
+/* if (kern_x)
+ *kern_x = vector.x >> 6;
+
+ if (kern_y)
+ *kern_y = vector.y >> 6;
+*/
+ if (kern_x)
+ *kern_x = 0;
+ if (kern_y)
+ *kern_y = 0;
+ return DFB_OK;
+}
+
+static void
+init_kerning_cache( ITImplKerningData *data )
+{
+ /* int a, b;
+
+ pthread_mutex_lock ( &library_mutex );
+
+ for (a=KERNING_CACHE_MIN; a<=KERNING_CACHE_MAX; a++) {
+ for (b=KERNING_CACHE_MIN; b<=KERNING_CACHE_MAX; b++) {
+ FT_Vector vector;
+ KerningCacheEntry *cache = &KERNING_CACHE_ENTRY( a, b );
+ */
+ /* Lookup kerning values for the character pair. */
+/* FT_Get_Kerning( data->base.face,
+ a, b, ft_kerning_default, &vector );
+
+ cache->x = (signed char) (vector.x >> 6);
+ cache->y = (signed char) (vector.y >> 6);
+ }
+ }
+
+ pthread_mutex_unlock ( &library_mutex );
+ */
+}
+
+/*static DFBResult
+init_freetype( void )
+{
+ FT_Error err;
+
+ pthread_mutex_lock ( &library_mutex );
+
+ if (!library) {
+ D_DEBUG( "DirectFB/FontFT2: Initializing the FreeType2 library.\n" );
+ err = FT_Init_FreeType( &library );
+ if (err) {
+ D_ERROR( "DirectFB/FontFT2: "
+ "Initialization of the FreeType2 library failed!\n" );
+ library = NULL;
+ pthread_mutex_unlock( &library_mutex );
+ return DFB_FAILURE;
+ }
+ }
+
+ library_ref_count++;
+ pthread_mutex_unlock( &library_mutex );
+
+ return DFB_OK;
+}
+
+
+static void
+release_freetype( void )
+{
+ pthread_mutex_lock( &library_mutex );
+
+ if (library && --library_ref_count == 0) {
+ D_DEBUG( "DirectFB/FontFT2: Releasing the FreeType2 library.\n" );
+ FT_Done_FreeType( library );
+ library = NULL;
+ }
+
+ pthread_mutex_unlock( &library_mutex );
+}
+
+*/
+static FS_STATE *
+init_itype( void )
+{
+ FS_LONG err;
+ FS_STATE *state=NULL;
+
+ pthread_mutex_lock ( &library_mutex );
+ if (!state_init) {
+ D_DEBUG( "DirectFB/FontItype: Initializing the Itype library.\n" );
+ memset(&state_global, 0, sizeof(FS_STATE));
+
+ err = FS_init(&state_global, THE_HEAP_SIZE);
+ if (err) {
+ D_ERROR( "DirectFB/FontItype: "
+ "Initialization of the Itype library failed!\n" );
+ pthread_mutex_unlock( &library_mutex );
+ return state;
+ }
+ state_init = true;
+ state =&state_global;
+ }
+ else {
+ state=FS_new_client(&state_global,0);
+ if (state==NULL) {
+ D_ERROR( "DirectFB/FontItype: "
+ "Add new client failed!\n" );
+ pthread_mutex_unlock( &library_mutex );
+ return state;
+ }
+ }
+ library_ref_count++;
+ pthread_mutex_unlock( &library_mutex );
+
+ return state;
+}
+
+
+static void
+release_itype( void )
+{
+ pthread_mutex_lock( &library_mutex );
+
+ if (state_init && --library_ref_count == 0) {
+ D_DEBUG( "DirectFB/FontItype: Releasing the Itype library.\n" );
+ /* FT_Done_FreeType( library );
+ library = NULL;
+ */
+
+ FS_exit(&state_global);
+ state_init = false;
+ }
+
+ pthread_mutex_unlock( &library_mutex );
+}
+
+static void
+IDirectFBFont_IT_Destruct( IDirectFBFont *thiz )
+{
+ IDirectFBFont_data *data = (IDirectFBFont_data*)thiz->priv;
+
+ if (data->font->impl_data) {
+ ITImplData *impl_data = (ITImplData*) data->font->impl_data;
+
+ pthread_mutex_lock ( &library_mutex );
+ /* FT_Done_Face( impl_data->face ); */
+ if (library_ref_count>1)
+ FS_end_client(impl_data->state);
+ pthread_mutex_unlock ( &library_mutex );
+
+ D_FREE( impl_data );
+
+ data->font->impl_data = NULL;
+ }
+
+ IDirectFBFont_Destruct( thiz );
+
+ release_itype();
+}
+
+
+static DirectResult
+IDirectFBFont_IT_Release( IDirectFBFont *thiz )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBFont)
+
+ if (--data->ref == 0) {
+ IDirectFBFont_IT_Destruct( thiz );
+ }
+
+ return DFB_OK;
+}
+
+
+static DFBResult
+Probe( IDirectFBFont_ProbeContext *ctx )
+{
+ /* FT_Error err;
+ FT_Face face;
+ */
+// FS_LONG err;
+// FILECHAR font_name[MAX_FONT_NAME_LEN];
+ FS_STATE *state_tp;
+
+ D_DEBUG_AT( Font_Itype, "Probe font `%s'.\n", ctx->filename );
+
+ if (!ctx->content)
+ return DFB_UNSUPPORTED;
+
+ if (ctx->filename && strchr (ctx->filename, '.' ) &&
+ (!strcasecmp ( strchr (ctx->filename, '.' ), ".ttf" ) == 0 &&
+ !strcasecmp ( strchr (ctx->filename, '.' ), ".otf" ) == 0 &&
+ !strcasecmp ( strchr (ctx->filename, '.' ), ".ltt") == 0))
+ return DFB_UNSUPPORTED;
+
+ state_tp = init_itype();
+ if (state_tp == NULL)
+ return DFB_FAILURE;
+
+ pthread_mutex_lock ( &library_mutex );
+ /*
+ * This should be
+ * err = FT_New_Face( library, ctx->filename, -1, NULL );
+ * but due to freetype bugs it doesn't work.
+ */
+ /* err = FT_New_Face( library, ctx->filename, 0, &face );
+ if (!err)
+ FT_Done_Face( face );
+ */
+ if (library_ref_count > 1)
+ FS_end_client(state_tp);
+ pthread_mutex_unlock ( &library_mutex );
+
+ release_itype();
+
+ return DFB_OK;
+}
+
+static bool disable_kerning = false;
+static DFBResult
+Construct( IDirectFBFont *thiz,
+ CoreDFB *core,
+ IDirectFBFont_ProbeContext *ctx,
+ DFBFontDescription *desc )
+{
+ int i;
+ DFBResult ret;
+ CoreFont *font;
+ /* FT_Face face;
+ FT_Error err;
+ FT_Int load_flags = FT_LOAD_DEFAULT; */
+ ITImplData *data;
+ bool disable_charmap = false;
+
+ u32 mask = 0;
+// FS_ULONG flags;
+
+ FS_LONG err;
+
+ FS_ULONG load_flags = 0;
+
+
+ FILECHAR fontName[MAX_FONT_NAME_LEN];
+ FS_STATE *state;
+ float sin_rot = 0.0;
+ float cos_rot = 1.0;
+
+ D_DEBUG( "DirectFB/FontItype: "
+ "Construct font from file `%s' (index %d) at pixel size %d x %d, rotation 0x%08x.\n",
+ ctx->filename,
+ (desc->flags & DFDESC_INDEX) ? desc->index : 0,
+ (desc->flags & DFDESC_WIDTH) ? desc->width : 0,
+ (desc->flags & DFDESC_HEIGHT) ? desc->height : 0,
+ (desc->flags & DFDESC_ROTATION) ? desc->rotation : 0 );
+
+ state = init_itype();
+ if (state == NULL) {
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return DFB_FAILURE;
+ }
+ pthread_mutex_lock ( &library_mutex );
+ err = FS_load_font(state, NULL, ctx->content,0, MAX_FONT_NAME_LEN, fontName);
+
+ if (err) {
+ D_ERROR( "DirectFB/FontItype: "
+ "Failed loading face %d from font file `%s' (error %lu)!\n",
+ (desc->flags & DFDESC_INDEX) ? desc->index : 0,
+ ctx->filename, state->error );
+ pthread_mutex_unlock ( &library_mutex );
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return DFB_FAILURE;
+ }
+
+ err = FS_set_font(state, fontName);
+ if (err) {
+ D_ERROR( "DirectFB/FontItype: "
+ "Failed seting font `%s'!\n", fontName );
+ FS_delete_font(state, fontName);
+
+ pthread_mutex_unlock ( &library_mutex );
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return DFB_FAILURE;
+ }
+
+ err = FS_set_cmap(state, 3,1 );
+ if (err) {
+ D_ERROR( "DirectFB/FontItype: "
+ "Failed seting cmap `%s'!\n", fontName );
+ FS_delete_font(state, fontName);
+
+ pthread_mutex_unlock ( &library_mutex );
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return DFB_FAILURE;
+ }
+
+
+ err = FS_set_flags( state, FLAGS_CMAP_OFF );
+ if (err) {
+ D_ERROR( "DirectFB/FontItype: "
+ "Failed setting FLAGS_CMAP_OFF for `%s'!\n", fontName );
+ FS_delete_font(state, fontName);
+
+ pthread_mutex_unlock ( &library_mutex );
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return DFB_FAILURE;
+ }
+
+ if (desc->flags & DFDESC_ATTRIBUTES && desc->attributes & DFFA_OUTLINED) {
+ if (desc->flags & DFDESC_OUTLINE_WIDTH)
+ FS_set_outline_width( state, desc->outline_width >> 16 );
+ else
+ FS_set_outline_width( state, 1 );
+
+ if (desc->flags & DFDESC_OUTLINE_OPACITY)
+ FS_set_outline_opacity( state, desc->outline_opacity );
+ else
+ FS_set_outline_opacity( state, 0x10000 );
+ }
+
+ pthread_mutex_unlock ( &library_mutex );
+ /*
+ if (init_freetype() != DFB_OK) {
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return DFB_FAILURE;
+ }
+
+ pthread_mutex_lock ( &library_mutex );
+ err = FT_New_Face( library, filename,
+ (desc->flags & DFDESC_INDEX) ? desc->index : 0,
+ &face );
+ pthread_mutex_unlock ( &library_mutex );
+ if (err) {
+ switch (err) {
+ case FT_Err_Unknown_File_Format:
+ D_ERROR( "DirectFB/FontFT2: "
+ "Unsupported font format in file `%s'!\n", filename );
+ break;
+ default:
+ D_ERROR( "DirectFB/FontFT2: "
+ "Failed loading face %d from font file `%s'!\n",
+ (desc->flags & DFDESC_INDEX) ? desc->index : 0,
+ filename );
+ break;
+ }
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return DFB_FAILURE;
+ }
+*/
+ if (dfb_config->font_format == DSPF_A1 || dfb_config->font_format == DSPF_ARGB1555)
+ load_mono = true;
+
+
+
+
+/*
+ if (desc->flags & DFDESC_ATTRIBUTES) {
+ if (desc->attributes & DFFA_NOHINTING)
+ load_flags |= FT_LOAD_NO_HINTING;
+ if (desc->attributes & DFFA_NOCHARMAP)
+ disable_charmap = true;
+ if (desc->attributes & DFFA_NOKERNING)
+ disable_kerning = true;
+ if (desc->attributes & DFFA_MONOCHROME)
+ load_mono = true;
+ }
+*/
+ if (desc->flags & DFDESC_ATTRIBUTES) {
+ if (desc->attributes & DFFA_NOHINTING)
+ load_flags |= FLAGS_HINTS_OFF;
+ if (desc->attributes & DFFA_NOCHARMAP) {
+ load_flags |= FLAGS_CMAP_OFF ;
+ disable_charmap = true;
+ }
+ if (desc->attributes & DFFA_NOKERNING)
+ disable_kerning = true;
+ if (desc->attributes & DFFA_MONOCHROME)
+ load_mono = true;
+ }
+/* if (load_mono)
+ load_flags |= FT_LOAD_TARGET_MONO;
+
+ if (!disable_charmap) {
+ pthread_mutex_lock ( &library_mutex );
+ err = FT_Select_Charmap( face, ft_encoding_unicode );
+ pthread_mutex_unlock ( &library_mutex );
+ */
+ if (!disable_charmap) {
+ pthread_mutex_lock ( &library_mutex );
+ err = FS_set_cmap( state, 3,1 ); /* Microsoft platform, Unicode */
+ pthread_mutex_unlock ( &library_mutex );
+
+
+/* #if FREETYPE_MINOR > 0*/
+
+ /* ft_encoding_latin_1 has been introduced in freetype-2.1 */
+ if (err) {
+ D_DEBUG( "DirectFB/FontItype: "
+ "Couldn't select Unicode encoding, "
+ "falling back to Latin1.\n");
+ pthread_mutex_lock ( &library_mutex );
+ err = FS_set_cmap( state, 3,0 );
+ pthread_mutex_unlock ( &library_mutex );
+ }
+/*#endif */
+ /* if (err) {
+ D_DEBUG( "DirectFB/Itype: "
+ "Couldn't select Unicode/Latin1 encoding, "
+ "trying Symbol.\n");
+ pthread_mutex_lock ( &library_mutex );
+ err = FS_set_cmap( &state, 3,3 );
+ pthread_mutex_unlock ( &library_mutex );
+
+ if (!err)
+ mask = 0xf000;
+ } */
+
+ }
+
+/*#if 0 */
+ if (err) {
+ D_ERROR( "DirectFB/Itype: "
+ "Couldn't select a suitable encoding for face %d from font file `%s'!\n", (desc->flags & DFDESC_INDEX) ? desc->index : 0, ctx->filename );
+ pthread_mutex_lock ( &library_mutex );
+ /*FT_Done_Face( face );*/
+ FS_delete_font(state, fontName);
+ pthread_mutex_unlock ( &library_mutex );
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return DFB_FAILURE;
+ }
+/* #endif */
+
+ if (desc->flags & (DFDESC_HEIGHT | DFDESC_WIDTH |
+ DFDESC_FRACT_HEIGHT | DFDESC_FRACT_WIDTH)) {
+ int fw = 0, fh = 0;
+
+ if (desc->flags & DFDESC_FRACT_HEIGHT)
+ fh = desc->fract_height;
+ else if (desc->flags & DFDESC_HEIGHT)
+ fh = desc->height << 16;
+
+ if (desc->flags & DFDESC_FRACT_WIDTH)
+ fw = desc->fract_width;
+ else if (desc->flags & DFDESC_WIDTH)
+ fw = desc->width << 16;
+
+ pthread_mutex_lock ( &library_mutex );
+ if ( fw != fh && fh != 0)
+ fw=fh;
+ else
+ fh=fw;
+
+
+
+ if ((desc->flags & DFDESC_ROTATION) && desc->rotation) {
+//JMH if (!FT_IS_SCALABLE(face)) {
+//JMH D_ERROR( "DirectFB/FontFT2: "
+//JMH "Face %d from font file `%s' is not scalable so cannot be rotated\n",
+//JMH (desc->flags & DFDESC_INDEX) ? desc->index : 0,
+//JMH filename );
+//JMH pthread_mutex_lock ( &library_mutex );
+//JMH FT_Done_Face( face );
+//JMH pthread_mutex_unlock ( &library_mutex );
+//JMH DIRECT_DEALLOCATE_INTERFACE( thiz );
+//JMH return DFB_UNSUPPORTED;
+//JMH }
+ float rot_radians = 2.0 * M_PI * desc->rotation / (1<<24);
+ sin_rot = sin(rot_radians);
+ cos_rot = cos(rot_radians);
+ err = FS_set_scale (state, fw*cos_rot, -fh*sin_rot, fw*sin_rot, fh*cos_rot );
+ }
+ else
+ {
+ err = FS_set_scale( state, fw, 0, 0, fh);
+ }
+
+ pthread_mutex_unlock ( &library_mutex );
+ if (err) {
+ D_ERROR( "DirectB/Itype: "
+ "Could not set pixel size to %d x %d!\n",
+ (desc->flags & DFDESC_WIDTH) ? desc->width : 0,
+ (desc->flags & DFDESC_HEIGHT) ? desc->height : 0 );
+ pthread_mutex_lock ( &library_mutex );
+ /* FT_Done_Face( face ); */
+ FS_delete_font(state, fontName);
+ pthread_mutex_unlock ( &library_mutex );
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return DFB_FAILURE;
+ }
+ }
+
+ /* face->generic.data = (void *)(unsigned long) load_flags;
+ face->generic.finalizer = NULL;
+ */
+ ret = dfb_font_create( core, &font );
+ if (ret) {
+ pthread_mutex_lock ( &library_mutex );
+ /* FT_Done_Face( face ); */
+ FS_delete_font(state, fontName);
+ pthread_mutex_unlock ( &library_mutex );
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return ret;
+ }
+
+ font->attributes = desc->attributes;
+
+ D_ASSERT( font->pixel_format == DSPF_ARGB ||
+ font->pixel_format == DSPF_AiRGB ||
+ font->pixel_format == DSPF_ARGB4444 ||
+ font->pixel_format == DSPF_ARGB2554 ||
+ font->pixel_format == DSPF_ARGB1555 ||
+ font->pixel_format == DSPF_A8 ||
+ font->pixel_format == DSPF_A4 ||
+ font->pixel_format == DSPF_A1 );
+
+ /*
+ font->ascender = face->size->metrics.ascender >> 6;
+ font->descender = face->size->metrics.descender >> 6;
+ font->height = font->ascender + ABS(font->descender) + 1;
+ font->maxadvance = face->size->metrics.max_advance >> 6;
+ */
+ FS_FIXED ascender;
+ FS_FIXED descender;
+ FS_FIXED leading;
+ FsAscDescLeadSource *source;
+ source = D_CALLOC( 1, sizeof(FsAscDescLeadSource) );
+ pthread_mutex_lock ( &library_mutex );
+ err = FS_get_ascender_descender_leading(state, &ascender,&descender,&leading,source);
+ pthread_mutex_unlock ( &library_mutex );
+
+ font->ascender = (ascender >> 16) + 1;
+ font->descender = 0 - (descender >> 16) - 1;
+ font->height = font->ascender + ABS(font->descender) + 1;
+ font->maxadvance = font->height + (leading >> 16);
+
+ font->up_unit_x = -sin_rot;
+ font->up_unit_y = -cos_rot;
+
+ D_FREE(source);
+ D_DEBUG( "DirectFB/Itype: height = %d, ascender = %d, descender = %d, maxadvance = %d, up unit: %5.2f,%5.2f\n",
+ font->height, font->ascender, font->descender, font->maxadvance, font->up_unit_x, font->up_unit_y );
+
+ font->GetGlyphData = get_glyph_info;
+ font->RenderGlyph = render_glyph;
+/*
+ if (FT_HAS_KERNING(face) && !disable_kerning) {
+ font->GetKerning = get_kerning;
+ data = D_CALLOC( 1, sizeof(FT2ImplKerningData) );
+ }
+ else
+ data = D_CALLOC( 1, sizeof(FT2ImplData) );
+*/
+ if (!disable_kerning) {
+ font->GetKerning = get_kerning;
+ data = D_CALLOC( 1, sizeof(ITImplKerningData) );
+ }
+ else
+ data = D_CALLOC( 1, sizeof(ITImplData) );
+
+ data->state = state;
+ data->disable_charmap = disable_charmap;
+
+ if (/*FT_HAS_KERNING(face) && */!disable_kerning)
+ init_kerning_cache( (ITImplKerningData*) data );
+
+ if (desc->flags & DFDESC_FIXEDADVANCE) {
+ data->fixed_advance = desc->fixed_advance;
+ font->maxadvance = desc->fixed_advance;
+
+ if ((desc->flags & DFDESC_ATTRIBUTES) && (desc->attributes & DFFA_FIXEDCLIP))
+ data->fixed_clip = true;
+ }
+
+ for (i=0; i<256; i++)
+ /* data->indices[i] = FT_Get_Char_Index( face, i | mask );*/
+ data->indices[i] = FS_map_char( state, i | mask );
+
+ font->impl_data = data;
+
+ dfb_font_register_encoding( font, "UTF8", &UTF8Funcs, DTEID_UTF8 );
+ dfb_font_register_encoding( font, "UTF16", &UTF16Funcs, DTEID_OTHER );
+ dfb_font_register_encoding( font, "Latin1", &Latin1Funcs, DTEID_OTHER );
+
+ IDirectFBFont_Construct( thiz, font );
+
+ thiz->Release = IDirectFBFont_IT_Release;
+
+ return DFB_OK;
+}
diff --git a/interfaces/IDirectFBImageProvider/Makefile.am b/interfaces/IDirectFBImageProvider/Makefile.am
index cbc73d1..a431b9d 100644
--- a/interfaces/IDirectFBImageProvider/Makefile.am
+++ b/interfaces/IDirectFBImageProvider/Makefile.am
@@ -23,12 +23,13 @@ endif
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
-AM_CPPFLAGS = -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\"
+AM_CPPFLAGS = -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\" $(LIBJPEG_CFLAGS) $(LIBPNG_CFLAGS)
idirectfbimageprovider_LTLIBRARIES = \
libidirectfbimageprovider_dfiff.la \
diff --git a/interfaces/IDirectFBImageProvider/Makefile.in b/interfaces/IDirectFBImageProvider/Makefile.in
index ad73c70..dca4a5c 100644
--- a/interfaces/IDirectFBImageProvider/Makefile.in
+++ b/interfaces/IDirectFBImageProvider/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,15 +47,36 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(idirectfbimageproviderdir)" \
"$(DESTDIR)$(idirectfbimageproviderdir)"
-idirectfbimageproviderLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(idirectfbimageprovider_LTLIBRARIES)
libidirectfbimageprovider_dfiff_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -62,9 +85,12 @@ am_libidirectfbimageprovider_dfiff_la_OBJECTS = \
idirectfbimageprovider_dfiff.lo
libidirectfbimageprovider_dfiff_la_OBJECTS = \
$(am_libidirectfbimageprovider_dfiff_la_OBJECTS)
-libidirectfbimageprovider_dfiff_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libidirectfbimageprovider_dfiff_la_LINK = $(LIBTOOL) $(AM_V_lt) \
+ --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbimageprovider_dfiff_la_LDFLAGS) $(LDFLAGS) -o $@
libidirectfbimageprovider_gif_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -73,7 +99,7 @@ am_libidirectfbimageprovider_gif_la_OBJECTS = \
idirectfbimageprovider_gif.lo
libidirectfbimageprovider_gif_la_OBJECTS = \
$(am_libidirectfbimageprovider_gif_la_OBJECTS)
-libidirectfbimageprovider_gif_la_LINK = $(LIBTOOL) --tag=CC \
+libidirectfbimageprovider_gif_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbimageprovider_gif_la_LDFLAGS) $(LDFLAGS) -o $@
@@ -87,9 +113,9 @@ am_libidirectfbimageprovider_jpeg_la_OBJECTS = \
idirectfbimageprovider_jpeg.lo
libidirectfbimageprovider_jpeg_la_OBJECTS = \
$(am_libidirectfbimageprovider_jpeg_la_OBJECTS)
-libidirectfbimageprovider_jpeg_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
+libidirectfbimageprovider_jpeg_la_LINK = $(LIBTOOL) $(AM_V_lt) \
+ --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbimageprovider_jpeg_la_LDFLAGS) $(LDFLAGS) -o $@
@JPEG_PROVIDER_TRUE at am_libidirectfbimageprovider_jpeg_la_rpath = \
@JPEG_PROVIDER_TRUE@ -rpath $(idirectfbimageproviderdir)
@@ -100,7 +126,7 @@ am_libidirectfbimageprovider_png_la_OBJECTS = \
idirectfbimageprovider_png.lo
libidirectfbimageprovider_png_la_OBJECTS = \
$(am_libidirectfbimageprovider_png_la_OBJECTS)
-libidirectfbimageprovider_png_la_LINK = $(LIBTOOL) --tag=CC \
+libidirectfbimageprovider_png_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbimageprovider_png_la_LDFLAGS) $(LDFLAGS) -o $@
@@ -109,15 +135,29 @@ libidirectfbimageprovider_png_la_LINK = $(LIBTOOL) --tag=CC \
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libidirectfbimageprovider_dfiff_la_SOURCES) \
$(libidirectfbimageprovider_gif_la_SOURCES) \
$(libidirectfbimageprovider_jpeg_la_SOURCES) \
@@ -126,13 +166,13 @@ DIST_SOURCES = $(libidirectfbimageprovider_dfiff_la_SOURCES) \
$(libidirectfbimageprovider_gif_la_SOURCES) \
$(libidirectfbimageprovider_jpeg_la_SOURCES) \
$(libidirectfbimageprovider_png_la_SOURCES)
-idirectfbimageproviderDATA_INSTALL = $(INSTALL_DATA)
DATA = $(idirectfbimageprovider_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -156,11 +196,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -174,16 +217,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -204,12 +248,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -220,21 +267,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -242,6 +297,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -255,6 +314,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -262,9 +322,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -311,6 +372,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
idirectfbimageproviderdir = $(MODULEDIR)/interfaces/IDirectFBImageProvider
@@ -322,12 +384,13 @@ idirectfbimageproviderdir = $(MODULEDIR)/interfaces/IDirectFBImageProvider
@PNG_PROVIDER_TRUE at PNG_PROVIDER_LTLIB = libidirectfbimageprovider_png.la
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
-AM_CPPFLAGS = -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\"
+AM_CPPFLAGS = -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\" $(LIBJPEG_CFLAGS) $(LIBPNG_CFLAGS)
idirectfbimageprovider_LTLIBRARIES = \
libidirectfbimageprovider_dfiff.la \
$(GIF_PROVIDER_LTLIB) \
@@ -369,14 +432,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu interfaces/IDirectFBImageProvider/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu interfaces/IDirectFBImageProvider/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu interfaces/IDirectFBImageProvider/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu interfaces/IDirectFBImageProvider/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -386,6 +449,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -394,23 +458,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-idirectfbimageproviderLTLIBRARIES: $(idirectfbimageprovider_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbimageproviderdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbimageproviderdir)"
- @list='$(idirectfbimageprovider_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbimageprovider_LTLIBRARIES)'; test -n "$(idirectfbimageproviderdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbimageproviderLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbimageproviderdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbimageproviderLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbimageproviderdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbimageproviderdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbimageproviderdir)"; \
+ }
uninstall-idirectfbimageproviderLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbimageprovider_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbimageproviderdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbimageproviderdir)/$$p"; \
+ @list='$(idirectfbimageprovider_LTLIBRARIES)'; test -n "$(idirectfbimageproviderdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbimageproviderdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbimageproviderdir)/$$f"; \
done
clean-idirectfbimageproviderLTLIBRARIES:
@@ -421,14 +490,14 @@ clean-idirectfbimageproviderLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libidirectfbimageprovider_dfiff.la: $(libidirectfbimageprovider_dfiff_la_OBJECTS) $(libidirectfbimageprovider_dfiff_la_DEPENDENCIES)
- $(libidirectfbimageprovider_dfiff_la_LINK) -rpath $(idirectfbimageproviderdir) $(libidirectfbimageprovider_dfiff_la_OBJECTS) $(libidirectfbimageprovider_dfiff_la_LIBADD) $(LIBS)
-libidirectfbimageprovider_gif.la: $(libidirectfbimageprovider_gif_la_OBJECTS) $(libidirectfbimageprovider_gif_la_DEPENDENCIES)
- $(libidirectfbimageprovider_gif_la_LINK) $(am_libidirectfbimageprovider_gif_la_rpath) $(libidirectfbimageprovider_gif_la_OBJECTS) $(libidirectfbimageprovider_gif_la_LIBADD) $(LIBS)
-libidirectfbimageprovider_jpeg.la: $(libidirectfbimageprovider_jpeg_la_OBJECTS) $(libidirectfbimageprovider_jpeg_la_DEPENDENCIES)
- $(libidirectfbimageprovider_jpeg_la_LINK) $(am_libidirectfbimageprovider_jpeg_la_rpath) $(libidirectfbimageprovider_jpeg_la_OBJECTS) $(libidirectfbimageprovider_jpeg_la_LIBADD) $(LIBS)
-libidirectfbimageprovider_png.la: $(libidirectfbimageprovider_png_la_OBJECTS) $(libidirectfbimageprovider_png_la_DEPENDENCIES)
- $(libidirectfbimageprovider_png_la_LINK) $(am_libidirectfbimageprovider_png_la_rpath) $(libidirectfbimageprovider_png_la_OBJECTS) $(libidirectfbimageprovider_png_la_LIBADD) $(LIBS)
+libidirectfbimageprovider_dfiff.la: $(libidirectfbimageprovider_dfiff_la_OBJECTS) $(libidirectfbimageprovider_dfiff_la_DEPENDENCIES) $(EXTRA_libidirectfbimageprovider_dfiff_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbimageprovider_dfiff_la_LINK) -rpath $(idirectfbimageproviderdir) $(libidirectfbimageprovider_dfiff_la_OBJECTS) $(libidirectfbimageprovider_dfiff_la_LIBADD) $(LIBS)
+libidirectfbimageprovider_gif.la: $(libidirectfbimageprovider_gif_la_OBJECTS) $(libidirectfbimageprovider_gif_la_DEPENDENCIES) $(EXTRA_libidirectfbimageprovider_gif_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbimageprovider_gif_la_LINK) $(am_libidirectfbimageprovider_gif_la_rpath) $(libidirectfbimageprovider_gif_la_OBJECTS) $(libidirectfbimageprovider_gif_la_LIBADD) $(LIBS)
+libidirectfbimageprovider_jpeg.la: $(libidirectfbimageprovider_jpeg_la_OBJECTS) $(libidirectfbimageprovider_jpeg_la_DEPENDENCIES) $(EXTRA_libidirectfbimageprovider_jpeg_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbimageprovider_jpeg_la_LINK) $(am_libidirectfbimageprovider_jpeg_la_rpath) $(libidirectfbimageprovider_jpeg_la_OBJECTS) $(libidirectfbimageprovider_jpeg_la_LIBADD) $(LIBS)
+libidirectfbimageprovider_png.la: $(libidirectfbimageprovider_png_la_OBJECTS) $(libidirectfbimageprovider_png_la_DEPENDENCIES) $(EXTRA_libidirectfbimageprovider_png_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbimageprovider_png_la_LINK) $(am_libidirectfbimageprovider_png_la_rpath) $(libidirectfbimageprovider_png_la_OBJECTS) $(libidirectfbimageprovider_png_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -442,25 +511,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbimageprovider_png.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -470,34 +539,35 @@ clean-libtool:
install-idirectfbimageproviderDATA: $(idirectfbimageprovider_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbimageproviderdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbimageproviderdir)"
- @list='$(idirectfbimageprovider_DATA)'; for p in $$list; do \
+ @list='$(idirectfbimageprovider_DATA)'; test -n "$(idirectfbimageproviderdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbimageproviderDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbimageproviderdir)/$$f'"; \
- $(idirectfbimageproviderDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbimageproviderdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbimageproviderdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbimageproviderdir)" || exit $$?; \
done
uninstall-idirectfbimageproviderDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbimageprovider_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbimageproviderdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbimageproviderdir)/$$f"; \
- done
+ @list='$(idirectfbimageprovider_DATA)'; test -n "$(idirectfbimageproviderdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbimageproviderdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -505,29 +575,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -548,13 +623,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -575,16 +654,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -606,6 +691,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -615,18 +702,28 @@ install-data-am: install-idirectfbimageproviderDATA \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -679,6 +776,7 @@ uninstall-am: uninstall-idirectfbimageproviderDATA \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/interfaces/IDirectFBImageProvider/idirectfbimageprovider_dfiff.c b/interfaces/IDirectFBImageProvider/idirectfbimageprovider_dfiff.c
index 56207e4..0cd380a 100644
--- a/interfaces/IDirectFBImageProvider/idirectfbimageprovider_dfiff.c
+++ b/interfaces/IDirectFBImageProvider/idirectfbimageprovider_dfiff.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -78,15 +78,10 @@ DIRECT_INTERFACE_IMPLEMENTATION( IDirectFBImageProvider, DFIFF )
* private data struct of IDirectFBImageProvider_DFIFF
*/
typedef struct {
- int ref; /* reference counter */
+ IDirectFBImageProvider_data base;
void *ptr; /* pointer to raw file data (mapped) */
int len; /* data length, i.e. file size */
-
- DIRenderCallback render_callback;
- void *render_callback_context;
-
- CoreDFB *core;
} IDirectFBImageProvider_DFIFF_data;
@@ -99,30 +94,6 @@ IDirectFBImageProvider_DFIFF_Destruct( IDirectFBImageProvider *thiz )
IDirectFBImageProvider_DFIFF_data *data = thiz->priv;
munmap( data->ptr, data->len );
-
- DIRECT_DEALLOCATE_INTERFACE( thiz );
-}
-
-static DirectResult
-IDirectFBImageProvider_DFIFF_AddRef( IDirectFBImageProvider *thiz )
-{
- DIRECT_INTERFACE_GET_DATA (IDirectFBImageProvider_DFIFF)
-
- data->ref++;
-
- return DFB_OK;
-}
-
-static DirectResult
-IDirectFBImageProvider_DFIFF_Release( IDirectFBImageProvider *thiz )
-{
- DIRECT_INTERFACE_GET_DATA (IDirectFBImageProvider_DFIFF)
-
- if (--data->ref == 0) {
- IDirectFBImageProvider_DFIFF_Destruct( thiz );
- }
-
- return DFB_OK;
}
static DFBResult
@@ -168,11 +139,11 @@ IDirectFBImageProvider_DFIFF_RenderTo( IDirectFBImageProvider *thiz,
header = data->ptr;
if (DFB_RECTANGLE_EQUAL( rect, clipped ) &&
- rect.w == header->width && rect.h == header->height &&
+ (unsigned)rect.w == header->width && (unsigned)rect.h == header->height &&
dst_surface->config.format == header->format)
{
ret = dfb_surface_write_buffer( dst_surface, CSBR_BACK,
- data->ptr + sizeof(DFIFFHeader), header->pitch, &rect );
+ (u8*)data->ptr + sizeof(DFIFFHeader), header->pitch, &rect );
if (ret)
return ret;
}
@@ -186,7 +157,7 @@ IDirectFBImageProvider_DFIFF_RenderTo( IDirectFBImageProvider *thiz,
thiz->GetSurfaceDescription( thiz, &desc );
desc.flags |= DSDESC_PREALLOCATED;
- desc.preallocated[0].data = data->ptr + sizeof(DFIFFHeader);
+ desc.preallocated[0].data = (u8*)data->ptr + sizeof(DFIFFHeader);
desc.preallocated[0].pitch = header->pitch;
ret = idirectfb_singleton->CreateSurface( idirectfb_singleton, &desc, &source );
@@ -214,27 +185,15 @@ IDirectFBImageProvider_DFIFF_RenderTo( IDirectFBImageProvider *thiz,
source->Release( source );
}
- if (data->render_callback) {
+ if (data->base.render_callback) {
DFBRectangle rect = { 0, 0, clipped.w, clipped.h };
- data->render_callback( &rect, data->render_callback_context );
+ data->base.render_callback( &rect,
+ data->base.render_callback_context );
}
return DFB_OK;
}
-static DFBResult
-IDirectFBImageProvider_DFIFF_SetRenderCallback( IDirectFBImageProvider *thiz,
- DIRenderCallback callback,
- void *context )
-{
- DIRECT_INTERFACE_GET_DATA (IDirectFBImageProvider_DFIFF)
-
- data->render_callback = callback;
- data->render_callback_context = context;
-
- return DFB_OK;
-}
-
/* Loading routines */
static DFBResult
@@ -349,15 +308,15 @@ Construct( IDirectFBImageProvider *thiz,
/* Already close, we still have the map. */
close( fd );
- data->ref = 1;
+ data->base.ref = 1;
+ data->base.core = core;
+
data->ptr = ptr;
data->len = stat.st_size;
- data->core = core;
- thiz->AddRef = IDirectFBImageProvider_DFIFF_AddRef;
- thiz->Release = IDirectFBImageProvider_DFIFF_Release;
+ data->base.Destruct = IDirectFBImageProvider_DFIFF_Destruct;
+
thiz->RenderTo = IDirectFBImageProvider_DFIFF_RenderTo;
- thiz->SetRenderCallback = IDirectFBImageProvider_DFIFF_SetRenderCallback;
thiz->GetImageDescription = IDirectFBImageProvider_DFIFF_GetImageDescription;
thiz->GetSurfaceDescription = IDirectFBImageProvider_DFIFF_GetSurfaceDescription;
diff --git a/interfaces/IDirectFBImageProvider/idirectfbimageprovider_gif.c b/interfaces/IDirectFBImageProvider/idirectfbimageprovider_gif.c
index f9e8229..428e692 100644
--- a/interfaces/IDirectFBImageProvider/idirectfbimageprovider_gif.c
+++ b/interfaces/IDirectFBImageProvider/idirectfbimageprovider_gif.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -41,11 +41,9 @@
#include <media/idirectfbimageprovider.h>
-#include <core/coredefs.h>
-#include <core/coretypes.h>
-
#include <core/layers.h>
-#include <core/surface.h>
+
+#include <core/CoreSurface.h>
#include <misc/gfx_util.h>
#include <direct/interface.h>
@@ -66,10 +64,10 @@ DIRECT_INTERFACE_IMPLEMENTATION( IDirectFBImageProvider, GIF )
#ifndef NODEBUG
-#define GIFERRORMSG(x...) { fprintf( stderr, "(GIFLOADER) "x ); \
+#define GIFERRORMSG(...) { fprintf( stderr, "(GIFLOADER) " __VA_ARGS__ ); \
fprintf( stderr, "\n" ); }
#else
-#define GIFERRORMSG(x...)
+#define GIFERRORMSG(...)
#endif
#define MAXCOLORMAPSIZE 256
@@ -91,9 +89,7 @@ DIRECT_INTERFACE_IMPLEMENTATION( IDirectFBImageProvider, GIF )
* private data struct of IDirectFBImageProvider_GIF
*/
typedef struct {
- int ref; /* reference counter */
-
- IDirectFBDataBuffer *buffer;
+ IDirectFBImageProvider_data base;
u32 *image;
int image_width;
@@ -128,11 +124,6 @@ typedef struct {
int clear_code, end_code;
int table[2][(1<< MAX_LWZ_BITS)];
int stack[(1<<(MAX_LWZ_BITS))*2], *sp;
-
- DIRenderCallback render_callback;
- void *render_callback_ctx;
-
- CoreDFB *core;
} IDirectFBImageProvider_GIF_data;
static bool verbose = false;
@@ -146,23 +137,12 @@ static u32* ReadGIF( IDirectFBImageProvider_GIF_data *data, int imageNumber,
static bool ReadOK( IDirectFBDataBuffer *buffer, void *data, unsigned int len );
-static DirectResult
-IDirectFBImageProvider_GIF_AddRef ( IDirectFBImageProvider *thiz );
-
-static DirectResult
-IDirectFBImageProvider_GIF_Release ( IDirectFBImageProvider *thiz );
-
static DFBResult
IDirectFBImageProvider_GIF_RenderTo( IDirectFBImageProvider *thiz,
IDirectFBSurface *destination,
const DFBRectangle *destination_rect );
static DFBResult
-IDirectFBImageProvider_GIF_SetRenderCallback( IDirectFBImageProvider *thiz,
- DIRenderCallback callback,
- void *context );
-
-static DFBResult
IDirectFBImageProvider_GIF_GetSurfaceDescription( IDirectFBImageProvider *thiz,
DFBSurfaceDescription *dsc );
@@ -171,6 +151,16 @@ IDirectFBImageProvider_GIF_GetImageDescription( IDirectFBImageProvider *thiz,
DFBImageDescription *dsc );
+static void
+IDirectFBImageProvider_GIF_Destruct( IDirectFBImageProvider *thiz )
+{
+ IDirectFBImageProvider_GIF_data *data =
+ (IDirectFBImageProvider_GIF_data*)thiz->priv;
+
+ if (data->image)
+ D_FREE( data->image );
+}
+
static DFBResult
Probe( IDirectFBImageProvider_ProbeContext *ctx )
{
@@ -194,33 +184,35 @@ Construct( IDirectFBImageProvider *thiz,
buffer = va_arg( tag, IDirectFBDataBuffer * );
core = va_arg( tag, CoreDFB * );
va_end( tag );
-
- data->ref = 1;
+
+ data->base.ref = 1;
+
+ data->base.buffer = buffer;
+ data->base.core = core;
+
+ buffer->AddRef( buffer );
data->GrayScale = -1;
data->transparent = -1;
data->delayTime = -1;
- data->core = core;
- data->buffer = buffer;
- buffer->AddRef( buffer );
-
data->image = ReadGIF( data, 1, &data->image_width, &data->image_height,
&data->image_transparency, &data->image_colorkey,
true, false );
buffer->Release( buffer );
- data->buffer = NULL;
-
- if (!data->image) {
+ data->base.buffer = NULL;
+
+ if (!data->image ||
+ (data->image_height == 0) ||
+ (data->image_width == 0) ) {
DIRECT_DEALLOCATE_INTERFACE( thiz );
return DFB_FAILURE;
}
- thiz->AddRef = IDirectFBImageProvider_GIF_AddRef;
- thiz->Release = IDirectFBImageProvider_GIF_Release;
+ data->base.Destruct = IDirectFBImageProvider_GIF_Destruct;
+
thiz->RenderTo = IDirectFBImageProvider_GIF_RenderTo;
- thiz->SetRenderCallback = IDirectFBImageProvider_GIF_SetRenderCallback;
thiz->GetImageDescription = IDirectFBImageProvider_GIF_GetImageDescription;
thiz->GetSurfaceDescription =
IDirectFBImageProvider_GIF_GetSurfaceDescription;
@@ -228,40 +220,6 @@ Construct( IDirectFBImageProvider *thiz,
return DFB_OK;
}
-static void
-IDirectFBImageProvider_GIF_Destruct( IDirectFBImageProvider *thiz )
-{
- IDirectFBImageProvider_GIF_data *data =
- (IDirectFBImageProvider_GIF_data*)thiz->priv;
-
- if (data->image)
- D_FREE( data->image );
-
- DIRECT_DEALLOCATE_INTERFACE( thiz );
-}
-
-static DirectResult
-IDirectFBImageProvider_GIF_AddRef( IDirectFBImageProvider *thiz )
-{
- DIRECT_INTERFACE_GET_DATA(IDirectFBImageProvider_GIF)
-
- data->ref++;
-
- return DFB_OK;
-}
-
-static DirectResult
-IDirectFBImageProvider_GIF_Release( IDirectFBImageProvider *thiz )
-{
- DIRECT_INTERFACE_GET_DATA(IDirectFBImageProvider_GIF)
-
- if (--data->ref == 0) {
- IDirectFBImageProvider_GIF_Destruct( thiz );
- }
-
- return DFB_OK;
-}
-
static DFBResult
IDirectFBImageProvider_GIF_RenderTo( IDirectFBImageProvider *thiz,
IDirectFBSurface *destination,
@@ -289,7 +247,7 @@ IDirectFBImageProvider_GIF_RenderTo( IDirectFBImageProvider *thiz,
if (dest_rect) {
if (dest_rect->w < 1 || dest_rect->h < 1)
return DFB_INVARG;
- rect = *dest_rect;
+ rect = *dest_rect;
rect.x += dst_data->area.wanted.x;
rect.y += dst_data->area.wanted.y;
}
@@ -314,7 +272,7 @@ IDirectFBImageProvider_GIF_RenderTo( IDirectFBImageProvider *thiz,
dfb_surface_unlock_buffer( dst_surface, &lock );
- if (data->render_callback) {
+ if (data->base.render_callback) {
DIRenderCallbackResult r;
rect.x = 0;
@@ -322,7 +280,8 @@ IDirectFBImageProvider_GIF_RenderTo( IDirectFBImageProvider *thiz,
rect.w = data->image_width;
rect.h = data->image_height;
- r = data->render_callback( &rect, data->render_callback_ctx );
+ r = data->base.render_callback( &rect,
+ data->base.render_callback_context );
if (r != DIRCR_OK)
return DFB_INTERRUPTED;
@@ -333,19 +292,6 @@ IDirectFBImageProvider_GIF_RenderTo( IDirectFBImageProvider *thiz,
}
static DFBResult
-IDirectFBImageProvider_GIF_SetRenderCallback( IDirectFBImageProvider *thiz,
- DIRenderCallback callback,
- void *context )
-{
- DIRECT_INTERFACE_GET_DATA (IDirectFBImageProvider_GIF)
-
- data->render_callback = callback;
- data->render_callback_ctx = context;
-
- return DFB_OK;
-}
-
-static DFBResult
IDirectFBImageProvider_GIF_GetSurfaceDescription( IDirectFBImageProvider *thiz,
DFBSurfaceDescription *dsc )
{
@@ -442,7 +388,7 @@ static int GetCode(IDirectFBImageProvider_GIF_data *data, int code_size, int fla
data->buf[0] = data->buf[data->last_byte-2];
data->buf[1] = data->buf[data->last_byte-1];
- if ((count = GetDataBlock( data->buffer, &data->buf[2] )) == 0) {
+ if ((count = GetDataBlock( data->base.buffer, &data->buf[2] )) == 0) {
data->done = true;
}
@@ -474,21 +420,21 @@ static int DoExtension( IDirectFBImageProvider_GIF_data *data, int label )
break;
case 0xfe: /* Comment Extension */
str = "Comment Extension";
- while (GetDataBlock( data->buffer, (u8*) buf ) != 0) {
+ while (GetDataBlock( data->base.buffer, (u8*) buf ) != 0) {
if (showComment)
GIFERRORMSG("gif comment: %s", buf );
}
return false;
case 0xf9: /* Graphic Control Extension */
str = "Graphic Control Extension";
- (void) GetDataBlock( data->buffer, (u8*) buf );
+ (void) GetDataBlock( data->base.buffer, (u8*) buf );
data->disposal = (buf[0] >> 2) & 0x7;
data->inputFlag = (buf[0] >> 1) & 0x1;
data->delayTime = LM_to_uint( buf[1], buf[2] );
if ((buf[0] & 0x1) != 0) {
data->transparent = buf[3];
}
- while (GetDataBlock( data->buffer, (u8*) buf ) != 0)
+ while (GetDataBlock( data->base.buffer, (u8*) buf ) != 0)
;
return false;
default:
@@ -500,7 +446,7 @@ static int DoExtension( IDirectFBImageProvider_GIF_data *data, int label )
if (verbose)
GIFERRORMSG("got a '%s' extension", str );
- while (GetDataBlock( data->buffer, (u8*) buf ) != 0)
+ while (GetDataBlock( data->base.buffer, (u8*) buf ) != 0)
;
return false;
@@ -572,7 +518,7 @@ static int LWZReadByte( IDirectFBImageProvider_GIF_data *data, int flag, int inp
return -2;
}
- while ((count = GetDataBlock( data->buffer, buf )) > 0)
+ while ((count = GetDataBlock( data->base.buffer, buf )) > 0)
;
if (count != 0)
@@ -681,7 +627,7 @@ static u32* ReadImage( IDirectFBImageProvider_GIF_data *data, int width, int hei
/*
** Initialize the decompression routines
*/
- if (! ReadOK( data->buffer, &c, 1 ))
+ if (! ReadOK( data->base.buffer, &c, 1 ))
GIFERRORMSG("EOF / read error on image data" );
if (LWZReadByte( data, true, c ) < 0)
@@ -698,10 +644,10 @@ static u32* ReadImage( IDirectFBImageProvider_GIF_data *data, int width, int hei
;
return NULL;
}
-
+
// FIXME: allocates four additional bytes because the scaling functions
// in src/misc/gfx_util.c have an off-by-one bug which causes
- // segfaults on darwin/osx (not on linux)
+ // segfaults on darwin/osx (not on linux)
if ((image = D_MALLOC(width * height * 4 + 4)) == NULL) {
GIFERRORMSG("couldn't alloc space for image" );
}
@@ -789,7 +735,7 @@ static u32* ReadGIF( IDirectFBImageProvider_GIF_data *data, int imageNumber,
int imageCount = 0;
char version[4];
- if (! ReadOK( data->buffer, buf, 6 )) {
+ if (! ReadOK( data->base.buffer, buf, 6 )) {
GIFERRORMSG("error reading magic number" );
}
@@ -803,7 +749,7 @@ static u32* ReadGIF( IDirectFBImageProvider_GIF_data *data, int imageNumber,
GIFERRORMSG("bad version number, not '87a' or '89a'" );
}
- if (! ReadOK(data->buffer,buf,7)) {
+ if (! ReadOK(data->base.buffer,buf,7)) {
GIFERRORMSG("failed to read screen descriptor" );
}
@@ -815,7 +761,7 @@ static u32* ReadGIF( IDirectFBImageProvider_GIF_data *data, int imageNumber,
data->AspectRatio = buf[6];
if (BitSet(buf[4], LOCALCOLORMAP)) { /* Global Colormap */
- if (ReadColorMap( data->buffer, data->BitPixel, data->ColorMap )) {
+ if (ReadColorMap( data->base.buffer, data->BitPixel, data->ColorMap )) {
GIFERRORMSG("error reading global colormap" );
}
}
@@ -831,7 +777,7 @@ static u32* ReadGIF( IDirectFBImageProvider_GIF_data *data, int imageNumber,
data->disposal = 0;
for (;;) {
- if (! ReadOK( data->buffer, &c, 1)) {
+ if (! ReadOK( data->base.buffer, &c, 1)) {
GIFERRORMSG("EOF / read error on image data" );
}
@@ -844,7 +790,7 @@ static u32* ReadGIF( IDirectFBImageProvider_GIF_data *data, int imageNumber,
}
if (c == '!') { /* Extension */
- if (! ReadOK( data->buffer, &c, 1)) {
+ if (! ReadOK( data->base.buffer, &c, 1)) {
GIFERRORMSG("OF / read error on extention function code");
}
DoExtension( data, c );
@@ -858,7 +804,7 @@ static u32* ReadGIF( IDirectFBImageProvider_GIF_data *data, int imageNumber,
++imageCount;
- if (! ReadOK( data->buffer, buf, 9 )) {
+ if (! ReadOK( data->base.buffer, buf, 9 )) {
GIFERRORMSG("couldn't read left/top/width/height");
}
@@ -878,7 +824,7 @@ static u32* ReadGIF( IDirectFBImageProvider_GIF_data *data, int imageNumber,
}
else {
bitPixel = 2 << (buf[8] & 0x07);
- if (ReadColorMap( data->buffer, bitPixel, localColorMap ))
+ if (ReadColorMap( data->base.buffer, bitPixel, localColorMap ))
GIFERRORMSG("error reading local colormap" );
if (*transparency && (key_rgb || !headeronly))
diff --git a/interfaces/IDirectFBImageProvider/idirectfbimageprovider_jpeg.c b/interfaces/IDirectFBImageProvider/idirectfbimageprovider_jpeg.c
index e67da17..3d330c1 100644
--- a/interfaces/IDirectFBImageProvider/idirectfbimageprovider_jpeg.c
+++ b/interfaces/IDirectFBImageProvider/idirectfbimageprovider_jpeg.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -41,11 +41,9 @@
#include <media/idirectfbimageprovider.h>
-#include <core/coredefs.h>
-#include <core/coretypes.h>
-
#include <core/layers.h>
-#include <core/surface.h>
+
+#include <core/CoreSurface.h>
#include <misc/gfx_util.h>
#include <misc/util.h>
@@ -76,25 +74,16 @@ DIRECT_INTERFACE_IMPLEMENTATION( IDirectFBImageProvider, JPEG )
* private data struct of IDirectFBImageProvider_JPEG
*/
typedef struct {
- int ref; /* reference counter */
-
- IDirectFBDataBuffer *buffer;
-
- DIRenderCallback render_callback;
- void *render_callback_context;
+ IDirectFBImageProvider_data base;
- u32 *image;
- int width;
- int height;
+ int width; /* width of the JPEG image */
+ int height; /* height of the JPEG image */
- CoreDFB *core;
+ u32 *image; /* decoded image data */
+ int image_width; /* width of image data */
+ int image_height; /* height of image data */
} IDirectFBImageProvider_JPEG_data;
-static DirectResult
-IDirectFBImageProvider_JPEG_AddRef ( IDirectFBImageProvider *thiz );
-
-static DirectResult
-IDirectFBImageProvider_JPEG_Release ( IDirectFBImageProvider *thiz );
static DFBResult
IDirectFBImageProvider_JPEG_RenderTo( IDirectFBImageProvider *thiz,
@@ -102,11 +91,6 @@ IDirectFBImageProvider_JPEG_RenderTo( IDirectFBImageProvider *thiz,
const DFBRectangle *destination_rect );
static DFBResult
-IDirectFBImageProvider_JPEG_SetRenderCallback( IDirectFBImageProvider *thiz,
- DIRenderCallback callback,
- void *context );
-
-static DFBResult
IDirectFBImageProvider_JPEG_GetSurfaceDescription( IDirectFBImageProvider *thiz,
DFBSurfaceDescription *dsc);
@@ -192,6 +176,7 @@ buffer_skip_input_data (j_decompress_ptr cinfo, long num_bytes)
static void
buffer_term_source (j_decompress_ptr cinfo)
{
+ D_UNUSED_P( cinfo );
}
static void
@@ -279,12 +264,34 @@ copy_line_nv16( u16 *yy, u16 *cbcr, const u8 *src_ycbcr, int width )
}
+static void
+IDirectFBImageProvider_JPEG_Destruct( IDirectFBImageProvider *thiz )
+{
+ IDirectFBImageProvider_JPEG_data *data =
+ (IDirectFBImageProvider_JPEG_data*)thiz->priv;
+
+ if (data->image)
+ D_FREE( data->image );
+}
+
static DFBResult
Probe( IDirectFBImageProvider_ProbeContext *ctx )
{
+ /* Look of the Jpeg SOI marker */
if (ctx->header[0] == 0xff && ctx->header[1] == 0xd8) {
+ /* Look for JFIF or Exif strings, also could look at header[3:2] for APP0(0xFFE0),
+ * APP1(0xFFE1) or even other APPx markers.
+ */
if (strncmp ((char*) ctx->header + 6, "JFIF", 4) == 0 ||
- strncmp ((char*) ctx->header + 6, "Exif", 4) == 0)
+ strncmp ((char*) ctx->header + 6, "Exif", 4) == 0 ||
+ strncmp ((char*) ctx->header + 6, "VVL", 3) == 0 ||
+ strncmp ((char*) ctx->header + 6, "WANG", 4) == 0)
+ return DFB_OK;
+
+ /* Else look for Quantization table marker or Define Huffman table marker,
+ * useful for EXIF thumbnails that have no APPx markers.
+ */
+ if (ctx->header[2] == 0xff && (ctx->header[3] == 0xdb || ctx->header[3] == 0xc4))
return DFB_OK;
if (ctx->filename && strchr (ctx->filename, '.' ) &&
@@ -314,9 +321,9 @@ Construct( IDirectFBImageProvider *thiz,
core = va_arg( tag, CoreDFB * );
va_end( tag );
- data->ref = 1;
- data->buffer = buffer;
- data->core = core;
+ data->base.ref = 1;
+ data->base.buffer = buffer;
+ data->base.core = core;
buffer->AddRef( buffer );
@@ -343,10 +350,15 @@ Construct( IDirectFBImageProvider *thiz,
jpeg_abort_decompress(&cinfo);
jpeg_destroy_decompress(&cinfo);
- thiz->AddRef = IDirectFBImageProvider_JPEG_AddRef;
- thiz->Release = IDirectFBImageProvider_JPEG_Release;
+ if ( (cinfo.output_width == 0) || (cinfo.output_height == 0)) {
+ buffer->Release( buffer );
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return DFB_FAILURE;
+ }
+
+ data->base.Destruct = IDirectFBImageProvider_JPEG_Destruct;
+
thiz->RenderTo = IDirectFBImageProvider_JPEG_RenderTo;
- thiz->SetRenderCallback = IDirectFBImageProvider_JPEG_SetRenderCallback;
thiz->GetImageDescription =IDirectFBImageProvider_JPEG_GetImageDescription;
thiz->GetSurfaceDescription =
IDirectFBImageProvider_JPEG_GetSurfaceDescription;
@@ -354,40 +366,12 @@ Construct( IDirectFBImageProvider *thiz,
return DFB_OK;
}
-static void
-IDirectFBImageProvider_JPEG_Destruct( IDirectFBImageProvider *thiz )
-{
- IDirectFBImageProvider_JPEG_data *data =
- (IDirectFBImageProvider_JPEG_data*)thiz->priv;
-
- data->buffer->Release( data->buffer );
-
- if (data->image)
- D_FREE( data->image );
-
- DIRECT_DEALLOCATE_INTERFACE( thiz );
-}
-
-static DirectResult
-IDirectFBImageProvider_JPEG_AddRef( IDirectFBImageProvider *thiz )
-{
- DIRECT_INTERFACE_GET_DATA(IDirectFBImageProvider_JPEG)
-
- data->ref++;
-
- return DFB_OK;
-}
-
-static DirectResult
-IDirectFBImageProvider_JPEG_Release( IDirectFBImageProvider *thiz )
+static int wrap_setjmp(struct my_error_mgr *jerr)
{
- DIRECT_INTERFACE_GET_DATA(IDirectFBImageProvider_JPEG)
-
- if (--data->ref == 0) {
- IDirectFBImageProvider_JPEG_Destruct( thiz );
- }
-
- return DFB_OK;
+ if (setjmp(jerr->setjmp_buffer))
+ return 1;
+ else
+ return 0;
}
static DFBResult
@@ -440,6 +424,14 @@ IDirectFBImageProvider_JPEG_RenderTo( IDirectFBImageProvider *thiz,
if (ret)
return ret;
+ if (data->image &&
+ (rect.x || rect.y || rect.w != data->image_width || rect.h != data->image_height)) {
+ D_FREE( data->image );
+ data->image = NULL;
+ data->image_width = 0;
+ data->image_height = 0;
+ }
+
/* actual loading and rendering */
if (!data->image) {
struct jpeg_decompress_struct cinfo;
@@ -453,19 +445,20 @@ IDirectFBImageProvider_JPEG_RenderTo( IDirectFBImageProvider *thiz,
cinfo.err = jpeg_std_error(&jerr.pub);
jerr.pub.error_exit = jpeglib_panic;
- if (setjmp(jerr.setjmp_buffer)) {
+ if (wrap_setjmp(&jerr)) {
D_ERROR( "ImageProvider/JPEG: Error during decoding!\n" );
jpeg_destroy_decompress(&cinfo);
if (data->image) {
- dfb_scale_linear_32( data->image, data->width, data->height,
+ dfb_scale_linear_32( data->image, data->image_width, data->image_height,
lock.addr, lock.pitch, &rect, dst_surface, &clip );
dfb_surface_unlock_buffer( dst_surface, &lock );
- if (data->render_callback) {
- DFBRectangle r = { 0, 0, data->width, data->height };
+ if (data->base.render_callback) {
+ DFBRectangle r = { 0, 0, data->image_width, data->image_height };
- if (data->render_callback( &r, data->render_callback_context ) != DIRCR_OK)
+ if (data->base.render_callback( &r,
+ data->base.render_callback_context ) != DIRCR_OK)
return DFB_INTERRUPTED;
}
@@ -478,12 +471,46 @@ IDirectFBImageProvider_JPEG_RenderTo( IDirectFBImageProvider *thiz,
}
jpeg_create_decompress(&cinfo);
- jpeg_buffer_src(&cinfo, data->buffer, 0);
+ jpeg_buffer_src(&cinfo, data->base.buffer, 0);
jpeg_read_header(&cinfo, TRUE);
+
+#if JPEG_LIB_VERSION >= 70
+ cinfo.scale_num = 8;
+ cinfo.scale_denom = 8;
+#else
+ cinfo.scale_num = 1;
+ cinfo.scale_denom = 1;
+#endif
jpeg_calc_output_dimensions(&cinfo);
- if (cinfo.output_width == rect.w && cinfo.output_height == rect.h)
+ if (cinfo.output_width == (unsigned)rect.w && cinfo.output_height == (unsigned)rect.h) {
direct = true;
+ }
+ else if (rect.x == 0 && rect.y == 0) {
+#if JPEG_LIB_VERSION >= 70
+ /* The supported scaling ratios in libjpeg 7 and 8
+ * are N/8 with all N from 1 to 16.
+ */
+ cinfo.scale_num = 1;
+ jpeg_calc_output_dimensions (&cinfo);
+ while (cinfo.scale_num < 16
+ && cinfo.output_width < (unsigned)rect.w
+ && cinfo.output_height < (unsigned)rect.h) {
+ ++cinfo.scale_num;
+ jpeg_calc_output_dimensions (&cinfo);
+ }
+#else
+ /* The supported scaling ratios in libjpeg 6
+ * are 1/1, 1/2, 1/4, and 1/8.
+ */
+ while (cinfo.scale_denom < 8
+ && ((cinfo.output_width >> 1) >= (unsigned)rect.w)
+ && ((cinfo.output_height >> 1) >= (unsigned)rect.h)) {
+ cinfo.scale_denom <<= 1;
+ jpeg_calc_output_dimensions (&cinfo);
+ }
+#endif
+ }
cinfo.output_components = 3;
@@ -507,15 +534,15 @@ IDirectFBImageProvider_JPEG_RenderTo( IDirectFBImageProvider *thiz,
jpeg_start_decompress(&cinfo);
- data->width = cinfo.output_width;
- data->height = cinfo.output_height;
+ data->image_width = cinfo.output_width;
+ data->image_height = cinfo.output_height;
row_stride = cinfo.output_width * 3;
buffer = (*cinfo.mem->alloc_sarray)((j_common_ptr) &cinfo,
JPOOL_IMAGE, row_stride, 1);
- data->image = D_CALLOC( data->height, data->width * 4 );
+ data->image = D_CALLOC( data->image_height, data->image_width * 4 );
if (!data->image) {
dfb_surface_unlock_buffer( dst_surface, &lock );
return D_OOM();
@@ -528,45 +555,46 @@ IDirectFBImageProvider_JPEG_RenderTo( IDirectFBImageProvider *thiz,
switch (dst_surface->config.format) {
case DSPF_NV16:
if (direct) {
- copy_line_nv16( lock.addr, lock.addr + uv_offset, *buffer, rect.w );
+ copy_line_nv16( lock.addr, (u16*)lock.addr + uv_offset, *buffer, rect.w );
- lock.addr += lock.pitch;
+ lock.addr = (u8*)lock.addr + lock.pitch;
- if (data->render_callback) {
- DFBRectangle r = { 0, y, data->width, 1 };
+ if (data->base.render_callback) {
+ DFBRectangle r = { 0, y, data->image_width, 1 };
- cb_result = data->render_callback( &r,
- data->render_callback_context );
+ cb_result = data->base.render_callback( &r,
+ data->base.render_callback_context );
}
break;
}
default:
- copy_line32( row_ptr, *buffer, data->width);
+ copy_line32( row_ptr, *buffer, data->image_width );
if (direct) {
DFBRectangle r = { rect.x, rect.y+y, rect.w, 1 };
dfb_copy_buffer_32( row_ptr, lock.addr, lock.pitch,
&r, dst_surface, &clip );
- if (data->render_callback) {
- r = (DFBRectangle){ 0, y, data->width, 1 };
- cb_result = data->render_callback( &r,
- data->render_callback_context );
+ if (data->base.render_callback) {
+ r = (DFBRectangle){ 0, y, data->image_width, 1 };
+ cb_result = data->base.render_callback( &r,
+ data->base.render_callback_context );
}
}
break;
}
- row_ptr += data->width;
+ row_ptr += data->image_width;
y++;
}
if (!direct) {
- dfb_scale_linear_32( data->image, data->width, data->height,
+ dfb_scale_linear_32( data->image, data->image_width, data->image_height,
lock.addr, lock.pitch, &rect, dst_surface, &clip );
- if (data->render_callback) {
- DFBRectangle r = { 0, 0, data->width, data->height };
- cb_result = data->render_callback( &r, data->render_callback_context );
+ if (data->base.render_callback) {
+ DFBRectangle r = { 0, 0, data->image_width, data->image_height };
+ cb_result = data->base.render_callback( &r,
+ data->base.render_callback_context );
}
}
@@ -581,11 +609,12 @@ IDirectFBImageProvider_JPEG_RenderTo( IDirectFBImageProvider *thiz,
jpeg_destroy_decompress(&cinfo);
}
else {
- dfb_scale_linear_32( data->image, data->width, data->height,
+ dfb_scale_linear_32( data->image, data->image_width, data->image_height,
lock.addr, lock.pitch, &rect, dst_surface, &clip );
- if (data->render_callback) {
- DFBRectangle r = { 0, 0, data->width, data->height };
- data->render_callback( &r, data->render_callback_context );
+ if (data->base.render_callback) {
+ DFBRectangle r = { 0, 0, data->image_width, data->image_height };
+ data->base.render_callback( &r,
+ data->base.render_callback_context );
}
}
@@ -598,19 +627,6 @@ IDirectFBImageProvider_JPEG_RenderTo( IDirectFBImageProvider *thiz,
}
static DFBResult
-IDirectFBImageProvider_JPEG_SetRenderCallback( IDirectFBImageProvider *thiz,
- DIRenderCallback callback,
- void *context )
-{
- DIRECT_INTERFACE_GET_DATA (IDirectFBImageProvider_JPEG)
-
- data->render_callback = callback;
- data->render_callback_context = context;
-
- return DFB_OK;
-}
-
-static DFBResult
IDirectFBImageProvider_JPEG_GetSurfaceDescription( IDirectFBImageProvider *thiz,
DFBSurfaceDescription *dsc )
{
@@ -637,4 +653,3 @@ IDirectFBImageProvider_JPEG_GetImageDescription( IDirectFBImageProvider *thiz,
return DFB_OK;
}
-
diff --git a/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c b/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c
index 127d4e7..2066405 100644
--- a/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c
+++ b/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -49,6 +49,8 @@
#include <core/palette.h>
#include <core/surface.h>
+#include <core/CoreSurface.h>
+
#include <misc/gfx_util.h>
#include <misc/util.h>
@@ -63,6 +65,13 @@
#include "config.h"
+D_DEBUG_DOMAIN( imageProviderPNG, "ImageProvider/PNG", "libPNG based image decoder" );
+
+#if PNG_LIBPNG_VER < 10400
+#define trans_color trans_values
+#define trans_alpha trans
+#endif
+
static DFBResult
Probe( IDirectFBImageProvider_ProbeContext *ctx );
@@ -88,8 +97,7 @@ enum {
* private data struct of IDirectFBImageProvider_PNG
*/
typedef struct {
- int ref; /* reference counter */
- IDirectFBDataBuffer *buffer;
+ IDirectFBImageProvider_data base;
int stage;
int rows;
@@ -97,8 +105,8 @@ typedef struct {
png_structp png_ptr;
png_infop info_ptr;
- png_uint_32 width;
- png_uint_32 height;
+ png_int_32 width;
+ png_int_32 height;
int bpp;
int color_type;
png_uint_32 color_key;
@@ -108,18 +116,8 @@ typedef struct {
int pitch;
u32 palette[256];
DFBColor colors[256];
-
- DIRenderCallback render_callback;
- void *render_callback_context;
-
- CoreDFB *core;
} IDirectFBImageProvider_PNG_data;
-static DirectResult
-IDirectFBImageProvider_PNG_AddRef ( IDirectFBImageProvider *thiz );
-
-static DirectResult
-IDirectFBImageProvider_PNG_Release ( IDirectFBImageProvider *thiz );
static DFBResult
IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
@@ -127,11 +125,6 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
const DFBRectangle *destination_rect );
static DFBResult
-IDirectFBImageProvider_PNG_SetRenderCallback( IDirectFBImageProvider *thiz,
- DIRenderCallback callback,
- void *context );
-
-static DFBResult
IDirectFBImageProvider_PNG_GetSurfaceDescription( IDirectFBImageProvider *thiz,
DFBSurfaceDescription *dsc );
@@ -165,10 +158,25 @@ push_data_until_stage (IDirectFBImageProvider_PNG_data *data,
/**********************************************************************************************************************/
+static void
+IDirectFBImageProvider_PNG_Destruct( IDirectFBImageProvider *thiz )
+{
+ IDirectFBImageProvider_PNG_data *data =
+ (IDirectFBImageProvider_PNG_data*)thiz->priv;
+
+ png_destroy_read_struct( &data->png_ptr, &data->info_ptr, NULL );
+
+ /* Deallocate image data. */
+ if (data->image)
+ D_FREE( data->image );
+}
+
+/**********************************************************************************************************************/
+
static DFBResult
Probe( IDirectFBImageProvider_ProbeContext *ctx )
{
- if (png_check_sig( ctx->header, 8 ))
+ if (!png_sig_cmp( ctx->header, 0, 8 ))
return DFB_OK;
return DFB_UNSUPPORTED;
@@ -184,6 +192,8 @@ Construct( IDirectFBImageProvider *thiz,
CoreDFB *core;
va_list tag;
+ D_DEBUG_AT(imageProviderPNG,"%s(%d)\n",__FUNCTION__,__LINE__);
+
DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IDirectFBImageProvider_PNG)
va_start( tag, thiz );
@@ -191,9 +201,9 @@ Construct( IDirectFBImageProvider *thiz,
core = va_arg( tag, CoreDFB * );
va_end( tag );
- data->ref = 1;
- data->buffer = buffer;
- data->core = core;
+ data->base.ref = 1;
+ data->base.buffer = buffer;
+ data->base.core = core;
/* Increase the data buffer reference counter. */
buffer->AddRef( buffer );
@@ -204,7 +214,7 @@ Construct( IDirectFBImageProvider *thiz,
if (!data->png_ptr)
goto error;
- if (setjmp( data->png_ptr->jmpbuf )) {
+ if (setjmp( png_jmpbuf(data->png_ptr) )) {
D_ERROR( "ImageProvider/PNG: Error reading header!\n" );
goto error;
}
@@ -226,10 +236,9 @@ Construct( IDirectFBImageProvider *thiz,
if (ret)
goto error;
- thiz->AddRef = IDirectFBImageProvider_PNG_AddRef;
- thiz->Release = IDirectFBImageProvider_PNG_Release;
+ data->base.Destruct = IDirectFBImageProvider_PNG_Destruct;
+
thiz->RenderTo = IDirectFBImageProvider_PNG_RenderTo;
- thiz->SetRenderCallback = IDirectFBImageProvider_PNG_SetRenderCallback;
thiz->GetImageDescription = IDirectFBImageProvider_PNG_GetImageDescription;
thiz->GetSurfaceDescription = IDirectFBImageProvider_PNG_GetSurfaceDescription;
@@ -251,48 +260,6 @@ error:
/**********************************************************************************************************************/
-static void
-IDirectFBImageProvider_PNG_Destruct( IDirectFBImageProvider *thiz )
-{
- IDirectFBImageProvider_PNG_data *data =
- (IDirectFBImageProvider_PNG_data*)thiz->priv;
-
- png_destroy_read_struct( &data->png_ptr, &data->info_ptr, NULL );
-
- /* Decrease the data buffer reference counter. */
- data->buffer->Release( data->buffer );
-
- /* Deallocate image data. */
- if (data->image)
- D_FREE( data->image );
-
- DIRECT_DEALLOCATE_INTERFACE( thiz );
-}
-
-static DirectResult
-IDirectFBImageProvider_PNG_AddRef( IDirectFBImageProvider *thiz )
-{
- DIRECT_INTERFACE_GET_DATA (IDirectFBImageProvider_PNG)
-
- data->ref++;
-
- return DFB_OK;
-}
-
-static DirectResult
-IDirectFBImageProvider_PNG_Release( IDirectFBImageProvider *thiz )
-{
- DIRECT_INTERFACE_GET_DATA (IDirectFBImageProvider_PNG)
-
- if (--data->ref == 0) {
- IDirectFBImageProvider_PNG_Destruct( thiz );
- }
-
- return DFB_OK;
-}
-
-/**********************************************************************************************************************/
-
static DFBResult
IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
IDirectFBSurface *destination,
@@ -309,6 +276,8 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
DIRECT_INTERFACE_GET_DATA (IDirectFBImageProvider_PNG)
+ D_DEBUG_AT(imageProviderPNG,"%s(%d)\n",__FUNCTION__,__LINE__);
+
info = data->info_ptr;
dst_data = (IDirectFBSurface_data*) destination->priv;
@@ -332,7 +301,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
rect = dst_data->area.wanted;
}
- if (setjmp( data->png_ptr->jmpbuf )) {
+ if (setjmp( png_jmpbuf(data->png_ptr) )) {
D_ERROR( "ImageProvider/PNG: Error during decoding!\n" );
if (data->stage < STAGE_IMAGE)
@@ -354,27 +323,30 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
return DFB_INVAREA;
/* actual rendering */
- if (rect.w == data->width && rect.h == data->height &&
+ if (0 && // FIXME
+ rect.w == data->width && rect.h == data->height &&
(data->color_type == PNG_COLOR_TYPE_RGB || data->color_type == PNG_COLOR_TYPE_RGBA) &&
(dst_surface->config.format == DSPF_RGB32 || dst_surface->config.format == DSPF_ARGB) &&
!(dst_surface->config.caps & DSCAPS_PREMULTIPLIED))
{
- ret = dfb_surface_write_buffer( dst_surface, CSBR_BACK,
- data->image +
- (clipped.x - rect.x) * 4 +
- (clipped.y - rect.y) * data->width * 4,
- data->width * 4, &clipped );
+ //ret = dfb_surface_write_buffer( dst_surface, CSBR_BACK,
+ // data->image +
+ // (clipped.x - rect.x) * 4 +
+ // (clipped.y - rect.y) * data->width * 4,
+ // data->width * 4, &clipped );
}
else {
CoreSurfaceBufferLock lock;
+ int bit_depth = bit_depth = png_get_bit_depth(data->png_ptr,data->info_ptr);
+
ret = dfb_surface_lock_buffer( dst_surface, CSBR_BACK, CSAID_CPU, CSAF_WRITE, &lock );
if (ret)
return ret;
switch (data->color_type) {
case PNG_COLOR_TYPE_PALETTE:
- if (dst_surface->config.format == DSPF_LUT8 && data->info_ptr->bit_depth == 8) {
+ if (dst_surface->config.format == DSPF_LUT8 && bit_depth == 8) {
/*
* Special indexed PNG to LUT8 loading.
*/
@@ -388,8 +360,8 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
rect.h == data->height)
{
for (y=0; y<data->height; y++)
- direct_memcpy( lock.addr + lock.pitch * y,
- data->image + data->pitch * y,
+ direct_memcpy( (u8*)lock.addr + lock.pitch * y,
+ (u8*)data->image + data->pitch * y,
data->width );
break;
@@ -401,10 +373,20 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
/*
* Convert to ARGB and use generic loading code.
*/
+ if (data->bpp == 16) {
+ /* in 16 bit grayscale, conversion to RGB32 is already done! */
+
+ for (x=0; x<256; x++)
+ data->palette[x] = 0xff000000 | (x << 16) | (x << 8) | x;
+
+ dfb_scale_linear_32( data->image, data->width, data->height,
+ lock.addr, lock.pitch, &rect, dst_surface, &clip );
+ break;
+ }
// FIXME: allocates four additional bytes because the scaling functions
// in src/misc/gfx_util.c have an off-by-one bug which causes
- // segfaults on darwin/osx (not on linux)
+ // segfaults on darwin/osx (not on linux)
int size = data->width * data->height * 4 + 4;
/* allocate image data */
@@ -417,7 +399,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
}
else {
if (data->color_type == PNG_COLOR_TYPE_GRAY) {
- int num = 1 << data->info_ptr->bit_depth;
+ int num = 1 << bit_depth;
for (x=0; x<num; x++) {
int value = x * 255 / (num - 1);
@@ -426,11 +408,11 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
}
}
- switch (data->info_ptr->bit_depth) {
+ switch (bit_depth) {
case 8:
for (y=0; y<data->height; y++) {
- u8 *S = data->image + data->pitch * y;
- u32 *D = image_argb + data->width * y * 4;
+ u8 *S = (u8*)data->image + data->pitch * y;
+ u32 *D = (u32*)((u8*)image_argb + data->width * y * 4);
for (x=0; x<data->width; x++)
D[x] = data->palette[ S[x] ];
@@ -439,8 +421,8 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
case 4:
for (y=0; y<data->height; y++) {
- u8 *S = data->image + data->pitch * y;
- u32 *D = image_argb + data->width * y * 4;
+ u8 *S = (u8*)data->image + data->pitch * y;
+ u32 *D = (u32*)((u8*)image_argb + data->width * y * 4);
for (x=0; x<data->width; x++) {
if (x & 1)
@@ -454,8 +436,8 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
case 2:
for (y=0; y<data->height; y++) {
int n = 6;
- u8 *S = data->image + data->pitch * y;
- u32 *D = image_argb + data->width * y * 4;
+ u8 *S = (u8*)data->image + data->pitch * y;
+ u32 *D = (u32*)((u8*)image_argb + data->width * y * 4);
for (x=0; x<data->width; x++) {
D[x] = data->palette[ (S[x>>2] >> n) & 3 ];
@@ -468,8 +450,8 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
case 1:
for (y=0; y<data->height; y++) {
int n = 7;
- u8 *S = data->image + data->pitch * y;
- u32 *D = image_argb + data->width * y * 4;
+ u8 *S = (u8*)data->image + data->pitch * y;
+ u32 *D = (u32*)((u8*)image_argb + data->width * y * 4);
for (x=0; x<data->width; x++) {
D[x] = data->palette[ (S[x>>3] >> n) & 1 ];
@@ -481,12 +463,12 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
default:
D_ERROR( "ImageProvider/PNG: Unsupported indexed bit depth %d!\n",
- data->info_ptr->bit_depth );
+ bit_depth );
}
dfb_scale_linear_32( image_argb, data->width, data->height,
lock.addr, lock.pitch, &rect, dst_surface, &clip );
-
+
D_FREE( image_argb );
}
break;
@@ -510,19 +492,6 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
}
static DFBResult
-IDirectFBImageProvider_PNG_SetRenderCallback( IDirectFBImageProvider *thiz,
- DIRenderCallback callback,
- void *context )
-{
- DIRECT_INTERFACE_GET_DATA (IDirectFBImageProvider_PNG)
-
- data->render_callback = callback;
- data->render_callback_context = context;
-
- return DFB_OK;
-}
-
-static DFBResult
IDirectFBImageProvider_PNG_GetSurfaceDescription( IDirectFBImageProvider *thiz,
DFBSurfaceDescription *dsc )
{
@@ -630,9 +599,17 @@ static void
png_info_callback( png_structp png_read_ptr,
png_infop png_info_ptr )
{
- int i;
+ int i,ret;
IDirectFBImageProvider_PNG_data *data;
+ u32 bpp1[2] = {0, 0xff};
+ u32 bpp2[4] = {0, 0x55, 0xaa, 0xff};
+ u32 bpp4[16] = {0, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff};
+
+ D_UNUSED_P( png_info_ptr );
+
+ D_DEBUG_AT(imageProviderPNG,"%s(%d)\n",__FUNCTION__,__LINE__);
+
data = png_get_progressive_ptr( png_read_ptr );
/* error stage? */
@@ -642,59 +619,155 @@ png_info_callback( png_structp png_read_ptr,
/* set info stage */
data->stage = STAGE_INFO;
- png_get_IHDR( data->png_ptr, data->info_ptr,
- &data->width, &data->height, &data->bpp, &data->color_type,
- NULL, NULL, NULL );
+ ret = png_get_IHDR( data->png_ptr, data->info_ptr,
+ (png_uint_32 *)&data->width, (png_uint_32 *)&data->height, &data->bpp, &data->color_type,
+ NULL, NULL, NULL );
+
+ /* Let's not do anything with badly sized or corrupted images */
+ if ( (data->height == 0) || (data->width == 0) || (ret != 1) )
+ return;
if (png_get_valid( data->png_ptr, data->info_ptr, PNG_INFO_tRNS )) {
data->color_keyed = true;
/* generate color key based on palette... */
if (data->color_type == PNG_COLOR_TYPE_PALETTE) {
- u32 key;
- png_colorp palette = data->info_ptr->palette;
- png_bytep trans = data->info_ptr->trans;
- int num_colors = MIN( MAXCOLORMAPSIZE,
- data->info_ptr->num_palette );
- u8 cmap[3][num_colors];
-
- for (i=0; i<num_colors; i++) {
- cmap[0][i] = palette[i].red;
- cmap[1][i] = palette[i].green;
- cmap[2][i] = palette[i].blue;
+ u32 key;
+ png_colorp palette;
+ png_bytep trans_alpha;
+ png_color_16p trans_color;
+ u8 cmap[3][MAXCOLORMAPSIZE];
+ int num_palette = 0, num_colors = 0, num_trans = 0;
+
+ D_DEBUG_AT(imageProviderPNG,"%s(%d) - num_trans %d \n",__FUNCTION__,__LINE__, num_trans);
+
+ if (png_get_PLTE(data->png_ptr,data->info_ptr,&palette,&num_palette)) {
+
+ if (png_get_tRNS(data->png_ptr,data->info_ptr,
+ &trans_alpha,&num_trans,&trans_color)) {
+ num_colors = MIN( MAXCOLORMAPSIZE,num_palette );
+
+ for (i=0; i<num_colors; i++) {
+ cmap[0][i] = palette[i].red;
+ cmap[1][i] = palette[i].green;
+ cmap[2][i] = palette[i].blue;
}
- key = FindColorKey( num_colors, &cmap[0][0] );
+ key = FindColorKey( num_colors, &cmap[0][0] );
- for (i=0; i<data->info_ptr->num_trans; i++) {
- if (!trans[i]) {
- palette[i].red = (key & 0xff0000) >> 16;
- palette[i].green = (key & 0x00ff00) >> 8;
- palette[i].blue = (key & 0x0000ff);
- }
+ for (i=0; i< num_trans; i++) {
+ if (!trans_alpha[i]) {
+ palette[i].red = (key & 0xff0000) >> 16;
+ palette[i].green = (key & 0x00ff00) >> 8;
+ palette[i].blue = (key & 0x0000ff);
+ }
+ }
+
+ data->color_key = key;
+ }
}
- data->color_key = key;
+ }
+ else if (data->color_type == PNG_COLOR_TYPE_GRAY) {
+ /* ...or based on trans gray value */
+ png_bytep trans_alpha;
+ png_color_16p trans_color;
+ int num_trans = 0;
+
+
+ D_DEBUG_AT(imageProviderPNG,"%s(%d)\n",__FUNCTION__,__LINE__);
+
+ if (png_get_tRNS(data->png_ptr,data->info_ptr,
+ &trans_alpha,&num_trans,&trans_color) ) {
+ switch(data->bpp) {
+ case 1:
+ data->color_key = (((bpp1[trans_color[0].gray]) << 16) |
+ ((bpp1[trans_color[0].gray]) << 8) |
+ ((bpp1[trans_color[0].gray])));
+ break;
+ case 2:
+ data->color_key = (((bpp2[trans_color[0].gray]) << 16) |
+ ((bpp2[trans_color[0].gray]) << 8) |
+ ((bpp2[trans_color[0].gray])));
+ break;
+ case 4:
+ data->color_key = (((bpp4[trans_color[0].gray]) << 16) |
+ ((bpp4[trans_color[0].gray]) << 8) |
+ ((bpp4[trans_color[0].gray])));
+ break;
+ case 8:
+ data->color_key = (((trans_color[0].gray & 0x00ff) << 16) |
+ ((trans_color[0].gray & 0x00ff) << 8) |
+ ((trans_color[0].gray & 0x00ff)));
+ break;
+ case 16:
+ default:
+ data->color_key = (((trans_color[0].gray & 0xff00) << 8) |
+ ((trans_color[0].gray & 0xff00)) |
+ ((trans_color[0].gray & 0xff00) >> 8));
+ break;
+ }
+ }
}
else {
/* ...or based on trans rgb value */
- png_color_16p trans = &data->info_ptr->trans_values;
-
- data->color_key = (((trans->red & 0xff00) << 8) |
- ((trans->green & 0xff00)) |
- ((trans->blue & 0xff00) >> 8));
+ png_bytep trans_alpha;
+ png_color_16p trans_color;
+ int num_trans = 0;
+
+ D_DEBUG_AT(imageProviderPNG,"%s(%d)\n",__FUNCTION__,__LINE__);
+
+ if (png_get_tRNS(data->png_ptr,data->info_ptr,
+ &trans_alpha,&num_trans,&trans_color)) {
+ switch(data->bpp) {
+ case 1:
+ data->color_key = (((bpp1[trans_color[0].red]) << 16) |
+ ((bpp1[trans_color[0].green]) << 8) |
+ ((bpp1[trans_color[0].blue])));
+ break;
+ case 2:
+ data->color_key = (((bpp2[trans_color[0].red]) << 16) |
+ ((bpp2[trans_color[0].green]) << 8) |
+ ((bpp2[trans_color[0].blue])));
+ break;
+ case 4:
+ data->color_key = (((bpp4[trans_color[0].red]) << 16) |
+ ((bpp4[trans_color[0].green]) << 8) |
+ ((bpp4[trans_color[0].blue])));
+ break;
+ case 8:
+ data->color_key = (((trans_color[0].red & 0x00ff) << 16) |
+ ((trans_color[0].green & 0x00ff) << 8) |
+ ((trans_color[0].blue & 0x00ff)));
+ break;
+ case 16:
+ default:
+ data->color_key = (((trans_color[0].red & 0xff00) << 8) |
+ ((trans_color[0].green & 0xff00)) |
+ ((trans_color[0].blue & 0xff00) >> 8));
+ break;
+ }
+ }
}
}
switch (data->color_type) {
case PNG_COLOR_TYPE_PALETTE: {
- png_colorp palette = data->info_ptr->palette;
- png_bytep trans = data->info_ptr->trans;
- int num_trans = data->info_ptr->num_trans;
- int num_colors = MIN( MAXCOLORMAPSIZE, data->info_ptr->num_palette );
+ png_colorp palette;
+ png_bytep trans_alpha;
+ png_color_16p trans_color;
+ int num_palette = 0, num_colors = 0, num_trans = 0;
+
- for (i=0; i<num_colors; i++) {
- data->colors[i].a = (i < num_trans) ? trans[i] : 0xff;
+ png_get_PLTE(data->png_ptr,data->info_ptr,&palette,&num_palette);
+
+ png_get_tRNS(data->png_ptr,data->info_ptr,
+ &trans_alpha,&num_trans,&trans_color);
+
+ num_colors = MIN( MAXCOLORMAPSIZE, num_palette );
+
+ for (i=0; i < num_colors; i++) {
+ data->colors[i].a = (i < num_trans) ? trans_alpha[i] : 0xff;
data->colors[i].r = palette[i].red;
data->colors[i].g = palette[i].green;
data->colors[i].b = palette[i].blue;
@@ -710,22 +783,21 @@ png_info_callback( png_structp png_read_ptr,
}
case PNG_COLOR_TYPE_GRAY:
- data->pitch = data->width;
-
- if (data->bpp == 16)
- png_set_strip_16( data->png_ptr );
-
- break;
+ if (data->bpp < 16) {
+ data->pitch = data->width;
+ break;
+ }
+ /* fall through */
case PNG_COLOR_TYPE_GRAY_ALPHA:
png_set_gray_to_rgb( data->png_ptr );
- /* fall through */
+ /* fall through */
default:
data->pitch = data->width * 4;
- if (data->bpp == 16)
- png_set_strip_16( data->png_ptr );
+ if (!data->color_keyed)
+ png_set_strip_16( data->png_ptr ); /* if it is color keyed we will handle conversion ourselves */
#ifdef WORDS_BIGENDIAN
if (!(data->color_type & PNG_COLOR_MASK_ALPHA))
@@ -757,12 +829,16 @@ png_row_callback( png_structp png_read_ptr,
{
IDirectFBImageProvider_PNG_data *data;
+ D_DEBUG_AT(imageProviderPNG,"%s(%d)\n",__FUNCTION__,__LINE__);
+
data = png_get_progressive_ptr( png_read_ptr );
/* error stage? */
if (data->stage < 0)
return;
+ D_UNUSED_P( pass_num );
+
/* set image decoding stage */
data->stage = STAGE_IMAGE;
@@ -770,7 +846,7 @@ png_row_callback( png_structp png_read_ptr,
if (!data->image) {
// FIXME: allocates four additional bytes because the scaling functions
// in src/misc/gfx_util.c have an off-by-one bug which causes
- // segfaults on darwin/osx (not on linux)
+ // segfaults on darwin/osx (not on linux)
int size = data->pitch * data->height + 4;
/* allocate image data */
@@ -787,17 +863,107 @@ png_row_callback( png_structp png_read_ptr,
}
/* write to image data */
- png_progressive_combine_row( data->png_ptr, (png_bytep) (data->image +
- row_num * data->pitch), new_row );
+ if (data->bpp == 16 && data->color_keyed) {
+ u8 *dst = (u8*)((u8*)data->image + row_num * data->pitch);
+ u8 *src = (u8*)new_row;
+
+ if (src) {
+ int src_advance = 8;
+ int src16_advance = 4;
+ int dst32_advance = 1;
+ int src16_initial_offset = 0;
+ int dst32_initial_offset = 0;
+
+ if (!(row_num % 2)) { /* even lines 0,2,4 ... */
+ switch (pass_num) {
+ case 1:
+ dst32_initial_offset = 4;
+ src16_initial_offset = 16;
+ src_advance = 64;
+ src16_advance = 32;
+ dst32_advance = 8;
+ break;
+ case 3:
+ dst32_initial_offset = 2;
+ src16_initial_offset = 8;
+ src_advance = 32;
+ src16_advance = 16;
+ dst32_advance = 4;
+ break;
+ case 5:
+ dst32_initial_offset = 1;
+ src16_initial_offset = 4;
+ src_advance = 16;
+ src16_advance = 8;
+ dst32_advance = 2;
+ break;
+ default:
+ break;
+ }
+ }
+
+
+ png_bytep trans;
+ png_color_16p trans_color;
+ int num_trans = 0;
+
+ png_get_tRNS(data->png_ptr,data->info_ptr,
+ &trans,&num_trans,&trans_color);
+
+ u16 *src16 = (u16*)src + src16_initial_offset;
+ u32 *dst32 = (u32*)dst + dst32_initial_offset;
+
+ int remaining = data->width - dst32_initial_offset;
+
+ while (remaining > 0) {
+ int keyed = 0;
+#ifdef WORDS_BIGENDIAN
+ u16 comp_r = src16[1];
+ u16 comp_g = src16[2];
+ u16 comp_b = src16[3];
+ u32 pixel32 = src[1] << 24 | src[3] << 16 | src[5] << 8 | src[7];
+#else
+ u16 comp_r = src16[2];
+ u16 comp_g = src16[1];
+ u16 comp_b = src16[0];
+
+ u32 pixel32 = src[6] << 24 | src[4] << 16 | src[2] << 8 | src[0];
+#endif
+ /* is the pixel supposted to match the color key in 16 bit per channel resolution? */
+ if (((comp_r == trans_color[0].gray) && (data->color_type == PNG_COLOR_TYPE_GRAY)) ||
+ ((comp_g == trans_color[0].green) && (comp_b == trans_color[0].blue) && (comp_r == trans_color[0].red)))
+ keyed = 1;
+
+ /*
+ * if the pixel was not supposed to get keyed but the colorkey matches in the reduced
+ * color space, then toggle the least significant blue bit
+ */
+ if (!keyed && (pixel32 == (0xff000000 | data->color_key))) {
+ D_ONCE( "ImageProvider/PNG: adjusting pixel data to protect it from being keyed!\n");
+ pixel32 ^= 0x00000001;
+ }
+
+ *dst32 = pixel32;
+
+ src16 += src16_advance;
+ src += src_advance;
+ dst32 += dst32_advance;
+ remaining-= dst32_advance;
+ }
+ }
+ }
+ else
+ png_progressive_combine_row( data->png_ptr, (png_bytep)((u8*)data->image + row_num * data->pitch), new_row );
/* increase row counter, FIXME: interlaced? */
data->rows++;
- if (data->render_callback) {
+ if (data->base.render_callback) {
DIRenderCallbackResult r;
DFBRectangle rect = { 0, row_num, data->width, 1 };
- r = data->render_callback( &rect, data->render_callback_context );
+ r = data->base.render_callback( &rect,
+ data->base.render_callback_context );
if (r != DIRCR_OK)
data->stage = STAGE_ABORT;
}
@@ -810,6 +976,10 @@ png_end_callback (png_structp png_read_ptr,
{
IDirectFBImageProvider_PNG_data *data;
+ D_UNUSED_P( png_info_ptr );
+
+ D_DEBUG_AT(imageProviderPNG,"%s(%d)\n",__FUNCTION__,__LINE__);
+
data = png_get_progressive_ptr( png_read_ptr );
/* error stage? */
@@ -827,7 +997,7 @@ push_data_until_stage (IDirectFBImageProvider_PNG_data *data,
int buffer_size)
{
DFBResult ret;
- IDirectFBDataBuffer *buffer = data->buffer;
+ IDirectFBDataBuffer *buffer = data->base.buffer;
while (data->stage < stage) {
unsigned int len;
@@ -837,17 +1007,17 @@ push_data_until_stage (IDirectFBImageProvider_PNG_data *data,
return DFB_FAILURE;
while (buffer->HasData( buffer ) == DFB_OK) {
- D_DEBUG( "ImageProvider/PNG: Retrieving data (up to %d bytes)...\n", buffer_size );
+ D_DEBUG_AT(imageProviderPNG, "Retrieving data (up to %d bytes)...\n", buffer_size );
ret = buffer->GetData( buffer, buffer_size, buf, &len );
if (ret)
return ret;
- D_DEBUG( "ImageProvider/PNG: Got %d bytes...\n", len );
+ D_DEBUG_AT(imageProviderPNG, "Got %d bytes...\n", len );
png_process_data( data->png_ptr, data->info_ptr, buf, len );
- D_DEBUG( "ImageProvider/PNG: ...processed %d bytes.\n", len );
+ D_DEBUG_AT(imageProviderPNG, "...processed %d bytes.\n", len );
/* are we there yet? */
if (data->stage < 0 || data->stage >= stage) {
@@ -859,7 +1029,7 @@ push_data_until_stage (IDirectFBImageProvider_PNG_data *data,
}
}
- D_DEBUG( "ImageProvider/PNG: Waiting for data...\n" );
+ D_DEBUG_AT(imageProviderPNG, "Waiting for data...\n" );
if (buffer->WaitForData( buffer, 1 ) == DFB_EOF)
return DFB_FAILURE;
diff --git a/interfaces/IDirectFBVideoProvider/Makefile.am b/interfaces/IDirectFBVideoProvider/Makefile.am
index affe5ef..9e7d7d2 100644
--- a/interfaces/IDirectFBVideoProvider/Makefile.am
+++ b/interfaces/IDirectFBVideoProvider/Makefile.am
@@ -18,8 +18,8 @@ endif
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\"
diff --git a/interfaces/IDirectFBVideoProvider/Makefile.in b/interfaces/IDirectFBVideoProvider/Makefile.in
index 7ac14f3..3ebb5bc 100644
--- a/interfaces/IDirectFBVideoProvider/Makefile.in
+++ b/interfaces/IDirectFBVideoProvider/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,15 +47,36 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(idirectfbvideoproviderdir)" \
"$(DESTDIR)$(idirectfbvideoproviderdir)"
-idirectfbvideoproviderLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(idirectfbvideoprovider_LTLIBRARIES)
libidirectfbvideoprovider_gif_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -63,7 +86,10 @@ am_libidirectfbvideoprovider_gif_la_OBJECTS = \
idirectfbvideoprovider_gif.lo
libidirectfbvideoprovider_gif_la_OBJECTS = \
$(am_libidirectfbvideoprovider_gif_la_OBJECTS)
-libidirectfbvideoprovider_gif_la_LINK = $(LIBTOOL) --tag=CC \
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libidirectfbvideoprovider_gif_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbvideoprovider_gif_la_LDFLAGS) $(LDFLAGS) -o $@
@@ -77,7 +103,7 @@ am_libidirectfbvideoprovider_v4l_la_OBJECTS = \
idirectfbvideoprovider_v4l.lo
libidirectfbvideoprovider_v4l_la_OBJECTS = \
$(am_libidirectfbvideoprovider_v4l_la_OBJECTS)
-libidirectfbvideoprovider_v4l_la_LINK = $(LIBTOOL) --tag=CC \
+libidirectfbvideoprovider_v4l_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbvideoprovider_v4l_la_LDFLAGS) $(LDFLAGS) -o $@
@@ -86,26 +112,40 @@ libidirectfbvideoprovider_v4l_la_LINK = $(LIBTOOL) --tag=CC \
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libidirectfbvideoprovider_gif_la_SOURCES) \
$(libidirectfbvideoprovider_v4l_la_SOURCES)
DIST_SOURCES = $(libidirectfbvideoprovider_gif_la_SOURCES) \
$(libidirectfbvideoprovider_v4l_la_SOURCES)
-idirectfbvideoproviderDATA_INSTALL = $(INSTALL_DATA)
DATA = $(idirectfbvideoprovider_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -129,11 +169,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -147,16 +190,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -177,12 +221,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -193,21 +240,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -215,6 +270,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -228,6 +287,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -235,9 +295,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -284,6 +345,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
idirectfbvideoproviderdir = $(MODULEDIR)/interfaces/IDirectFBVideoProvider
@@ -294,8 +356,8 @@ EXTRA_DIST = videodev.h videodev2.h
@GIF_PROVIDER_TRUE at GIF_PROVIDER_LTLIB = libidirectfbvideoprovider_gif.la
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\"
@@ -327,14 +389,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu interfaces/IDirectFBVideoProvider/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu interfaces/IDirectFBVideoProvider/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu interfaces/IDirectFBVideoProvider/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu interfaces/IDirectFBVideoProvider/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -344,6 +406,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -352,23 +415,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-idirectfbvideoproviderLTLIBRARIES: $(idirectfbvideoprovider_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbvideoproviderdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbvideoproviderdir)"
- @list='$(idirectfbvideoprovider_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbvideoprovider_LTLIBRARIES)'; test -n "$(idirectfbvideoproviderdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbvideoproviderLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbvideoproviderdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbvideoproviderLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbvideoproviderdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbvideoproviderdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbvideoproviderdir)"; \
+ }
uninstall-idirectfbvideoproviderLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbvideoprovider_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbvideoproviderdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbvideoproviderdir)/$$p"; \
+ @list='$(idirectfbvideoprovider_LTLIBRARIES)'; test -n "$(idirectfbvideoproviderdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbvideoproviderdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbvideoproviderdir)/$$f"; \
done
clean-idirectfbvideoproviderLTLIBRARIES:
@@ -379,10 +447,10 @@ clean-idirectfbvideoproviderLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libidirectfbvideoprovider_gif.la: $(libidirectfbvideoprovider_gif_la_OBJECTS) $(libidirectfbvideoprovider_gif_la_DEPENDENCIES)
- $(libidirectfbvideoprovider_gif_la_LINK) $(am_libidirectfbvideoprovider_gif_la_rpath) $(libidirectfbvideoprovider_gif_la_OBJECTS) $(libidirectfbvideoprovider_gif_la_LIBADD) $(LIBS)
-libidirectfbvideoprovider_v4l.la: $(libidirectfbvideoprovider_v4l_la_OBJECTS) $(libidirectfbvideoprovider_v4l_la_DEPENDENCIES)
- $(libidirectfbvideoprovider_v4l_la_LINK) $(am_libidirectfbvideoprovider_v4l_la_rpath) $(libidirectfbvideoprovider_v4l_la_OBJECTS) $(libidirectfbvideoprovider_v4l_la_LIBADD) $(LIBS)
+libidirectfbvideoprovider_gif.la: $(libidirectfbvideoprovider_gif_la_OBJECTS) $(libidirectfbvideoprovider_gif_la_DEPENDENCIES) $(EXTRA_libidirectfbvideoprovider_gif_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbvideoprovider_gif_la_LINK) $(am_libidirectfbvideoprovider_gif_la_rpath) $(libidirectfbvideoprovider_gif_la_OBJECTS) $(libidirectfbvideoprovider_gif_la_LIBADD) $(LIBS)
+libidirectfbvideoprovider_v4l.la: $(libidirectfbvideoprovider_v4l_la_OBJECTS) $(libidirectfbvideoprovider_v4l_la_DEPENDENCIES) $(EXTRA_libidirectfbvideoprovider_v4l_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbvideoprovider_v4l_la_LINK) $(am_libidirectfbvideoprovider_v4l_la_rpath) $(libidirectfbvideoprovider_v4l_la_OBJECTS) $(libidirectfbvideoprovider_v4l_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -394,25 +462,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbvideoprovider_v4l.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -422,34 +490,35 @@ clean-libtool:
install-idirectfbvideoproviderDATA: $(idirectfbvideoprovider_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbvideoproviderdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbvideoproviderdir)"
- @list='$(idirectfbvideoprovider_DATA)'; for p in $$list; do \
+ @list='$(idirectfbvideoprovider_DATA)'; test -n "$(idirectfbvideoproviderdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbvideoproviderDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbvideoproviderdir)/$$f'"; \
- $(idirectfbvideoproviderDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbvideoproviderdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbvideoproviderdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbvideoproviderdir)" || exit $$?; \
done
uninstall-idirectfbvideoproviderDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbvideoprovider_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbvideoproviderdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbvideoproviderdir)/$$f"; \
- done
+ @list='$(idirectfbvideoprovider_DATA)'; test -n "$(idirectfbvideoproviderdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbvideoproviderdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -457,29 +526,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -500,13 +574,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -527,16 +605,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -558,6 +642,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -567,18 +653,28 @@ install-data-am: install-idirectfbvideoproviderDATA \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -631,6 +727,7 @@ uninstall-am: uninstall-idirectfbvideoproviderDATA \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_gif.c b/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_gif.c
index aeb9e82..ff54195 100644
--- a/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_gif.c
+++ b/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_gif.c
@@ -669,7 +669,7 @@ IDirectFBVideoProvider_GIF_AddRef( IDirectFBVideoProvider *thiz )
data->ref++;
- return DFB_OK;
+ return DR_OK;
}
static DirectResult
@@ -680,7 +680,7 @@ IDirectFBVideoProvider_GIF_Release( IDirectFBVideoProvider *thiz )
if (--data->ref == 0)
IDirectFBVideoProvider_GIF_Destruct( thiz );
- return DFB_OK;
+ return DR_OK;
}
static DFBResult
diff --git a/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c b/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c
index d530965..810279c 100644
--- a/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c
+++ b/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c
@@ -182,7 +182,7 @@ IDirectFBVideoProvider_V4L_AddRef( IDirectFBVideoProvider *thiz )
data->ref++;
- return DFB_OK;
+ return DR_OK;
}
static DirectResult
@@ -194,7 +194,7 @@ IDirectFBVideoProvider_V4L_Release( IDirectFBVideoProvider *thiz )
IDirectFBVideoProvider_V4L_Destruct( thiz );
}
- return DFB_OK;
+ return DR_OK;
}
static DFBResult
diff --git a/interfaces/Makefile.am b/interfaces/Makefile.am
index 6a3d7b1..d5dc432 100644
--- a/interfaces/Makefile.am
+++ b/interfaces/Makefile.am
@@ -1,6 +1,7 @@
## Makefile.am for DirectFB/interfaces
SUBDIRS = \
+ ICoreResourceManager \
IDirectFBFont \
IDirectFBImageProvider \
IDirectFBVideoProvider
diff --git a/interfaces/Makefile.in b/interfaces/Makefile.in
index a62f174..53117f8 100644
--- a/interfaces/Makefile.in
+++ b/interfaces/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -42,6 +44,13 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -53,12 +62,41 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -82,11 +120,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -100,16 +141,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -130,12 +172,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -146,21 +191,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -168,6 +221,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -181,6 +238,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -188,9 +246,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -237,9 +296,11 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = \
+ ICoreResourceManager \
IDirectFBFont \
IDirectFBImageProvider \
IDirectFBVideoProvider
@@ -251,14 +312,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu interfaces/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu interfaces/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu interfaces/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu interfaces/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -276,6 +337,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -290,7 +352,7 @@ clean-libtool:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -307,7 +369,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -315,7 +377,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -341,16 +403,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -358,14 +420,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -377,7 +439,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -386,29 +448,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -429,29 +496,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -471,16 +553,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -499,6 +587,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -507,18 +597,28 @@ install-data-am:
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am:
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -539,8 +639,8 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic clean-libtool \
@@ -556,6 +656,7 @@ uninstall-am:
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 89ac43d..c7080f8 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,7 +1,11 @@
## Makefile.am for DirectFB/lib
+if ENABLE_ONE
+ONE_DIR = One
+endif
+
if ENABLE_VOODOO
VOODOO_DIR = voodoo
endif
-SUBDIRS = direct fusion $(VOODOO_DIR)
+SUBDIRS = direct fusion $(ONE_DIR) $(VOODOO_DIR)
diff --git a/lib/Makefile.in b/lib/Makefile.in
index c4892a2..8f70835 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -42,6 +44,13 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -53,12 +62,41 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
-DIST_SUBDIRS = direct fusion voodoo
+DIST_SUBDIRS = direct fusion One voodoo
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -82,11 +120,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -100,16 +141,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -130,12 +172,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -146,21 +191,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -168,6 +221,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -181,6 +238,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -188,9 +246,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -237,10 +296,12 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
+ at ENABLE_ONE_TRUE@ONE_DIR = One
@ENABLE_VOODOO_TRUE at VOODOO_DIR = voodoo
-SUBDIRS = direct fusion $(VOODOO_DIR)
+SUBDIRS = direct fusion $(ONE_DIR) $(VOODOO_DIR)
all: all-recursive
.SUFFIXES:
@@ -248,14 +309,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu lib/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -273,6 +334,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -287,7 +349,7 @@ clean-libtool:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -304,7 +366,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -312,7 +374,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -338,16 +400,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -355,14 +417,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -374,7 +436,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -383,29 +445,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -426,29 +493,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -468,16 +550,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -496,6 +584,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -504,18 +594,28 @@ install-data-am:
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am:
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -536,8 +636,8 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic clean-libtool \
@@ -553,6 +653,7 @@ uninstall-am:
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/lib/One/Makefile.am b/lib/One/Makefile.am
new file mode 100644
index 0000000..4cb2ad9
--- /dev/null
+++ b/lib/One/Makefile.am
@@ -0,0 +1,70 @@
+## Makefile.am for DirectFB/lib/One
+
+SUBDIRS = linux-one
+
+INCLUDES = \
+ -I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib \
+ -I$(srcdir)/linux-one/include
+
+AM_CPPFLAGS = \
+ -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\" \
+ -DMODULEDIR=\"${RUNTIME_SYSROOT}@MODULEDIR@\"
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = one.pc
+
+
+includedir = @INCLUDEDIR@/One
+
+include_HEADERS = \
+ One.h \
+ OneQueue.h \
+ OneThread.h \
+ OneTypes.h
+
+lib_LTLIBRARIES = libone.la
+
+
+libone_la_SOURCES = \
+ One.c
+
+libone_la_LIBADD = \
+ ../direct/libdirect.la
+
+libone_la_LDFLAGS = \
+ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
+ -release $(LT_RELEASE) \
+ $(DFB_LDFLAGS)
+
+
+#
+## and now rebuild the static version with the *correct* object files
+#
+if BUILD_STATIC
+
+clean-local:
+ rm -f libone_fixed.a
+
+all-local: libone_fixed.a
+
+libone_fixed.a: .libs/libone.a
+ rm -f libone_fixed.a
+ ${AR} cru libone_fixed.a `find . -name "*.o" | grep -v '.libs'`
+ ${RANLIB} libone_fixed.a
+ cp -pf libone_fixed.a .libs/libone.a
+
+.libs/libone.a: libone.la
+
+else
+
+clean-local:
+
+all-local:
+
+endif
+
+
+include $(top_srcdir)/rules/nmfile.make
diff --git a/lib/fusion/Makefile.in b/lib/One/Makefile.in
similarity index 60%
copy from lib/fusion/Makefile.in
copy to lib/One/Makefile.in
index 9140d00..7238aec 100644
--- a/lib/fusion/Makefile.in
+++ b/lib/One/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,8 +19,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -36,9 +38,9 @@ build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/build.h.in \
- $(srcdir)/fusion.pc.in $(top_srcdir)/rules/nmfile.make
-subdir = lib/fusion
+ $(srcdir)/Makefile.in $(srcdir)/one.pc.in \
+ $(top_srcdir)/rules/nmfile.make
+subdir = lib/One
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/as-ac-expand.m4 \
$(top_srcdir)/configure.in
@@ -46,40 +48,75 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = build.h fusion.pc
+CONFIG_CLEAN_FILES = one.pc
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \
"$(DESTDIR)$(includedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
-libfusion_la_DEPENDENCIES = shm/libfusion_shm.la \
- ../direct/libdirect.la
-am_libfusion_la_OBJECTS = arena.lo call.lo conf.lo fusion.lo hash.lo \
- lock.lo object.lo property.lo reactor.lo ref.lo shmalloc.lo \
- vector.lo
-libfusion_la_OBJECTS = $(am_libfusion_la_OBJECTS)
-libfusion_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+libone_la_DEPENDENCIES = ../direct/libdirect.la
+am_libone_la_OBJECTS = One.lo
+libone_la_OBJECTS = $(am_libone_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libone_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libfusion_la_LDFLAGS) $(LDFLAGS) -o $@
+ $(libone_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(libfusion_la_SOURCES)
-DIST_SOURCES = $(libfusion_la_SOURCES)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+SOURCES = $(libone_la_SOURCES)
+DIST_SOURCES = $(libone_la_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
@@ -87,18 +124,45 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
-pkgconfigDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgconfig_DATA)
-includeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(include_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -122,11 +186,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -140,16 +207,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -170,12 +238,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -186,21 +257,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -208,6 +287,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -221,6 +304,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -228,9 +312,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -254,7 +339,7 @@ host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
-includedir = @INCLUDEDIR@/fusion
+includedir = @INCLUDEDIR@/One
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
@@ -277,59 +362,37 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-SUBDIRS = shm
+SUBDIRS = linux-one
INCLUDES = \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
-I$(top_srcdir)/include \
- -I$(top_srcdir)/lib
+ -I$(top_srcdir)/lib \
+ -I$(srcdir)/linux-one/include
AM_CPPFLAGS = \
-DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\" \
-DMODULEDIR=\"${RUNTIME_SYSROOT}@MODULEDIR@\"
pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = fusion.pc
+pkgconfig_DATA = one.pc
include_HEADERS = \
- arena.h \
- build.h \
- call.h \
- conf.h \
- fusion.h \
- fusion_internal.h \
- hash.h \
- lock.h \
- object.h \
- property.h \
- protocol.h \
- reactor.h \
- ref.h \
- shmalloc.h \
- types.h \
- vector.h
-
-lib_LTLIBRARIES = libfusion.la
-libfusion_la_SOURCES = \
- arena.c \
- call.c \
- conf.c \
- fusion.c \
- hash.c \
- lock.c \
- object.c \
- property.c \
- reactor.c \
- ref.c \
- shmalloc.c \
- vector.c
-
-libfusion_la_LIBADD = \
- shm/libfusion_shm.la \
+ One.h \
+ OneQueue.h \
+ OneThread.h \
+ OneTypes.h
+
+lib_LTLIBRARIES = libone.la
+libone_la_SOURCES = \
+ One.c
+
+libone_la_LIBADD = \
../direct/libdirect.la
-libfusion_la_LDFLAGS = \
+libone_la_LDFLAGS = \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-release $(LT_RELEASE) \
$(DFB_LDFLAGS)
@@ -343,14 +406,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/fusion/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/fusion/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/One/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu lib/One/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -360,6 +423,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/nmfile.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -368,27 +432,30 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-build.h: $(top_builddir)/config.status $(srcdir)/build.h.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-fusion.pc: $(top_builddir)/config.status $(srcdir)/fusion.pc.in
+$(am__aclocal_m4_deps):
+one.pc: $(top_builddir)/config.status $(srcdir)/one.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
@@ -399,8 +466,8 @@ clean-libLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libfusion.la: $(libfusion_la_OBJECTS) $(libfusion_la_DEPENDENCIES)
- $(libfusion_la_LINK) -rpath $(libdir) $(libfusion_la_OBJECTS) $(libfusion_la_LIBADD) $(LIBS)
+libone.la: $(libone_la_OBJECTS) $(libone_la_DEPENDENCIES) $(EXTRA_libone_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libone_la_LINK) -rpath $(libdir) $(libone_la_OBJECTS) $(libone_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -408,39 +475,28 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/arena.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/call.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/conf.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fusion.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hash.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lock.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/object.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/property.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reactor.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ref.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/shmalloc.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/vector.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/One.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -450,37 +506,39 @@ clean-libtool:
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
done
uninstall-pkgconfigDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
- done
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
- @list='$(include_HEADERS)'; for p in $$list; do \
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
- $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(includedir)/$$f"; \
- done
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@@ -489,7 +547,7 @@ uninstall-includeHEADERS:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -506,7 +564,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -514,7 +572,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -540,16 +598,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -557,14 +615,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -576,7 +634,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -585,29 +643,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -628,29 +691,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -673,16 +751,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -706,6 +790,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -715,18 +801,28 @@ install-data-am: install-data-local install-includeHEADERS \
install-dvi: install-dvi-recursive
-install-exec-am: install-exec-local install-libLTLIBRARIES
+install-dvi-am:
+
+install-exec-am: install-libLTLIBRARIES
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -750,8 +846,8 @@ ps-am:
uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \
uninstall-pkgconfigDATA
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am all-local check check-am clean clean-generic \
@@ -760,38 +856,33 @@ uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-data-local install-dvi install-dvi-am \
- install-exec install-exec-am install-exec-local install-html \
- install-html-am install-includeHEADERS install-info \
- install-info-am install-libLTLIBRARIES install-man install-pdf \
- install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-includeHEADERS \
- uninstall-libLTLIBRARIES uninstall-pkgconfigDATA
-
-
-# If the old location isn't cleared, builds of external modules fail
-install-exec-local:
- rm -rf $(DESTDIR)$(INTERNALINCLUDEDIR)/core/fusion
- rm -rf $(DESTDIR)$(INTERNALINCLUDEDIR)/fusion
+ install-exec install-exec-am install-html install-html-am \
+ install-includeHEADERS install-info install-info-am \
+ install-libLTLIBRARIES install-man install-pdf install-pdf-am \
+ install-pkgconfigDATA install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs installdirs-am \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+ uninstall-includeHEADERS uninstall-libLTLIBRARIES \
+ uninstall-pkgconfigDATA
+
#
#
@BUILD_STATIC_TRUE at clean-local:
- at BUILD_STATIC_TRUE@ rm -f libfusion_fixed.a
+ at BUILD_STATIC_TRUE@ rm -f libone_fixed.a
- at BUILD_STATIC_TRUE@all-local: libfusion_fixed.a
+ at BUILD_STATIC_TRUE@all-local: libone_fixed.a
- at BUILD_STATIC_TRUE@libfusion_fixed.a: .libs/libfusion.a
- at BUILD_STATIC_TRUE@ rm -f libfusion_fixed.a
- at BUILD_STATIC_TRUE@ ${AR} cru libfusion_fixed.a `find . -name "*.o" | grep -v '.libs'`
- at BUILD_STATIC_TRUE@ ${RANLIB} libfusion_fixed.a
- at BUILD_STATIC_TRUE@ cp -pf libfusion_fixed.a .libs/libfusion.a
+ at BUILD_STATIC_TRUE@libone_fixed.a: .libs/libone.a
+ at BUILD_STATIC_TRUE@ rm -f libone_fixed.a
+ at BUILD_STATIC_TRUE@ ${AR} cru libone_fixed.a `find . -name "*.o" | grep -v '.libs'`
+ at BUILD_STATIC_TRUE@ ${RANLIB} libone_fixed.a
+ at BUILD_STATIC_TRUE@ cp -pf libone_fixed.a .libs/libone.a
- at BUILD_STATIC_TRUE@.libs/libfusion.a: libfusion.la
+ at BUILD_STATIC_TRUE@.libs/libone.a: libone.la
@BUILD_STATIC_FALSE at clean-local:
@@ -800,6 +891,7 @@ install-exec-local:
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE at install-data-local: install-libLTLIBRARIES
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE@ mkdir -p -- "$(DESTDIR)$(libdir)"
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE@ nm -n "$(DESTDIR)$(libdir)/$(LIBTONM)" > "$(DESTDIR)$(libdir)/nm-n.$(LIBTONM)"
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/lib/One/One.c b/lib/One/One.c
new file mode 100644
index 0000000..31a675e
--- /dev/null
+++ b/lib/One/One.c
@@ -0,0 +1,964 @@
+/*
+ (c) Copyright 2011 Denis Oliver Kropp <dok at directfb.org>
+
+ All rights reserved.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version
+ 2 of the License, or (at your option) any later version.
+*/
+
+//#define DIRECT_ENABLE_DEBUG
+
+#include <config.h>
+
+#include <direct/debug.h>
+#include <direct/direct.h>
+#include <direct/hash.h>
+#include <direct/log.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+#include <direct/thread.h>
+#include <direct/util.h>
+
+#include <sys/fcntl.h>
+#include <sys/ioctl.h>
+#include <sys/uio.h>
+#include <unistd.h>
+
+#include <linux/one.h>
+
+#include "One.h"
+
+#ifndef ONEDEV
+#define ONEDEV "/dev/one0"
+#endif
+
+
+D_DEBUG_DOMAIN( One_Main, "One/Main", "One Main" );
+D_DEBUG_DOMAIN( One_Queue, "One/Queue", "One Queue" );
+D_DEBUG_DOMAIN( One_Thread, "One/Thread", "One Thread" );
+
+/*********************************************************************************************************************/
+
+static DirectMutex one_lock;
+static unsigned int one_refs;
+static int one_fd = -1; /* File descriptor of the One Kernel Device */
+
+__attribute__((constructor))
+static void
+__One_Init( void )
+{
+ direct_mutex_init( &one_lock );
+}
+
+/*********************************************************************************************************************/
+
+DirectResult
+One_Initialize()
+{
+ DirectResult ret = DR_OK;
+
+ D_DEBUG_AT( One_Main, "%s()\n", __FUNCTION__ );
+
+ ret = direct_initialize();
+ if (ret)
+ return ret;
+
+ direct_mutex_lock( &one_lock );
+
+ if (!one_refs) {
+ /* Open the One Kernel Device. */
+ one_fd = open( ONEDEV, O_RDWR );
+ if (one_fd < 0) {
+ ret = errno2result( errno );
+ D_PERROR( "One/Main: Opening " ONEDEV " failed!\n" );
+ }
+ }
+
+ if (ret == DR_OK)
+ one_refs++;
+
+ direct_mutex_unlock( &one_lock );
+
+ return ret;
+}
+
+DirectResult
+One_Shutdown()
+{
+ D_DEBUG_AT( One_Main, "%s()\n", __FUNCTION__ );
+
+ direct_mutex_lock( &one_lock );
+
+ if (!--one_refs) {
+ /* Close the One Kernel Device. */
+ close( one_fd );
+ one_fd = -1;
+ }
+
+ direct_mutex_unlock( &one_lock );
+
+ direct_shutdown();
+
+ return DR_OK;
+}
+
+/*********************************************************************************************************************/
+
+DirectResult
+OneQueue_New( OneQueueFlags flags,
+ OneQID queue_id,
+ OneQID *ret_id )
+{
+ DirectResult ret = DR_OK;
+ OneQueueNew queue_new;
+
+ D_DEBUG_AT( One_Queue, "%s( flags 0x%08x )\n", __FUNCTION__, flags );
+
+ D_ASSERT( ret_id != NULL );
+
+ queue_new.flags = flags;
+ queue_new.queue_id = queue_id;
+
+ while (ioctl( one_fd, ONE_QUEUE_NEW, &queue_new )) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ default:
+ break;
+ }
+
+ ret = errno2result( errno );
+
+ D_PERROR( "One/Queue: ONE_QUEUE_NEW failed!\n" );
+
+ goto error;
+ }
+
+ D_DEBUG_AT( One_Queue, " -> QID 0x%08x\n", queue_new.queue_id );
+
+ *ret_id = queue_new.queue_id;
+
+error:
+ return ret;
+}
+
+DirectResult
+OneQueue_Destroy( OneQID queue_id )
+{
+ DirectResult ret = DR_OK;
+ OneQueueDestroy queue_destroy;
+
+ D_DEBUG_AT( One_Queue, "%s( QID 0x%08x )\n", __FUNCTION__, queue_id );
+
+ queue_destroy.queue_id = queue_id;
+
+ while (ioctl( one_fd, ONE_QUEUE_DESTROY, &queue_destroy )) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ default:
+ break;
+ }
+
+ ret = errno2result( errno );
+
+ D_PERROR( "One/Queue: ONE_QUEUE_DESTROY failed!\n" );
+
+ goto error;
+ }
+
+error:
+ return ret;
+}
+
+DirectResult
+OneQueue_Attach( OneQID queue_id,
+ OneQID target_id )
+{
+ DirectResult ret = DR_OK;
+ OneQueueAttach queue_attach;
+
+ D_DEBUG_AT( One_Queue, "%s( QID 0x%08x, target QID 0x%08x )\n", __FUNCTION__, queue_id, target_id );
+
+ queue_attach.queue_id = queue_id;
+ queue_attach.target_id = target_id;
+
+ while (ioctl( one_fd, ONE_QUEUE_ATTACH, &queue_attach )) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ default:
+ break;
+ }
+
+ ret = errno2result( errno );
+
+ D_PERROR( "One/Queue: ONE_QUEUE_ATTACH failed!\n" );
+
+ goto error;
+ }
+
+error:
+ return ret;
+}
+
+DirectResult
+OneQueue_Detach( OneQID queue_id,
+ OneQID target_id )
+{
+ DirectResult ret = DR_OK;
+ OneQueueDetach queue_detach;
+
+ D_DEBUG_AT( One_Queue, "%s( QID 0x%08x, target QID 0x%08x )\n", __FUNCTION__, queue_id, target_id );
+
+ queue_detach.queue_id = queue_id;
+ queue_detach.target_id = target_id;
+
+ while (ioctl( one_fd, ONE_QUEUE_DETACH, &queue_detach )) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ default:
+ break;
+ }
+
+ ret = errno2result( errno );
+
+ D_PERROR( "One/Queue: ONE_QUEUE_DETACH failed!\n" );
+
+ goto error;
+ }
+
+error:
+ return ret;
+}
+
+DirectResult
+OneQueue_Dispatch( OneQID queue_id,
+ void *data,
+ size_t length )
+{
+ DirectResult ret = DR_OK;
+ OneQueueDispatch queue_dispatch;
+ struct iovec iov[1];
+
+ D_DEBUG_AT( One_Queue, "%s( QID 0x%08x, data %p, length %zu )\n", __FUNCTION__, queue_id, data, length );
+
+ D_ASSERT( data != NULL );
+
+ iov[0].iov_base = data;
+ iov[0].iov_len = length;
+
+ queue_dispatch.header.queue_id = queue_id;
+ queue_dispatch.header.flags = ONE_PACKET_NO_FLAGS;
+ queue_dispatch.header.size = length;
+ queue_dispatch.header.uncompressed = length;
+
+ queue_dispatch.iov = iov;
+ queue_dispatch.iov_count = 1;
+
+ while (ioctl( one_fd, ONE_QUEUE_DISPATCH, &queue_dispatch )) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ default:
+ break;
+ }
+
+ ret = errno2result( errno );
+
+ D_PERROR( "One/Queue: ONE_QUEUE_DISPATCH failed!\n" );
+
+ goto error;
+ }
+
+error:
+ return ret;
+}
+
+DirectResult
+OneQueue_DispatchV( OneQID queue_id,
+ void **datas,
+ size_t *lengths,
+ size_t count )
+{
+ DirectResult ret = DR_OK;
+ OneQueueDispatch queue_dispatch;
+ size_t i;
+ size_t length = 0;
+ struct iovec iov[count];
+
+ D_DEBUG_AT( One_Queue, "%s( QID 0x%08x, datas %p, lengths %p, count %zu )\n", __FUNCTION__, queue_id, datas, lengths, count );
+
+ D_ASSERT( datas != NULL );
+ D_ASSERT( lengths != NULL );
+ D_ASSERT( count > 0 );
+
+ for (i=0; i<count; i++) {
+ iov[i].iov_base = datas[i];
+ iov[i].iov_len = lengths[i];
+
+ length += lengths[i];
+ }
+
+ D_DEBUG_AT( One_Queue, " -> total length %zu\n", length );
+
+ queue_dispatch.header.queue_id = queue_id;
+ queue_dispatch.header.flags = ONE_PACKET_NO_FLAGS;
+ queue_dispatch.header.size = length;
+ queue_dispatch.header.uncompressed = length;
+
+ queue_dispatch.iov = iov;
+ queue_dispatch.iov_count = count;
+
+ while (ioctl( one_fd, ONE_QUEUE_DISPATCH, &queue_dispatch )) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ default:
+ break;
+ }
+
+ ret = errno2result( errno );
+
+ D_PERROR( "One/Queue: ONE_QUEUE_DISPATCH failed!\n" );
+
+ goto error;
+ }
+
+error:
+ return ret;
+}
+
+DirectResult
+OneQueue_Receive( const OneQID *queue_ids,
+ unsigned int queue_count,
+ void *buf,
+ size_t length,
+ size_t *ret_received,
+ bool headerless,
+ int timeout_ms )
+{
+ DirectResult ret = DR_OK;
+ OneQueueReceive queue_receive;
+ struct iovec iov[2];
+ OnePacketHeader header;
+
+#if D_DEBUG_ENABLED
+ unsigned int i;
+
+ D_DEBUG_AT( One_Queue, "%s( ids %p, count %u, buf %p, length %zu )\n", __FUNCTION__, queue_ids, queue_count, buf, length );
+
+ for (i=0; i<queue_count; i++)
+ D_DEBUG_AT( One_Queue, " -> QID 0x%08x\n", queue_ids[i] );
+#endif
+
+ D_ASSERT( queue_ids != NULL );
+ D_ASSERT( buf != NULL );
+ D_ASSERT( ret_received != NULL );
+
+ if (headerless) {
+ iov[0].iov_base = &header;
+ iov[0].iov_len = sizeof(header);
+
+ iov[1].iov_base = buf;
+ iov[1].iov_len = length;
+ }
+ else {
+ iov[0].iov_base = buf;
+ iov[0].iov_len = length;
+ }
+
+ queue_receive.ids = queue_ids;
+ queue_receive.ids_count = queue_count;
+
+ queue_receive.iov = iov;
+ queue_receive.iov_count = headerless ? 2 : 1;
+
+ queue_receive.timeout_ms = timeout_ms;
+
+ while (ioctl( one_fd, ONE_QUEUE_RECEIVE, &queue_receive )) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ case ETIMEDOUT:
+ D_DEBUG_AT( One_Queue, " -> TIMEOUT\n" );
+ ret = DR_TIMEOUT;
+ goto error;
+ default:
+ break;
+ }
+
+ ret = errno2result( errno );
+
+ D_PERROR( "One/Queue: ONE_QUEUE_RECEIVE failed!\n" );
+
+ goto error;
+ }
+
+ D_DEBUG_AT( One_Queue, " -> received %zu\n", queue_receive.ret_received );
+
+ if (headerless)
+ *ret_received = queue_receive.ret_received - sizeof(header);
+ else
+ *ret_received = queue_receive.ret_received;
+
+error:
+ return ret;
+}
+
+DirectResult
+OneQueue_ReceiveV( const OneQID *queue_ids,
+ unsigned int queue_count,
+ void **buf,
+ size_t *length,
+ size_t count,
+ size_t *ret_received,
+ bool headerless,
+ int timeout_ms )
+{
+ DirectResult ret = DR_OK;
+ unsigned int i;
+ OneQueueReceive queue_receive;
+ struct iovec iov[count+1];
+ OnePacketHeader header;
+
+#if D_DEBUG_ENABLED
+ D_DEBUG_AT( One_Queue, "%s( ids %p, count %u, buf %p, length %p, count %zu )\n", __FUNCTION__, queue_ids, queue_count, buf, length, count );
+
+ for (i=0; i<queue_count; i++)
+ D_DEBUG_AT( One_Queue, " -> QID 0x%08x\n", queue_ids[i] );
+#endif
+
+ D_ASSERT( queue_ids != NULL );
+ D_ASSERT( buf != NULL );
+ D_ASSERT( ret_received != NULL );
+
+ if (headerless) {
+ iov[0].iov_base = &header;
+ iov[0].iov_len = sizeof(header);
+
+ for (i=0; i<count; i++) {
+ iov[i+1].iov_base = buf[i];
+ iov[i+1].iov_len = length[i];
+ }
+ }
+ else {
+ for (i=0; i<count; i++) {
+ iov[i+0].iov_base = buf[i];
+ iov[i+0].iov_len = length[i];
+ }
+ }
+
+ queue_receive.ids = queue_ids;
+ queue_receive.ids_count = queue_count;
+
+ queue_receive.iov = iov;
+ queue_receive.iov_count = headerless ? (count+1) : count;
+
+ queue_receive.timeout_ms = timeout_ms;
+
+ while (ioctl( one_fd, ONE_QUEUE_RECEIVE, &queue_receive )) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ case ETIMEDOUT:
+ D_DEBUG_AT( One_Queue, " -> TIMEOUT\n" );
+ ret = DR_TIMEOUT;
+ goto error;
+ default:
+ break;
+ }
+
+ ret = errno2result( errno );
+
+ D_PERROR( "One/Queue: ONE_QUEUE_RECEIVE failed!\n" );
+
+ goto error;
+ }
+
+ D_DEBUG_AT( One_Queue, " -> received %zu\n", queue_receive.ret_received );
+
+ if (headerless)
+ *ret_received = queue_receive.ret_received - sizeof(header);
+ else
+ *ret_received = queue_receive.ret_received;
+
+error:
+ return ret;
+}
+
+DirectResult
+OneQueue_DispatchReceive( OneQID queue_id,
+ void *data,
+ size_t data_length,
+ const OneQID *queue_ids,
+ unsigned int queue_count,
+ void *buf,
+ size_t buf_length,
+ size_t *ret_received,
+ bool headerless,
+ int timeout_ms )
+{
+ DirectResult ret = DR_OK;
+ OneQueueDispatch queue_dispatch;
+ OneQueueDispatchReceive queue_dispatch_receive;
+ struct iovec data_iov[1];
+ struct iovec buf_iov[2];
+ OnePacketHeader header;
+
+#if D_DEBUG_ENABLED
+ unsigned int i;
+
+ D_DEBUG_AT( One_Queue, "%s( QID 0x%08x, data %p, length %zu, ids %p, count %u, buf %p, length %zu )\n",
+ __FUNCTION__, queue_id, data, data_length, queue_ids, queue_count, buf, buf_length );
+
+ for (i=0; i<queue_count; i++)
+ D_DEBUG_AT( One_Queue, " -> QID 0x%08x\n", queue_ids[i] );
+#endif
+
+ D_ASSERT( data != NULL );
+ D_ASSERT( queue_ids != NULL );
+ D_ASSERT( buf != NULL );
+ D_ASSERT( ret_received != NULL );
+
+ queue_dispatch_receive.dispatch = &queue_dispatch;
+ queue_dispatch_receive.dispatch_count = 1;
+
+ data_iov[0].iov_base = data;
+ data_iov[0].iov_len = data_length;
+
+ queue_dispatch.header.queue_id = queue_id;
+ queue_dispatch.header.flags = ONE_PACKET_NO_FLAGS;
+ queue_dispatch.header.size = data_length;
+ queue_dispatch.header.uncompressed = data_length;
+
+ queue_dispatch.iov = data_iov;
+ queue_dispatch.iov_count = 1;
+
+ if (headerless) {
+ buf_iov[0].iov_base = &header;
+ buf_iov[0].iov_len = sizeof(header);
+
+ buf_iov[1].iov_base = buf;
+ buf_iov[1].iov_len = buf_length;
+ }
+ else {
+ buf_iov[0].iov_base = buf;
+ buf_iov[0].iov_len = buf_length;
+ }
+
+ queue_dispatch_receive.receive.ids = queue_ids;
+ queue_dispatch_receive.receive.ids_count = queue_count;
+
+ queue_dispatch_receive.receive.iov = buf_iov;
+ queue_dispatch_receive.receive.iov_count = headerless ? 2 : 1;
+
+ queue_dispatch_receive.receive.timeout_ms = timeout_ms;
+
+ while (ioctl( one_fd, ONE_QUEUE_DISPATCH_RECEIVE, &queue_dispatch_receive )) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ case ETIMEDOUT:
+ D_DEBUG_AT( One_Queue, " -> TIMEOUT\n" );
+ ret = DR_TIMEOUT;
+ goto error;
+ default:
+ break;
+ }
+
+ ret = errno2result( errno );
+
+ D_PERROR( "One/Queue: ONE_QUEUE_DISPATCH_RECEIVE failed!\n" );
+
+ goto error;
+ }
+
+ D_DEBUG_AT( One_Queue, " -> received %zu\n", queue_dispatch_receive.receive.ret_received );
+
+ if (headerless)
+ *ret_received = queue_dispatch_receive.receive.ret_received - sizeof(header);
+ else
+ *ret_received = queue_dispatch_receive.receive.ret_received;
+
+error:
+ return ret;
+}
+
+DirectResult
+OneQueue_WakeUp( const OneQID *queue_ids,
+ unsigned int queue_count )
+{
+ DirectResult ret = DR_OK;
+ OneQueueWakeUp queue_wakeup;
+
+#if D_DEBUG_ENABLED
+ unsigned int i;
+
+ D_DEBUG_AT( One_Queue, "%s( ids %p, count %u )\n", __FUNCTION__, queue_ids, queue_count );
+
+ for (i=0; i<queue_count; i++)
+ D_DEBUG_AT( One_Queue, " -> QID 0x%08x\n", queue_ids[i] );
+#endif
+
+ D_ASSERT( queue_ids != NULL );
+
+ queue_wakeup.ids = queue_ids;
+ queue_wakeup.ids_count = queue_count;
+
+ while (ioctl( one_fd, ONE_QUEUE_WAKEUP, &queue_wakeup )) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ default:
+ break;
+ }
+
+ ret = errno2result( errno );
+
+ D_PERROR( "One/Queue: ONE_QUEUE_WAKEUP failed!\n" );
+
+ break;
+ }
+
+ return ret;
+}
+
+DirectResult
+OneQueue_SetName( OneQID queue_id,
+ const char *name )
+{
+ DirectResult ret = DR_OK;
+ OneEntryInfo info;
+
+ D_DEBUG_AT( One_Queue, "%s( id %u, name '%s' )\n", __FUNCTION__, queue_id, name );
+
+ D_ASSERT( name != NULL );
+
+ info.type = ONE_QUEUE;
+ info.id = queue_id;
+
+ direct_snputs( info.name, name, ONE_ENTRY_INFO_NAME_LENGTH );
+
+ while (ioctl( one_fd, ONE_ENTRY_SET_INFO, &info )) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ default:
+ break;
+ }
+
+ ret = errno2result( errno );
+
+ D_PERROR( "One/Queue: ONE_ENTRY_SET_INFO failed!\n" );
+
+ break;
+ }
+
+ return ret;
+}
+
+/*********************************************************************************************************************/
+
+#define RECEIVE_BUFFER_SIZE 65536
+
+/**********************************************************************************************************************/
+
+typedef struct {
+ int magic;
+
+ OneQID queue_id;
+
+ OneThreadDispatch dispatch;
+ void *context;
+} AddedQueue;
+
+struct __One_OneThread {
+ int magic;
+
+ DirectMutex lock;
+
+ bool stop;
+
+ DirectThread *thread;
+
+ DirectHash *queues;
+
+ OneQID *queue_ids;
+ unsigned int queue_count;
+
+ unsigned int queues_age;
+};
+
+static void *
+OneThread_Dispatcher( DirectThread *thread,
+ void *arg )
+{
+ DirectResult ret;
+ OneThread *data = arg;
+ char *buf;
+ OneQID *ids = NULL;
+ unsigned int ids_capacity = 1000;
+ unsigned int ids_count = 0;
+ unsigned int ids_age = 0;
+
+ D_DEBUG_AT( One_Thread, "%s()\n", __FUNCTION__ );
+
+ buf = D_MALLOC( RECEIVE_BUFFER_SIZE );
+ if (!buf) {
+ D_OOM();
+ return NULL;
+ }
+
+ ids = D_MALLOC( sizeof(OneQID) * ids_capacity );
+ if (!ids) {
+ D_OOM();
+ return NULL;
+ }
+
+ while (!data->stop) {
+ size_t length;
+ size_t offset;
+
+ direct_thread_lock( thread );
+
+ if (data->queues_age != ids_age) {
+ if (!data->queue_count) {
+ // FIXME: use wait queue
+ usleep( 10000 );
+
+ direct_thread_unlock( thread );
+ continue;
+ }
+
+ ids_age = data->queues_age;
+ ids_count = data->queue_count;
+
+ if (ids_count > ids_capacity) {
+ while (ids_count > ids_capacity)
+ ids_capacity *= 2;
+
+ D_FREE( ids );
+
+ D_ASSERT( data->queue_count > 0 );
+
+ ids = D_MALLOC( sizeof(OneQID) * ids_capacity );
+ if (!ids) {
+ D_OOM();
+ direct_thread_unlock( thread );
+ return NULL;
+ }
+ }
+
+ direct_memcpy( ids, data->queue_ids, sizeof(OneQID) * data->queue_count );
+ }
+
+ direct_thread_unlock( thread );
+
+ ret = OneQueue_Receive( ids, ids_count, buf, RECEIVE_BUFFER_SIZE, &length, false, 0 );
+ if (ret) {
+ D_DERROR( ret, "IComaComponent/One: Could not receive from Component Queue!\n" );
+ break;
+ }
+
+ D_DEBUG_AT( One_Thread, "%s() -> received %zu bytes\n", __FUNCTION__, length );
+
+ for (offset=0; offset < length; ) {
+ AddedQueue *queue;
+ OnePacketHeader *header = (OnePacketHeader *)(buf + offset);
+ size_t size = header->uncompressed;
+
+ D_DEBUG_AT( One_Thread, " -> size %zu\n", size );
+
+ offset += sizeof(OnePacketHeader) + size;
+
+ if (offset > length) {
+ D_WARN( "invalid packet (offset %zu, length %zu)", offset, length );
+ continue;
+ }
+
+ direct_thread_lock( thread );
+
+ queue = direct_hash_lookup( data->queues, header->queue_id );
+
+ direct_thread_unlock( thread );
+
+ if (queue) {
+ D_MAGIC_ASSERT( queue, AddedQueue );
+
+ D_DEBUG_AT( One_Thread, " -> added queue %p, dispatch %p\n", queue, queue->dispatch );
+
+ queue->dispatch( queue->context, header, header + 1, data );
+ }
+ }
+ }
+
+ D_FREE( buf );
+
+ return NULL;
+}
+
+DirectResult
+OneThread_Create( const char *name,
+ OneThread **ret_thread )
+{
+ DirectResult ret;
+ OneThread *thread;
+
+ D_DEBUG_AT( One_Thread, "%s( '%s' )\n", __FUNCTION__, name );
+
+ D_ASSERT( name != NULL );
+ D_ASSERT( ret_thread != NULL );
+
+ thread = D_CALLOC( 1, sizeof(OneThread) );
+ if (!thread)
+ return D_OOM();
+
+
+ // FIXME: Get rid of id array management when adding more queue connection support (attach)
+
+ thread->queue_ids = D_MALLOC( sizeof(OneQID) );
+ if (!thread->queue_ids) {
+ ret = D_OOM();
+ goto error;
+ }
+
+ ret = OneQueue_New( ONE_QUEUE_NO_FLAGS, ONE_QID_NONE, &thread->queue_ids[0] );
+ if (ret)
+ goto error;
+
+ thread->queue_count = 1;
+ thread->queues_age = 1;
+
+
+ ret = direct_hash_create( 23, &thread->queues );
+ if (ret)
+ goto error_hash_create;
+
+ direct_mutex_init( &thread->lock );
+
+ *ret_thread = thread;
+
+ thread->thread = direct_thread_create( DTT_DEFAULT, OneThread_Dispatcher, thread, name );
+
+ return DR_OK;
+
+
+error_hash_create:
+ OneQueue_Destroy( thread->queue_ids[0] );
+
+error:
+ if (thread->queue_ids)
+ D_FREE( thread->queue_ids );
+
+ D_FREE( thread );
+
+ return ret;
+}
+
+void
+OneThread_Destroy( OneThread *thread )
+{
+ D_DEBUG_AT( One_Thread, "%s()\n", __FUNCTION__ );
+
+}
+
+DirectResult
+OneThread_AddQueue( OneThread *thread,
+ OneQID queue_id,
+ OneThreadDispatch dispatch,
+ void *context )
+{
+ AddedQueue *queue;
+
+ D_DEBUG_AT( One_Thread, "%s()\n", __FUNCTION__ );
+
+ direct_thread_lock( thread->thread );
+
+ queue = direct_hash_lookup( thread->queues, queue_id );
+ if (queue) {
+ direct_thread_unlock( thread->thread );
+ return DR_BUSY;
+ }
+
+ queue = D_CALLOC( 1, sizeof(AddedQueue) );
+ if (!queue) {
+ direct_thread_unlock( thread->thread );
+ return D_OOM();
+ }
+
+ queue->queue_id = queue_id;
+ queue->dispatch = dispatch;
+ queue->context = context;
+
+ D_MAGIC_SET( queue, AddedQueue );
+
+ direct_hash_insert( thread->queues, queue_id, queue );
+
+ thread->queue_ids = D_REALLOC( thread->queue_ids, sizeof(OneQID) * (thread->queue_count + 1) );
+
+ thread->queue_ids[thread->queue_count] = queue_id;
+
+ thread->queue_count++;
+
+ thread->queues_age++;
+
+ direct_thread_unlock( thread->thread );
+
+ OneQueue_WakeUp( &thread->queue_ids[0], 1 );
+
+ return DR_OK;
+}
+
+DirectResult
+OneThread_RemoveQueue( OneThread *thread,
+ OneQID queue_id )
+{
+ AddedQueue *queue;
+ unsigned int i;
+
+ D_DEBUG_AT( One_Thread, "%s()\n", __FUNCTION__ );
+
+ direct_thread_lock( thread->thread );
+
+ queue = direct_hash_lookup( thread->queues, queue_id );
+ if (!queue) {
+ direct_mutex_unlock( &thread->lock );
+ return DR_ITEMNOTFOUND;
+ }
+
+ direct_hash_remove( thread->queues, queue_id );
+
+ for (i=0; i<thread->queue_count; i++) {
+ if (thread->queue_ids[i] == queue_id)
+ break;
+ }
+
+ if (i >= thread->queue_count)
+ D_BUG( "queue_ids are missing element" );
+
+ for (i++; i<thread->queue_count; i++)
+ thread->queue_ids[i-1] = thread->queue_ids[i];
+
+ thread->queue_ids = D_REALLOC( thread->queue_ids, sizeof(OneQID) * thread->queue_count );
+
+ thread->queue_count--;
+
+ thread->queues_age++;
+
+ direct_mutex_unlock( &thread->lock );
+
+ OneQueue_WakeUp( &thread->queue_ids[0], 1 );
+
+ D_MAGIC_CLEAR( queue );
+
+ D_FREE( queue );
+
+ return DR_OK;
+}
+
diff --git a/lib/One/One.h b/lib/One/One.h
new file mode 100644
index 0000000..ab65d28
--- /dev/null
+++ b/lib/One/One.h
@@ -0,0 +1,28 @@
+/*
+ (c) Copyright 2011 Denis Oliver Kropp <dok at directfb.org>
+
+ All rights reserved.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version
+ 2 of the License, or (at your option) any later version.
+*/
+
+#ifndef __ONE_H__
+#define __ONE_H__
+
+#include <direct/types.h>
+
+#include <One/OneTypes.h>
+
+#include <One/OneQueue.h>
+#include <One/OneThread.h>
+
+
+DirectResult One_Initialize( void );
+
+DirectResult One_Shutdown ( void );
+
+#endif
+
diff --git a/lib/One/OneQueue.h b/lib/One/OneQueue.h
new file mode 100644
index 0000000..e1c6792
--- /dev/null
+++ b/lib/One/OneQueue.h
@@ -0,0 +1,96 @@
+/*
+ (c) Copyright 2011 Denis Oliver Kropp <dok at directfb.org>
+
+ All rights reserved.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version
+ 2 of the License, or (at your option) any later version.
+*/
+
+#ifndef __ONE_QUEUE_H__
+#define __ONE_QUEUE_H__
+
+#include <direct/types.h>
+
+#include <One/OneTypes.h>
+
+
+/*
+ * Create a new Queue
+ *
+ * If queue_id is ONE_QID_NONE, it will be generated.
+ *
+ * Otherwise, it will fail if the ID is already in use.
+ */
+DirectResult OneQueue_New ( OneQueueFlags flags,
+ OneQID queue_id,
+ OneQID *ret_id );
+
+DirectResult OneQueue_Destroy ( OneQID queue_id );
+
+/*********************************************************************************************************************/
+
+DirectResult OneQueue_Attach ( OneQID queue_id,
+ OneQID target_id );
+
+DirectResult OneQueue_Detach ( OneQID queue_id,
+ OneQID target_id );
+
+/*********************************************************************************************************************/
+
+DirectResult OneQueue_Dispatch ( OneQID queue_id,
+ void *data,
+ size_t length );
+
+DirectResult OneQueue_DispatchV( OneQID queue_id,
+ void **data,
+ size_t *length,
+ size_t count );
+
+/*********************************************************************************************************************/
+
+DirectResult OneQueue_Receive ( const OneQID *queue_ids,
+ unsigned int queue_count,
+ void *buf,
+ size_t length,
+ size_t *ret_received,
+ bool headerless,
+ int timeout_ms );
+
+DirectResult OneQueue_ReceiveV ( const OneQID *queue_ids,
+ unsigned int queue_count,
+ void **buf,
+ size_t *length,
+ size_t count,
+ size_t *ret_received,
+ bool headerless,
+ int timeout_ms );
+
+/*********************************************************************************************************************/
+
+DirectResult OneQueue_DispatchReceive( OneQID queue_id,
+ void *data,
+ size_t data_length,
+ const OneQID *queue_ids,
+ unsigned int queue_count,
+ void *buf,
+ size_t buf_length,
+ size_t *ret_received,
+ bool headerless,
+ int timeout_ms );
+
+/*********************************************************************************************************************/
+
+DirectResult OneQueue_WakeUp ( const OneQID *queue_ids,
+ unsigned int queue_count );
+
+/*********************************************************************************************************************/
+
+DirectResult OneQueue_SetName ( OneQID queue_id,
+ const char *name );
+
+
+#endif
+
diff --git a/lib/One/OneThread.h b/lib/One/OneThread.h
new file mode 100644
index 0000000..c33d77b
--- /dev/null
+++ b/lib/One/OneThread.h
@@ -0,0 +1,44 @@
+/*
+ (c) Copyright 2011 Denis Oliver Kropp <dok at directfb.org>
+
+ All rights reserved.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version
+ 2 of the License, or (at your option) any later version.
+*/
+
+#ifndef __ONE_THREAD_H__
+#define __ONE_THREAD_H__
+
+#include <direct/types.h>
+
+#include <One/OneTypes.h>
+
+
+typedef struct __One_OneThread OneThread;
+
+
+typedef void (*OneThreadDispatch)( void *context,
+ const OnePacketHeader *header,
+ void *data,
+ OneThread *thread );
+
+
+DirectResult OneThread_Create ( const char *name,
+ OneThread **ret_thread );
+
+void OneThread_Destroy ( OneThread *thread );
+
+DirectResult OneThread_AddQueue ( OneThread *thread,
+ OneQID queue_id,
+ OneThreadDispatch dispatch,
+ void *context );
+
+DirectResult OneThread_RemoveQueue( OneThread *thread,
+ OneQID queue_id );
+
+
+#endif
+
diff --git a/lib/One/OneTypes.h b/lib/One/OneTypes.h
new file mode 100644
index 0000000..ca7babf
--- /dev/null
+++ b/lib/One/OneTypes.h
@@ -0,0 +1,92 @@
+/*
+ (c) Copyright 2011 Denis Oliver Kropp <dok at directfb.org>
+
+ All rights reserved.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version
+ 2 of the License, or (at your option) any later version.
+*/
+
+#ifndef __ONE_TYPES_H__
+#define __ONE_TYPES_H__
+
+
+/**********************************************************************************************************************
+** Queues
+*/
+
+
+/*
+ * The One Queue ID is a unique identifier for one queue.
+ */
+typedef uint32_t OneQID;
+
+#define ONE_QID_NONE 0
+
+
+/*
+ * Queue Flags
+ */
+typedef enum {
+ ONE_QUEUE_NO_FLAGS = 0x00000000,
+
+ ONE_QUEUE_VIRTUAL = 0x00000001, /* Virtual Queue, has no receive buffers, only forwards to attached queues */
+} OneQueueFlags;
+
+
+/*
+ * Packet Header Flags
+ */
+typedef enum {
+ ONE_PACKET_NO_FLAGS = 0x00000000,
+
+ ONE_PACKET_COMPRESSED = 0x00000001 /* Compressed Packet */
+} OnePacketHeaderFlags;
+
+
+/*
+ * Packet Header
+ */
+typedef struct {
+ OneQID queue_id; /* Queue ID this packet is sent to */
+
+ OnePacketHeaderFlags flags; /* Packet Flags */
+ uint32_t size; /* Packet Size */
+ uint32_t uncompressed; /* Packet Size after decompression */
+} OnePacketHeader;
+
+
+
+
+
+/*
+
+ New QID for global messaging
+
+
+ 16-byte
+
+ 2 byte reserved
+ 2 byte name space
+ 8 byte system within name space (one kernel module instance for example)
+ 4 byte queue id within system
+
+
+ Public name space "MAC" with system IDs
+
+ 6 byte MAC address
+ 2 byte sub address (e.g. multiple systems on a board with one ethernet connection)
+
+
+ Public name space "random" ??
+
+ 8 byte random
+
+
+ Private name spaces could be defined, e.g. for systems without a MAC address.
+*/
+
+#endif
+
diff --git a/lib/One/linux-one/ChangeLog b/lib/One/linux-one/ChangeLog
new file mode 100644
index 0000000..e69de29
diff --git a/lib/One/linux-one/Makefile.am b/lib/One/linux-one/Makefile.am
new file mode 100644
index 0000000..a466a40
--- /dev/null
+++ b/lib/One/linux-one/Makefile.am
@@ -0,0 +1,13 @@
+ONE_CPPFLAGS := \
+ -DONE_CORE_IP0=0x0A010117 \
+ -DONE_CORE_IP1=0x0A01010D
+
+EXTRA_DIST = Makefile.static
+
+src/linux-one.ko: include/linux/one.h src/*.c src/*.h
+ $(MAKE) -f $(srcdir)/Makefile.static "ONE_CPPFLAGS=$(ONE_CPPFLAGS) -I`readlink -f $(srcdir)`/.."
+
+all-local:: src/linux-one.ko
+
+clean-local::
+ $(MAKE) -f $(srcdir)/Makefile.static clean
diff --git a/wm/unique/data/Makefile.in b/lib/One/linux-one/Makefile.in
similarity index 76%
copy from wm/unique/data/Makefile.in
copy to lib/One/linux-one/Makefile.in
index a3c2b29..a085030 100644
--- a/wm/unique/data/Makefile.in
+++ b/lib/One/linux-one/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -32,8 +34,9 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-subdir = wm/unique/data
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+subdir = lib/One/linux-one
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ ChangeLog TODO
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/as-ac-expand.m4 \
$(top_srcdir)/configure.in
@@ -42,11 +45,19 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -70,11 +81,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -88,16 +102,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -118,12 +133,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -134,21 +152,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -156,6 +182,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -169,6 +199,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -176,9 +207,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -225,22 +257,14 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-uniquedatadir = $(DATADIR)/unique
-EXTRA_DIST = \
- foo_n.png \
- foo_ne.png \
- foo_e.png \
- foo_se.png \
- foo_s.png \
- foo_sw.png \
- foo_w.png \
- foo_nw.png
-
- at BUILD_TOOLS_FALSE@@CROSS_COMPILING_FALSE at directfb_csource = $(DIRECTFB_CSOURCE)
- at BUILD_TOOLS_TRUE@@CROSS_COMPILING_FALSE at directfb_csource = $(top_builddir)/tools/directfb-csource
- at CROSS_COMPILING_TRUE@directfb_csource = $(DIRECTFB_CSOURCE)
+ONE_CPPFLAGS := \
+ -DONE_CORE_IP0=0x0A010117 \
+ -DONE_CORE_IP1=0x0A01010D
+
+EXTRA_DIST = Makefile.static
all: all-am
.SUFFIXES:
@@ -248,14 +272,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wm/unique/data/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu wm/unique/data/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/One/linux-one/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu lib/One/linux-one/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -273,6 +297,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -302,13 +327,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -326,16 +355,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -354,6 +389,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -362,18 +399,28 @@ install-data-am:
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -409,13 +456,14 @@ uninstall-am:
uninstall uninstall-am
-all-local: foo.h
+src/linux-one.ko: include/linux/one.h src/*.c src/*.h
+ $(MAKE) -f $(srcdir)/Makefile.static "ONE_CPPFLAGS=$(ONE_CPPFLAGS) -I`readlink -f $(srcdir)`/.."
+
+all-local:: src/linux-one.ko
-clean-local:
- rm -f foo.h
+clean-local::
+ $(MAKE) -f $(srcdir)/Makefile.static clean
-foo.h: $(EXTRA_DIST)
- $(directfb_csource) --name=foo $(EXTRA_DIST:%=$(srcdir)/%) > foo.h
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/lib/One/linux-one/Makefile.static b/lib/One/linux-one/Makefile.static
new file mode 100644
index 0000000..64cc907
--- /dev/null
+++ b/lib/One/linux-one/Makefile.static
@@ -0,0 +1,116 @@
+# for native builds:
+# make modules modules_install
+# make KERNELDIR=<not currently running kernel's build tree> modules modules_install
+# make KERNEL_VERSION=<uname -r of the not currently running kernel> modules modules_install
+#
+# for cross builds, using standard kernel make environment, i.e.
+# make KERNELDIR=<linux build tree> INSTALL_MOD_PATH=<target root fs> modules modules_install
+
+KERNEL_VERSION ?= $(shell uname -r)
+INSTALL_MOD_PATH ?= /
+KERNELDIR ?= $(INSTALL_MOD_PATH)/lib/modules/$(KERNEL_VERSION)/build
+ONECORE ?= single
+
+export ONECORE
+
+CPPFLAGS += $(ONE_CPPFLAGS) \
+ -I`pwd`/src \
+ -I`pwd`/src/multi \
+ -I`pwd`/src/$(ONECORE)
+
+
+KERNEL_BUILD = $(KERNELDIR)
+# works for 2.6.23
+KERNEL_SOURCE = $(shell grep ^KERNELSRC $(KERNEL_BUILD)/Makefile | cut -d ' ' -f 6)
+ifeq ($(KERNEL_SOURCE), )
+ # works for 2.6.32
+ KERNEL_SOURCE = $(shell grep '^MAKEARGS := -C ' $(KERNEL_BUILD)/Makefile | cut -d ' ' -f 4)
+endif
+ifneq ($(KERNEL_SOURCE), )
+ K_VERSION = $(shell grep '^VERSION =' $(KERNEL_SOURCE)/Makefile | cut -d ' ' -f 3)
+ K_PATCHLEVEL = $(shell grep '^PATCHLEVEL =' $(KERNEL_SOURCE)/Makefile | cut -d ' ' -f 3)
+ K_SUBLEVEL = $(shell grep '^SUBLEVEL =' $(KERNEL_SOURCE)/Makefile | cut -d ' ' -f 3)
+else
+ K_VERSION = $(shell grep '^VERSION =' $(KERNEL_BUILD)/Makefile | cut -d ' ' -f 3)
+ K_PATCHLEVEL = $(shell grep '^PATCHLEVEL =' $(KERNEL_BUILD)/Makefile | cut -d ' ' -f 3)
+ K_SUBLEVEL = $(shell grep '^SUBLEVEL =' $(KERNEL_BUILD)/Makefile | cut -d ' ' -f 3)
+endif
+
+SUB = src
+SUBMOD = one
+
+export CONFIG_LINUX_ONE=m
+
+
+ifeq ($(DEBUG),yes)
+ CPPFLAGS += -DONE_ENABLE_DEBUG
+endif
+
+ifeq ($(shell test -e $(KERNEL_BUILD)/include/linux/autoconf.h && echo yes),yes)
+ AUTOCONF_H = -include $(KERNEL_BUILD)/include/linux/autoconf.h
+endif
+
+ifeq ($(shell test -e $(KERNEL_BUILD)/include/linux/config.h && echo yes),yes)
+ CPPFLAGS += -DHAVE_LINUX_CONFIG_H
+endif
+
+ifeq ($(K_VERSION),3)
+ KMAKEFILE = Makefile-2.6
+else
+ KMAKEFILE = Makefile-2.$(K_PATCHLEVEL)
+endif
+
+check-version = $(shell expr \( $(K_VERSION) \* 65536 + $(K_PATCHLEVEL) \* 256 + $(K_SUBLEVEL) \) \>= \( $(1) \* 65536 + $(2) \* 256 + $(3) \))
+
+.PHONY: all modules modules_install install clean
+
+all: modules
+install: modules_install headers_install
+
+modules:
+ rm -f $(SUB)/Makefile
+ cp $(SUB)/$(KMAKEFILE) $(SUB)/Makefile
+ echo kernel is in $(KERNEL_SOURCE) and version is $(K_SUBLEVEL)
+ifeq ($(call check-version,2,6,24),1)
+ $(MAKE) -C $(KERNEL_BUILD) \
+ KCPPFLAGS="$(CPPFLAGS) -I`pwd`/include" \
+ SUBDIRS=`pwd`/$(SUB) modules
+else
+ $(MAKE) -C $(KERNEL_BUILD) \
+ CPPFLAGS="$(CPPFLAGS) -D__KERNEL__ -I`pwd`/include -I$(KERNEL_BUILD)/include -I$(KERNEL_BUILD)/include2 -I$(KERNEL_SOURCE)/include $(AUTOCONF_H)" \
+ SUBDIRS=`pwd`/$(SUB) modules
+endif
+
+modules_install: modules
+ifeq ($(K_PATCHLEVEL),4)
+ install -d $(INSTALL_MOD_PATH)/lib/modules/$(KERNEL_VERSION)/$(SUBMOD)
+ install -m 644 $(SUB)/linux-one.o $(INSTALL_MOD_PATH)/lib/modules/$(KERNEL_VERSION)/$(SUBMOD)
+ rm -f $(INSTALL_MOD_PATH)/lib/modules/$(KERNEL_VERSION)/linux-one.o
+ /sbin/depmod -ae -b $(INSTALL_MOD_PATH) $(KERNEL_VERSION)
+else
+ifeq ($(call check-version,2,6,24),1)
+ $(MAKE) -C $(KERNEL_BUILD) \
+ KCPPFLAGS="$(CPPFLAGS) -I`pwd`/include" \
+ INSTALL_MOD_DIR="$(SUBMOD)" \
+ SUBDIRS=`pwd`/$(SUB) modules_install
+else
+ $(MAKE) -C $(KERNEL_BUILD) \
+ CPPFLAGS="$(CPPFLAGS) -D__KERNEL__ -I`pwd`/include -I$(KERNEL_BUILD)/include -I$(KERNEL_BUILD)/include2 -I$(KERNEL_SOURCE)/include $(AUTOCONF_H)" \
+ SUBDIRS=`pwd`/$(SUB) modules_install
+endif
+endif
+
+headers_install:
+ install -d $(INSTALL_MOD_PATH)/usr/include/linux
+ install -m 644 include/linux/one.h $(INSTALL_MOD_PATH)/usr/include/linux
+
+
+
+clean:
+ find $(SUB) \( -name .git -prune \
+ -o -name *.o -o -name *.ko -o -name .*.o.cmd \
+ -o -name linux-one.mod.* -o -name .linux-one.* \
+ -o -name Module.symvers -o -name modules.order \) \
+ -type f -print | xargs rm -f
+ find $(SUB) -name .tmp_versions -type d -print | xargs rm -rf
+ rm -f $(SUB)/Makefile
diff --git a/lib/One/linux-one/README b/lib/One/linux-one/README
new file mode 100644
index 0000000..b8fce38
--- /dev/null
+++ b/lib/One/linux-one/README
@@ -0,0 +1,38 @@
+Easy installation without kernel patch
+--------------------------------------
+
+1) Run 'make' and 'make install'. It builds and installs the module
+ for the running kernel version as reported by 'uname -r'.
+ If you want to build for another kernel, edit the Makefile.
+
+2) Either run 'modprobe one' manually or add "one" to "/etc/modules".
+
+3) Create the one device(s) if not using devfs or udev:
+
+ mkdir /dev/one
+ mknod /dev/one/0 c 250 0
+
+ ...if you need more than one session
+
+ mknod /dev/one/1 c 250 1
+ mknod /dev/one/2 c 250 2
+
+ ...and so on (currently limited to eight sessions)
+
+4) Add udev rules to /etc/udev/rules.d/40-one.rules if using udev:
+
+ KERNEL=="one[0-9]*", NAME="one/%n", GROUP="video", MODE="0660"
+
+ ...customize to suit your needs
+
+
+Special arguments for cross builds
+----------------------------------
+
+1) Simple example:
+
+ make -f Makefile.static KERNEL_VERSION=2.6.25.4 SYSROOT=/opt/sh7723 install
+
+2) Explicit source tree:
+
+ make -f Makefile.static KERNEL_VERSION=2.6.25.4 SYSROOT=/opt/sh7723 KERNEL_BUILD=/home/sh7723/kernel install
diff --git a/lib/One/linux-one/TODO b/lib/One/linux-one/TODO
new file mode 100644
index 0000000..17cc265
--- /dev/null
+++ b/lib/One/linux-one/TODO
@@ -0,0 +1,3 @@
+
+
+Remove packet size limit, splitting up if needed.
diff --git a/lib/One/one.pc.in b/lib/One/one.pc.in
new file mode 100644
index 0000000..add9ca9
--- /dev/null
+++ b/lib/One/one.pc.in
@@ -0,0 +1,13 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+moduledir=@MODULEDIR@
+moduledirname=@MODULEDIRNAME@
+includedir=@includedir@
+
+Name: One
+Description: One IPC library
+Version: @VERSION@
+Requires: direct
+Libs: -L${libdir} -lone
+Cflags: -I at INCLUDEDIR@ -I at INCLUDEDIR@/One/dist
diff --git a/lib/direct/Makefile.am b/lib/direct/Makefile.am
index ff89144..32c9e64 100644
--- a/lib/direct/Makefile.am
+++ b/lib/direct/Makefile.am
@@ -56,10 +56,12 @@ include_HEADERS = \
interface_implementation.h \
list.h \
log.h \
+ map.h \
mem.h \
memcpy.h \
messages.h \
modules.h \
+ mutex.h \
serial.h \
signals.h \
stream.h \
@@ -85,10 +87,12 @@ libdirect_la_SOURCES = \
interface.c \
list.c \
log.c \
+ map.c \
mem.c \
memcpy.c \
messages.c \
modules.c \
+ mutex.c \
signals.c \
stream.c \
system.c \
diff --git a/lib/direct/Makefile.in b/lib/direct/Makefile.in
index 36f842e..23dc727 100644
--- a/lib/direct/Makefile.in
+++ b/lib/direct/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,8 +19,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -47,67 +49,109 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = build.h direct.pc
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \
"$(DESTDIR)$(includedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
libdirect_la_LIBADD =
am__libdirect_la_SOURCES_DIST = ppcasm_memcpy.S \
ppcasm_memcpy_cachable.S armasm_memcpy.S clock.c conf.c \
- debug.c direct.c hash.c interface.c list.c log.c mem.c \
- memcpy.c messages.c modules.c signals.c stream.c system.c \
- trace.c tree.c thread.c utf8.c util.c
+ debug.c direct.c hash.c interface.c list.c log.c map.c mem.c \
+ memcpy.c messages.c modules.c mutex.c signals.c stream.c \
+ system.c trace.c tree.c thread.c utf8.c util.c
@BUILDPPCASM_TRUE@@HAVE_LINUX_FALSE at am__objects_1 = ppcasm_memcpy.lo
@BUILDPPCASM_TRUE@@HAVE_LINUX_TRUE at am__objects_1 = ppcasm_memcpy.lo \
@BUILDPPCASM_TRUE@@HAVE_LINUX_TRUE@ ppcasm_memcpy_cachable.lo
@BUILDARMASM_TRUE at am__objects_2 = armasm_memcpy.lo
am_libdirect_la_OBJECTS = $(am__objects_1) $(am__objects_2) clock.lo \
conf.lo debug.lo direct.lo hash.lo interface.lo list.lo log.lo \
- mem.lo memcpy.lo messages.lo modules.lo signals.lo stream.lo \
- system.lo trace.lo tree.lo thread.lo utf8.lo util.lo
+ map.lo mem.lo memcpy.lo messages.lo modules.lo mutex.lo \
+ signals.lo stream.lo system.lo trace.lo tree.lo thread.lo \
+ utf8.lo util.lo
libdirect_la_OBJECTS = $(am_libdirect_la_OBJECTS)
-libdirect_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirect_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libdirect_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
+LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CCASFLAGS) $(CCASFLAGS)
+AM_V_CPPAS = $(am__v_CPPAS_ at AM_V@)
+am__v_CPPAS_ = $(am__v_CPPAS_ at AM_DEFAULT_V@)
+am__v_CPPAS_0 = @echo " CPPAS " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirect_la_SOURCES)
DIST_SOURCES = $(am__libdirect_la_SOURCES_DIST)
-pkgconfigDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgconfig_DATA)
am__include_HEADERS_DIST = ppcasm_memcpy.h ppc_asm.h build.h clock.h \
conf.h debug.h direct.h hash.h interface.h \
- interface_implementation.h list.h log.h mem.h memcpy.h \
- messages.h modules.h serial.h signals.h stream.h system.h \
- thread.h trace.h tree.h types.h utf8.h util.h
-includeHEADERS_INSTALL = $(INSTALL_HEADER)
+ interface_implementation.h list.h log.h map.h mem.h memcpy.h \
+ messages.h modules.h mutex.h serial.h signals.h stream.h \
+ system.h thread.h trace.h tree.h types.h utf8.h util.h
HEADERS = $(include_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -131,11 +175,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -149,16 +196,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -179,12 +227,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -195,21 +246,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -217,6 +276,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -230,6 +293,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -237,9 +301,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -286,6 +351,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
@@ -326,10 +392,12 @@ include_HEADERS = \
interface_implementation.h \
list.h \
log.h \
+ map.h \
mem.h \
memcpy.h \
messages.h \
modules.h \
+ mutex.h \
serial.h \
signals.h \
stream.h \
@@ -353,10 +421,12 @@ libdirect_la_SOURCES = \
interface.c \
list.c \
log.c \
+ map.c \
mem.c \
memcpy.c \
messages.c \
modules.c \
+ mutex.c \
signals.c \
stream.c \
system.c \
@@ -380,14 +450,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/direct/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/direct/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/direct/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu lib/direct/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -397,6 +467,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/nmfile.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -405,6 +476,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
build.h: $(top_builddir)/config.status $(srcdir)/build.h.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
direct.pc: $(top_builddir)/config.status $(srcdir)/direct.pc.in
@@ -412,20 +484,24 @@ direct.pc: $(top_builddir)/config.status $(srcdir)/direct.pc.in
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
@@ -436,8 +512,8 @@ clean-libLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirect.la: $(libdirect_la_OBJECTS) $(libdirect_la_DEPENDENCIES)
- $(libdirect_la_LINK) -rpath $(libdir) $(libdirect_la_OBJECTS) $(libdirect_la_LIBADD) $(LIBS)
+libdirect.la: $(libdirect_la_OBJECTS) $(libdirect_la_DEPENDENCIES) $(EXTRA_libdirect_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirect_la_LINK) -rpath $(libdir) $(libdirect_la_OBJECTS) $(libdirect_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -454,10 +530,12 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/interface.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/list.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/log.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/map.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mem.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/memcpy.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/messages.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/modules.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mutex.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppcasm_memcpy.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppcasm_memcpy_cachable.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/signals.Plo at am__quote@
@@ -470,46 +548,46 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/util.Plo at am__quote@
.S.o:
- at am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $<
+ at am__fastdepCCAS_FALSE@ $(AM_V_CPPAS at am__nodep@)$(CPPASCOMPILE) -c -o $@ $<
.S.obj:
- at am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCCAS_FALSE@ $(AM_V_CPPAS at am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.S.lo:
- at am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCCAS_FALSE@ $(LTCPPASCOMPILE) -c -o $@ $<
+ at am__fastdepCCAS_FALSE@ $(AM_V_CPPAS at am__nodep@)$(LTCPPASCOMPILE) -c -o $@ $<
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -519,51 +597,53 @@ clean-libtool:
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
done
uninstall-pkgconfigDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
- done
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
- @list='$(include_HEADERS)'; for p in $$list; do \
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
- $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(includedir)/$$f"; \
- done
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -571,29 +651,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -614,13 +699,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -641,16 +730,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -674,6 +769,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -683,18 +780,28 @@ install-data-am: install-data-local install-includeHEADERS \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am: install-exec-local install-libLTLIBRARIES
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -765,6 +872,7 @@ install-exec-local:
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE at install-data-local: install-libLTLIBRARIES
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE@ mkdir -p -- "$(DESTDIR)$(libdir)"
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE@ nm -n "$(DESTDIR)$(libdir)/$(LIBTONM)" > "$(DESTDIR)$(libdir)/nm-n.$(LIBTONM)"
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/lib/direct/build.h b/lib/direct/build.h
index 73631d8..e021b10 100644
--- a/lib/direct/build.h
+++ b/lib/direct/build.h
@@ -28,7 +28,7 @@
#ifndef __DIRECT__BUILD_H__
#define __DIRECT__BUILD_H__
-#define DIRECT_BUILD_DEBUG (1)
+#define DIRECT_BUILD_DEBUG (0)
#define DIRECT_BUILD_DEBUGS (1)
#define DIRECT_BUILD_TRACE (0)
#define DIRECT_BUILD_TEXT (1)
diff --git a/lib/direct/conf.c b/lib/direct/conf.c
index 8be92af..845c911 100644
--- a/lib/direct/conf.c
+++ b/lib/direct/conf.c
@@ -32,10 +32,15 @@
#include <string.h>
#include <direct/conf.h>
+#include <direct/debug.h>
+#include <direct/list.h>
+#include <direct/map.h>
#include <direct/mem.h>
#include <direct/util.h>
+static DirectMap *config_options = NULL;
+
static DirectConfig config = {
.debug = false,
.trace = true,
@@ -67,10 +72,125 @@ const char *direct_config_usage =
" disable-module=<module_name> suppress loading this module\n"
" module-dir=<directory> Override default module search directory (default = $libdir/directfb-x.y-z)\n"
" thread-priority-scale=<100th> Apply scaling factor on thread type based priorities\n"
+ " default-interface-implementation=<type/name> Probe interface_type/implementation_name first\n"
"\n";
/**********************************************************************************************************************/
+static bool config_option_compare( DirectMap *map, const void *key, void *object, void *ctx );
+static unsigned int config_option_hash( DirectMap *map, const void *key, void *ctx );
+static DirectEnumerationResult config_option_free( DirectMap *map, void *object, void *ctx );
+
+__attribute__((constructor))
+static void
+__D_conf_init()
+{
+ direct_map_create( 123, config_option_compare, config_option_hash, NULL, &config_options );
+}
+
+/**********************************************************************************************************************/
+
+#define OPTION_NAME_LENGTH 128
+
+typedef struct {
+ char name[OPTION_NAME_LENGTH];
+ DirectLink *values;
+} ConfigOption;
+
+typedef struct {
+ DirectLink link;
+ char *value;
+} ConfigOptionValue;
+
+static void
+config_option_value_add( ConfigOption *option, const char *name )
+{
+ ConfigOptionValue *value;
+
+ if (!name)
+ return;
+
+ value = D_CALLOC( 1, sizeof(ConfigOptionValue) + strlen(name) + 1 );
+ if (!value) {
+ D_OOM();
+ return;
+ }
+
+ value->value = direct_snputs( (char *)(value + 1), name, OPTION_NAME_LENGTH );
+
+ direct_list_append( &option->values, &value->link );
+}
+
+static ConfigOption*
+config_option_create( const char *name, const char *value )
+{
+ ConfigOption *option;
+
+ option = D_CALLOC( 1, sizeof(ConfigOption) );
+ if (!option) {
+ D_OOM();
+ return NULL;
+ }
+
+ direct_snputs( option->name, name, OPTION_NAME_LENGTH );
+
+ config_option_value_add( option, value );
+
+ direct_map_insert( config_options, name, option);
+
+ return option;
+}
+
+static bool
+config_option_compare( DirectMap *map,
+ const void *key,
+ void *object,
+ void *ctx )
+{
+ const char *map_key = key;
+ ConfigOption *map_entry = object;
+
+ return strcmp( map_key, map_entry->name ) == 0;
+}
+
+static unsigned int
+config_option_hash( DirectMap *map,
+ const void *key,
+ void *ctx )
+{
+ size_t i = 0;
+ unsigned int hash = 0;
+ const char *map_key = key;
+
+ while (map_key[i]) {
+ hash = hash * 131 + map_key[i];
+
+ i++;
+ }
+
+ return hash;
+}
+
+static DirectEnumerationResult
+config_option_free( DirectMap *map,
+ void *object,
+ void *ctx )
+{
+ ConfigOption *option = object;
+ ConfigOptionValue *value;
+ DirectLink *next;
+
+ direct_list_foreach_safe( value, next, option->values ) {
+ D_FREE( value );
+ }
+
+ D_FREE( option );
+
+ return DENUM_OK;
+}
+
+/**********************************************************************************************************************/
+
DirectResult
direct_config_set( const char *name, const char *value )
{
@@ -341,8 +461,102 @@ direct_config_set( const char *name, const char *value )
}
}
else
- return DR_UNSUPPORTED;
+ if (direct_strcmp (name, "default-interface-implementation" ) == 0) {
+ if (value) {
+ char itype[0xff];
+ char *iname = 0;
+ int n = 0;
+
+ while (direct_config->default_interface_implementation_types &&
+ direct_config->default_interface_implementation_types[n])
+ n++;
+
+ direct_config->default_interface_implementation_types = (char**) D_REALLOC( direct_config->default_interface_implementation_types,
+ sizeof(char*) * (n + 2) );
+ direct_config->default_interface_implementation_names = (char**) D_REALLOC( direct_config->default_interface_implementation_names,
+ sizeof(char*) * (n + 2) );
+ iname = strstr(value, "/");
+ if (!iname) {
+ D_ERROR("Direct/Config '%s': No interface/implementation specified!\n", name);
+ return DR_INVARG;
+ }
+
+ if (iname <= value) {
+ D_ERROR("Direct/Config '%s': No interface specified!\n", name);
+ return DR_INVARG;
+ }
+
+ if (strlen(iname) < 2) {
+ D_ERROR("Direct/Config '%s': No implementation specified!\n", name);
+ return DR_INVARG;
+ }
+
+ direct_snputs( itype, value, iname - value + 1);
+
+ direct_config->default_interface_implementation_types[n] = D_STRDUP( itype );
+ direct_config->default_interface_implementation_types[n+1] = NULL;
+
+ direct_config->default_interface_implementation_names[n] = D_STRDUP( iname + 1 );
+ direct_config->default_interface_implementation_names[n+1] = NULL;
+ }
+ else {
+ D_ERROR("Direct/Config '%s': No interface/implementation specified!\n", name);
+ return DR_INVARG;
+ }
+ }
+ else {
+ ConfigOption *option = direct_map_lookup( config_options, name );
+ if (option)
+ config_option_value_add( option, value );
+ else
+ config_option_create( name, value );
+ }
return DR_OK;
}
+DirectResult
+direct_config_get( const char *name, char **values, const int values_len, int *ret_num )
+{
+ ConfigOption *option;
+ ConfigOptionValue *value;
+ int num = 0;
+
+ option = direct_map_lookup( config_options, name );
+ if (!option)
+ return DR_ITEMNOTFOUND;
+
+ *ret_num = 0;
+
+ if (!option->values)
+ return DR_OK;
+
+ direct_list_foreach( value, option->values ) {
+ if (num >= values_len)
+ break;
+
+ values[num++] = value->value;
+ }
+
+ *ret_num = num;
+
+ return DR_OK;
+}
+
+long long
+direct_config_get_int_value( const char *name )
+{
+ ConfigOption *option;
+ ConfigOptionValue *value;
+ char *last_value;
+
+ option = direct_map_lookup( config_options, name );
+ if (!option || !option->values)
+ return 0;
+
+ direct_list_foreach( value, option->values )
+ last_value = value->value;
+
+ return atoll(last_value);
+}
+
diff --git a/lib/direct/conf.h b/lib/direct/conf.h
index 0a0f242..e82dec5 100644
--- a/lib/direct/conf.h
+++ b/lib/direct/conf.h
@@ -32,7 +32,9 @@
#include <direct/messages.h>
-#ifndef __LINUX__
+#if HAVE_SIGNAL_H
+#include <signal.h>
+#else
#include <sys/signal.h>
#endif
@@ -76,6 +78,9 @@ struct __D_DirectConfig {
DirectConfigThreadScheduler thread_scheduler;
int thread_stack_size;
int thread_priority_scale;
+
+ char **default_interface_implementation_types;
+ char **default_interface_implementation_names;
};
extern DirectConfig *direct_config;
@@ -85,6 +90,17 @@ extern const char *direct_config_usage;
DirectResult direct_config_set( const char *name, const char *value );
+/* Retrieve all values set on option 'name'. */
+/* Pass an array of char* pointers and number of pointers in 'num'. */
+/* The actual returned number of values gets returned in 'ret_num' */
+/* The returned option/values respect directfbrc, cmdline options and DFBARGS envvar. */
+/* The returned pointers are not extra allocated so do not free them! */
+DirectResult direct_config_get( const char *name, char **values, const int values_len, int *ret_num );
+
+/* Return the integer value for the last occurrance of the passed option's setting. */
+/* Note that 0 is also retuned in case the passed option was not found ot set. */
+long long direct_config_get_int_value( const char *name );
+
#endif
diff --git a/lib/direct/debug.c b/lib/direct/debug.c
index 95309c4..05b8715 100644
--- a/lib/direct/debug.c
+++ b/lib/direct/debug.c
@@ -148,6 +148,24 @@ direct_debug_config_domain( const char *name, bool enable )
#endif /* DIRECT_BUILD_DEBUGS */
}
+bool
+direct_debug_check_domain( DirectDebugDomain *domain )
+{
+#if DIRECT_BUILD_DEBUGS /* Build with debug support? */
+ bool enabled;
+
+ pthread_mutex_lock( &domains_lock );
+
+ enabled = check_domain( domain );
+
+ pthread_mutex_unlock( &domains_lock );
+
+ return enabled;
+#else
+ return false;
+#endif /* DIRECT_BUILD_DEBUGS */
+}
+
/**************************************************************************************************/
__attribute__((no_instrument_function))
@@ -334,15 +352,18 @@ trap( const char *domain )
{
D_DEBUG( "Direct/%s: Raising SIGTRAP...\n", domain );
- raise( SIGTRAP );
+ kill( direct_gettid(), SIGTRAP );
- D_DEBUG( "Direct/%s: ...didn't catch signal on my own, calling killpg().\n", domain );
+ D_DEBUG( "Direct/%s: ...returned after signal to ourself, maybe blocked, calling %s()!\n", domain,
+#ifdef __NR_exit_group
+ "exit_group" );
- killpg( 0, SIGTRAP );
-
- D_DEBUG( "Direct/%s: ...still running, calling pthread_exit().\n", domain );
+ syscall( __NR_exit_group, DR_BUG );
+#else
+ "_exit" );
- pthread_exit( NULL );
+ _exit( DR_BUG );
+#endif
}
__attribute__((no_instrument_function))
diff --git a/lib/direct/debug.h b/lib/direct/debug.h
index 1232716..862be5e 100644
--- a/lib/direct/debug.h
+++ b/lib/direct/debug.h
@@ -57,6 +57,8 @@ typedef struct {
void direct_debug_config_domain( const char *name, bool enable );
+bool direct_debug_check_domain( DirectDebugDomain *domain );
+
#if DIRECT_BUILD_TEXT
@@ -67,7 +69,7 @@ void direct_debug_config_domain( const char *name, bool enable );
void direct_debug_at_always( DirectDebugDomain *domain,
const char *format, ... ) D_FORMAT_PRINTF(2);
-#define d_debug_at( domain, x... ) direct_debug_at_always( &domain, x )
+#define d_debug_at( domain, ... ) direct_debug_at_always( &domain, __VA_ARGS__ )
#if DIRECT_BUILD_DEBUGS
@@ -78,13 +80,13 @@ void direct_debug_at( DirectDebugDomain *domain,
const char *format, ... ) D_FORMAT_PRINTF(2);
void direct_debug_enter( DirectDebugDomain *domain,
- const char *func,
+ const char *func,
const char *file,
int line,
const char *format, ... ) D_FORMAT_PRINTF(5);
void direct_debug_exit( DirectDebugDomain *domain,
- const char *func,
+ const char *func,
const char *file,
int line,
const char *format, ... ) D_FORMAT_PRINTF(5);
@@ -109,26 +111,26 @@ void direct_assumption( const char *exp,
#define D_DEBUG_ENABLED (1)
-#define D_DEBUG(x...) \
+#define D_DEBUG(...) \
do { \
if (!direct_config || direct_config->debug) \
- direct_debug( x ); \
+ direct_debug( __VA_ARGS__ ); \
} while (0)
-#define D_DEBUG_AT(d,x...) \
+#define D_DEBUG_AT(d,...) \
do { \
- direct_debug_at( &d, x ); \
+ direct_debug_at( &d, __VA_ARGS__ ); \
} while (0)
-#define D_DEBUG_ENTER(d,x...) \
+#define D_DEBUG_ENTER(d,...) \
do { \
- direct_debug_enter( &d, __FUNCTION__, __FILE__, __LINE__, x ); \
+ direct_debug_enter( &d, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__ ); \
} while (0)
-#define D_DEBUG_EXIT(d,x...) \
+#define D_DEBUG_EXIT(d,...) \
do { \
- direct_debug_exit( &d, __FUNCTION__, __FILE__, __LINE__, x ); \
+ direct_debug_exit( &d, __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__ ); \
} while (0)
#define D_ASSERT(exp) \
@@ -145,11 +147,14 @@ void direct_assumption( const char *exp,
} while (0)
-#define D_BREAK(x...) \
+#define D_BREAK(...) \
do { \
- direct_break( __FUNCTION__, __FILE__, __LINE__, x ); \
+ direct_break( __FUNCTION__, __FILE__, __LINE__, __VA_ARGS__ ); \
} while (0)
+#define D_DEBUG_CHECK(d) \
+ direct_debug_check_domain( &d )
+
#elif defined(DIRECT_MINI_DEBUG)
/*
@@ -158,9 +163,9 @@ void direct_assumption( const char *exp,
#define D_DEBUG_ENABLED (2)
-#define D_DEBUG_AT(d,x...) \
+#define D_DEBUG_AT(d,...) \
do { \
- if (direct_config->debug) direct_debug_at_always( &d, x ); \
+ if (direct_config->debug) direct_debug_at_always( &d, __VA_ARGS__ ); \
} while (0)
#define D_CHECK(exp, aa) \
@@ -181,6 +186,9 @@ void direct_assumption( const char *exp,
#define D_ASSERT(exp) D_CHECK(exp, Assertion)
#define D_ASSUME(exp) D_CHECK(exp, Assumption)
+#define D_DEBUG_CHECK(d) \
+ direct_config->debug
+
#endif /* MINI_DEBUG / DIRECT_BUILD_DEBUG || DIRECT_ENABLE_DEBUG || DIRECT_FORCE_DEBUG */
#endif /* DIRECT_BUILD_TEXT */
@@ -195,19 +203,19 @@ void direct_assumption( const char *exp,
#endif
#ifndef D_DEBUG
-#define D_DEBUG(x...) do {} while (0)
+#define D_DEBUG(...) do {} while (0)
#endif
#ifndef D_DEBUG_AT
-#define D_DEBUG_AT(d,x...) do {} while (0)
+#define D_DEBUG_AT(d,...) do {} while (0)
#endif
#ifndef D_DEBUG_ENTER
-#define D_DEBUG_ENTER(d,x...) do {} while (0)
+#define D_DEBUG_ENTER(d,...) do {} while (0)
#endif
#ifndef D_DEBUG_EXIT
-#define D_DEBUG_EXIT(d,x...) do {} while (0)
+#define D_DEBUG_EXIT(d,...) do {} while (0)
#endif
#ifndef D_ASSERT
@@ -218,12 +226,16 @@ void direct_assumption( const char *exp,
#define D_ASSUME(exp) do {} while (0)
#endif
+#ifndef D_DEBUG_CHECK
+#define D_DEBUG_CHECK(d) false
+#endif
+
#ifndef D_BREAK
-#define D_BREAK(x...) do {} while (0)
+#define D_BREAK(...) do {} while (0)
#endif
#ifndef d_debug_at
-#define d_debug_at( domain, x... ) do {} while (0)
+#define d_debug_at( domain, ... ) do {} while (0)
#endif
#ifndef D_DEBUG_DOMAIN
diff --git a/lib/direct/interface.c b/lib/direct/interface.c
index 3460ba3..740e8e8 100644
--- a/lib/direct/interface.c
+++ b/lib/direct/interface.c
@@ -74,7 +74,32 @@ typedef struct {
static pthread_mutex_t implementations_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
static DirectLink *implementations = NULL;
-/**************************************************************************************************/
+static inline int
+probe_interface( DirectInterfaceImplementation *impl,
+ DirectInterfaceFuncs **funcs,
+ const char *type,
+ const char *implementation,
+ DirectInterfaceProbeFunc probe,
+ void *probe_ctx )
+{
+ if (type && strcmp( type, impl->type ))
+ return 0;
+
+ if (implementation && strcmp( implementation, impl->implementation ))
+ return 0;
+
+ D_DEBUG_AT( Direct_Interface, " -> Probing '%s'...\n", impl->implementation );
+
+ if (probe && !probe( impl->funcs, probe_ctx ))
+ return 0;
+
+ *funcs = impl->funcs;
+ impl->references++;
+
+ return 1;
+}
+
+/**********************************************************************************************************************/
void
DirectRegisterInterface( DirectInterfaceFuncs *funcs )
@@ -140,6 +165,9 @@ DirectGetInterface( DirectInterfaceFuncs **funcs,
DirectInterfaceProbeFunc probe,
void *probe_ctx )
{
+ int n = 0;
+ int idx = -1;
+
#ifdef DYNAMIC_LINKING
int len;
DIR *dir;
@@ -156,31 +184,51 @@ DirectGetInterface( DirectInterfaceFuncs **funcs,
pthread_mutex_lock( &implementations_mutex );
- /*
- * Check existing implementations first.
- */
- direct_list_foreach( link, implementations ) {
- DirectInterfaceImplementation *impl = (DirectInterfaceImplementation*) link;
+ /* Check whether there is a default existing implementation set for the type in config */
+ if (type && !implementation && direct_config->default_interface_implementation_types) {
+ while (direct_config->default_interface_implementation_types[n]) {
+ idx = -1;
- if (type && strcmp( type, impl->type ))
- continue;
+ while (direct_config->default_interface_implementation_types[n]) {
+ if (!strcmp(direct_config->default_interface_implementation_types[n++], type)) {
+ idx = n - 1;
+ break;
+ }
+ }
- if (implementation && strcmp( implementation, impl->implementation ))
- continue;
+ if (idx < 0 && !direct_config->default_interface_implementation_types[n])
+ break;
- D_DEBUG_AT( Direct_Interface, " -> Probing '%s'...\n", impl->implementation );
+ /* Check whether we have to check for a default implementation for the selected type */
+ if (idx >= 0) {
+ direct_list_foreach( link, implementations ) {
+ DirectInterfaceImplementation *impl = (DirectInterfaceImplementation*) link;
- if (probe && !probe( impl->funcs, probe_ctx ))
- continue;
- else {
- if (!impl->references) {
+ if (probe_interface( impl, funcs, NULL, direct_config->default_interface_implementation_names[idx], probe, probe_ctx )) {
+ D_INFO( "Direct/Interface: Using '%s' cached default implementation of '%s'.\n",
+ impl->implementation, impl->type );
+
+ pthread_mutex_unlock( &implementations_mutex );
+
+ return DR_OK;
+ }
+ }
+ }
+ else
+ break;
+ }
+ }
+
+ /* Check existing implementations without default. */
+ direct_list_foreach( link, implementations ) {
+ DirectInterfaceImplementation *impl = (DirectInterfaceImplementation*) link;
+
+ if (probe_interface( impl, funcs, type, implementation, probe, probe_ctx )) {
+ if (impl->references == 1) {
D_INFO( "Direct/Interface: Using '%s' implementation of '%s'.\n",
impl->implementation, impl->type );
}
- *funcs = impl->funcs;
- impl->references++;
-
pthread_mutex_unlock( &implementations_mutex );
return DR_OK;
@@ -188,16 +236,16 @@ DirectGetInterface( DirectInterfaceFuncs **funcs,
}
#ifdef DYNAMIC_LINKING
- /*
- * Try to load it dynamically.
- */
+ /* Try to load it dynamically. */
/* NULL type means we can't find plugin, so stop immediately */
- if (type == NULL)
+ if (type == NULL) {
+ pthread_mutex_unlock( &implementations_mutex );
return DR_NOIMPL;
+ }
path = direct_config->module_dir;
- if(!path)
+ if (!path)
path = MODULEDIR;
len = strlen(path) + strlen("/interfaces/") + strlen(type) + 1;
@@ -211,14 +259,102 @@ DirectGetInterface( DirectInterfaceFuncs **funcs,
return errno2result( errno );
}
- /*
- * Iterate directory.
- */
+ if (direct_config->default_interface_implementation_types) {
+ n = 0;
+
+ while (direct_config->default_interface_implementation_types[n]) {
+ idx = -1;
+
+ while (direct_config->default_interface_implementation_types[n]) {
+ if (!strcmp(direct_config->default_interface_implementation_types[n++], type)) {
+ idx = n - 1;
+ break;
+ }
+ }
+
+ if (idx < 0 && !direct_config->default_interface_implementation_types[n])
+ break;
+
+ /* Iterate directory. */
+ while (idx >= 0 && readdir_r( dir, &tmp, &entry ) == 0 && entry) {
+ void *handle = NULL;
+ char buf[4096];
+
+ DirectInterfaceImplementation *old_impl = (DirectInterfaceImplementation*) implementations;
+ DirectInterfaceImplementation *impl = NULL;
+
+ if (strlen(entry->d_name) < 4 ||
+ entry->d_name[strlen(entry->d_name)-1] != 'o' ||
+ entry->d_name[strlen(entry->d_name)-2] != 's')
+ continue;
+
+ snprintf( buf, 4096, "%s/%s", interface_dir, entry->d_name );
+
+ /* Check if it got already loaded. */
+ direct_list_foreach( link, implementations ) {
+ DirectInterfaceImplementation *test_impl = (DirectInterfaceImplementation*) link;
+
+ if (test_impl->filename && !strcmp( test_impl->filename, buf )) {
+ impl = test_impl;
+ handle = impl->module_handle;
+ break;
+ }
+ }
+
+ /* Open it if needed and check. */
+ if (!handle) {
+ handle = dlopen( buf, RTLD_NOW );
+
+ /* Check if it registered itself. */
+ if (handle) {
+ impl = (DirectInterfaceImplementation*) implementations;
+
+ if (old_impl == impl) {
+ dlclose( handle );
+ continue;
+ }
+
+ /* Keep filename and module handle. */
+ impl->filename = D_STRDUP( buf );
+ impl->module_handle = handle;
+ }
+ }
+
+ if (handle) {
+ /* check whether the dlopen'ed interface supports the required implementation */
+ if (!strcmp( impl->implementation, direct_config->default_interface_implementation_names[idx] )) {
+ if (probe_interface( impl, funcs, type, direct_config->default_interface_implementation_names[idx], probe, probe_ctx )) {
+ if (impl->references == 1)
+ D_INFO( "Direct/Interface: Loaded '%s' implementation of '%s'.\n",
+ impl->implementation, impl->type );
+
+ closedir( dir );
+
+ pthread_mutex_unlock( &implementations_mutex );
+
+ return DR_OK;
+ }
+ else
+ continue;
+ }
+ else
+ continue;
+ }
+ else
+ D_DLERROR( "Direct/Interface: Unable to dlopen `%s'!\n", buf );
+ }
+
+ rewinddir( dir );
+ }
+ }
+
+ /* Iterate directory. */
while (readdir_r( dir, &tmp, &entry ) == 0 && entry) {
void *handle = NULL;
char buf[4096];
DirectInterfaceImplementation *old_impl = (DirectInterfaceImplementation*) implementations;
+ DirectInterfaceImplementation *impl = NULL;
if (strlen(entry->d_name) < 4 ||
entry->d_name[strlen(entry->d_name)-1] != 'o' ||
@@ -227,64 +363,41 @@ DirectGetInterface( DirectInterfaceFuncs **funcs,
snprintf( buf, 4096, "%s/%s", interface_dir, entry->d_name );
- /*
- * Check if it got already loaded.
- */
+ /* Check if it got already loaded. */
direct_list_foreach( link, implementations ) {
- DirectInterfaceImplementation *impl = (DirectInterfaceImplementation*) link;
+ DirectInterfaceImplementation *test_impl = (DirectInterfaceImplementation*) link;
- if (impl->filename && !strcmp( impl->filename, buf )) {
- handle = impl->module_handle;
- break;
+ if (test_impl->filename && !strcmp( test_impl->filename, buf )) {
+ impl = test_impl;
+ handle = impl->module_handle;
+ break;
}
}
- /*
- * If already loaded take the next one.
- */
- if (handle)
- continue;
+ /* Open it if needed and check. */
+ if (!handle) {
+ handle = dlopen( buf, RTLD_NOW );
- /*
- * Open it and check.
- */
- handle = dlopen( buf, RTLD_NOW );
- if (handle) {
- DirectInterfaceImplementation *impl = (DirectInterfaceImplementation*) implementations;
+ /* Check if it registered itself. */
+ if (handle) {
+ impl = (DirectInterfaceImplementation*) implementations;
- /*
- * Check if it registered itself.
- */
- if (impl == old_impl) {
- dlclose( handle );
- continue;
- }
-
- /*
- * Keep filename and module handle.
- */
- impl->filename = D_STRDUP( buf );
- impl->module_handle = handle;
-
- /*
- * Almost the same stuff like above, TODO: make function.
- */
- if (strcmp( type, impl->type ))
- continue;
-
- if (implementation && strcmp( implementation,
- impl->implementation ))
- continue;
+ if (old_impl == impl) {
+ dlclose( handle );
+ continue;
+ }
- if (probe && !probe( impl->funcs, probe_ctx )) {
- continue;
+ /* Keep filename and module handle. */
+ impl->filename = D_STRDUP( buf );
+ impl->module_handle = handle;
}
- else {
- D_INFO( "Direct/Interface: Loaded '%s' implementation of '%s'.\n",
- impl->implementation, impl->type );
+ }
- *funcs = impl->funcs;
- impl->references++;
+ if (handle) {
+ if (probe_interface( impl, funcs, type, implementation, probe, probe_ctx )) {
+ if (impl->references == 1)
+ D_INFO( "Direct/Interface: Loaded '%s' implementation of '%s'.\n",
+ impl->implementation, impl->type );
closedir( dir );
@@ -292,15 +405,17 @@ DirectGetInterface( DirectInterfaceFuncs **funcs,
return DR_OK;
}
+ else
+ continue;
}
else
D_DLERROR( "Direct/Interface: Unable to dlopen `%s'!\n", buf );
}
closedir( dir );
+#endif
pthread_mutex_unlock( &implementations_mutex );
-#endif
return DR_NOIMPL;
}
diff --git a/lib/direct/interface.h b/lib/direct/interface.h
index 5e6200d..f285025 100644
--- a/lib/direct/interface.h
+++ b/lib/direct/interface.h
@@ -41,7 +41,7 @@
/*
* Macro for an interface definition.
*/
-#define DEFINE_INTERFACE( IFACE, IDATA... ) \
+#define DEFINE_INTERFACE( IFACE, ... ) \
struct _##IFACE { \
void *priv; \
int magic; \
@@ -49,7 +49,7 @@
DirectResult (*AddRef)( IFACE *thiz ); \
DirectResult (*Release)( IFACE *thiz ); \
\
- IDATA \
+ __VA_ARGS__ \
};
/*
@@ -152,13 +152,16 @@ void direct_dbg_interface_remove( const char *func,
-#define DIRECT_ALLOCATE_INTERFACE(p,i) \
- do { \
- (p) = (__typeof__(p))D_CALLOC( 1, sizeof(i) ); \
- \
- D_MAGIC_SET( (IAny*)(p), DirectInterface ); \
- \
- DIRECT_DBG_INTERFACE_ADD( __FUNCTION__, __FILE__, __LINE__, #p, p, #i ); \
+#define DIRECT_ALLOCATE_INTERFACE(p,i) \
+ do { \
+ (p) = (__typeof__(p))D_CALLOC( 1, sizeof(i) ); \
+ if (p) { \
+ D_MAGIC_SET( (IAny*)(p), DirectInterface ); \
+ \
+ DIRECT_DBG_INTERFACE_ADD( __FUNCTION__, __FILE__, __LINE__, #p, p, #i ); \
+ } \
+ else \
+ D_OOM(); \
} while (0)
diff --git a/lib/direct/list.h b/lib/direct/list.h
index 25ecdf8..6fa32c6 100644
--- a/lib/direct/list.h
+++ b/lib/direct/list.h
@@ -196,13 +196,11 @@ direct_list_move_to_front( DirectLink **list, DirectLink *link )
*list = link;
}
-static __inline__ bool
-direct_list_check_link( const DirectLink *link )
-{
- D_MAGIC_ASSERT_IF( link, DirectLink );
-
- return link != NULL;
-}
+#define direct_list_check_link( link ) \
+ ({ \
+ D_MAGIC_ASSERT_IF( link, DirectLink ); \
+ link != NULL; \
+ })
#define direct_list_foreach(elem, list) \
diff --git a/lib/direct/log.c b/lib/direct/log.c
index 3dc6415..38f7fcc 100644
--- a/lib/direct/log.c
+++ b/lib/direct/log.c
@@ -335,7 +335,9 @@ parse_host_addr( const char *hostport,
D_ERROR( "Direct/Log: Port %s is unreachable!\n", portstr );
return DR_FAILURE;
+#ifdef EAI_ADDRFAMILY
case EAI_ADDRFAMILY:
+#endif
case EAI_NODATA:
D_ERROR( "Direct/Log: Host found, but has no address!\n" );
return DR_FAILURE;
diff --git a/lib/direct/map.c b/lib/direct/map.c
new file mode 100644
index 0000000..a894a86
--- /dev/null
+++ b/lib/direct/map.c
@@ -0,0 +1,336 @@
+/*
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include <direct/debug.h>
+#include <direct/map.h>
+#include <direct/mem.h>
+#include <direct/messages.h>
+
+
+D_DEBUG_DOMAIN( Direct_Map, "Direct/Map", "Map implementation" );
+
+/**********************************************************************************************************************/
+
+#define REMOVED ((void *) -1)
+
+typedef struct {
+ unsigned int hash;
+ void *object;
+} MapEntry;
+
+struct __D_DirectMap {
+ int magic;
+
+ unsigned int size;
+
+ unsigned int count;
+ unsigned int removed;
+
+ MapEntry *entries;
+
+ DirectMapCompareFunc compare;
+ DirectMapHashFunc hash;
+ void *ctx;
+};
+
+#define DIRECT_MAP_ASSERT( map ) \
+ do { \
+ D_MAGIC_ASSERT( map, DirectMap ); \
+ } while (0)
+
+/**********************************************************************************************************************/
+
+static int
+locate_entry( DirectMap *map, unsigned int hash, const void *key )
+{
+ D_DEBUG_AT( Direct_Map, "%s( hash %u )\n", __func__, hash );
+
+ DIRECT_MAP_ASSERT( map );
+ D_ASSERT( key != NULL );
+
+ ///
+
+ int pos;
+ const MapEntry *entry;
+
+ pos = hash % map->size;
+
+ entry = &map->entries[pos];
+
+ while (entry->object) {
+ if (entry->object != REMOVED && entry->hash == hash && map->compare( map, key, entry->object, map->ctx ))
+ return pos;
+
+ if (++pos == map->size)
+ pos = 0;
+
+ entry = &map->entries[pos];
+ }
+
+ return -1;
+}
+
+static DirectResult
+resize_map( DirectMap *map,
+ unsigned int size )
+{
+ D_DEBUG_AT( Direct_Map, "%s( size %u )\n", __func__, size );
+
+ DIRECT_MAP_ASSERT( map );
+ D_ASSERT( size > 3 );
+
+ ///
+
+ int i, pos;
+ MapEntry *entries;
+
+ entries = D_CALLOC( size, sizeof(MapEntry) );
+ if (!entries)
+ return D_OOM();
+
+ for (i=0; i<map->size; i++) {
+ MapEntry *entry = &map->entries[i];
+ MapEntry *insertElement;
+
+ if (entry->object && entry->object != REMOVED) {
+ pos = entry->hash % size;
+
+ insertElement = &entries[pos];
+ while (insertElement->object && insertElement->object != REMOVED) {
+ if (++pos == size)
+ pos = 0;
+ insertElement = &entries[pos];
+ }
+
+ entries[pos] = *entry;
+ }
+ }
+
+ D_FREE( map->entries );
+
+ map->size = size;
+ map->entries = entries;
+ map->removed = 0;
+
+ return DR_OK;
+}
+
+/**********************************************************************************************************************/
+
+DirectResult
+direct_map_create( unsigned int initial_size,
+ DirectMapCompareFunc compare_func,
+ DirectMapHashFunc hash_func,
+ void *ctx,
+ DirectMap **ret_map )
+{
+ D_DEBUG_AT( Direct_Map, "%s( size %u, compare %p, hash %p )\n", __func__, initial_size, compare_func, hash_func );
+
+ D_ASSERT( compare_func != NULL );
+ D_ASSERT( hash_func != NULL );
+ D_ASSERT( ret_map != NULL );
+
+ ///
+
+ DirectMap *map;
+
+ if (initial_size < 3)
+ initial_size = 3;
+
+ map = D_CALLOC( 1, sizeof (DirectMap) );
+ if (!map)
+ return D_OOM();
+
+ map->entries = D_CALLOC( initial_size, sizeof(MapEntry) );
+ if (!map->entries) {
+ D_FREE( map );
+ return D_OOM();
+ }
+
+ map->size = initial_size;
+ map->compare = compare_func;
+ map->hash = hash_func;
+ map->ctx = ctx;
+
+ D_MAGIC_SET( map, DirectMap );
+
+ *ret_map = map;
+
+ return DR_OK;
+}
+
+void
+direct_map_destroy( DirectMap *map )
+{
+ D_DEBUG_AT( Direct_Map, "%s()\n", __func__ );
+
+ DIRECT_MAP_ASSERT( map );
+
+ ///
+
+ D_MAGIC_CLEAR( map );
+
+ D_FREE( map->entries );
+ D_FREE( map );
+}
+
+DirectResult
+direct_map_insert( DirectMap *map,
+ const void *key,
+ void *object )
+{
+ D_DEBUG_AT( Direct_Map, "%s( key %p, object %p )\n", __func__, key, object );
+
+ DIRECT_MAP_ASSERT( map );
+ D_ASSERT( key != NULL );
+ D_ASSERT( object != NULL );
+
+ ///
+
+ /* Need to resize the map? */
+ if ((map->count + map->removed) > map->size / 4)
+ resize_map( map, map->size * 3 );
+
+
+ unsigned int hash = map->hash( map, key, map->ctx );
+ int pos = hash % map->size;
+
+ D_DEBUG_AT( Direct_Map, " -> hash %u, pos %d\n", hash, pos );
+
+
+ MapEntry *entry = &map->entries[pos];
+
+ while (entry->object && entry->object != REMOVED) {
+ if (entry->hash == hash && map->compare( map, key, entry->object, map->ctx )) {
+ if (entry->object == object) {
+ D_DEBUG_AT( Direct_Map, " -> same object with matching key already exists\n" );
+ return DR_BUSY;
+ }
+ else {
+ D_DEBUG_AT( Direct_Map, " -> different object with matching key already exists\n" );
+ D_BUG( "different object with matching key already exists" );
+ return DR_BUG;
+ }
+ }
+
+ if (++pos == map->size)
+ pos = 0;
+
+ entry = &map->entries[pos];
+ }
+
+ if (entry->object == REMOVED)
+ map->removed--;
+
+ entry->hash = hash;
+ entry->object = object;
+
+ map->count++;
+
+ D_DEBUG_AT( Direct_Map, " -> new count = %d, removed = %d, size = %d\n", map->count, map->removed, map->size );
+
+ return DR_OK;
+}
+
+DirectResult
+direct_map_remove( DirectMap *map,
+ const void *key )
+{
+ D_DEBUG_AT( Direct_Map, "%s( key %p )\n", __func__, key );
+
+ DIRECT_MAP_ASSERT( map );
+ D_ASSERT( key != NULL );
+
+ ///
+
+ unsigned int hash = map->hash( map, key, map->ctx );
+ int pos;
+
+ pos = locate_entry( map, hash, key );
+ if (pos == -1) {
+ D_WARN( "object to remove not found" );
+ return DR_ITEMNOTFOUND;
+ }
+
+ map->entries[pos].object = REMOVED;
+
+ map->count--;
+ map->removed++;
+
+ D_DEBUG_AT( Direct_Map, " -> new count = %d, removed = %d, size = %d\n", map->count, map->removed, map->size );
+
+ return DR_OK;
+}
+
+void *
+direct_map_lookup( DirectMap *map,
+ const void *key )
+{
+ D_DEBUG_AT( Direct_Map, "%s( key %p )\n", __func__, key );
+
+ DIRECT_MAP_ASSERT( map );
+ D_ASSERT( key != NULL );
+
+ ///
+
+ unsigned int hash = map->hash( map, key, map->ctx );
+ int pos;
+
+ pos = locate_entry( map, hash, key );
+
+ return (pos != -1) ? map->entries[pos].object : NULL;
+}
+
+void
+direct_map_iterate( DirectMap *map,
+ DirectMapIteratorFunc func,
+ void *ctx )
+{
+ D_DEBUG_AT( Direct_Map, "%s( func %p )\n", __func__, func );
+
+ DIRECT_MAP_ASSERT( map );
+ D_ASSERT( func != NULL );
+
+ ///
+
+ int i;
+
+ for (i=0; i<map->size; i++) {
+ MapEntry *entry = &map->entries[i];
+
+ if (entry->object && entry->object != REMOVED) {
+ if (func( map, entry->object, ctx ) != DENUM_OK)
+ break;
+ }
+ }
+}
+
diff --git a/lib/direct/map.h b/lib/direct/map.h
new file mode 100644
index 0000000..845bf4e
--- /dev/null
+++ b/lib/direct/map.h
@@ -0,0 +1,72 @@
+/*
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef __DIRECT__MAP_H__
+#define __DIRECT__MAP_H__
+
+#include <direct/types.h>
+
+
+typedef bool (*DirectMapCompareFunc) ( DirectMap *map,
+ const void *key,
+ void *object,
+ void *ctx );
+
+typedef unsigned int (*DirectMapHashFunc) ( DirectMap *map,
+ const void *key,
+ void *ctx );
+
+typedef DirectEnumerationResult (*DirectMapIteratorFunc)( DirectMap *map,
+ void *object,
+ void *ctx );
+
+
+DirectResult direct_map_create ( unsigned int initial_size,
+ DirectMapCompareFunc compare_func,
+ DirectMapHashFunc hash_func,
+ void *ctx,
+ DirectMap **ret_map );
+
+void direct_map_destroy( DirectMap *map );
+
+DirectResult direct_map_insert ( DirectMap *map,
+ const void *key,
+ void *object );
+
+DirectResult direct_map_remove ( DirectMap *map,
+ const void *key );
+
+void *direct_map_lookup ( DirectMap *map,
+ const void *key );
+
+void direct_map_iterate( DirectMap *map,
+ DirectMapIteratorFunc func,
+ void *ctx );
+
+#endif
+
diff --git a/lib/direct/memcpy.c b/lib/direct/memcpy.c
index 918853f..1f6ff6a 100644
--- a/lib/direct/memcpy.c
+++ b/lib/direct/memcpy.c
@@ -36,8 +36,6 @@
#include <stdlib.h>
#include <string.h>
-#include <dfb_types.h>
-
#include <direct/conf.h>
#include <direct/debug.h>
#include <direct/mem.h>
diff --git a/lib/direct/messages.h b/lib/direct/messages.h
index bafce88..4ba3711 100644
--- a/lib/direct/messages.h
+++ b/lib/direct/messages.h
@@ -93,38 +93,39 @@ void direct_messages_warn ( const char *func,
const char *format, ... ) D_FORMAT_PRINTF(4);
-#define D_INFO(x...) do { \
+#define D_INFO(...) do { \
if (!(direct_config->quiet & DMT_INFO)) \
- direct_messages_info( x ); \
+ direct_messages_info( __VA_ARGS__ ); \
} while (0)
-#define D_ERROR(x...) do { \
+#define D_ERROR(...) do { \
if (!(direct_config->quiet & DMT_ERROR)) \
- direct_messages_error( x ); \
+ direct_messages_error( __VA_ARGS__ ); \
} while (0)
-#define D_DERROR(r,x...) do { \
+#define D_DERROR(r,...) do { \
if (!(direct_config->quiet & DMT_ERROR)) \
- direct_messages_derror( r, x ); \
+ direct_messages_derror( (DirectResult)(r), __VA_ARGS__ ); \
} while (0)
-#define D_PERROR(x...) do { \
+#define D_PERROR(...) do { \
if (!(direct_config->quiet & DMT_ERROR)) \
- direct_messages_perror( errno, x ); \
+ direct_messages_perror( errno, __VA_ARGS__ ); \
} while (0)
-#define D_DLERROR(x...) do { \
+#define D_DLERROR(...) do { \
if (!(direct_config->quiet & DMT_ERROR)) \
- direct_messages_dlerror( dlerror(), x ); \
+ direct_messages_dlerror( dlerror(), __VA_ARGS__ ); \
} while (0)
-#define D_ONCE(x...) do { \
+#define D_ONCE(...) do { \
if (!(direct_config->quiet & DMT_ONCE)) { \
static bool first = true; \
if (first) { \
direct_messages_once( __FUNCTION__, \
- __FILE__, __LINE__, x ); \
+ __FILE__, __LINE__, \
+ __VA_ARGS__ ); \
first = false; \
} \
} \
@@ -141,14 +142,16 @@ void direct_messages_warn ( const char *func,
} \
} while (0)
-#define D_BUG(x...) do { \
+#define D_BUG(...) do { \
if (!(direct_config->quiet & DMT_ERROR)) \
- direct_messages_bug( __FUNCTION__, __FILE__, __LINE__, x ); \
+ direct_messages_bug( __FUNCTION__, __FILE__, \
+ __LINE__, __VA_ARGS__ ); \
} while (0)
-#define D_WARN(x...) do { \
+#define D_WARN(...) do { \
if (!(direct_config->quiet & DMT_WARNING)) \
- direct_messages_warn( __FUNCTION__, __FILE__, __LINE__, x );\
+ direct_messages_warn( __FUNCTION__, __FILE__, \
+ __LINE__, __VA_ARGS__ ); \
} while (0)
#define D_OOM() (direct_messages_warn( __FUNCTION__, __FILE__, __LINE__, \
@@ -156,15 +159,15 @@ void direct_messages_warn ( const char *func,
#else
- #define D_INFO(x...) do { } while (0)
- #define D_ERROR(x...) do { } while (0)
- #define D_DERROR(x...) do { } while (0)
- #define D_PERROR(x...) do { } while (0)
- #define D_DLERROR(x...) do { } while (0)
- #define D_ONCE(x...) do { } while (0)
+ #define D_INFO(...) do { } while (0)
+ #define D_ERROR(...) do { } while (0)
+ #define D_DERROR(...) do { } while (0)
+ #define D_PERROR(...) do { } while (0)
+ #define D_DLERROR(...) do { } while (0)
+ #define D_ONCE(...) do { } while (0)
#define D_UNIMPLEMENTED() do { } while (0)
- #define D_BUG(x...) do { } while (0)
- #define D_WARN(x...) do { } while (0)
+ #define D_BUG(...) do { } while (0)
+ #define D_WARN(...) do { } while (0)
#define D_OOM() (printf("out of memory\n"), DR_NOLOCALMEMORY)
#endif
diff --git a/lib/direct/modules.c b/lib/direct/modules.c
index 512c8ea..57e6382 100644
--- a/lib/direct/modules.c
+++ b/lib/direct/modules.c
@@ -153,7 +153,9 @@ void
direct_modules_unregister( DirectModuleDir *directory,
const char *name )
{
+#ifdef DYNAMIC_LINKING
DirectModuleEntry *entry;
+#endif
D_DEBUG_AT( Direct_Modules, "Unregistering '%s' ('%s')...\n", name, directory->path );
@@ -247,38 +249,17 @@ direct_modules_explore_directory( DirectModuleDir *directory )
if ((handle = open_module( module )) != NULL) {
if (!module->loaded) {
- int len;
- void (*func)( void );
-
- D_ERROR( "Direct/Modules: Module '%s' did not register itself after loading! "
- "Trying default module constructor...\n", entry->d_name );
-
- len = strlen( entry->d_name );
-
- entry->d_name[len-3] = 0;
-
- func = dlsym( handle, entry->d_name + 3 );
- if (func) {
- func();
+ dlclose( handle );
- if (!module->loaded) {
- D_ERROR( "Direct/Modules: ... even did not register after "
- "explicitly calling the module constructor!\n" );
- }
- }
- else {
- D_ERROR( "Direct/Modules: ... default contructor not found!\n" );
- }
+ D_ERROR( "Direct/Modules: Module '%s' did not "
+ "register itself after loading!\n",
+ entry->d_name );
- if (!module->loaded) {
- module->disabled = true;
+ module->disabled = true;
- direct_list_prepend( &directory->entries,
- &module->link );
- }
+ direct_list_prepend( &directory->entries, &module->link );
}
-
- if (module->disabled) {
+ else if (module->disabled) {
module->loaded = false;
/* may call direct_modules_unregister() */
diff --git a/lib/direct/mutex.c b/lib/direct/mutex.c
new file mode 100644
index 0000000..76beda4
--- /dev/null
+++ b/lib/direct/mutex.c
@@ -0,0 +1,104 @@
+/*
+ (c) Copyright 2001-2008 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <direct/mutex.h>
+#include <direct/util.h>
+
+/**********************************************************************************************************************/
+
+DirectResult
+direct_mutex_init( DirectMutex *mutex )
+{
+ if (pthread_mutex_init( &mutex->lock, NULL ))
+ return errno2result( errno );
+
+ return DR_OK;
+}
+
+DirectResult
+direct_recursive_mutex_init( DirectMutex *mutex )
+{
+ DirectResult ret = DR_OK;
+ int result;
+ pthread_mutexattr_t attr;
+
+ pthread_mutexattr_init( &attr );
+#if HAVE_DECL_PTHREAD_MUTEX_RECURSIVE
+ pthread_mutexattr_settype( &attr, PTHREAD_MUTEX_RECURSIVE );
+#endif
+ result = pthread_mutex_init( &mutex->lock, &attr );
+ if (result) {
+ ret = errno2result( errno );
+ D_PERROR( "Direct/Mutex: Could not initialize recursive mutex!\n" );
+ }
+
+ pthread_mutexattr_destroy( &attr );
+
+ return (DirectResult) ret;
+}
+
+__attribute__((no_instrument_function))
+DirectResult
+direct_mutex_lock( DirectMutex *mutex )
+{
+ if (pthread_mutex_lock( &mutex->lock ))
+ return errno2result( errno );
+
+ return DR_OK;
+}
+
+__attribute__((no_instrument_function))
+DirectResult
+direct_mutex_unlock( DirectMutex *mutex )
+{
+ if (pthread_mutex_unlock( &mutex->lock ))
+ return errno2result( errno );
+
+ return DR_OK;
+}
+
+DirectResult
+direct_mutex_trylock( DirectMutex *mutex )
+{
+ if (pthread_mutex_trylock( &mutex->lock ))
+ return errno2result( errno );
+
+ return DR_OK;
+}
+
+DirectResult
+direct_mutex_deinit( DirectMutex *mutex )
+{
+ if (pthread_mutex_destroy( &mutex->lock ))
+ return errno2result( errno );
+
+ return DR_OK;
+}
+
diff --git a/lib/direct/tree.h b/lib/direct/mutex.h
similarity index 52%
copy from lib/direct/tree.h
copy to lib/direct/mutex.h
index 165ed1c..d06467b 100644
--- a/lib/direct/tree.h
+++ b/lib/direct/mutex.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2008 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -10,9 +10,6 @@
Ville Syrjälä <syrjala at sci.fi> and
Claudio Ciccani <klan at users.sf.net>.
- Balanced binary tree ported from glib by Sven Neumann
- <sven at convergence.de>.
-
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
@@ -29,39 +26,35 @@
Boston, MA 02111-1307, USA.
*/
-#ifndef __DIRECT__TREE_H__
-#define __DIRECT__TREE_H__
+#ifndef __DIRECT__OS__LINUX__GLIBC__MUTEX_H__
+#define __DIRECT__OS__LINUX__GLIBC__MUTEX_H__
-#include <direct/types.h>
+#include <pthread.h>
+#include <direct/types.h>
-typedef struct __D_DirectNode DirectNode;
+/**********************************************************************************************************************/
-struct __D_DirectTree
-{
- DirectNode *root;
- void *fast_keys[128];
+struct __D_DirectMutex {
+ pthread_mutex_t lock;
};
-struct __D_DirectNode
-{
- int balance;
- DirectNode *left;
- DirectNode *right;
- void *key;
- void *value;
-};
+/**********************************************************************************************************************/
+#define DIRECT_MUTEX_INITIALIZER(name) { PTHREAD_MUTEX_INITIALIZER }
+#define DIRECT_RECURSIVE_MUTEX_INITIALIZER(name) { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP }
-DirectTree *direct_tree_new ( void );
+DirectResult direct_mutex_init ( DirectMutex *mutex );
-void direct_tree_destroy( DirectTree *tree );
+DirectResult direct_recursive_mutex_init( DirectMutex *mutex );
-void direct_tree_insert ( DirectTree *tree,
- void *key,
- void *value );
+DirectResult direct_mutex_lock ( DirectMutex *mutex );
-void *direct_tree_lookup ( DirectTree *tree,
- void *key );
+DirectResult direct_mutex_unlock ( DirectMutex *mutex );
+
+DirectResult direct_mutex_trylock ( DirectMutex *mutex );
+
+DirectResult direct_mutex_deinit ( DirectMutex *mutex );
#endif
+
diff --git a/lib/direct/ppcasm_memcpy_cachable.S b/lib/direct/ppcasm_memcpy_cachable.S
index 920dea2..c1ef4fa 100644
--- a/lib/direct/ppcasm_memcpy_cachable.S
+++ b/lib/direct/ppcasm_memcpy_cachable.S
@@ -34,8 +34,6 @@
#define __ASSEMBLY__
-#include <linux/config.h>
-
#if defined(CONFIG_8xx) || defined(CONFIG_403GCX)
#define L1_CACHE_LINE_SIZE 16
#define LG_L1_CACHE_LINE_SIZE 4
diff --git a/lib/direct/signals.c b/lib/direct/signals.c
index 2bba393..34e1238 100644
--- a/lib/direct/signals.c
+++ b/lib/direct/signals.c
@@ -49,6 +49,7 @@
D_DEBUG_DOMAIN( Direct_Signals, "Direct/Signals", "Signal handling" );
+#define SIG_CLOSE_SIGHANDLER 123
struct __D_DirectSignalHandler {
DirectLink link;
@@ -71,30 +72,44 @@ static int sigs_to_handle[] = { /*SIGALRM,*/ SIGHUP, SIGINT, /*SIGPIPE,*/ /*SIGP
SIGTERM, /*SIGUSR1, SIGUSR2,*/ /*SIGVTALRM,*/
/*SIGSTKFLT,*/ SIGABRT, SIGFPE, SIGILL, SIGQUIT,
SIGSEGV, SIGTRAP, /*SIGSYS, SIGEMT,*/ SIGBUS,
- SIGXCPU, SIGXFSZ };
+ SIGXCPU, SIGXFSZ, SIG_CLOSE_SIGHANDLER };
#define NUM_SIGS_TO_HANDLE ((int)D_ARRAY_SIZE( sigs_to_handle ))
-static SigHandled sigs_handled[NUM_SIGS_TO_HANDLE];
-
static DirectLink *handlers = NULL;
static pthread_mutex_t handlers_lock;
+static pthread_t sighandler_thread = -1;
+
/**************************************************************************************************/
-static void install_handlers( void );
-static void remove_handlers( void );
+static void *handle_signals( void *ptr );
/**************************************************************************************************/
DirectResult
direct_signals_initialize( void )
{
+ sigset_t mask;
+ int ret;
+ int i;
+
D_DEBUG_AT( Direct_Signals, "Initializing...\n" );
direct_util_recursive_pthread_mutex_init( &handlers_lock );
- install_handlers();
+ if (direct_config->sighandler) {
+ sigemptyset( &mask );
+ for (i=0; i<NUM_SIGS_TO_HANDLE; i++)
+ sigaddset( &mask, sigs_to_handle[i] );
+
+ pthread_sigmask( SIG_BLOCK, &mask, NULL );
+
+ ret = pthread_create( &sighandler_thread, NULL, handle_signals, NULL );
+ (void)ret;
+ D_ASSERT( ret == 0 );
+ D_ASSERT( sighandler_thread >= 0 );
+ }
return DR_OK;
}
@@ -102,9 +117,13 @@ direct_signals_initialize( void )
DirectResult
direct_signals_shutdown( void )
{
+ D_ASSERT( sighandler_thread >= 0 );
D_DEBUG_AT( Direct_Signals, "Shutting down...\n" );
- remove_handlers();
+ if (direct_config->sighandler) {
+ pthread_kill( sighandler_thread, SIG_CLOSE_SIGHANDLER );
+ sighandler_thread = -1;
+ }
pthread_mutex_destroy( &handlers_lock );
@@ -318,6 +337,7 @@ signal_handler( int num )
#endif
{
DirectLink *l, *n;
+ sigset_t mask;
void *addr = NULL;
int pid = direct_gettid();
long long millis = direct_clock_get_millis();
@@ -406,9 +426,13 @@ signal_handler( int num )
pthread_mutex_unlock( &handlers_lock );
- remove_handlers();
+ sigemptyset( &mask );
+ sigaddset( &mask, num );
+ pthread_sigmask( SIG_UNBLOCK, &mask, NULL );
raise( num );
+
+ pthread_sigmask( SIG_BLOCK, &mask, NULL );
abort();
@@ -417,60 +441,43 @@ signal_handler( int num )
/**************************************************************************************************/
-static void
-install_handlers( void )
+static void *
+handle_signals( void *ptr )
{
- int i;
+ int i;
+ int res;
+ siginfo_t info;
+ sigset_t mask;
+
+ sigemptyset( &mask );
for (i=0; i<NUM_SIGS_TO_HANDLE; i++) {
- sigs_handled[i].signum = -1;
+ if (direct_config->sighandler && !sigismember( &direct_config->dont_catch, sigs_to_handle[i] ))
+ sigaddset( &mask, sigs_to_handle[i] );
+ }
- if (direct_config->sighandler && !sigismember( &direct_config->dont_catch,
- sigs_to_handle[i] ))
- {
- struct sigaction action;
- int signum = sigs_to_handle[i];
+ pthread_sigmask( SIG_BLOCK, &mask, NULL );
+ while (1) {
+ res = sigwaitinfo( &mask, &info );
+
+ if ( -1 == res ) {
+ //error
+ }
+ else {
+ if (SIG_CLOSE_SIGHANDLER == info.si_signo) {
+ if (getpid() == info.si_pid)
+ break;
+ }
+ else {
#ifdef SA_SIGINFO
- action.sa_sigaction = signal_handler;
- action.sa_flags = SA_SIGINFO;
+ signal_handler( info.si_signo, &info, NULL );
#else
- action.sa_handler = signal_handler;
- action.sa_flags = 0;
+ signal_handler( info.si_signo );
#endif
-
- if (signum != SIGSEGV)
- action.sa_flags |= SA_NODEFER;
-
- sigemptyset( &action.sa_mask );
-
- if (sigaction( signum, &action, &sigs_handled[i].old_action )) {
- D_PERROR( "Direct/Signals: "
- "Unable to install signal handler for signal %d!\n", signum );
- continue;
}
-
- sigs_handled[i].signum = signum;
}
}
-}
-
-static void
-remove_handlers( void )
-{
- int i;
-
- for (i=0; i<NUM_SIGS_TO_HANDLE; i++) {
- if (sigs_handled[i].signum != -1) {
- int signum = sigs_handled[i].signum;
-
- if (sigaction( signum, &sigs_handled[i].old_action, NULL )) {
- D_PERROR( "Direct/Signals: "
- "Unable to restore previous handler for signal %d!\n", signum );
- }
- sigs_handled[i].signum = -1;
- }
- }
+ return NULL;
}
-
diff --git a/lib/direct/stream.c b/lib/direct/stream.c
index 1e531d9..8b5bb8b 100644
--- a/lib/direct/stream.c
+++ b/lib/direct/stream.c
@@ -40,6 +40,7 @@
#include <sys/socket.h>
#include <sys/stat.h>
#include <netinet/in.h>
+#include <arpa/inet.h>
#include <netdb.h>
#include <direct/build.h>
@@ -52,7 +53,6 @@
#include <direct/stream.h>
-
struct __D_DirectStream {
int magic;
int ref;
diff --git a/lib/direct/system.c b/lib/direct/system.c
index b4b5b29..5454fa4 100644
--- a/lib/direct/system.c
+++ b/lib/direct/system.c
@@ -31,6 +31,8 @@
#include <errno.h>
#include <unistd.h>
+#include <sys/syscall.h>
+
#include <direct/build.h>
#include <direct/system.h>
diff --git a/lib/direct/thread.c b/lib/direct/thread.c
index d05cbe3..b035e58 100644
--- a/lib/direct/thread.c
+++ b/lib/direct/thread.c
@@ -206,7 +206,9 @@ direct_thread_create( DirectThreadType thread_type,
/* Initialize scheduling and other parameters. */
pthread_attr_init( &attr );
+#ifdef PTHREAD_EXPLICIT_SCHED
pthread_attr_setinheritsched( &attr, PTHREAD_EXPLICIT_SCHED );
+#endif
/* Select scheduler. */
switch (direct_config->thread_scheduler) {
@@ -493,7 +495,11 @@ direct_thread_cancel( DirectThread *thread )
thread->canceled = true;
+#if DIRECT_BUILD_NO_PTHREAD_CANCEL
+ D_UNIMPLEMENTED();
+#else
pthread_cancel( thread->thread );
+#endif
}
bool
@@ -535,9 +541,13 @@ direct_thread_testcancel( DirectThread *thread )
D_ASSERT( thread->thread != -1 );
D_ASSERT( pthread_equal( thread->thread, pthread_self() ) );
+#if DIRECT_BUILD_NO_PTHREAD_CANCEL
+ D_UNIMPLEMENTED();
+#else
/* Quick check before calling the pthread function. */
if (thread->canceled)
pthread_testcancel();
+#endif
}
void
@@ -607,7 +617,8 @@ direct_thread_destroy( DirectThread *thread )
thread->detached = true;
pthread_detach( thread->thread );
- pthread_cancel( thread->thread );
+
+ direct_thread_cancel( thread );
return;
}
diff --git a/lib/direct/thread.h b/lib/direct/thread.h
index 18205c4..5372d23 100644
--- a/lib/direct/thread.h
+++ b/lib/direct/thread.h
@@ -33,6 +33,7 @@
#include <direct/types.h>
#include <direct/conf.h>
+#include <direct/mutex.h>
typedef enum {
DTT_DEFAULT = 0,
diff --git a/lib/direct/types.h b/lib/direct/types.h
index af73512..2ee2ed1 100644
--- a/lib/direct/types.h
+++ b/lib/direct/types.h
@@ -85,6 +85,18 @@ typedef int64_t s64;
#endif /* __DIRECT__STDTYPES__ */
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <string.h>
+#include <unistd.h>
+
+
+#define D_UNUSED __attribute__((unused))
+#define direct_strcmp strcmp
+
+
typedef enum {
DR_OK = 0x00000000, /* No error occured. */
DR_FAILURE, /* A general or unknown error occured. */
@@ -158,8 +170,10 @@ typedef struct __D_DirectConfig DirectConfig;
typedef struct __D_DirectHash DirectHash;
typedef struct __D_DirectLink DirectLink;
typedef struct __D_DirectLog DirectLog;
+typedef struct __D_DirectMap DirectMap;
typedef struct __D_DirectModuleDir DirectModuleDir;
typedef struct __D_DirectModuleEntry DirectModuleEntry;
+typedef struct __D_DirectMutex DirectMutex;
typedef struct __D_DirectSerial DirectSerial;
typedef struct __D_DirectSignalHandler DirectSignalHandler;
typedef struct __D_DirectStream DirectStream;
diff --git a/lib/direct/util.h b/lib/direct/util.h
index 11801d3..fd79f4b 100644
--- a/lib/direct/util.h
+++ b/lib/direct/util.h
@@ -127,6 +127,7 @@
((f) & 0x40000000) ? 30 : \
((f) & 0x80000000) ? 31 : -1)
+#define D_UNUSED_P(x) (void)x
/*
* portable sched_yield() implementation
diff --git a/lib/fusion/Makefile.am b/lib/fusion/Makefile.am
index b97afe1..e7ffb53 100644
--- a/lib/fusion/Makefile.am
+++ b/lib/fusion/Makefile.am
@@ -46,17 +46,25 @@ include_HEADERS = \
lib_LTLIBRARIES = libfusion.la
-libfusion_la_SOURCES = \
+
+if DIRECTFB_BUILD_PURE_VOODOO
+NON_PURE_VOODOO_SOURCESs =
+else
+NON_PURE_VOODOO_SOURCESs = \
arena.c \
call.c \
- conf.c \
fusion.c \
- hash.c \
lock.c \
object.c \
property.c \
reactor.c \
- ref.c \
+ ref.c
+endif
+
+libfusion_la_SOURCES = \
+ $(NON_PURE_VOODOO_SOURCESs) \
+ conf.c \
+ hash.c \
shmalloc.c \
vector.c
diff --git a/lib/fusion/Makefile.in b/lib/fusion/Makefile.in
index 9140d00..69a5fb9 100644
--- a/lib/fusion/Makefile.in
+++ b/lib/fusion/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,8 +19,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -47,39 +49,83 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = build.h fusion.pc
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \
"$(DESTDIR)$(includedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
libfusion_la_DEPENDENCIES = shm/libfusion_shm.la \
../direct/libdirect.la
-am_libfusion_la_OBJECTS = arena.lo call.lo conf.lo fusion.lo hash.lo \
- lock.lo object.lo property.lo reactor.lo ref.lo shmalloc.lo \
+am__libfusion_la_SOURCES_DIST = arena.c call.c fusion.c lock.c \
+ object.c property.c reactor.c ref.c conf.c hash.c shmalloc.c \
+ vector.c
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@am__objects_1 = arena.lo call.lo \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ fusion.lo lock.lo object.lo \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ property.lo reactor.lo \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ ref.lo
+am_libfusion_la_OBJECTS = $(am__objects_1) conf.lo hash.lo shmalloc.lo \
vector.lo
libfusion_la_OBJECTS = $(am_libfusion_la_OBJECTS)
-libfusion_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libfusion_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libfusion_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libfusion_la_SOURCES)
-DIST_SOURCES = $(libfusion_la_SOURCES)
+DIST_SOURCES = $(am__libfusion_la_SOURCES_DIST)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
@@ -87,18 +133,45 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
-pkgconfigDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgconfig_DATA)
-includeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(include_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -122,11 +195,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -140,16 +216,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -170,12 +247,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -186,21 +266,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -208,6 +296,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -221,6 +313,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -228,9 +321,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -277,6 +371,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = shm
@@ -311,17 +406,21 @@ include_HEADERS = \
vector.h
lib_LTLIBRARIES = libfusion.la
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@NON_PURE_VOODOO_SOURCESs = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ arena.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ call.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ fusion.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ lock.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ object.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ property.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ reactor.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ ref.c
+
+ at DIRECTFB_BUILD_PURE_VOODOO_TRUE@NON_PURE_VOODOO_SOURCESs =
libfusion_la_SOURCES = \
- arena.c \
- call.c \
+ $(NON_PURE_VOODOO_SOURCESs) \
conf.c \
- fusion.c \
hash.c \
- lock.c \
- object.c \
- property.c \
- reactor.c \
- ref.c \
shmalloc.c \
vector.c
@@ -343,14 +442,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/fusion/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/fusion/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/fusion/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu lib/fusion/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -360,6 +459,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/nmfile.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -368,6 +468,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
build.h: $(top_builddir)/config.status $(srcdir)/build.h.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
fusion.pc: $(top_builddir)/config.status $(srcdir)/fusion.pc.in
@@ -375,20 +476,24 @@ fusion.pc: $(top_builddir)/config.status $(srcdir)/fusion.pc.in
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
@@ -399,8 +504,8 @@ clean-libLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libfusion.la: $(libfusion_la_OBJECTS) $(libfusion_la_DEPENDENCIES)
- $(libfusion_la_LINK) -rpath $(libdir) $(libfusion_la_OBJECTS) $(libfusion_la_LIBADD) $(LIBS)
+libfusion.la: $(libfusion_la_OBJECTS) $(libfusion_la_DEPENDENCIES) $(EXTRA_libfusion_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libfusion_la_LINK) -rpath $(libdir) $(libfusion_la_OBJECTS) $(libfusion_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -422,25 +527,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/vector.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -450,37 +555,39 @@ clean-libtool:
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
done
uninstall-pkgconfigDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
- done
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
- @list='$(include_HEADERS)'; for p in $$list; do \
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
- $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(includedir)/$$f"; \
- done
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@@ -489,7 +596,7 @@ uninstall-includeHEADERS:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -506,7 +613,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -514,7 +621,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -540,16 +647,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -557,14 +664,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -576,7 +683,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -585,29 +692,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -628,29 +740,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -673,16 +800,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -706,6 +839,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -715,18 +850,28 @@ install-data-am: install-data-local install-includeHEADERS \
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am: install-exec-local install-libLTLIBRARIES
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -750,8 +895,8 @@ ps-am:
uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \
uninstall-pkgconfigDATA
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am all-local check check-am clean clean-generic \
@@ -800,6 +945,7 @@ install-exec-local:
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE at install-data-local: install-libLTLIBRARIES
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE@ mkdir -p -- "$(DESTDIR)$(libdir)"
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE@ nm -n "$(DESTDIR)$(libdir)/$(LIBTONM)" > "$(DESTDIR)$(libdir)/nm-n.$(LIBTONM)"
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/lib/fusion/arena.c b/lib/fusion/arena.c
index 9d86dca..bb9abd9 100644
--- a/lib/fusion/arena.c
+++ b/lib/fusion/arena.c
@@ -367,10 +367,14 @@ create_arena( FusionWorld *world,
if (ret)
goto error;
+ fusion_skirmish_add_permissions( &arena->lock, 0, FUSION_SKIRMISH_PERMIT_PREVAIL | FUSION_SKIRMISH_PERMIT_DISMISS );
+
ret = fusion_ref_init( &arena->ref, buf, world );
if (ret)
goto error_ref;
+ fusion_ref_add_permissions( &arena->ref, 0, FUSION_REF_PERMIT_REF_UNREF_LOCAL | FUSION_REF_PERMIT_ZERO_LOCK_UNLOCK );
+
/* Give it the requested name. */
arena->name = SHSTRDUP( shared->main_pool, name );
if (!arena->name) {
diff --git a/lib/fusion/build.h b/lib/fusion/build.h
index 1a177e7..1b0d216 100644
--- a/lib/fusion/build.h
+++ b/lib/fusion/build.h
@@ -28,9 +28,9 @@
#ifndef __FUSION__BUILD_H__
#define __FUSION__BUILD_H__
-#define FUSION_BUILD_MULTI (1)
-#define FUSION_BUILD_KERNEL (1)
-#define FUSION_MESSAGE_SIZE (1024)
+#define FUSION_BUILD_MULTI (0)
+#define FUSION_BUILD_KERNEL (0)
+#define FUSION_MESSAGE_SIZE (16384)
#endif
diff --git a/lib/fusion/call.c b/lib/fusion/call.c
index 71ce5e5..e9df020 100644
--- a/lib/fusion/call.c
+++ b/lib/fusion/call.c
@@ -35,6 +35,8 @@
#include <fusion/build.h>
#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
#include <direct/messages.h>
#include <fusion/types.h>
@@ -103,6 +105,82 @@ fusion_call_init (FusionCall *call,
}
DirectResult
+fusion_call_init3 (FusionCall *call,
+ FusionCallHandler3 handler3,
+ void *ctx,
+ const FusionWorld *world)
+{
+ FusionCallNew call_new;
+
+ D_DEBUG_AT( Fusion_Call, "%s( %p, %p <%s>, %p, %p )\n", __FUNCTION__, call, handler3,
+ direct_trace_lookup_symbol_at( handler3 ), ctx, world );
+
+ D_ASSERT( call != NULL );
+ D_ASSERT( handler3 != NULL );
+ D_MAGIC_ASSERT( world, FusionWorld );
+ D_MAGIC_ASSERT( world->shared, FusionWorldShared );
+
+ /* Called from others. */
+ call_new.handler = handler3;
+ call_new.ctx = ctx;
+
+ while (ioctl( world->fusion_fd, FUSION_CALL_NEW, &call_new )) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ default:
+ break;
+ }
+
+ D_PERROR ("FUSION_CALL_NEW");
+
+ return DR_FAILURE;
+ }
+
+ memset( call, 0, sizeof(FusionCall) );
+
+ /* Store handler, called directly when called by ourself. */
+ call->handler3 = handler3;
+ call->ctx = ctx;
+
+ /* Store call and own fusion id. */
+ call->call_id = call_new.call_id;
+ call->fusion_id = fusion_id( world );
+
+ /* Keep back pointer to shared world data. */
+ call->shared = world->shared;
+
+ D_DEBUG_AT( Fusion_Call, " -> call id %d\n", call->call_id );
+
+ return DR_OK;
+}
+
+DirectResult
+fusion_call_init_from( FusionCall *call,
+ int call_id,
+ const FusionWorld *world )
+{
+ D_DEBUG_AT( Fusion_Call, "%s( %p, %d, %p )\n", __FUNCTION__, call, call_id, world );
+
+ D_ASSERT( call != NULL );
+ D_ASSERT( call_id != 0 );
+ D_MAGIC_ASSERT( world, FusionWorld );
+ D_MAGIC_ASSERT( world->shared, FusionWorldShared );
+
+ memset( call, 0, sizeof(FusionCall) );
+
+ /* Store call id. */
+ call->call_id = call_id;
+
+ /* Keep back pointer to shared world data. */
+ call->shared = world->shared;
+
+ D_DEBUG_AT( Fusion_Call, " -> call id %d\n", call->call_id );
+
+ return DR_OK;
+}
+
+DirectResult
fusion_call_execute (FusionCall *call,
FusionCallExecFlags flags,
int call_arg,
@@ -113,8 +191,8 @@ fusion_call_execute (FusionCall *call,
D_ASSERT( call != NULL );
- if (!call->handler)
- return DR_DESTROYED;
+// if (!call->handler)
+// return DR_DESTROYED;
D_DEBUG_AT( Fusion_Call, " -> %s\n", direct_trace_lookup_symbol_at( call->handler ) );
@@ -138,6 +216,8 @@ fusion_call_execute (FusionCall *call,
execute.call_ptr = call_ptr;
execute.flags = flags;
+ fusion_world_flush_calls( _fusion_world( call->shared ), 1 );
+
while (ioctl( _fusion_fd( call->shared ), FUSION_CALL_EXECUTE, &execute )) {
switch (errno) {
case EINTR:
@@ -151,6 +231,193 @@ fusion_call_execute (FusionCall *call,
break;
}
+ D_PERROR ("FUSION_CALL_EXECUTE2");
+
+ return DR_FAILURE;
+ }
+
+ if (ret_val)
+ *ret_val = execute.ret_val;
+ }
+
+ return DR_OK;
+}
+
+#define FUSION_CALL_RETURN_DATA_MAX 32*1024*1024
+#define FUSION_CALL_RETURN_DATA_MAX_ON_STACK 1024
+
+DirectResult
+fusion_call_execute3(FusionCall *call,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length)
+{
+ D_DEBUG_AT( Fusion_Call, "%s( %p, flags 0x%x, arg %d, ptr %p, length %u, ret_ptr %p, ret_size %u )\n",
+ __FUNCTION__, call, flags, call_arg, ptr, length, ret_ptr, ret_size );
+
+ if (ret_size > FUSION_CALL_RETURN_DATA_MAX)
+ return DR_LIMITEXCEEDED;
+
+ D_ASSERT( call != NULL );
+
+// if (!call->handler)
+// return DR_DESTROYED;
+
+ D_DEBUG_AT( Fusion_Call, " -> %s\n", direct_trace_lookup_symbol_at( call->handler3 ) );
+
+ if (!(flags & FCEF_NODIRECT) && call->fusion_id == _fusion_id( call->shared )) {
+ FusionCallHandlerResult result;
+ unsigned int execute_length;
+
+ D_ASSERT( call->handler3 != NULL );
+
+ result = call->handler3( call->fusion_id, call_arg, ptr, length, call->ctx, 0, ret_ptr, ret_size, &execute_length );
+
+ if (result != FCHR_RETURN)
+ D_WARN( "local call handler returned FCHR_RETAIN, need FCEF_NODIRECT" );
+
+ if (ret_length)
+ *ret_length = execute_length;
+ }
+ else {
+ FusionCallExecute3 execute;
+ FusionWorld *world = _fusion_world( call->shared );
+ DirectResult ret = DR_OK;
+
+ // check whether we can cache this call
+ if (flags & FCEF_QUEUE) {
+ D_ASSERT( flags & FCEF_ONEWAY );
+
+ direct_mutex_lock( &world->bins_lock );
+
+ if (world->bins_data_len + length > EXECUTE3_BIN_DATA_MAX_LEN) {
+ ret = fusion_world_flush_calls( world, 0 );
+ if (ret) {
+ direct_mutex_unlock( &world->bins_lock );
+ return ret;
+ }
+ }
+
+ world->bins[world->bins_num].call_id = call->call_id;
+ world->bins[world->bins_num].call_arg = call_arg;
+ world->bins[world->bins_num].ptr = NULL;
+ world->bins[world->bins_num].length = length;
+ world->bins[world->bins_num].ret_ptr = ret_ptr;
+ world->bins[world->bins_num].ret_length = ret_size;
+ world->bins[world->bins_num].flags = flags | FCEF_FOLLOW;
+
+ if (length > 0) {
+ world->bins[world->bins_num].ptr = &world->bins_data[world->bins_data_len];
+ direct_memcpy( &world->bins_data[world->bins_data_len], ptr, length );
+ world->bins_data_len += length;
+ }
+
+ world->bins_num++;
+
+ if (world->bins_num == 1)
+ world->bins_create_ts = direct_clock_get_millis();
+ else if (world->bins_num >= EXECUTE3_BIN_CALL_MAX_NUM || direct_clock_get_millis() - world->bins_create_ts >= EXECUTE3_BIN_FLUSH_MILLIS)
+ ret = fusion_world_flush_calls( world, 0 );
+
+ direct_mutex_unlock( &world->bins_lock );
+
+ return ret;
+ }
+
+ ret = fusion_world_flush_calls( world, 1 );
+
+ execute.call_id = call->call_id;
+ execute.call_arg = call_arg;
+ execute.ptr = ptr;
+ execute.length = length;
+ execute.ret_ptr = ret_ptr;
+ execute.ret_length = ret_size;
+ execute.flags = flags;
+
+ D_DEBUG_AT( Fusion_Call, " -> ptr %p, length %u\n", ptr, length );
+
+ while (ioctl( _fusion_fd( call->shared ), FUSION_CALL_EXECUTE3, &execute )) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ case EINVAL:
+// D_ERROR ("Fusion/Call: invalid call\n");
+ return DR_INVARG;
+ case EIDRM:
+ return DR_DESTROYED;
+ default:
+ break;
+ }
+
+ D_PERROR ("FUSION_CALL_EXECUTE3");
+
+ return DR_FAILURE;
+ }
+
+ if (ret_length)
+ *ret_length = execute.ret_length;
+ }
+
+ return DR_OK;
+}
+
+DirectResult
+fusion_call_execute2(FusionCall *call,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ int *ret_val)
+{
+ D_DEBUG_AT( Fusion_Call, "%s( %p, flags 0x%x, arg %d, %p, length %u )\n", __FUNCTION__, call, flags, call_arg, ptr, length );
+
+ D_ASSERT( call != NULL );
+
+ if (!call->handler)
+ return DR_DESTROYED;
+
+ D_DEBUG_AT( Fusion_Call, " -> %s\n", direct_trace_lookup_symbol_at( call->handler ) );
+
+ if (!(flags & FCEF_NODIRECT) && call->fusion_id == _fusion_id( call->shared )) {
+ int ret;
+ FusionCallHandlerResult result;
+
+ result = call->handler( _fusion_id( call->shared ), call_arg, ptr, call->ctx, 0, &ret );
+
+ if (result != FCHR_RETURN)
+ D_WARN( "local call handler returned FCHR_RETAIN, need FCEF_NODIRECT" );
+
+ if (ret_val)
+ *ret_val = ret;
+ }
+ else {
+ FusionCallExecute2 execute;
+
+ execute.call_id = call->call_id;
+ execute.call_arg = call_arg;
+ execute.ptr = ptr;
+ execute.length = length;
+ execute.flags = flags;
+
+ fusion_world_flush_calls( _fusion_world( call->shared ), 1 );
+
+ while (ioctl( _fusion_fd( call->shared ), FUSION_CALL_EXECUTE2, &execute )) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ case EINVAL:
+// D_ERROR ("Fusion/Call: invalid call\n");
+ return DR_INVARG;
+ case EIDRM:
+ return DR_DESTROYED;
+ default:
+ break;
+ }
+
D_PERROR ("FUSION_CALL_EXECUTE");
return DR_FAILURE;
@@ -164,6 +431,49 @@ fusion_call_execute (FusionCall *call,
}
DirectResult
+fusion_world_flush_calls( FusionWorld *world, int lock )
+{
+ DirectResult ret = DR_OK;
+
+ if (lock)
+ direct_mutex_lock( &world->bins_lock );
+
+ if (world->bins_num > 0) {
+ D_DEBUG_AT( Fusion_Call, " -> num %d, length %u\n", world->bins_num, world->bins_data_len );
+
+ world->bins[world->bins_num - 1].flags &= ~FCEF_FOLLOW;
+
+ while (ioctl( _fusion_fd( world->shared ), FUSION_CALL_EXECUTE3, world->bins )) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ case EINVAL:
+ ret = DR_INVARG;
+ break;
+ case EIDRM:
+ ret = DR_DESTROYED;
+ break;
+ default:
+ break;
+ }
+
+ D_PERROR ("FUSION_CALL_EXECUTE3");
+
+ ret = DR_FAILURE;
+ break;
+ }
+
+ world->bins_num = 0;
+ world->bins_data_len = 0;
+ }
+
+ if (lock)
+ direct_mutex_unlock( &world->bins_lock );
+
+ return ret;
+}
+
+DirectResult
fusion_call_return( FusionCall *call,
unsigned int serial,
int val )
@@ -184,6 +494,8 @@ fusion_call_return( FusionCall *call,
call_ret.val = val;
call_ret.serial = serial;
+ fusion_world_flush_calls( _fusion_world( call->shared ), 1 );
+
while (ioctl (_fusion_fd( call->shared ), FUSION_CALL_RETURN, &call_ret)) {
switch (errno) {
case EINTR:
@@ -207,12 +519,90 @@ fusion_call_return( FusionCall *call,
}
DirectResult
+fusion_call_return3( FusionCall *call,
+ unsigned int serial,
+ void *ptr,
+ unsigned int length )
+{
+ FusionCallReturn3 call_ret;
+
+ D_DEBUG_AT( Fusion_Call, "%s( %p, serial %u, ptr %p, length %u )\n", __FUNCTION__, call, serial, ptr, length );
+
+ D_ASSERT( call != NULL );
+
+ D_DEBUG_AT( Fusion_Call, " -> %s\n", direct_trace_lookup_symbol_at( call->handler ) );
+
+ D_ASSUME( serial != 0 );
+ if (!serial)
+ return DR_UNSUPPORTED;
+
+ call_ret.call_id = call->call_id;
+ call_ret.serial = serial;
+ call_ret.ptr = ptr;
+ call_ret.length = length;
+
+ fusion_world_flush_calls( _fusion_world( call->shared ), 1 );
+
+ while (ioctl (_fusion_fd( call->shared ), FUSION_CALL_RETURN3, &call_ret)) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ case EIDRM:
+ D_WARN( "caller withdrawn (signal?)" );
+ return DR_NOCONTEXT;
+ case EINVAL:
+ D_ERROR( "Fusion/Call: invalid call\n" );
+ return DR_DESTROYED;
+ default:
+ break;
+ }
+
+ D_PERROR ("FUSION_CALL_RETURN3");
+
+ return DR_FAILURE;
+ }
+
+ return DR_OK;
+}
+
+DirectResult
+fusion_call_get_owner( FusionCall *call,
+ FusionID *ret_fusion_id )
+{
+ FusionCallGetOwner get_owner;
+
+ D_DEBUG_AT( Fusion_Call, "%s( %p )\n", __FUNCTION__, call );
+
+ D_ASSERT( call != NULL );
+ D_ASSERT( ret_fusion_id != NULL );
+
+ get_owner.call_id = call->call_id;
+
+ while (ioctl (_fusion_fd( call->shared ), FUSION_CALL_GET_OWNER, &get_owner)) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ default:
+ break;
+ }
+
+ D_PERROR ("FUSION_CALL_GET_OWNER");
+
+ return DR_FAILURE;
+ }
+
+ *ret_fusion_id = get_owner.fusion_id;
+
+ return DR_OK;
+}
+
+DirectResult
fusion_call_destroy (FusionCall *call)
{
D_DEBUG_AT( Fusion_Call, "%s( %p )\n", __FUNCTION__, call );
D_ASSERT( call != NULL );
- D_ASSERT( call->handler != NULL );
+ D_ASSERT( call->handler != NULL || call->handler3 != NULL );
D_DEBUG_AT( Fusion_Call, " -> %s\n", direct_trace_lookup_symbol_at( call->handler ) );
@@ -221,7 +611,7 @@ fusion_call_destroy (FusionCall *call)
case EINTR:
continue;
case EINVAL:
- D_ERROR ("Fusion/Call: invalid call\n");
+//FIXME: kernel module destroys calls from exiting process already D_ERROR ("Fusion/Call: invalid call\n");
return DR_DESTROYED;
default:
break;
@@ -237,27 +627,55 @@ fusion_call_destroy (FusionCall *call)
return DR_OK;
}
+DirectResult
+fusion_call_add_permissions( FusionCall *call,
+ FusionID fusion_id,
+ FusionCallPermissions call_permissions )
+{
+ FusionEntryPermissions permissions;
+
+ permissions.type = FT_CALL;
+ permissions.id = call->call_id;
+ permissions.fusion_id = fusion_id;
+ permissions.permissions = 0;
+
+ if (call_permissions & FUSION_CALL_PERMIT_EXECUTE) {
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_CALL_EXECUTE );
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_CALL_EXECUTE2 );
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_CALL_EXECUTE3 );
+ }
+
+ while (ioctl( _fusion_fd( call->shared ), FUSION_ENTRY_ADD_PERMISSIONS, &permissions ) < 0) {
+ if (errno != EINTR) {
+ D_PERROR( "Fusion/Call: FUSION_ENTRY_ADD_PERMISSIONS( id %d ) failed!\n", call->call_id );
+ return DR_FAILURE;
+ }
+ }
+
+ return DR_OK;
+}
+
void
-_fusion_call_process( FusionWorld *world, int call_id, FusionCallMessage *msg )
+_fusion_call_process( FusionWorld *world, int call_id, FusionCallMessage *msg, void *ptr )
{
+ FusionCallHandlerResult result = FCHR_RETURN;
FusionCallHandler call_handler;
- FusionCallReturn call_ret;
- FusionCallHandlerResult result;
+ FusionCallReturn call_ret = {
+ .val = 0
+ };
+
- D_DEBUG_AT( Fusion_Call, "%s()\n", __FUNCTION__ );
+ D_DEBUG_AT( Fusion_Call, "%s( call_id %d, msg %p, ptr %p)\n", __FUNCTION__, call_id, msg, ptr );
D_MAGIC_ASSERT( world, FusionWorld );
D_ASSERT( msg != NULL );
+ D_ASSERT( msg->handler != NULL );
call_handler = msg->handler;
- D_ASSERT( call_handler != NULL );
-
D_DEBUG_AT( Fusion_Call, " -> %s\n", direct_trace_lookup_symbol_at( call_handler ) );
- call_ret.val = 0;
-
- result = call_handler( msg->caller, msg->call_arg, msg->call_ptr, msg->ctx, msg->serial, &call_ret.val );
+ result = call_handler( msg->caller, msg->call_arg, ptr ? ptr : msg->call_ptr, msg->ctx, msg->serial, &call_ret.val );
switch (result) {
case FCHR_RETURN:
@@ -291,6 +709,79 @@ _fusion_call_process( FusionWorld *world, int call_id, FusionCallMessage *msg )
}
}
+void
+_fusion_call_process3( FusionWorld *world, int call_id, FusionCallMessage3 *msg, void *ptr )
+{
+ FusionCallHandlerResult result = FCHR_RETURN;
+ FusionCallHandler3 call_handler;
+ FusionCallReturn3 call_ret;
+ char *ret_ptr = NULL;
+ unsigned int ret_length = 0;
+
+ D_DEBUG_AT( Fusion_Call, "%s( call_id %d, msg %p, ptr %p)\n", __FUNCTION__, call_id, msg, ptr );
+
+ D_MAGIC_ASSERT( world, FusionWorld );
+ D_ASSERT( msg != NULL );
+ D_ASSERT( msg->handler != NULL );
+
+ call_handler = msg->handler;
+
+ D_DEBUG_AT( Fusion_Call, " -> %s\n", direct_trace_lookup_symbol_at( call_handler ) );
+
+ if (msg->ret_length > FUSION_CALL_RETURN_DATA_MAX) {
+ D_ERROR( "Fusion/Call: Maximum return data length (%u) exceeded (%u)!\n", FUSION_CALL_RETURN_DATA_MAX, msg->ret_length );
+ }
+ else {
+ if (msg->ret_length > FUSION_CALL_RETURN_DATA_MAX_ON_STACK) {
+ ret_ptr = D_MALLOC( msg->ret_length );
+ if (!ret_ptr)
+ D_OOM();
+ }
+ else
+ ret_ptr = alloca( msg->ret_length );
+ }
+
+ if (ret_ptr)
+ result = call_handler( msg->caller, msg->call_arg, ptr ? ptr : msg->call_ptr, msg->call_length, msg->ctx, msg->serial, ret_ptr, msg->ret_length, &ret_length );
+
+ switch (result) {
+ case FCHR_RETURN:
+ if (msg->serial) {
+ call_ret.call_id = call_id;
+ call_ret.serial = msg->serial;
+ call_ret.ptr = ret_ptr;
+ call_ret.length = ret_length;
+
+ while (ioctl (world->fusion_fd, FUSION_CALL_RETURN3, &call_ret)) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ case EIDRM:
+ D_DEBUG_AT( Fusion_Call, " -> caller withdrawn (signal?)\n" );
+ goto out;
+ case EINVAL:
+ D_ERROR( "Fusion/Call: invalid call\n" );
+ goto out;
+ default:
+ D_PERROR( "FUSION_CALL_RETURN3" );
+ goto out;
+ }
+ }
+ }
+ break;
+
+ case FCHR_RETAIN:
+ break;
+
+ default:
+ D_BUG( "unknown result %d from call handler", result );
+ }
+
+out:
+ if (msg->ret_length > FUSION_CALL_RETURN_DATA_MAX_ON_STACK)
+ D_FREE( ret_ptr );
+}
+
#else /* FUSION_BUILD_KERNEL */
#include <fcntl.h>
@@ -471,6 +962,16 @@ fusion_call_destroy (FusionCall *call)
return DR_OK;
}
+DirectResult
+fusion_call_add_permissions( FusionCall *call,
+ FusionID fusion_id,
+ FusionCallPermissions call_permissions )
+{
+ D_UNIMPLEMENTED();
+
+ return DR_UNIMPLEMENTED;
+}
+
void
_fusion_call_process( FusionWorld *world, int call_id, FusionCallMessage *msg )
{
@@ -523,7 +1024,6 @@ fusion_call_init (FusionCall *call,
const FusionWorld *world)
{
D_ASSERT( call != NULL );
- D_ASSERT( call->handler == NULL );
D_ASSERT( handler != NULL );
/* Called locally. */
@@ -534,6 +1034,47 @@ fusion_call_init (FusionCall *call,
}
DirectResult
+fusion_call_init3 (FusionCall *call,
+ FusionCallHandler3 handler3,
+ void *ctx,
+ const FusionWorld *world)
+{
+ D_ASSERT( call != NULL );
+ D_ASSERT( handler3 != NULL );
+
+ /* Called locally. */
+ call->handler3 = handler3;
+ call->ctx = ctx;
+
+ return DR_OK;
+}
+
+DirectResult
+fusion_call_init_from( FusionCall *call,
+ int call_id,
+ const FusionWorld *world )
+{
+ D_DEBUG_AT( Fusion_Call, "%s( %p, %d, %p )\n", __FUNCTION__, call, call_id, world );
+
+ D_ASSERT( call != NULL );
+ D_ASSERT( call_id != 0 );
+ D_MAGIC_ASSERT( world, FusionWorld );
+ D_MAGIC_ASSERT( world->shared, FusionWorldShared );
+
+ memset( call, 0, sizeof(FusionCall) );
+
+ /* Store call id. */
+ call->call_id = call_id;
+
+ /* Keep back pointer to shared world data. */
+ call->shared = world->shared;
+
+ D_DEBUG_AT( Fusion_Call, " -> call id %d\n", call->call_id );
+
+ return DR_OK;
+}
+
+DirectResult
fusion_call_execute (FusionCall *call,
FusionCallExecFlags flags,
int call_arg,
@@ -559,6 +1100,41 @@ fusion_call_execute (FusionCall *call,
}
DirectResult
+fusion_call_execute2(FusionCall *call,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ int *ret_val)
+{
+ return fusion_call_execute( call, flags, call_arg, ptr, ret_val );
+}
+
+DirectResult
+fusion_call_execute3(FusionCall *call,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length)
+{
+ FusionCallHandlerResult ret;
+
+ D_ASSERT( call != NULL );
+
+ if (!call->handler3)
+ return DR_DESTROYED;
+
+ ret = call->handler3( 1, call_arg, ptr, length, call->ctx, 0, ret_ptr, ret_size, ret_length );
+ if (ret != FCHR_RETURN)
+ D_WARN( "only FCHR_RETURN supported in single app core at the moment" );
+
+ return DR_OK;
+}
+
+DirectResult
fusion_call_return( FusionCall *call,
unsigned int serial,
int val )
@@ -567,13 +1143,31 @@ fusion_call_return( FusionCall *call,
}
DirectResult
+fusion_call_get_owner( FusionCall *call,
+ FusionID *ret_fusion_id )
+{
+ *ret_fusion_id = FUSION_ID_MASTER;
+
+ return DR_OK;
+}
+
+DirectResult
fusion_call_destroy (FusionCall *call)
{
D_ASSERT( call != NULL );
- D_ASSERT( call->handler != NULL );
+ D_ASSERT( call->handler != NULL || call->handler3 != NULL );
- call->handler = NULL;
+ call->handler = NULL;
+ call->handler3 = NULL;
+
+ return DR_OK;
+}
+DirectResult
+fusion_call_add_permissions( FusionCall *call,
+ FusionID fusion_id,
+ FusionCallPermissions call_permissions )
+{
return DR_OK;
}
diff --git a/lib/fusion/call.h b/lib/fusion/call.h
index e513696..7339c47 100644
--- a/lib/fusion/call.h
+++ b/lib/fusion/call.h
@@ -43,12 +43,23 @@ typedef FusionCallHandlerResult (*FusionCallHandler) (int caller, /*
unsigned int serial,
int *ret_val );
+typedef FusionCallHandlerResult (*FusionCallHandler3)(int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *ptr, /* optional call parameter */
+ unsigned int length,
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
typedef struct {
- FusionWorldShared *shared;
- int call_id;
- FusionID fusion_id;
- FusionCallHandler handler;
- void *ctx;
+ FusionWorldShared *shared;
+ int call_id;
+ FusionID fusion_id;
+ FusionCallHandler handler;
+ FusionCallHandler3 handler3;
+ void *ctx;
} FusionCall;
@@ -57,18 +68,67 @@ DirectResult fusion_call_init ( FusionCall *call,
void *ctx,
const FusionWorld *world );
+DirectResult fusion_call_init3 ( FusionCall *call,
+ FusionCallHandler3 handler3,
+ void *ctx,
+ const FusionWorld *world );
+
+DirectResult fusion_call_init_from( FusionCall *call,
+ int call_id,
+ const FusionWorld *world );
+
DirectResult fusion_call_execute( FusionCall *call,
FusionCallExecFlags flags,
int call_arg,
void *call_ptr,
int *ret_val );
+DirectResult fusion_call_execute2( FusionCall *call,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ int *ret_val );
+
+DirectResult fusion_call_execute3( FusionCall *call,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
DirectResult fusion_call_return ( FusionCall *call,
unsigned int serial,
int val );
+DirectResult fusion_call_return3( FusionCall *call,
+ unsigned int serial,
+ void *ptr,
+ unsigned int length );
+
+DirectResult fusion_call_get_owner( FusionCall *call,
+ FusionID *ret_fusion_id );
+
DirectResult fusion_call_destroy( FusionCall *call );
+DirectResult fusion_world_flush_calls( FusionWorld *world, int lock );
-#endif
+typedef enum {
+ FUSION_CALL_PERMIT_NONE = 0x00000000,
+
+ FUSION_CALL_PERMIT_EXECUTE = 0x00000001,
+ FUSION_CALL_PERMIT_ALL = 0x00000001,
+} FusionCallPermissions;
+
+/*
+ * Give permissions to another fusionee to use the call.
+ */
+DirectResult fusion_call_add_permissions( FusionCall *call,
+ FusionID fusion_id,
+ FusionCallPermissions permissions );
+
+
+#endif
diff --git a/lib/fusion/conf.c b/lib/fusion/conf.c
index 017364f..922c3cf 100644
--- a/lib/fusion/conf.c
+++ b/lib/fusion/conf.c
@@ -35,6 +35,7 @@
#include <direct/conf.h>
#include <direct/mem.h>
#include <direct/messages.h>
+#include <direct/util.h>
#include <fusion/conf.h>
@@ -52,6 +53,8 @@ const char *fusion_config_usage =
" shmfile-group=<groupname> Group that owns shared memory files\n"
" [no-]debugshm Enable shared memory allocation tracking\n"
" [no-]madv-remove Enable usage of MADV_REMOVE (default = auto)\n"
+ " [no-]secure-fusion Use secure fusion, e.g. read-only shm (default=no)\n"
+ " trace-ref=<hexid> Trace FusionRef up/down\n"
"\n";
/**********************************************************************************************************************/
@@ -105,6 +108,24 @@ fusion_config_set( const char *name, const char *value )
fusion_config->madv_remove = false;
fusion_config->madv_remove_force = true;
} else
+ if (strcmp (name, "secure-fusion" ) == 0) {
+ fusion_config->secure_fusion = true;
+ } else
+ if (strcmp (name, "no-secure-fusion" ) == 0) {
+ fusion_config->secure_fusion = false;
+ } else
+ if (strcmp (name, "trace-ref" ) == 0) {
+ if (value) {
+ if (sscanf( value, "%x", &fusion_config->trace_ref ) != 1) {
+ D_ERROR( "Fusion/Config '%s': Invalid value!\n", name );
+ return DR_INVARG;
+ }
+ }
+ else {
+ D_ERROR( "Fusion/Config '%s': No ID specified!\n", name );
+ return DR_INVARG;
+ }
+ } else
if (direct_config_set( name, value ))
return DR_UNSUPPORTED;
diff --git a/lib/fusion/conf.h b/lib/fusion/conf.h
index 0cdf9a2..aa5dbde 100644
--- a/lib/fusion/conf.h
+++ b/lib/fusion/conf.h
@@ -41,6 +41,10 @@ struct __Fusion_FusionConfig {
bool force_slave;
gid_t shmfile_gid; /* group that owns shm file */
+
+ bool secure_fusion;
+
+ int trace_ref;
};
extern FusionConfig *fusion_config;
diff --git a/lib/fusion/fusion.c b/lib/fusion/fusion.c
index 323386e..d680780 100644
--- a/lib/fusion/fusion.c
+++ b/lib/fusion/fusion.c
@@ -253,6 +253,8 @@ fusion_world_fork( FusionWorld *world )
/* Fill fork information. */
fork.fusion_id = world->fusion_id;
+ fusion_world_flush_calls( world, 1 );
+
/* Fork within the fusion world. */
while (ioctl( fd, FUSION_FORK, &fork )) {
if (errno != EINTR) {
@@ -386,6 +388,81 @@ fusion_fork_handler_child( void )
/**********************************************************************************************************************/
+static DirectResult
+map_shared_root( void *shm_base,
+ int world_index,
+ bool master,
+ FusionWorldShared **ret_shared )
+{
+ DirectResult ret = DR_OK;
+ int fd;
+ void *map;
+ char tmpfs[FUSION_SHM_TMPFS_PATH_NAME_LEN];
+ char root_file[FUSION_SHM_TMPFS_PATH_NAME_LEN+32];
+ int flags = O_RDONLY;
+ int prot = PROT_READ;
+
+ if (master || !fusion_config->secure_fusion) {
+ prot |= PROT_WRITE;
+ flags = O_RDWR;
+ }
+
+ if (master)
+ flags |= O_CREAT | O_TRUNC;
+
+ if (fusion_config->tmpfs) {
+ direct_snputs( tmpfs, fusion_config->tmpfs, FUSION_SHM_TMPFS_PATH_NAME_LEN );
+ }
+ else if (!fusion_find_tmpfs( tmpfs, FUSION_SHM_TMPFS_PATH_NAME_LEN )) {
+ D_ERROR( "Fusion/SHM: Could not find tmpfs mount point, falling back to /dev/shm!\n" );
+ direct_snputs( tmpfs, "/dev/shm", FUSION_SHM_TMPFS_PATH_NAME_LEN );
+ }
+
+ snprintf( root_file, sizeof(root_file), "%s/fusion.%d", tmpfs, world_index );
+
+ /* open the virtual file */
+ fd = open( root_file, flags, 0660 );
+ if (fd < 0) {
+ ret = errno2result(errno);
+ D_PERROR( "Fusion/SHM: Could not open shared memory file '%s'!\n", root_file );
+ return ret;
+ }
+
+ if (fusion_config->shmfile_gid != (gid_t)-1) {
+ /* chgrp the SH_FILE dev entry */
+ if (fchown( fd, -1, fusion_config->shmfile_gid ) != 0)
+ D_WARN( "Fusion/SHM: Changing owner on %s failed... continuing on.", root_file );
+ }
+
+ if (master) {
+ fchmod( fd, fusion_config->secure_fusion ? 0640 : 0660 );
+ ftruncate( fd, sizeof(FusionWorldShared) );
+ }
+
+ D_DEBUG_AT( Fusion_Main, " -> mmaping shared memory file... (%zu bytes)\n", sizeof(FusionWorldShared) );
+
+
+
+ /* Map shared area. */
+ map = mmap( shm_base + 0x10000 * world_index, sizeof(FusionWorldShared),
+ prot, MAP_FIXED | MAP_SHARED, fd, 0 );
+ if (map == MAP_FAILED) {
+ ret = errno2result(errno);
+ D_PERROR( "Fusion/Init: Mapping shared area failed!\n" );
+ goto out;
+ }
+
+ *ret_shared = map;
+
+
+out:
+ close( fd );
+
+ return ret;
+}
+
+/**********************************************************************************************************************/
+
/*
* Enters a fusion world by joining or creating it.
*
@@ -536,6 +613,7 @@ fusion_enter( int world_index,
enter.api.major = FUSION_API_MAJOR_REQUIRED;
enter.api.minor = FUSION_API_MINOR_REQUIRED;
enter.fusion_id = 0; /* Clear for check below. */
+ enter.secure = fusion_config->secure_fusion;
/* Enter the fusion world. */
while (ioctl( fd, FUSION_ENTER, &enter )) {
@@ -562,14 +640,21 @@ fusion_enter( int world_index,
goto error;
}
- /* Map shared area. */
- shared = mmap( (void*) 0x20000000 + 0x2000 * world_index, sizeof(FusionWorldShared),
- PROT_READ | PROT_WRITE, MAP_FIXED | MAP_SHARED, fd, 0 );
- if (shared == MAP_FAILED) {
- D_PERROR( "Fusion/Init: Mapping shared area failed!\n" );
+
+ unsigned long shm_base;
+
+ if (ioctl( fd, FUSION_SHM_GET_BASE, &shm_base )) {
+ ret = errno2result(errno);
+ D_PERROR( "Fusion/Init: FUSION_SHM_GET_BASE failed!\n" );
goto error;
}
+
+ /* Map shared area. */
+ ret = map_shared_root( (void*) shm_base, world_index, enter.fusion_id == FUSION_ID_MASTER, &shared );
+ if (ret)
+ goto error;
+
D_DEBUG_AT( Fusion_Main, " -> shared area at %p, size %zu\n", shared, sizeof(FusionWorldShared) );
/* Initialize shared data. */
@@ -617,11 +702,13 @@ fusion_enter( int world_index,
world->fusion_fd = fd;
world->fusion_id = enter.fusion_id;
+ direct_mutex_init( &world->reactor_nodes_lock );
+ direct_mutex_init( &world->bins_lock );
+
D_MAGIC_SET( world, FusionWorld );
fusion_worlds[world_index] = world;
-
/* Initialize shared memory part. */
ret = fusion_shm_init( world );
if (ret)
@@ -635,8 +722,11 @@ fusion_enter( int world_index,
fusion_skirmish_init( &shared->arenas_lock, "Fusion Arenas", world );
fusion_skirmish_init( &shared->reactor_globals, "Fusion Reactor Globals", world );
+ fusion_skirmish_add_permissions( &shared->arenas_lock, 0, FUSION_SKIRMISH_PERMIT_PREVAIL | FUSION_SKIRMISH_PERMIT_DISMISS );
+ fusion_skirmish_add_permissions( &shared->reactor_globals, 0, FUSION_SKIRMISH_PERMIT_PREVAIL | FUSION_SKIRMISH_PERMIT_DISMISS );
+
/* Create the main pool. */
- ret = fusion_shm_pool_create( world, "Fusion Main Pool", 0x100000,
+ ret = fusion_shm_pool_create( world, "Fusion Main Pool", 0x1000000,
fusion_config->debugshm, &shared->main_pool );
if (ret)
goto error3;
@@ -779,6 +869,8 @@ fusion_exit( FusionWorld *world,
msg.msg_data = &foo;
msg.msg_size = sizeof(foo);
+ fusion_world_flush_calls( world, 1 );
+
while (ioctl( world->fusion_fd, FUSION_SEND_MESSAGE, &msg ) < 0) {
if (errno != EINTR) {
D_PERROR( "FUSION_SEND_MESSAGE" );
@@ -820,8 +912,22 @@ fusion_exit( FusionWorld *world,
/* Unmap shared area. */
- if (fusion_master( world ) && shared->refs == 0)
+ if (fusion_master( world ) && shared->refs == 0) {
+ char tmpfs[FUSION_SHM_TMPFS_PATH_NAME_LEN];
+ char root_file[FUSION_SHM_TMPFS_PATH_NAME_LEN+32];
+
+ if (fusion_config->tmpfs)
+ direct_snputs( tmpfs, fusion_config->tmpfs, FUSION_SHM_TMPFS_PATH_NAME_LEN );
+ else if (!fusion_find_tmpfs( tmpfs, FUSION_SHM_TMPFS_PATH_NAME_LEN ))
+ direct_snputs( tmpfs, "/dev/shm", FUSION_SHM_TMPFS_PATH_NAME_LEN );
+
+ snprintf( root_file, sizeof(root_file), "%s/fusion.%d", tmpfs, shared->world_index );
+
+ if (unlink( root_file ) < 0)
+ D_PERROR( "Fusion/Main: could not unlink shared memory file (%s)!\n", root_file );
+
D_MAGIC_CLEAR( shared );
+ }
munmap( shared, sizeof(FusionWorldShared) );
@@ -832,6 +938,7 @@ fusion_exit( FusionWorld *world,
/* Free local world data. */
D_MAGIC_CLEAR( world );
+
D_FREE( world );
@@ -864,6 +971,8 @@ fusion_kill( FusionWorld *world,
param.signal = signal;
param.timeout_ms = timeout_ms;
+ fusion_world_flush_calls( world, 1 );
+
while (ioctl( world->fusion_fd, FUSION_KILL, ¶m )) {
switch (errno) {
case EINTR:
@@ -882,6 +991,15 @@ fusion_kill( FusionWorld *world,
return DR_OK;
}
+const char *
+fusion_get_tmpfs( FusionWorld *world )
+{
+ D_MAGIC_ASSERT( world, FusionWorld );
+ D_MAGIC_ASSERT( world->shared, FusionWorldShared );
+
+ return world->shared->shm.tmpfs;
+}
+
/**********************************************************************************************************************/
static void *
@@ -890,7 +1008,6 @@ fusion_dispatch_loop( DirectThread *thread, void *arg )
int len = 0;
int result;
char buf[FUSION_MESSAGE_SIZE];
- fd_set set;
FusionWorld *world = arg;
D_DEBUG_AT( Fusion_Main_Dispatch, "%s() running...\n", __FUNCTION__ );
@@ -900,89 +1017,126 @@ fusion_dispatch_loop( DirectThread *thread, void *arg )
D_MAGIC_ASSERT( world, FusionWorld );
- FD_ZERO( &set );
- FD_SET( world->fusion_fd, &set );
+ len = read( world->fusion_fd, buf, FUSION_MESSAGE_SIZE );
+ if (len < 0)
+ break;
- result = select( world->fusion_fd + 1, &set, NULL, NULL, NULL );
- if (result < 0) {
- switch (errno) {
- case EINTR:
- continue;
+ D_DEBUG_AT( Fusion_Main_Dispatch, " -> got %d bytes...\n", len );
- default:
- D_PERROR( "Fusion/Dispatcher: select() failed!\n" );
- return NULL;
- }
+ direct_thread_lock( world->dispatch_loop );
+
+ if (world->dispatch_stop) {
+ D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING (dispatch_stop!)\n" );
}
+ else {
+ while (buf_p < buf + len) {
+ FusionReadMessage *header = (FusionReadMessage*) buf_p;
+ void *data = buf_p + sizeof(FusionReadMessage);
- D_MAGIC_ASSERT( world, FusionWorld );
+ if (world->dispatch_stop) {
+ D_DEBUG_AT( Fusion_Main_Dispatch, " -> ABORTING (dispatch_stop!)\n" );
+ break;
+ }
- if (FD_ISSET( world->fusion_fd, &set )) {
- len = read( world->fusion_fd, buf, FUSION_MESSAGE_SIZE );
- if (len < 0)
- break;
+ D_MAGIC_ASSERT( world, FusionWorld );
+ D_ASSERT( (buf + len - buf_p) >= sizeof(FusionReadMessage) );
- D_DEBUG_AT( Fusion_Main_Dispatch, " -> got %d bytes...\n", len );
+ switch (header->msg_type) {
+ case FMT_SEND:
+ D_DEBUG_AT( Fusion_Main_Dispatch, " -> FMT_SEND!\n" );
+ break;
+ case FMT_CALL:
+ D_DEBUG_AT( Fusion_Main_Dispatch, " -> FMT_CALL...\n" );
+ _fusion_call_process( world, header->msg_id, data,
+ (header->msg_size != sizeof(FusionCallMessage))
+ ? data + sizeof(FusionCallMessage) : NULL );
+ break;
+ case FMT_REACTOR:
+ D_DEBUG_AT( Fusion_Main_Dispatch, " -> FMT_REACTOR...\n" );
+ _fusion_reactor_process_message( world, header->msg_id, header->msg_channel, data );
+ break;
+ case FMT_SHMPOOL:
+ D_DEBUG_AT( Fusion_Main_Dispatch, " -> FMT_SHMPOOL...\n" );
+ _fusion_shmpool_process( world, header->msg_id, data );
+ break;
+ case FMT_CALL3:
+ D_DEBUG_AT( Fusion_Main_Dispatch, " -> FMT_CALL3...\n" );
+ _fusion_call_process3( world, header->msg_id, data,
+ (header->msg_size != sizeof(FusionCallMessage3))
+ ?data + sizeof(FusionCallMessage3) : NULL );
+ break;
+ case FMT_LEAVE:
+ D_DEBUG_AT( Fusion_Main_Dispatch, " -> FMT_LEAVE...\n" );
- direct_thread_lock( world->dispatch_loop );
+ if (world->leave_callback)
+ world->leave_callback( world, *((FusionID*)data), world->leave_ctx );
+ break;
+ default:
+ D_DEBUG( "Fusion/Receiver: discarding message of unknown type '%d'\n",
+ header->msg_type );
+ break;
+ }
- if (world->dispatch_stop) {
- D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING (dispatch_stop!)\n" );
+ buf_p = data + ((header->msg_size + 3) & ~3);
}
- else {
- while (buf_p < buf + len) {
- FusionReadMessage *header = (FusionReadMessage*) buf_p;
- void *data = buf_p + sizeof(FusionReadMessage);
+ }
- if (world->dispatch_stop) {
- D_DEBUG_AT( Fusion_Main_Dispatch, " -> ABORTING (dispatch_stop!)\n" );
- break;
- }
+ direct_thread_unlock( world->dispatch_loop );
- D_MAGIC_ASSERT( world, FusionWorld );
- D_ASSERT( (buf + len - buf_p) >= sizeof(FusionReadMessage) );
+ if (!world->refs) {
+ D_DEBUG_AT( Fusion_Main_Dispatch, " -> good bye!\n" );
+ return NULL;
+ }
+ }
- switch (header->msg_type) {
- case FMT_SEND:
- D_DEBUG_AT( Fusion_Main_Dispatch, " -> FMT_SEND!\n" );
- break;
- case FMT_CALL:
- D_DEBUG_AT( Fusion_Main_Dispatch, " -> FMT_CALL...\n" );
- _fusion_call_process( world, header->msg_id, data );
- break;
- case FMT_REACTOR:
- D_DEBUG_AT( Fusion_Main_Dispatch, " -> FMT_REACTOR...\n" );
- _fusion_reactor_process_message( world, header->msg_id, header->msg_channel, data );
- break;
- case FMT_SHMPOOL:
- D_DEBUG_AT( Fusion_Main_Dispatch, " -> FMT_SHMPOOL...\n" );
- _fusion_shmpool_process( world, header->msg_id, data );
- break;
- default:
- D_DEBUG( "Fusion/Receiver: discarding message of unknown type '%d'\n",
- header->msg_type );
- break;
- }
+ return NULL;
+}
- buf_p = data + ((header->msg_size + 3) & ~3);
- }
- }
+/**********************************************************************************************************************/
- direct_thread_unlock( world->dispatch_loop );
+DirectResult
+fusion_get_fusionee_path( const FusionWorld *world,
+ FusionID fusion_id,
+ char *buf,
+ size_t buf_size,
+ size_t *ret_size )
+{
+ FusionGetFusioneeInfo info;
+ size_t len;
- if (!world->refs) {
- D_DEBUG_AT( Fusion_Main_Dispatch, " -> good bye!\n" );
- return NULL;
- }
+ D_ASSERT( world != NULL );
+ D_ASSERT( buf != NULL );
+ D_ASSERT( ret_size != NULL );
+
+ info.fusion_id = fusion_id;
+
+ while (ioctl( world->fusion_fd, FUSION_GET_FUSIONEE_INFO, &info ) < 0) {
+ switch (errno) {
+ case EINTR:
+ continue;
+
+ default:
+ break;
}
+
+ D_PERROR( "Fusion: FUSION_GET_FUSIONEE_INFO failed!\n" );
+
+ return DR_FUSION;
}
- D_PERROR( "Fusion/Receiver: reading from fusion device failed!\n" );
+ len = strlen( info.exe_file ) + 1;
- return NULL;
-}
+ if (len > buf_size) {
+ *ret_size = len;
+ return DR_LIMITEXCEEDED;
+ }
-/**********************************************************************************************************************/
+ memcpy( buf, info.exe_file, len );
+
+ *ret_size = len;
+
+ return DR_OK;
+}
#else /* FUSION_BUILD_KERNEL */
@@ -1058,15 +1212,12 @@ _fusion_add_local( FusionWorld *world, FusionRef *ref, int add )
//D_DEBUG_AT( Fusion_Main, "%s( %p, %p, %d )\n", __FUNCTION__, world, ref, add );
D_ASSERT( ref != NULL );
-
D_MAGIC_ASSERT( world, FusionWorld );
shared = world->shared;
-
D_MAGIC_ASSERT( shared, FusionWorldShared );
fusionee = world->fusionee;
-
D_ASSERT( fusionee != NULL );
direct_list_foreach (fusionee_ref, fusionee->refs) {
@@ -1081,6 +1232,7 @@ _fusion_add_local( FusionWorld *world, FusionRef *ref, int add )
if (fusionee_ref->count == 0) {
direct_list_remove( &fusionee->refs, &fusionee_ref->link );
+
SHFREE( shared->main_pool, fusionee_ref );
}
}
@@ -2246,53 +2398,28 @@ fusion_dispatch_loop( DirectThread *self, void *arg )
DirectResult
fusion_sync( const FusionWorld *world )
{
- int result;
- fd_set set;
- struct timeval tv;
- int loops = 200;
-
D_MAGIC_ASSERT( world, FusionWorld );
D_DEBUG_AT( Fusion_Main, "%s( %p )\n", __FUNCTION__, world );
- D_DEBUG_AT( Fusion_Main, "syncing with fusion device...\n" );
-
- while (loops--) {
- FD_ZERO( &set );
- FD_SET( world->fusion_fd, &set );
-
- tv.tv_sec = 0;
- tv.tv_usec = 20000;
-
- result = select( world->fusion_fd + 1, &set, NULL, NULL, &tv );
- D_DEBUG_AT( Fusion_Main, " -> select() returned %d...\n", result );
- switch (result) {
- case -1:
- if (errno == EINTR)
- return DR_OK;
-
- D_PERROR( "Fusion/Sync: select() failed!\n");
- return DR_FAILURE;
+ D_DEBUG_AT( Fusion_Main, " -> syncing with fusion device...\n" );
+ while (ioctl( world->fusion_fd, FUSION_SYNC )) {
+ switch (errno) {
+ case EINTR:
+ continue;
default:
- D_DEBUG_AT( Fusion_Main, " -> FD_ISSET %d...\n", FD_ISSET( world->fusion_fd, &set ) );
-
- if (FD_ISSET( world->fusion_fd, &set )) {
- usleep( 20000 );
- break;
- }
-
- case 0:
- D_DEBUG_AT( Fusion_Main, " -> synced.\n");
- return DR_OK;
+ break;
}
- }
- D_DEBUG_AT( Fusion_Main, " -> timeout!\n");
+ D_PERROR( "Fusion/Main: FUSION_SYNC failed!\n" );
+
+ return DR_FAILURE;
+ }
- D_ERROR( "Fusion/Main: Timeout waiting for empty message queue!\n" );
+ D_DEBUG_AT( Fusion_Main, " -> synced\n");
- return DR_TIMEOUT;
+ return DR_OK;
}
/*
@@ -2331,6 +2458,20 @@ fusion_world_set_fork_callback( FusionWorld *world,
}
/*
+ * Registers a callback called when a slave exits.
+ */
+void
+fusion_world_set_leave_callback( FusionWorld *world,
+ FusionLeaveCallback callback,
+ void *ctx )
+{
+ D_MAGIC_ASSERT( world, FusionWorld );
+
+ world->leave_callback = callback;
+ world->leave_ctx = ctx;
+}
+
+/*
* Return the index of the specified world.
*/
int
@@ -2570,6 +2711,17 @@ fusion_world_set_fork_callback( FusionWorld *world,
}
/*
+ * Registers a callback called when a slave exits.
+ */
+void
+fusion_world_set_leave_callback( FusionWorld *world,
+ FusionLeaveCallback callback,
+ void *ctx )
+{
+ D_MAGIC_ASSERT( world, FusionWorld );
+}
+
+/*
* Return the index of the specified world.
*/
int
@@ -2634,6 +2786,18 @@ fusion_is_multi( const FusionWorld *world )
}
/*
+ * Return the thread ID of the Fusion Dispatcher within the specified world.
+ */
+pid_t
+fusion_dispatcher_tid( const FusionWorld *world )
+{
+ D_MAGIC_ASSERT( world, FusionWorld );
+
+ // must return 0 here to not let the dispatcher thread sleep in CoreDFB_CallMode()
+ return 0;
+}
+
+/*
* Wait until all pending messages are processed.
*/
DirectResult
@@ -2654,5 +2818,26 @@ fusion_is_shared( FusionWorld *world,
return true;
}
+const char *
+fusion_get_tmpfs( FusionWorld *world )
+{
+ D_MAGIC_ASSERT( world, FusionWorld );
+ D_MAGIC_ASSERT( world->shared, FusionWorldShared );
+
+ return "/tmp";
+}
+
+DirectResult
+fusion_get_fusionee_path( const FusionWorld *world,
+ FusionID fusion_id,
+ char *buf,
+ size_t buf_size,
+ size_t *ret_size )
+{
+ D_UNIMPLEMENTED();
+
+ return DR_UNIMPLEMENTED;
+}
+
#endif
diff --git a/lib/fusion/fusion.h b/lib/fusion/fusion.h
index bfe3da2..518388d 100644
--- a/lib/fusion/fusion.h
+++ b/lib/fusion/fusion.h
@@ -52,6 +52,10 @@ typedef enum {
typedef void (*FusionForkCallback) ( FusionForkAction action, FusionForkState state );
+typedef void (*FusionLeaveCallback)( FusionWorld *world,
+ FusionID fusion_id,
+ void *ctx );
+
/*
* Enters a fusion world by joining or creating it.
*
@@ -92,6 +96,13 @@ void fusion_world_set_fork_callback( FusionWorld *world,
FusionForkCallback callback );
/*
+ * Registers a callback called when a slave exits.
+ */
+void fusion_world_set_leave_callback( FusionWorld *world,
+ FusionLeaveCallback callback,
+ void *ctx );
+
+/*
* Return the index of the specified world.
*/
int fusion_world_index( const FusionWorld *world );
@@ -138,5 +149,19 @@ DirectResult fusion_kill( FusionWorld *world,
bool fusion_is_shared( FusionWorld *world,
const void *ptr );
+const char *fusion_get_tmpfs( FusionWorld *world );
+
+/*
+ * Get the executable path of the Fusionee
+ *
+ * Returns DR_LIMITEXCEEDED when buf_size too small,
+ * with the required number of bytes returned in ret_size.
+ */
+DirectResult fusion_get_fusionee_path( const FusionWorld *world,
+ FusionID fusion_id,
+ char *buf,
+ size_t buf_size,
+ size_t *ret_size );
+
#endif
diff --git a/lib/fusion/fusion_internal.h b/lib/fusion/fusion_internal.h
index 5e7c474..1d9ced7 100644
--- a/lib/fusion/fusion_internal.h
+++ b/lib/fusion/fusion_internal.h
@@ -32,6 +32,7 @@
#include <sys/types.h>
#include <sys/param.h>
+#include <stdarg.h>
#include <string.h>
#include <direct/list.h>
@@ -53,6 +54,10 @@
#define FUSION_MAX_WORLDS 8
+#define EXECUTE3_BIN_CALL_MAX_NUM 512
+#define EXECUTE3_BIN_DATA_MAX_LEN 65536
+#define EXECUTE3_BIN_FLUSH_MILLIS 20
+
/***************************************
* Fusion internal type declarations *
***************************************/
@@ -107,14 +112,27 @@ struct __Fusion_FusionWorld {
* List of reactors with at least one local reaction attached.
*/
DirectLink *reactor_nodes;
- pthread_mutex_t reactor_nodes_lock;
+ DirectMutex reactor_nodes_lock;
FusionSHM shm;
FusionForkAction fork_action;
FusionForkCallback fork_callback;
-
+
void *fusionee;
+
+ FusionLeaveCallback leave_callback;
+ void *leave_ctx;
+#if FUSION_BUILD_MULTI
+# if FUSION_BUILD_KERNEL
+ DirectMutex bins_lock;
+ FusionCallExecute3 bins[EXECUTE3_BIN_CALL_MAX_NUM];
+ int bins_num;
+ char bins_data[EXECUTE3_BIN_DATA_MAX_LEN];
+ int bins_data_len;
+ long long bins_create_ts;
+# endif
+#endif
};
/*******************************************
@@ -137,12 +155,53 @@ void _fusion_reactor_process_message( FusionWorld *world,
#if FUSION_BUILD_MULTI
+# if FUSION_BUILD_KERNEL
+static __inline__ void
+fusion_entry_add_permissions( const FusionWorld *world,
+ FusionType type,
+ int entry_id,
+ FusionID fusion_id,
+ ... )
+{
+ FusionEntryPermissions permissions;
+ va_list args;
+ int arg;
+
+ permissions.type = type;
+ permissions.id = entry_id;
+ permissions.fusion_id = fusion_id;
+ permissions.permissions = 0;
+
+ va_start( args, fusion_id );
+
+ while ((arg = va_arg( args, int )) != 0)
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, arg );
+
+ va_end( args );
+
+ while (ioctl( world->fusion_fd, FUSION_ENTRY_ADD_PERMISSIONS, &permissions ) < 0) {
+ if (errno != EINTR) {
+ D_PERROR( "Fusion: FUSION_ENTRY_ADD_PERMISSIONS( type %d, id %d ) failed!\n", type, entry_id );
+ break;
+ }
+ }
+}
+# endif
+#endif
+
+
+#if FUSION_BUILD_MULTI
/*
* from call.c
*/
void _fusion_call_process( FusionWorld *world,
int call_id,
- FusionCallMessage *call );
+ FusionCallMessage *call,
+ void *ptr );
+void _fusion_call_process3( FusionWorld *world,
+ int call_id,
+ FusionCallMessage3 *msg,
+ void *ptr );
#if FUSION_BUILD_KERNEL
/*
diff --git a/lib/fusion/hash.c b/lib/fusion/hash.c
index 06723d2..b894667 100644
--- a/lib/fusion/hash.c
+++ b/lib/fusion/hash.c
@@ -53,8 +53,13 @@
D_DEBUG_DOMAIN( Fusion_Hash, "Fusion/Hash", "Hash table implementation" );
-
-
+#define HASH_STR(h,p) \
+{\
+ h = *p;\
+ if (h)\
+ for (p += 1; *p != '\0'; p++)\
+ h = (h << 5) - h + *p;\
+}\
static const unsigned int primes[] =
{
@@ -117,6 +122,39 @@ spaced_primes_closest (unsigned int num)
return primes[nprimes - 1];
}
+static inline FusionHashNode**
+fusion_hash_lookup_node (FusionHash *hash,
+ const void *key)
+{
+ FusionHashNode **node;
+
+ /*TODO We could also optimize pointer hashing*/
+ if (hash->key_type == HASH_STRING )
+ {
+ unsigned int h;
+ const signed char *p = key;
+ HASH_STR(h,p)
+ node = &hash->nodes[h % hash->size];
+ }
+ else
+ node = &hash->nodes[((unsigned long)key) % hash->size];
+
+ /* Hash table lookup needs to be fast.
+ * We therefore remove the extra conditional of testing
+ * whether to call the key_equal_func or not from
+ * the inner loop.
+ */
+ if (hash->key_type == HASH_STRING ) {
+ while(*node && strcmp((const char *)(*node)->key,(const char*)key))
+ node = &(*node)->next;
+ } else
+ while (*node && (*node)->key != key)
+ node = &(*node)->next;
+
+ return node;
+
+}
+
/**
* fusion_hash_create_local:
* @key_type: Type of hash key the hash is optimized for strings ints and pointers
diff --git a/lib/fusion/hash.h b/lib/fusion/hash.h
index 8c8b459..27e91ad 100644
--- a/lib/fusion/hash.h
+++ b/lib/fusion/hash.h
@@ -46,14 +46,6 @@
#define FUSION_HASH_MIN_SIZE 11
#define FUSION_HASH_MAX_SIZE 13845163
-#define HASH_STR(h,p) \
-{\
- h = *p;\
- if (h)\
- for (p += 1; *p != '\0'; p++)\
- h = (h << 5) - h + *p;\
-}\
-
typedef enum {
HASH_PTR,
HASH_STRING,
@@ -139,40 +131,58 @@ fusion_hash_size (FusionHash *hash);
bool fusion_hash_should_resize ( FusionHash *hash);
-static inline FusionHashNode**
-fusion_hash_lookup_node (FusionHash *hash,
- const void * key)
+
+typedef struct {
+ FusionHash *hash;
+ int index;
+ FusionHashNode *next;
+} FusionHashIterator;
+
+static inline void *
+fusion_hash_iterator_next( FusionHashIterator *iterator )
{
- FusionHashNode **node;
-
- /*TODO We could also optimize pointer hashing*/
- if (hash->key_type == HASH_STRING )
- {
- unsigned int h;
- const signed char *p = key;
- HASH_STR(h,p)
- node = &hash->nodes[h % hash->size];
- }
- else
- node = &hash->nodes[((unsigned long)key) % hash->size];
-
- /* Hash table lookup needs to be fast.
- * We therefore remove the extra conditional of testing
- * whether to call the key_equal_func or not from
- * the inner loop.
- */
- if (hash->key_type == HASH_STRING ) {
- while(*node && strcmp((const char *)(*node)->key,(const char*)key))
- node = &(*node)->next;
- }
- else
- while (*node && (*node)->key != key)
- node = &(*node)->next;
-
- return node;
+ FusionHashNode *node = NULL;
+
+ if (iterator->next) {
+ node = iterator->next;
+ iterator->next = node->next;
+ }
+ else {
+ FusionHash *hash = iterator->hash;
+
+ D_MAGIC_ASSERT( hash, FusionHash );
+
+ for (iterator->index++; iterator->index < hash->size; iterator->index++) {
+ node = hash->nodes[iterator->index];
+ if (node) {
+ iterator->next = node->next;
+
+ break;
+ }
+ }
+ }
+ return node ? node->value : NULL;
}
+static inline void *
+fusion_hash_iterator_init( FusionHashIterator *iterator,
+ FusionHash *hash )
+{
+ D_MAGIC_ASSERT( hash, FusionHash );
+
+ iterator->hash = hash;
+ iterator->index = -1;
+ iterator->next = NULL;
+
+ return fusion_hash_iterator_next( iterator );
+}
+
+
+#define fusion_hash_foreach( elem, iterator, hash ) \
+ for ((elem) = (__typeof__(elem)) fusion_hash_iterator_init( &iterator, hash ); \
+ (elem) != NULL; \
+ (elem) = (__typeof__(elem)) fusion_hash_iterator_next( &iterator ))
#endif /*__FUSION_HASH_H__*/
diff --git a/lib/fusion/lock.c b/lib/fusion/lock.c
index ed599ab..0f32789 100644
--- a/lib/fusion/lock.c
+++ b/lib/fusion/lock.c
@@ -83,6 +83,42 @@ fusion_skirmish_init( FusionSkirmish *skirmish,
ioctl( world->fusion_fd, FUSION_ENTRY_SET_INFO, &info );
+ fusion_entry_add_permissions( world, FT_SKIRMISH, skirmish->multi.id, 0,
+ FUSION_SKIRMISH_LOCK_COUNT,
+ 0 );
+
+ /* Keep back pointer to shared world data. */
+ skirmish->multi.shared = world->shared;
+
+ return DR_OK;
+}
+
+DirectResult
+fusion_skirmish_init2( FusionSkirmish *skirmish,
+ const char *name,
+ const FusionWorld *world,
+ bool local )
+{
+ D_ASSERT( skirmish != NULL );
+ D_ASSERT( name != NULL );
+ D_MAGIC_ASSERT( world, FusionWorld );
+
+ D_DEBUG_AT( Fusion_Skirmish, "fusion_skirmish_init2( %p, '%s', %s )\n", skirmish, name ? : "", local ? "local" : "shared" );
+
+ if (!local)
+ return fusion_skirmish_init( skirmish, name, world );
+
+
+ skirmish->single = D_CALLOC( 1, sizeof(FusionSkirmishSingle) + strlen(name) + 1 );
+ if (skirmish->single == 0)
+ return DR_NOLOCALMEMORY;
+
+ skirmish->single->name = (char*)(skirmish->single + 1);
+ strcpy( skirmish->single->name, name );
+
+ direct_util_recursive_pthread_mutex_init( &skirmish->single->lock );
+ pthread_cond_init( &skirmish->single->cond, NULL );
+
/* Keep back pointer to shared world data. */
skirmish->multi.shared = world->shared;
@@ -94,6 +130,15 @@ fusion_skirmish_prevail( FusionSkirmish *skirmish )
{
D_ASSERT( skirmish != NULL );
+ if (skirmish->single) {
+ if (pthread_mutex_lock( &skirmish->single->lock ))
+ return errno2result( errno );
+
+ skirmish->single->count++;
+
+ return DR_OK;
+ }
+
while (ioctl (_fusion_fd( skirmish->multi.shared ), FUSION_SKIRMISH_PREVAIL, &skirmish->multi.id)) {
switch (errno) {
case EINTR:
@@ -116,6 +161,15 @@ fusion_skirmish_swoop( FusionSkirmish *skirmish )
{
D_ASSERT( skirmish != NULL );
+ if (skirmish->single) {
+ if (pthread_mutex_trylock( &skirmish->single->lock ))
+ return errno2result( errno );
+
+ skirmish->single->count++;
+
+ return DR_OK;
+ }
+
while (ioctl (_fusion_fd( skirmish->multi.shared ), FUSION_SKIRMISH_SWOOP, &skirmish->multi.id)) {
switch (errno) {
case EINTR:
@@ -143,6 +197,19 @@ fusion_skirmish_lock_count( FusionSkirmish *skirmish, int *lock_count )
D_ASSERT( skirmish != NULL );
+ if (skirmish->single) {
+ if (pthread_mutex_trylock( &skirmish->single->lock )) {
+ *lock_count = 0;
+ return errno2result( errno );
+ }
+
+ *lock_count = skirmish->single->count;
+
+ pthread_mutex_unlock( &skirmish->single->lock );
+
+ return DR_OK;
+ }
+
data[0] = skirmish->multi.id;
data[1] = 0;
@@ -169,6 +236,15 @@ fusion_skirmish_dismiss (FusionSkirmish *skirmish)
{
D_ASSERT( skirmish != NULL );
+ if (skirmish->single) {
+ skirmish->single->count--;
+
+ if (pthread_mutex_unlock( &skirmish->single->lock ))
+ return errno2result( errno );
+
+ return DR_OK;
+ }
+
while (ioctl (_fusion_fd( skirmish->multi.shared ), FUSION_SKIRMISH_DISMISS, &skirmish->multi.id)) {
switch (errno) {
case EINTR:
@@ -193,6 +269,18 @@ fusion_skirmish_destroy (FusionSkirmish *skirmish)
D_DEBUG_AT( Fusion_Skirmish, "fusion_skirmish_destroy( %p [%d] )\n", skirmish, skirmish->multi.id );
+ if (skirmish->single) {
+ int retval;
+
+ pthread_cond_broadcast( &skirmish->single->cond );
+ pthread_cond_destroy( &skirmish->single->cond );
+
+ retval = pthread_mutex_destroy( &skirmish->single->lock );
+ D_FREE( skirmish->single );
+
+ return errno2result( retval );
+ }
+
while (ioctl( _fusion_fd( skirmish->multi.shared ), FUSION_SKIRMISH_DESTROY, &skirmish->multi.id )) {
switch (errno) {
case EINTR:
@@ -217,6 +305,27 @@ fusion_skirmish_wait( FusionSkirmish *skirmish, unsigned int timeout )
D_ASSERT( skirmish != NULL );
+ if (skirmish->single) {
+ if (timeout) {
+ struct timespec ts;
+ struct timeval tv;
+ int ret;
+
+ gettimeofday( &tv, NULL );
+
+ ts.tv_nsec = tv.tv_usec*1000 + (timeout%1000)*1000000;
+ ts.tv_sec = tv.tv_sec + timeout/1000 + ts.tv_nsec/1000000000;
+ ts.tv_nsec = ts.tv_nsec % 1000000000;
+
+ ret = pthread_cond_timedwait( &skirmish->single->cond,
+ &skirmish->single->lock, &ts );
+
+ return (ret == ETIMEDOUT) ? DR_TIMEOUT : DR_OK;
+ }
+
+ return pthread_cond_wait( &skirmish->single->cond, &skirmish->single->lock );
+ }
+
wait.id = skirmish->multi.id;
wait.timeout = timeout;
wait.lock_count = 0;
@@ -246,6 +355,12 @@ fusion_skirmish_notify( FusionSkirmish *skirmish )
{
D_ASSERT( skirmish != NULL );
+ if (skirmish->single) {
+ pthread_cond_broadcast( &skirmish->single->cond );
+
+ return DR_OK;
+ }
+
while (ioctl (_fusion_fd( skirmish->multi.shared ), FUSION_SKIRMISH_NOTIFY, &skirmish->multi.id)) {
switch (errno) {
case EINTR:
@@ -263,6 +378,52 @@ fusion_skirmish_notify( FusionSkirmish *skirmish )
return DR_OK;
}
+DirectResult
+fusion_skirmish_add_permissions( FusionSkirmish *skirmish,
+ FusionID fusion_id,
+ FusionSkirmishPermissions skirmish_permissions )
+{
+ FusionEntryPermissions permissions;
+
+ if (skirmish->single)
+ return DR_OK;
+
+ permissions.type = FT_SKIRMISH;
+ permissions.id = skirmish->multi.id;
+ permissions.fusion_id = fusion_id;
+ permissions.permissions = 0;
+
+ if (skirmish_permissions & FUSION_SKIRMISH_PERMIT_PREVAIL)
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_SKIRMISH_PREVAIL );
+
+ if (skirmish_permissions & FUSION_SKIRMISH_PERMIT_SWOOP)
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_SKIRMISH_SWOOP );
+
+ if (skirmish_permissions & FUSION_SKIRMISH_PERMIT_DISMISS)
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_SKIRMISH_DISMISS );
+
+ if (skirmish_permissions & FUSION_SKIRMISH_PERMIT_LOCK_COUNT)
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_SKIRMISH_LOCK_COUNT );
+
+ if (skirmish_permissions & FUSION_SKIRMISH_PERMIT_WAIT)
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_SKIRMISH_WAIT );
+
+ if (skirmish_permissions & FUSION_SKIRMISH_PERMIT_NOTIFY)
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_SKIRMISH_NOTIFY );
+
+ if (skirmish_permissions & FUSION_SKIRMISH_PERMIT_DESTROY)
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_SKIRMISH_DESTROY );
+
+ while (ioctl( _fusion_fd( skirmish->multi.shared ), FUSION_ENTRY_ADD_PERMISSIONS, &permissions ) < 0) {
+ if (errno != EINTR) {
+ D_PERROR( "Fusion/Reactor: FUSION_ENTRY_ADD_PERMISSIONS( id %d ) failed!\n", skirmish->multi.id );
+ return DR_FAILURE;
+ }
+ }
+
+ return DR_OK;
+}
+
#else /* FUSION_BUILD_KERNEL */
#include <direct/clock.h>
@@ -579,7 +740,7 @@ fusion_skirmish_init( FusionSkirmish *skirmish,
if (skirmish->single == 0)
return DR_NOLOCALMEMORY;
- skirmish->single->name = &skirmish->single + 1;
+ skirmish->single->name = (char*)(skirmish->single + 1);
strcpy( skirmish->single->name, name );
direct_util_recursive_pthread_mutex_init( &skirmish->single->lock );
@@ -589,6 +750,16 @@ fusion_skirmish_init( FusionSkirmish *skirmish,
}
DirectResult
+fusion_skirmish_init2( FusionSkirmish *skirmish,
+ const char *name,
+ const FusionWorld *world,
+ bool local )
+{
+ /* In !FUSION_BUILD_MULTI everything is local. */
+ return fusion_skirmish_init( skirmish, name, world );
+}
+
+DirectResult
fusion_skirmish_prevail (FusionSkirmish *skirmish)
{
D_ASSERT( skirmish != NULL );
@@ -718,5 +889,13 @@ fusion_skirmish_notify( FusionSkirmish *skirmish )
return DR_OK;
}
+DirectResult
+fusion_skirmish_add_permissions( FusionSkirmish *skirmish,
+ FusionID fusion_id,
+ FusionSkirmishPermissions skirmish_permissions )
+{
+ return DR_OK;
+}
+
#endif
diff --git a/lib/fusion/lock.h b/lib/fusion/lock.h
index 52233b9..b972154 100644
--- a/lib/fusion/lock.h
+++ b/lib/fusion/lock.h
@@ -43,7 +43,7 @@ typedef struct {
char *name;
} FusionSkirmishSingle;
-typedef union {
+typedef struct {
/* multi app */
struct {
int id;
@@ -70,6 +70,11 @@ DirectResult fusion_skirmish_init ( FusionSkirmish *skirmish,
const char *name,
const FusionWorld *world );
+DirectResult fusion_skirmish_init2 ( FusionSkirmish *skirmish,
+ const char *name,
+ const FusionWorld *world,
+ bool local );
+
/*
* Lock.
*/
@@ -121,5 +126,27 @@ DirectResult fusion_skirmish_notify ( FusionSkirmish *skirmish );
} while (0)
#endif
+
+typedef enum {
+ FUSION_SKIRMISH_PERMIT_NONE = 0x00000000,
+
+ FUSION_SKIRMISH_PERMIT_PREVAIL = 0x00000001,
+ FUSION_SKIRMISH_PERMIT_SWOOP = 0x00000002,
+ FUSION_SKIRMISH_PERMIT_DISMISS = 0x00000004,
+ FUSION_SKIRMISH_PERMIT_LOCK_COUNT = 0x00000008,
+ FUSION_SKIRMISH_PERMIT_WAIT = 0x00000010,
+ FUSION_SKIRMISH_PERMIT_NOTIFY = 0x00000020,
+ FUSION_SKIRMISH_PERMIT_DESTROY = 0x00000040,
+
+ FUSION_SKIRMISH_PERMIT_ALL = 0x0000007F,
+} FusionSkirmishPermissions;
+
+/*
+ * Give permissions to another fusionee to use the skirmish.
+ */
+DirectResult fusion_skirmish_add_permissions( FusionSkirmish *skimrish,
+ FusionID fusion_id,
+ FusionSkirmishPermissions permissions );
+
#endif
diff --git a/lib/fusion/object.c b/lib/fusion/object.c
index c4bb2eb..7af5269 100644
--- a/lib/fusion/object.c
+++ b/lib/fusion/object.c
@@ -51,7 +51,7 @@ struct __Fusion_FusionObjectPool {
FusionWorldShared *shared;
FusionSkirmish lock;
- DirectLink *objects;
+ FusionHash *objects;
FusionObjectID id_pool;
char *name;
@@ -86,10 +86,8 @@ object_reference_watcher( int caller, int call_arg, void *call_ptr, void *ctx, u
return FCHR_RETURN;
/* Lookup the object. */
- direct_list_foreach (object, pool->objects) {
- if (object->id != call_arg)
- continue;
-
+ object = fusion_hash_lookup( pool->objects, (void*)(long) call_arg );
+ if (object) {
D_MAGIC_ASSERT( object, FusionObject );
switch (fusion_ref_zero_trylock( &object->ref )) {
@@ -97,15 +95,15 @@ object_reference_watcher( int caller, int call_arg, void *call_ptr, void *ctx, u
break;
case DR_DESTROYED:
- D_BUG( "already destroyed %p [%ld] in '%s'", object, object->id, pool->name );
+ D_BUG( "already destroyed %p [%u] in '%s'", object, object->id, pool->name );
- direct_list_remove( &pool->objects, &object->link );
+ fusion_hash_remove( pool->objects, (void*)(long) object->id, NULL, NULL );
fusion_skirmish_dismiss( &pool->lock );
return FCHR_RETURN;
default:
- D_ERROR( "Fusion/ObjectPool: Error locking ref of %p [%ld] in '%s'\n",
+ D_ERROR( "Fusion/ObjectPool: Error locking ref of %p [%u] in '%s'\n",
object, object->id, pool->name );
/* fall through */
@@ -115,12 +113,12 @@ object_reference_watcher( int caller, int call_arg, void *call_ptr, void *ctx, u
}
D_DEBUG_AT( Fusion_Object, "== %s ==\n", pool->name );
- D_DEBUG_AT( Fusion_Object, " -> dead object %p [%ld] (ref %ld)\n", object, object->id, object->ref.multi.id );
+ D_DEBUG_AT( Fusion_Object, " -> dead object %p [%u] (ref %d)\n", object, object->id, object->ref.multi.id );
if (object->state == FOS_INIT) {
D_BUG( "== %s == incomplete object: %d (%p)", pool->name, call_arg, object );
D_WARN( "won't destroy incomplete object, leaking some memory" );
- direct_list_remove( &pool->objects, &object->link );
+ fusion_hash_remove( pool->objects, (void*)(long) object->id, NULL, NULL );
fusion_skirmish_dismiss( &pool->lock );
return FCHR_RETURN;
}
@@ -130,7 +128,7 @@ object_reference_watcher( int caller, int call_arg, void *call_ptr, void *ctx, u
/* Remove the object from the pool. */
object->pool = NULL;
- direct_list_remove( &pool->objects, &object->link );
+ fusion_hash_remove( pool->objects, (void*)(long) object->id, NULL, NULL );
/* Unlock the pool. */
fusion_skirmish_dismiss( &pool->lock );
@@ -185,6 +183,8 @@ fusion_object_pool_create( const char *name,
/* Initialize the pool lock. */
fusion_skirmish_init( &pool->lock, name, world );
+ fusion_skirmish_add_permissions( &pool->lock, 0, FUSION_SKIRMISH_PERMIT_PREVAIL | FUSION_SKIRMISH_PERMIT_DISMISS );
+
/* Fill information. */
pool->shared = shared;
pool->name = SHSTRDUP( shared->main_pool, name );
@@ -193,6 +193,8 @@ fusion_object_pool_create( const char *name,
pool->destructor = destructor;
pool->ctx = ctx;
+ fusion_hash_create( shared->main_pool, HASH_INT, HASH_PTR, 17, &pool->objects );
+
/* Destruction call from Fusion. */
fusion_call_init( &pool->call, object_reference_watcher, pool, world );
@@ -205,10 +207,10 @@ DirectResult
fusion_object_pool_destroy( FusionObjectPool *pool,
const FusionWorld *world )
{
- DirectResult ret;
- DirectLink *n;
- FusionObject *object;
- FusionWorldShared *shared;
+ DirectResult ret;
+ FusionObject *object;
+ FusionWorldShared *shared;
+ FusionHashIterator it;
D_ASSERT( pool != NULL );
D_MAGIC_ASSERT( world, FusionWorld );
@@ -241,13 +243,13 @@ fusion_object_pool_destroy( FusionObjectPool *pool,
D_WARN( "still objects in '%s'", pool->name );
/* Destroy zombies */
- direct_list_foreach_safe (object, n, pool->objects) {
+ fusion_hash_foreach (object, it, pool->objects) {
int refs;
fusion_ref_stat( &object->ref, &refs );
D_DEBUG_AT( Fusion_Object, "== %s ==\n", pool->name );
- D_DEBUG_AT( Fusion_Object, " -> zombie %p [%ld], refs %d\n", object, object->id, refs );
+ D_DEBUG_AT( Fusion_Object, " -> zombie %p [%u], refs %d\n", object, object->id, refs );
/* Set "deinitializing" state. */
object->state = FOS_DEINIT;
@@ -262,11 +264,9 @@ fusion_object_pool_destroy( FusionObjectPool *pool,
pool->destructor( object, refs > 0, pool->ctx );
D_DEBUG_AT( Fusion_Object, " -> destructor done.\n" );
-
- D_ASSERT( ! direct_list_contains_element_EXPENSIVE( pool->objects, (DirectLink*) object ) );
}
- pool->objects = NULL;
+ fusion_hash_destroy( pool->objects );
/* Destroy the pool lock. */
fusion_skirmish_destroy( &pool->lock );
@@ -282,12 +282,32 @@ fusion_object_pool_destroy( FusionObjectPool *pool,
return DR_OK;
}
+typedef struct {
+ FusionObjectPool *pool;
+ FusionObjectCallback callback;
+ void *ctx;
+} ObjectIteratorContext;
+
+static bool
+object_iterator( FusionHash *hash,
+ void *key,
+ void *value,
+ void *ctx )
+{
+ ObjectIteratorContext *context = ctx;
+ FusionObject *object = value;
+
+ D_MAGIC_ASSERT( object, FusionObject );
+
+ return !context->callback( context->pool, object, context->ctx );
+}
+
DirectResult
fusion_object_pool_enum( FusionObjectPool *pool,
FusionObjectCallback callback,
void *ctx )
{
- FusionObject *object;
+ ObjectIteratorContext iterator_context;
D_MAGIC_ASSERT( pool, FusionObjectPool );
D_ASSERT( callback != NULL );
@@ -296,12 +316,11 @@ fusion_object_pool_enum( FusionObjectPool *pool,
if (fusion_skirmish_prevail( &pool->lock ))
return DR_FUSION;
- direct_list_foreach (object, pool->objects) {
- D_MAGIC_ASSERT( object, FusionObject );
+ iterator_context.pool = pool;
+ iterator_context.callback = callback;
+ iterator_context.ctx = ctx;
- if (!callback( pool, object, ctx ))
- break;
- }
+ fusion_hash_iterate( pool->objects, object_iterator, &iterator_context );
/* Unlock the pool. */
fusion_skirmish_dismiss( &pool->lock );
@@ -311,7 +330,8 @@ fusion_object_pool_enum( FusionObjectPool *pool,
FusionObject *
fusion_object_create( FusionObjectPool *pool,
- const FusionWorld *world )
+ const FusionWorld *world,
+ FusionID identity )
{
FusionObject *object;
FusionWorldShared *shared;
@@ -342,6 +362,8 @@ fusion_object_create( FusionObjectPool *pool,
/* Set object id. */
object->id = ++pool->id_pool;
+ object->identity = identity;
+
/* Initialize the reference counter. */
if (fusion_ref_init( &object->ref, pool->name, world )) {
SHFREE( shared->main_pool, object );
@@ -376,7 +398,7 @@ fusion_object_create( FusionObjectPool *pool,
object->shared = shared;
/* Add the object to the pool. */
- direct_list_prepend( &pool->objects, &object->link );
+ fusion_hash_insert( pool->objects, (void*)(long) object->id, object );
D_DEBUG_AT( Fusion_Object, "== %s ==\n", pool->name );
@@ -409,18 +431,13 @@ fusion_object_get( FusionObjectPool *pool,
if (fusion_skirmish_prevail( &pool->lock ))
return DR_FUSION;
- direct_list_foreach (object, pool->objects) {
- D_MAGIC_ASSERT( object, FusionObject );
-
- if (object->id == object_id) {
- ret = fusion_object_ref( object );
- break;
- }
+ object = fusion_hash_lookup( pool->objects, (void*)(long) object_id );
+ if (object) {
+ ret = fusion_object_ref( object );
+ if (ret == DR_OK)
+ *ret_object = object;
}
- if (ret == DR_OK)
- *ret_object = object;
-
/* Unlock the pool. */
fusion_skirmish_dismiss( &pool->lock );
@@ -489,7 +506,7 @@ fusion_object_destroy( FusionObject *object )
object->pool = NULL;
- direct_list_remove( &pool->objects, &object->link );
+ fusion_hash_remove( pool->objects, (void*)(long) object->id, NULL, NULL );
}
/* Unlock the pool. */
diff --git a/lib/fusion/object.h b/lib/fusion/object.h
index ae75374..fbc00f0 100644
--- a/lib/fusion/object.h
+++ b/lib/fusion/object.h
@@ -44,7 +44,7 @@ typedef bool (*FusionPropIterator)( char *key, void *value, void *ctx);
-typedef unsigned long FusionObjectID;
+typedef u32 FusionObjectID;
typedef enum {
@@ -60,6 +60,7 @@ struct __Fusion_FusionObject {
int magic;
FusionObjectID id;
+ FusionID identity;
FusionObjectState state;
@@ -68,6 +69,8 @@ struct __Fusion_FusionObject {
FusionWorldShared *shared;
FusionHash *properties;
+
+ FusionID owner;
};
@@ -93,8 +96,9 @@ DirectResult fusion_object_pool_enum ( FusionObjectPool *pool,
FusionObject *fusion_object_create ( FusionObjectPool *pool,
- const FusionWorld *world );
-
+ const FusionWorld *world,
+ FusionID identity );
+
DirectResult fusion_object_get ( FusionObjectPool *pool,
FusionObjectID object_id,
FusionObject **ret_object );
diff --git a/lib/fusion/reactor.c b/lib/fusion/reactor.c
index 1022cac..7c2f78e 100644
--- a/lib/fusion/reactor.c
+++ b/lib/fusion/reactor.c
@@ -129,7 +129,6 @@ fusion_reactor_new( int msg_size,
FusionReactor *reactor;
FusionWorldShared *shared;
- D_ASSERT( msg_size > 0 );
D_ASSERT( name != NULL );
D_MAGIC_ASSERT( world, FusionWorld );
@@ -518,6 +517,36 @@ fusion_reactor_set_name( FusionReactor *reactor,
return DR_OK;
}
+DirectResult
+fusion_reactor_add_permissions( FusionReactor *reactor,
+ FusionID fusion_id,
+ FusionReactorPermissions reactor_permissions )
+{
+ FusionEntryPermissions permissions;
+
+ permissions.type = FT_REACTOR;
+ permissions.id = reactor->id;
+ permissions.fusion_id = fusion_id;
+ permissions.permissions = 0;
+
+ if (reactor_permissions & FUSION_REACTOR_PERMIT_ATTACH_DETACH) {
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_REACTOR_ATTACH );
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_REACTOR_DETACH );
+ }
+
+ if (reactor_permissions & FUSION_REACTOR_PERMIT_DISPATCH)
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_REACTOR_DISPATCH );
+
+ while (ioctl( _fusion_fd( reactor->shared ), FUSION_ENTRY_ADD_PERMISSIONS, &permissions ) < 0) {
+ if (errno != EINTR) {
+ D_PERROR( "Fusion/Reactor: FUSION_ENTRY_ADD_PERMISSIONS( id %d ) failed!\n", reactor->id );
+ return DR_FAILURE;
+ }
+ }
+
+ return DR_OK;
+}
+
void
_fusion_reactor_process_message( FusionWorld *world,
int reactor_id,
@@ -615,7 +644,6 @@ fusion_reactor_new( int msg_size,
FusionReactor *reactor;
FusionWorldShared *shared;
- D_ASSERT( msg_size > 0 );
D_ASSERT( name != NULL );
D_MAGIC_ASSERT( world, FusionWorld );
@@ -1020,6 +1048,16 @@ fusion_reactor_set_name( FusionReactor *reactor,
return DR_UNIMPLEMENTED;
}
+DirectResult
+fusion_reactor_add_permissions( FusionReactor *reactor,
+ FusionID fusion_id,
+ FusionReactorPermissions permissions )
+{
+ D_UNIMPLEMENTED();
+
+ return DR_UNIMPLEMENTED;
+}
+
void
_fusion_reactor_process_message( FusionWorld *world,
int reactor_id,
@@ -1233,7 +1271,8 @@ fusion_reactor_detach_global( FusionReactor *reactor,
if (lock != reactor->globals_lock)
D_WARN( "using old lock once more" );
- D_ASSUME( reaction->attached );
+ // Do not assume the reaction is attached, because it is possible that it may not be.
+ //D_ASSUME( reaction->attached );
/* Check against multiple detach. */
if (reaction->attached) {
@@ -1294,7 +1333,7 @@ _fusion_reactor_free_all( FusionWorld *world )
D_DEBUG_AT( Fusion_Reactor, "_fusion_reactor_free_all() <- nodes %p\n", world->reactor_nodes );
- pthread_mutex_lock( &world->reactor_nodes_lock );
+ direct_mutex_lock( &world->reactor_nodes_lock );
direct_list_foreach_safe (node, node_temp, world->reactor_nodes) {
NodeLink *link, *link_temp;
@@ -1321,7 +1360,7 @@ _fusion_reactor_free_all( FusionWorld *world )
world->reactor_nodes = NULL;
- pthread_mutex_unlock( &world->reactor_nodes_lock );
+ direct_mutex_unlock( &world->reactor_nodes_lock );
}
static void
@@ -1377,6 +1416,10 @@ process_globals( FusionReactor *reactor,
/*D_DEBUG_AT( Fusion_Reactor, " -> removing %p, index %d, ctx %p\n",
global, global->index, global->ctx );*/
+ // Mark as detached, since the global reaction is being removed
+ // from the global reaction list.
+ global->attached = false;
+
direct_list_remove( &reactor->globals, &global->link );
}
}
@@ -1423,7 +1466,7 @@ lock_node( int reactor_id, bool add_it, bool wlock, FusionReactor *reactor, Fusi
}
- pthread_mutex_lock( &world->reactor_nodes_lock );
+ direct_mutex_lock( &world->reactor_nodes_lock );
direct_list_foreach_safe (node, n, world->reactor_nodes) {
D_MAGIC_ASSERT( node, ReactorNode );
@@ -1475,7 +1518,7 @@ lock_node( int reactor_id, bool add_it, bool wlock, FusionReactor *reactor, Fusi
direct_list_move_to_front( &world->reactor_nodes, &node->link );
}
- pthread_mutex_unlock( &world->reactor_nodes_lock );
+ direct_mutex_unlock( &world->reactor_nodes_lock );
return node;
}
@@ -1530,12 +1573,12 @@ lock_node( int reactor_id, bool add_it, bool wlock, FusionReactor *reactor, Fusi
direct_list_prepend( &world->reactor_nodes, &node->link );
- pthread_mutex_unlock( &world->reactor_nodes_lock );
+ direct_mutex_unlock( &world->reactor_nodes_lock );
return node;
}
- pthread_mutex_unlock( &world->reactor_nodes_lock );
+ direct_mutex_unlock( &world->reactor_nodes_lock );
return NULL;
}
@@ -1570,6 +1613,8 @@ struct __Fusion_FusionReactor {
pthread_mutex_t globals_lock;
bool destroyed;
+
+ int msg_size;
};
static void
@@ -1588,12 +1633,12 @@ fusion_reactor_new( int msg_size,
{
FusionReactor *reactor;
- D_ASSERT( msg_size > 0 );
-
reactor = D_CALLOC( 1, sizeof(FusionReactor) );
if (!reactor)
return NULL;
+ reactor->msg_size = msg_size;
+
direct_util_recursive_pthread_mutex_init( &reactor->reactions_lock );
direct_util_recursive_pthread_mutex_init( &reactor->globals_lock );
@@ -1628,20 +1673,7 @@ fusion_reactor_attach (FusionReactor *reactor,
void *ctx,
Reaction *reaction)
{
- D_ASSERT( reactor != NULL );
- D_ASSERT( func != NULL );
- D_ASSERT( reaction != NULL );
-
- reaction->func = func;
- reaction->ctx = ctx;
-
- pthread_mutex_lock( &reactor->reactions_lock );
-
- direct_list_prepend( &reactor->reactions, &reaction->link );
-
- pthread_mutex_unlock( &reactor->reactions_lock );
-
- return DR_OK;
+ return fusion_reactor_attach_channel( reactor, 0, func, ctx, reaction );
}
DirectResult
@@ -1672,6 +1704,8 @@ fusion_reactor_attach_global (FusionReactor *reactor,
reaction->index = index;
reaction->ctx = ctx;
+ // Mark the reaction as attached now.
+ reaction->attached = true;
pthread_mutex_lock( &reactor->globals_lock );
@@ -1691,7 +1725,15 @@ fusion_reactor_detach_global (FusionReactor *reactor,
pthread_mutex_lock( &reactor->globals_lock );
- direct_list_remove( &reactor->globals, &reaction->link );
+ // Check to prevent multiple detaches from being performed.
+ if (reaction->attached) {
+ // Mark as detached, since the global reaction is being removed
+ // from the global reaction list.
+ reaction->attached = false;
+
+ // Remove the reaction from the list.
+ direct_list_remove( &reactor->globals, &reaction->link );
+ }
pthread_mutex_unlock( &reactor->globals_lock );
@@ -1705,9 +1747,21 @@ fusion_reactor_attach_channel( FusionReactor *reactor,
void *ctx,
Reaction *reaction )
{
- D_UNIMPLEMENTED();
+ D_ASSERT( reactor != NULL );
+ D_ASSERT( func != NULL );
+ D_ASSERT( reaction != NULL );
- return DR_UNIMPLEMENTED;
+ reaction->func = func;
+ reaction->ctx = ctx;
+ reaction->node_link = (void*)(long) channel;
+
+ pthread_mutex_lock( &reactor->reactions_lock );
+
+ direct_list_prepend( &reactor->reactions, &reaction->link );
+
+ pthread_mutex_unlock( &reactor->reactions_lock );
+
+ return DR_OK;
}
DirectResult
@@ -1718,36 +1772,6 @@ fusion_reactor_dispatch_channel( FusionReactor *reactor,
bool self,
const ReactionFunc *globals )
{
- D_UNIMPLEMENTED();
-
- return DR_UNIMPLEMENTED;
-}
-
-DirectResult
-fusion_reactor_set_dispatch_callback( FusionReactor *reactor,
- FusionCall *call,
- void *call_ptr )
-{
- D_UNIMPLEMENTED();
-
- return DR_UNIMPLEMENTED;
-}
-
-DirectResult
-fusion_reactor_set_name( FusionReactor *reactor,
- const char *name )
-{
- D_UNIMPLEMENTED();
-
- return DR_UNIMPLEMENTED;
-}
-
-DirectResult
-fusion_reactor_dispatch (FusionReactor *reactor,
- const void *msg_data,
- bool self,
- const ReactionFunc *globals)
-{
DirectLink *l;
D_ASSERT( reactor != NULL );
@@ -1771,17 +1795,19 @@ fusion_reactor_dispatch (FusionReactor *reactor,
DirectLink *next = l->next;
Reaction *reaction = (Reaction*) l;
- switch (reaction->func( msg_data, reaction->ctx )) {
- case RS_REMOVE:
- direct_list_remove( &reactor->reactions, l );
- break;
+ if ((long) reaction->node_link == channel) {
+ switch (reaction->func( msg_data, reaction->ctx )) {
+ case RS_REMOVE:
+ direct_list_remove( &reactor->reactions, l );
+ break;
- case RS_DROP:
- pthread_mutex_unlock( &reactor->reactions_lock );
- return DR_OK;
+ case RS_DROP:
+ pthread_mutex_unlock( &reactor->reactions_lock );
+ return DR_OK;
- default:
- break;
+ default:
+ break;
+ }
}
l = next;
@@ -1793,6 +1819,34 @@ fusion_reactor_dispatch (FusionReactor *reactor,
}
DirectResult
+fusion_reactor_set_dispatch_callback( FusionReactor *reactor,
+ FusionCall *call,
+ void *call_ptr )
+{
+ D_UNIMPLEMENTED();
+
+ return DR_UNIMPLEMENTED;
+}
+
+DirectResult
+fusion_reactor_set_name( FusionReactor *reactor,
+ const char *name )
+{
+ D_UNIMPLEMENTED();
+
+ return DR_UNIMPLEMENTED;
+}
+
+DirectResult
+fusion_reactor_dispatch (FusionReactor *reactor,
+ const void *msg_data,
+ bool self,
+ const ReactionFunc *globals)
+{
+ return fusion_reactor_dispatch_channel( reactor, 0, msg_data, reactor->msg_size, self, globals );
+}
+
+DirectResult
fusion_reactor_direct( FusionReactor *reactor, bool direct )
{
D_ASSERT( reactor != NULL );
@@ -1858,13 +1912,27 @@ process_globals( FusionReactor *reactor,
D_WARN( "global reaction index out of bounds (%d/%d)", global->index, max_index );
}
else {
- if (globals[ global->index ]( msg_data, global->ctx ) == RS_REMOVE)
+ // Remove the reaction if requested.
+ if (globals[ global->index ]( msg_data, global->ctx ) == RS_REMOVE) {
+ // Mark as detached, since the global reaction is being
+ // removed from the global reaction list.
+ global->attached = false;
+
direct_list_remove( &reactor->globals, &global->link );
+ }
}
}
pthread_mutex_unlock( &reactor->globals_lock );
}
+DirectResult
+fusion_reactor_add_permissions( FusionReactor *reactor,
+ FusionID fusion_id,
+ FusionReactorPermissions permissions )
+{
+ return DR_OK;
+}
+
#endif
diff --git a/lib/fusion/reactor.h b/lib/fusion/reactor.h
index 3466c5a..10e5db8 100644
--- a/lib/fusion/reactor.h
+++ b/lib/fusion/reactor.h
@@ -193,5 +193,22 @@ DirectResult fusion_reactor_set_name ( FusionReactor *reactor,
DirectResult fusion_reactor_direct ( FusionReactor *reactor,
bool direct );
+
+typedef enum {
+ FUSION_REACTOR_PERMIT_NONE = 0x00000000,
+
+ FUSION_REACTOR_PERMIT_ATTACH_DETACH = 0x00000001,
+ FUSION_REACTOR_PERMIT_DISPATCH = 0x00000002,
+
+ FUSION_REACTOR_PERMIT_ALL = 0x00000003,
+} FusionReactorPermissions;
+
+/*
+ * Give permissions to another fusionee to use the reactor.
+ */
+DirectResult fusion_reactor_add_permissions( FusionReactor *reactor,
+ FusionID fusion_id,
+ FusionReactorPermissions permissions );
+
#endif
diff --git a/lib/fusion/ref.c b/lib/fusion/ref.c
index 6c278e6..08ed775 100644
--- a/lib/fusion/ref.c
+++ b/lib/fusion/ref.c
@@ -36,6 +36,7 @@
#include <sys/types.h>
#include <fusion/build.h>
+#include <fusion/conf.h>
#include <direct/debug.h>
#include <direct/messages.h>
@@ -133,6 +134,13 @@ fusion_ref_up (FusionRef *ref, bool global)
{
D_ASSERT( ref != NULL );
+ D_DEBUG_AT( Fusion_Ref, "fusion_ref_up( %p [%d]%s )\n", ref, ref->multi.id, global ? " GLOBAL" : "" );
+
+ if (ref->multi.id == fusion_config->trace_ref) {
+ D_INFO( "Fusion/Ref: 0x%08x up (%s)\n", ref->multi.id, global ? "global" : "local" );
+ direct_trace_print_stack( NULL );
+ }
+
while (ioctl (_fusion_fd( ref->multi.shared ), global ?
FUSION_REF_UP_GLOBAL : FUSION_REF_UP, &ref->multi.id))
{
@@ -156,6 +164,9 @@ fusion_ref_up (FusionRef *ref, bool global)
return DR_FAILURE;
}
+ D_DEBUG_AT( Fusion_Ref, " -> %d references now\n",
+ ioctl( _fusion_fd( ref->multi.shared ), FUSION_REF_STAT, &ref->multi.id ) );
+
return DR_OK;
}
@@ -164,6 +175,15 @@ fusion_ref_down (FusionRef *ref, bool global)
{
D_ASSERT( ref != NULL );
+ D_DEBUG_AT( Fusion_Ref, "fusion_ref_down( %p [%d]%s )\n", ref, ref->multi.id, global ? " GLOBAL" : "" );
+
+ if (ref->multi.id == fusion_config->trace_ref) {
+ D_INFO( "Fusion/Ref: 0x%08x down (%s)\n", ref->multi.id, global ? "global" : "local" );
+ direct_trace_print_stack( NULL );
+ }
+
+ fusion_world_flush_calls( _fusion_world( ref->multi.shared ), 1 );
+
while (ioctl (_fusion_fd( ref->multi.shared ), global ?
FUSION_REF_DOWN_GLOBAL : FUSION_REF_DOWN, &ref->multi.id))
{
@@ -185,6 +205,78 @@ fusion_ref_down (FusionRef *ref, bool global)
return DR_FAILURE;
}
+// FIMXE: the following had to be commented out as the ref down may cause a ref watcher to free the memory of 'ref' (via ioctl)
+#if 0
+ if (ref->multi.shared)
+ D_DEBUG_AT( Fusion_Ref, " -> %d references now\n",
+ ioctl( _fusion_fd( ref->multi.shared ), FUSION_REF_STAT, &ref->multi.id ) );
+ else
+ D_DEBUG_AT( Fusion_Ref, " -> destroyed\n" );
+#endif
+
+ return DR_OK;
+}
+
+DirectResult
+fusion_ref_catch (FusionRef *ref)
+{
+ D_ASSERT( ref != NULL );
+
+ if (ref->multi.id == fusion_config->trace_ref) {
+ D_INFO( "Fusion/Ref: 0x%08x catch\n", ref->multi.id );
+ direct_trace_print_stack( NULL );
+ }
+
+ while (ioctl (_fusion_fd( ref->multi.shared ), FUSION_REF_CATCH, &ref->multi.id)) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ case EINVAL:
+ D_ERROR ("Fusion/Reference: invalid reference\n");
+ return DR_DESTROYED;
+ default:
+ break;
+ }
+
+ D_PERROR ("FUSION_REF_CATCH");
+
+ return DR_FAILURE;
+ }
+
+ return DR_OK;
+}
+
+DirectResult
+fusion_ref_throw (FusionRef *ref, FusionID catcher)
+{
+ FusionRefThrow throw_;
+
+ D_ASSERT( ref != NULL );
+
+ if (ref->multi.id == fusion_config->trace_ref) {
+ D_INFO( "Fusion/Ref: 0x%08x throw\n", ref->multi.id );
+ direct_trace_print_stack( NULL );
+ }
+
+ throw_.id = ref->multi.id;
+ throw_.catcher = catcher;
+
+ while (ioctl (_fusion_fd( ref->multi.shared ), FUSION_REF_THROW, &throw_)) {
+ switch (errno) {
+ case EINTR:
+ continue;
+ case EINVAL:
+ D_ERROR ("Fusion/Reference: invalid reference\n");
+ return DR_DESTROYED;
+ default:
+ break;
+ }
+
+ D_PERROR ("FUSION_REF_THROW");
+
+ return DR_FAILURE;
+ }
+
return DR_OK;
}
@@ -359,6 +451,8 @@ fusion_ref_destroy (FusionRef *ref)
D_DEBUG_AT( Fusion_Ref, "fusion_ref_destroy( %p [%d] )\n", ref, ref->multi.id );
+ fusion_world_flush_calls( _fusion_world( ref->multi.shared ), 1 );
+
while (ioctl (_fusion_fd( ref->multi.shared ), FUSION_REF_DESTROY, &ref->multi.id)) {
switch (errno) {
case EINTR:
@@ -378,6 +472,59 @@ fusion_ref_destroy (FusionRef *ref)
return DR_OK;
}
+DirectResult
+fusion_ref_add_permissions( FusionRef *ref,
+ FusionID fusion_id,
+ FusionRefPermissions ref_permissions )
+{
+ FusionEntryPermissions permissions;
+
+ permissions.type = FT_REF;
+ permissions.id = ref->multi.id;
+ permissions.fusion_id = fusion_id;
+ permissions.permissions = 0;
+
+ if (ref_permissions & FUSION_REF_PERMIT_REF_UNREF_LOCAL) {
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_REF_UP );
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_REF_DOWN );
+ }
+
+ if (ref_permissions & FUSION_REF_PERMIT_REF_UNREF_GLOBAL) {
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_REF_UP_GLOBAL );
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_REF_DOWN_GLOBAL );
+ }
+
+ if (ref_permissions & FUSION_REF_PERMIT_ZERO_LOCK_UNLOCK) {
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_REF_ZERO_LOCK );
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_REF_ZERO_TRYLOCK );
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_REF_UNLOCK );
+ }
+
+ if (ref_permissions & FUSION_REF_PERMIT_WATCH)
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_REF_WATCH );
+
+ if (ref_permissions & FUSION_REF_PERMIT_INHERIT)
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_REF_INHERIT );
+
+ if (ref_permissions & FUSION_REF_PERMIT_DESTROY)
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_REF_DESTROY );
+
+ if (ref_permissions & FUSION_REF_PERMIT_CATCH)
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_REF_CATCH );
+
+ if (ref_permissions & FUSION_REF_PERMIT_THROW)
+ FUSION_ENTRY_PERMISSIONS_ADD( permissions.permissions, FUSION_REF_THROW );
+
+ while (ioctl( _fusion_fd( ref->multi.shared ), FUSION_ENTRY_ADD_PERMISSIONS, &permissions ) < 0) {
+ if (errno != EINTR) {
+ D_PERROR( "Fusion/Reactor: FUSION_ENTRY_ADD_PERMISSIONS( id %d ) failed!\n", ref->multi.id );
+ return DR_FAILURE;
+ }
+ }
+
+ return DR_OK;
+}
+
#else /* FUSION_BUILD_KERNEL */
DirectResult
@@ -421,7 +568,7 @@ _fusion_ref_change (FusionRef *ref, int add, bool global)
D_ASSERT( ref != NULL );
D_ASSERT( add != 0 );
-
+
ret = fusion_skirmish_prevail( &ref->multi.builtin.lock );
if (ret)
return ret;
@@ -618,6 +765,16 @@ fusion_ref_destroy (FusionRef *ref)
return DR_OK;
}
+DirectResult
+fusion_ref_add_permissions( FusionRef *ref,
+ FusionID fusion_id,
+ FusionRefPermissions ref_permissions )
+{
+ D_UNIMPLEMENTED();
+
+ return DR_UNIMPLEMENTED;
+}
+
#endif /* FUSION_BUILD_KERNEL */
#else /* FUSION_BUILD_MULTI */
@@ -707,6 +864,22 @@ fusion_ref_down (FusionRef *ref, bool global)
}
DirectResult
+fusion_ref_catch (FusionRef *ref)
+{
+ D_UNIMPLEMENTED();
+
+ return DR_OK;
+}
+
+DirectResult
+fusion_ref_throw (FusionRef *ref, FusionID catcher)
+{
+ D_UNIMPLEMENTED();
+
+ return DR_OK;
+}
+
+DirectResult
fusion_ref_stat (FusionRef *ref, int *refs)
{
D_ASSERT( ref != NULL );
@@ -845,5 +1018,13 @@ fusion_ref_destroy (FusionRef *ref)
return DR_OK;
}
+DirectResult
+fusion_ref_add_permissions( FusionRef *ref,
+ FusionID fusion_id,
+ FusionRefPermissions ref_permissions )
+{
+ return DR_OK;
+}
+
#endif
diff --git a/lib/fusion/ref.h b/lib/fusion/ref.h
index b9beda7..ced95fa 100644
--- a/lib/fusion/ref.h
+++ b/lib/fusion/ref.h
@@ -86,6 +86,16 @@ DirectResult fusion_ref_up (FusionRef *ref, bool global);
DirectResult fusion_ref_down (FusionRef *ref, bool global);
/*
+ * Catch reference
+ */
+DirectResult fusion_ref_catch (FusionRef *ref);
+
+/*
+ * Throw reference
+ */
+DirectResult fusion_ref_throw (FusionRef *ref, FusionID catcher);
+
+/*
* Get the current reference count. Meant for debugging only.
* This value is not reliable, because no locking will be performed
* and the value may change after or even while returning it.
@@ -130,5 +140,28 @@ DirectResult fusion_ref_inherit (FusionRef *ref,
*/
DirectResult fusion_ref_destroy (FusionRef *ref);
+
+typedef enum {
+ FUSION_REF_PERMIT_NONE = 0x00000000,
+
+ FUSION_REF_PERMIT_REF_UNREF_LOCAL = 0x00000001,
+ FUSION_REF_PERMIT_REF_UNREF_GLOBAL = 0x00000002,
+ FUSION_REF_PERMIT_ZERO_LOCK_UNLOCK = 0x00000004,
+ FUSION_REF_PERMIT_WATCH = 0x00000008,
+ FUSION_REF_PERMIT_INHERIT = 0x00000010,
+ FUSION_REF_PERMIT_DESTROY = 0x00000020,
+ FUSION_REF_PERMIT_CATCH = 0x00000040,
+ FUSION_REF_PERMIT_THROW = 0x00000080,
+
+ FUSION_REF_PERMIT_ALL = 0x000000FF,
+} FusionRefPermissions;
+
+/*
+ * Give permissions to another fusionee to use the reference.
+ */
+DirectResult fusion_ref_add_permissions( FusionRef *ref,
+ FusionID fusion_id,
+ FusionRefPermissions permissions );
+
#endif
diff --git a/lib/fusion/shm/Makefile.in b/lib/fusion/shm/Makefile.in
index 504ac2c..35d8606 100644
--- a/lib/fusion/shm/Makefile.in
+++ b/lib/fusion/shm/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,6 +47,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libfusion_shm_la_LIBADD =
am__libfusion_shm_la_SOURCES_DIST = fake.c heap.c pool.c shm.c
@@ -52,18 +55,35 @@ am__libfusion_shm_la_SOURCES_DIST = fake.c heap.c pool.c shm.c
@ENABLE_MULTI_TRUE at am__objects_1 = heap.lo pool.lo shm.lo
am_libfusion_shm_la_OBJECTS = $(am__objects_1)
libfusion_shm_la_OBJECTS = $(am_libfusion_shm_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libfusion_shm_la_SOURCES)
DIST_SOURCES = $(am__libfusion_shm_la_SOURCES_DIST)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -71,15 +91,36 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(includedir)"
-includeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(include_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -103,11 +144,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -121,16 +165,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -151,12 +196,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -167,21 +215,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -189,6 +245,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -202,6 +262,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -209,9 +270,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -258,6 +320,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
@@ -290,14 +353,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/fusion/shm/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/fusion/shm/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/fusion/shm/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu lib/fusion/shm/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -315,6 +378,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@@ -324,8 +388,8 @@ clean-noinstLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libfusion_shm.la: $(libfusion_shm_la_OBJECTS) $(libfusion_shm_la_DEPENDENCIES)
- $(LINK) $(libfusion_shm_la_OBJECTS) $(libfusion_shm_la_LIBADD) $(LIBS)
+libfusion_shm.la: $(libfusion_shm_la_OBJECTS) $(libfusion_shm_la_DEPENDENCIES) $(EXTRA_libfusion_shm_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libfusion_shm_la_OBJECTS) $(libfusion_shm_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -339,25 +403,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/shm.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -367,34 +431,35 @@ clean-libtool:
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
- @list='$(include_HEADERS)'; for p in $$list; do \
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
- $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(includedir)/$$f"; \
- done
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -402,29 +467,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -445,13 +515,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -472,16 +546,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -503,6 +583,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -511,18 +593,28 @@ install-data-am: install-includeHEADERS
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -561,6 +653,7 @@ uninstall-am: uninstall-includeHEADERS
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-includeHEADERS
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/lib/fusion/shm/heap.c b/lib/fusion/shm/heap.c
index 4a76229..ee9ba24 100644
--- a/lib/fusion/shm/heap.c
+++ b/lib/fusion/shm/heap.c
@@ -596,7 +596,6 @@ __shmalloc_init_heap( FusionSHM *shm,
const char *filename,
void *addr_base,
int space,
- int *ret_fd,
int *ret_size )
{
DirectResult ret;
@@ -606,13 +605,12 @@ __shmalloc_init_heap( FusionSHM *shm,
int fd = -1;
shmalloc_heap *heap = NULL;
- D_DEBUG_AT( Fusion_SHMHeap, "%s( %p, '%s', %p, %d, %p, %p )\n",
- __FUNCTION__, shm, filename, addr_base, space, ret_fd, ret_size );
+ D_DEBUG_AT( Fusion_SHMHeap, "%s( %p, '%s', %p, %d, %p )\n",
+ __FUNCTION__, shm, filename, addr_base, space, ret_size );
D_MAGIC_ASSERT( shm, FusionSHM );
D_ASSERT( filename != NULL );
D_ASSERT( addr_base != NULL );
- D_ASSERT( ret_fd != NULL );
D_ASSERT( ret_size != NULL );
shared = shm->shared;
@@ -639,8 +637,12 @@ __shmalloc_init_heap( FusionSHM *shm,
D_WARN( "Fusion/SHM: Changing owner on %s failed... continuing on.", filename );
}
- fchmod( fd, 0660 );
- ftruncate( fd, size );
+ fchmod( fd, fusion_config->secure_fusion ? 0640 : 0660 );
+
+ if (fusion_config->madv_remove)
+ ftruncate( fd, size + space );
+ else
+ ftruncate( fd, size );
D_DEBUG_AT( Fusion_SHMHeap, " -> mmaping shared memory file... (%d bytes)\n", size );
@@ -658,6 +660,8 @@ __shmalloc_init_heap( FusionSHM *shm,
goto error;
}
+ close( fd );
+
D_DEBUG_AT( Fusion_SHMHeap, " -> done.\n" );
heap->size = size;
@@ -665,9 +669,10 @@ __shmalloc_init_heap( FusionSHM *shm,
heap->heapinfo = (void*) heap + BLOCKALIGN(sizeof(shmalloc_heap));
heap->heapbase = (char*) heap->heapinfo;
+ direct_snputs( heap->filename, filename, sizeof(heap->filename) );
+
D_MAGIC_SET( heap, shmalloc_heap );
- *ret_fd = fd;
*ret_size = size;
return DR_OK;
@@ -690,21 +695,25 @@ __shmalloc_join_heap( FusionSHM *shm,
const char *filename,
void *addr_base,
int size,
- int *ret_fd )
+ bool write )
{
DirectResult ret;
FusionSHMShared *shared;
int fd = -1;
shmalloc_heap *heap = NULL;
+ int open_flags = write ? O_RDWR : O_RDONLY;
+ int prot_flags = PROT_READ;
- D_DEBUG_AT( Fusion_SHMHeap, "%s( %p, '%s', %p, %d, %p )\n",
- __FUNCTION__, shm, filename, addr_base, size, ret_fd );
+ if (write)
+ prot_flags |= PROT_WRITE;
+
+ D_DEBUG_AT( Fusion_SHMHeap, "%s( %p, '%s', %p, %d )\n",
+ __FUNCTION__, shm, filename, addr_base, size );
D_MAGIC_ASSERT( shm, FusionSHM );
D_ASSERT( filename != NULL );
D_ASSERT( addr_base != NULL );
D_ASSERT( size >= sizeof(shmalloc_heap) );
- D_ASSERT( ret_fd != NULL );
shared = shm->shared;
@@ -714,7 +723,7 @@ __shmalloc_join_heap( FusionSHM *shm,
D_DEBUG_AT( Fusion_SHMHeap, " -> opening shared memory file '%s'...\n", filename );
/* open the virtual file */
- fd = open( filename, O_RDWR );
+ fd = open( filename, open_flags );
if (fd < 0) {
ret = errno2result(errno);
D_PERROR( "Fusion/SHM: Could not open shared memory file '%s'!\n", filename );
@@ -724,7 +733,7 @@ __shmalloc_join_heap( FusionSHM *shm,
D_DEBUG_AT( Fusion_SHMHeap, " -> mmaping shared memory file... (%d bytes)\n", size );
/* map it shared */
- heap = mmap( addr_base, size, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_FIXED, fd, 0 );
+ heap = mmap( addr_base, size, prot_flags, MAP_SHARED | MAP_FIXED, fd, 0 );
if (heap == MAP_FAILED) {
ret = errno2result(errno);
D_PERROR( "Fusion/SHM: Could not mmap shared memory file '%s'!\n", filename );
@@ -737,12 +746,12 @@ __shmalloc_join_heap( FusionSHM *shm,
goto error;
}
+ close( fd );
+
D_MAGIC_ASSERT( heap, shmalloc_heap );
D_DEBUG_AT( Fusion_SHMHeap, " -> done.\n" );
- *ret_fd = fd;
-
return DR_OK;
@@ -759,9 +768,6 @@ error:
void *
__shmalloc_brk( shmalloc_heap *heap, int increment )
{
- FusionSHMShared *shm;
- FusionWorld *world;
- FusionSHMPool *pool;
FusionSHMPoolShared *shared;
D_DEBUG_AT( Fusion_SHMHeap, "%s( %p, %d )\n", __FUNCTION__, heap, increment );
@@ -771,15 +777,6 @@ __shmalloc_brk( shmalloc_heap *heap, int increment )
shared = heap->pool;
D_MAGIC_ASSERT( shared, FusionSHMPoolShared );
- shm = shared->shm;
- D_MAGIC_ASSERT( shm, FusionSHMShared );
-
- world = _fusion_world( shm->world );
- D_MAGIC_ASSERT( world, FusionWorld );
-
- pool = &world->shm.pools[shared->index];
- D_MAGIC_ASSERT( pool, FusionSHMPool );
-
if (increment) {
int new_size = heap->size + increment;
@@ -789,7 +786,7 @@ __shmalloc_brk( shmalloc_heap *heap, int increment )
return NULL;
}
- if (ftruncate( pool->fd, new_size ) < 0) {
+ if (!fusion_config->madv_remove && truncate( heap->filename, new_size ) < 0) {
D_PERROR( "Fusion/SHM: ftruncating shared memory file failed!\n" );
return NULL;
}
diff --git a/lib/fusion/shm/pool.c b/lib/fusion/shm/pool.c
index 030314f..a0b70d8 100644
--- a/lib/fusion/shm/pool.c
+++ b/lib/fusion/shm/pool.c
@@ -36,6 +36,7 @@
#include <direct/mem.h>
#include <direct/messages.h>
+#include <fusion/conf.h>
#include <fusion/shmalloc.h>
#include <fusion/fusion_internal.h>
@@ -208,7 +209,6 @@ DirectResult
fusion_shm_pool_attach( FusionSHM *shm,
FusionSHMPoolShared *pool )
{
- DirectResult ret;
FusionSHMShared *shared;
D_DEBUG_AT( Fusion_SHMPool, "%s( %p, %p )\n", __FUNCTION__, shm, pool );
@@ -222,22 +222,13 @@ fusion_shm_pool_attach( FusionSHM *shm,
D_ASSERT( shared == pool->shm );
- ret = fusion_skirmish_prevail( &pool->lock );
- if (ret) {
- return ret;
- }
-
D_ASSERT( pool->active );
D_ASSERT( pool->index >= 0 );
D_ASSERT( pool->index < FUSION_SHM_MAX_POOLS );
D_ASSERT( pool == &shared->pools[pool->index] );
D_ASSERT( !shm->pools[pool->index].attached );
- ret = join_pool( shm, &shm->pools[pool->index], pool );
-
- fusion_skirmish_dismiss( &pool->lock );
-
- return ret;
+ return join_pool( shm, &shm->pools[pool->index], pool );
}
DirectResult
@@ -258,12 +249,6 @@ fusion_shm_pool_detach( FusionSHM *shm,
D_ASSERT( shared == pool->shm );
- ret = fusion_skirmish_prevail( &pool->lock );
- if (ret) {
- fusion_skirmish_dismiss( &shared->lock );
- return ret;
- }
-
D_ASSERT( pool->active );
D_ASSERT( pool->index >= 0 );
D_ASSERT( pool->index < FUSION_SHM_MAX_POOLS );
@@ -275,8 +260,6 @@ fusion_shm_pool_detach( FusionSHM *shm,
leave_pool( shm, &shm->pools[pool->index], pool );
- fusion_skirmish_dismiss( &pool->lock );
-
return DR_OK;
}
@@ -412,7 +395,6 @@ init_pool( FusionSHM *shm,
bool debug )
{
DirectResult ret;
- int fd;
int size;
FusionWorld *world;
FusionSHMPoolNew pool_new = { .pool_id = 0 };
@@ -458,6 +440,10 @@ init_pool( FusionSHM *shm,
ioctl( world->fusion_fd, FUSION_ENTRY_SET_INFO, &info );
+ fusion_entry_add_permissions( world, FT_SHMPOOL, pool_new.pool_id, 0,
+ FUSION_SHMPOOL_ATTACH,
+ FUSION_SHMPOOL_DETACH,
+ 0 );
/* Set pool to attach to. */
pool_attach.pool_id = pool_new.pool_id;
@@ -485,7 +471,7 @@ init_pool( FusionSHM *shm,
fusion_world_index( shm->world ), pool_new.pool_id );
/* Initialize the heap. */
- ret = __shmalloc_init_heap( shm, buf, pool_new.addr_base, max_size, &fd, &size );
+ ret = __shmalloc_init_heap( shm, buf, pool_new.addr_base, max_size, &size );
if (ret) {
while (ioctl( world->fusion_fd, FUSION_SHMPOOL_DESTROY, &shared->pool_id )) {
if (errno != EINTR) {
@@ -503,7 +489,6 @@ init_pool( FusionSHM *shm,
pool->shm = shm;
pool->shared = shared;
pool->pool_id = pool_new.pool_id;
- pool->fd = fd;
pool->filename = D_STRDUP( buf );
/* Initialize shared data. */
@@ -534,7 +519,6 @@ join_pool( FusionSHM *shm,
FusionSHMPoolShared *shared )
{
DirectResult ret;
- int fd;
FusionWorld *world;
FusionSHMPoolAttach pool_attach = { .pool_id = 0 };
char buf[FUSION_SHM_TMPFS_PATH_NAME_LEN + 32];
@@ -575,7 +559,8 @@ join_pool( FusionSHM *shm,
fusion_world_index( shm->world ), shared->pool_id );
/* Join the heap. */
- ret = __shmalloc_join_heap( shm, buf, pool_attach.addr_base, shared->max_size, &fd );
+ ret = __shmalloc_join_heap( shm, buf, pool_attach.addr_base, shared->max_size,
+ !fusion_config->secure_fusion );
if (ret) {
while (ioctl( world->fusion_fd, FUSION_SHMPOOL_DETACH, &shared->pool_id )) {
if (errno != EINTR) {
@@ -593,7 +578,6 @@ join_pool( FusionSHM *shm,
pool->shm = shm;
pool->shared = shared;
pool->pool_id = shared->pool_id;
- pool->fd = fd;
pool->filename = D_STRDUP( buf );
@@ -629,9 +613,6 @@ leave_pool( FusionSHM *shm,
if (munmap( shared->addr_base, shared->max_size ))
D_PERROR( "Fusion/SHM: Could not munmap shared memory file '%s'!\n", pool->filename );
- if (pool->fd != -1 && close( pool->fd ))
- D_PERROR( "Fusion/SHM: Could not close shared memory file '%s'!\n", pool->filename );
-
pool->attached = false;
D_FREE( pool->filename );
@@ -670,9 +651,6 @@ shutdown_pool( FusionSHM *shm,
if (munmap( shared->addr_base, shared->max_size ))
D_PERROR( "Fusion/SHM: Could not munmap shared memory file '%s'!\n", pool->filename );
- if (pool->fd != -1 && close( pool->fd ))
- D_PERROR( "Fusion/SHM: Could not close shared memory file '%s'!\n", pool->filename );
-
if (unlink( pool->filename ))
D_PERROR( "Fusion/SHM: Could not unlink shared memory file '%s'!\n", pool->filename );
@@ -700,7 +678,6 @@ init_pool( FusionSHM *shm,
bool debug )
{
DirectResult ret;
- int fd;
int size;
long page_size;
int pool_id;
@@ -742,16 +719,15 @@ init_pool( FusionSHM *shm,
fusion_world_index( world ), pool_id );
/* Initialize the heap. */
- ret = __shmalloc_init_heap( shm, buf, pool_addr_base, max_size, &fd, &size );
+ ret = __shmalloc_init_heap( shm, buf, pool_addr_base, max_size, &size );
if (ret)
return ret;
- /* Initialize local data. */
+ /* initialize local data. */
pool->attached = true;
pool->shm = shm;
pool->shared = shared;
pool->pool_id = pool_id;
- pool->fd = fd;
pool->filename = D_STRDUP( buf );
/* Initialize shared data. */
@@ -782,7 +758,6 @@ join_pool( FusionSHM *shm,
FusionSHMPoolShared *shared )
{
DirectResult ret;
- int fd;
FusionWorld *world;
char buf[FUSION_SHM_TMPFS_PATH_NAME_LEN + 32];
@@ -808,7 +783,7 @@ join_pool( FusionSHM *shm,
fusion_world_index( shm->world ), shared->pool_id );
/* Join the heap. */
- ret = __shmalloc_join_heap( shm, buf, shared->addr_base, shared->max_size, &fd );
+ ret = __shmalloc_join_heap( shm, buf, shared->addr_base, shared->max_size );
if (ret)
return ret;
@@ -817,7 +792,6 @@ join_pool( FusionSHM *shm,
pool->shm = shm;
pool->shared = shared;
pool->pool_id = shared->pool_id;
- pool->fd = fd;
pool->filename = D_STRDUP( buf );
@@ -846,9 +820,6 @@ leave_pool( FusionSHM *shm,
if (munmap( shared->addr_base, shared->max_size ))
D_PERROR( "Fusion/SHM: Could not munmap shared memory file '%s'!\n", pool->filename );
- if (pool->fd != -1 && close( pool->fd ))
- D_PERROR( "Fusion/SHM: Could not close shared memory file '%s'!\n", pool->filename );
-
pool->attached = false;
D_FREE( pool->filename );
@@ -880,9 +851,6 @@ shutdown_pool( FusionSHM *shm,
if (munmap( shared->addr_base, shared->max_size ))
D_PERROR( "Fusion/SHM: Could not munmap shared memory file '%s'!\n", pool->filename );
- if (pool->fd != -1 && close( pool->fd ))
- D_PERROR( "Fusion/SHM: Could not close shared memory file '%s'!\n", pool->filename );
-
if (unlink( pool->filename ))
D_PERROR( "Fusion/SHM: Could not unlink shared memory file '%s'!\n", pool->filename );
diff --git a/lib/fusion/shm/shm.c b/lib/fusion/shm/shm.c
index 21c7f42..b4d8139 100644
--- a/lib/fusion/shm/shm.c
+++ b/lib/fusion/shm/shm.c
@@ -52,8 +52,8 @@
/**********************************************************************************************************************/
-static int
-find_tmpfs( char *name, int len )
+int
+fusion_find_tmpfs( char *name, int len )
{
int largest = 0;
char buffer[1024];
@@ -77,7 +77,7 @@ find_tmpfs( char *name, int len )
(!strcmp( mount_fs, "tmpfs" ) || !strcmp( mount_fs, "shmfs" ) || !strcmp( mount_fs, "ramfs" )))
{
struct statfs stat;
- int bytes;
+ s64 bytes;
if (statfs( mount_point, &stat )) {
D_PERROR( "Fusion/SHM: statfs on '%s' failed!\n", mount_point );
@@ -127,11 +127,11 @@ fusion_shm_init( FusionWorld *world )
memset( shared, 0, sizeof(FusionSHMShared) );
if (fusion_config->tmpfs) {
- snprintf( shared->tmpfs, FUSION_SHM_TMPFS_PATH_NAME_LEN, fusion_config->tmpfs );
+ direct_snputs( shared->tmpfs, fusion_config->tmpfs, FUSION_SHM_TMPFS_PATH_NAME_LEN );
}
- else if (!find_tmpfs( shared->tmpfs, FUSION_SHM_TMPFS_PATH_NAME_LEN )) {
+ else if (!fusion_find_tmpfs( shared->tmpfs, FUSION_SHM_TMPFS_PATH_NAME_LEN )) {
D_ERROR( "Fusion/SHM: Could not find tmpfs mount point, falling back to /dev/shm!\n" );
- snprintf( shared->tmpfs, FUSION_SHM_TMPFS_PATH_NAME_LEN, "/dev/shm" );
+ direct_snputs( shared->tmpfs, "/dev/shm", FUSION_SHM_TMPFS_PATH_NAME_LEN );
}
shared->world = world->shared;
@@ -143,6 +143,8 @@ fusion_shm_init( FusionWorld *world )
return ret;
}
+ fusion_skirmish_add_permissions( &shared->lock, 0, FUSION_SKIRMISH_PERMIT_PREVAIL | FUSION_SKIRMISH_PERMIT_DISMISS );
+
/* Initialize static pool array. */
for (i=0; i<FUSION_SHM_MAX_POOLS; i++)
shared->pools[i].index = i;
diff --git a/lib/fusion/shm/shm.h b/lib/fusion/shm/shm.h
index 6764d17..9a73dbe 100644
--- a/lib/fusion/shm/shm.h
+++ b/lib/fusion/shm/shm.h
@@ -44,5 +44,8 @@ DirectResult fusion_shm_enum_pools( FusionWorld *world,
FusionSHMPoolCallback callback,
void *ctx );
+
+int fusion_find_tmpfs( char *name, int len );
+
#endif
diff --git a/lib/fusion/shm/shm_internal.h b/lib/fusion/shm/shm_internal.h
index 197f7d7..9cdbea2 100644
--- a/lib/fusion/shm/shm_internal.h
+++ b/lib/fusion/shm/shm_internal.h
@@ -58,7 +58,6 @@ struct __Fusion_FusionSHMPool {
int pool_id; /* The pool's ID within the world. */
- int fd; /* File descriptor of shared memory file. */
char *filename; /* Name of the shared memory file. */
};
@@ -233,6 +232,8 @@ struct __shmalloc_heap {
/* Back pointer to shared memory pool. */
FusionSHMPoolShared *pool;
+
+ char filename[FUSION_SHM_TMPFS_PATH_NAME_LEN+32];
};
@@ -247,14 +248,13 @@ DirectResult __shmalloc_init_heap( FusionSHM *shm,
const char *filename,
void *addr_base,
int space,
- int *ret_fd,
int *ret_size );
DirectResult __shmalloc_join_heap( FusionSHM *shm,
const char *filename,
void *addr_base,
int size,
- int *ret_fd );
+ bool write );
void *__shmalloc_brk ( shmalloc_heap *heap,
int increment );
diff --git a/lib/fusion/shmalloc.c b/lib/fusion/shmalloc.c
index 5fd3408..eb0c4cd 100644
--- a/lib/fusion/shmalloc.c
+++ b/lib/fusion/shmalloc.c
@@ -94,8 +94,8 @@ fill_shmem_desc( SHMemDesc *desc, int bytes, const char *func, const char *file,
desc->mem = desc + 1;
desc->bytes = bytes;
- snprintf( desc->func, SHMEMDESC_FUNC_NAME_LENGTH, func );
- snprintf( desc->file, SHMEMDESC_FILE_NAME_LENGTH, file );
+ direct_snputs( desc->func, func, SHMEMDESC_FUNC_NAME_LENGTH );
+ direct_snputs( desc->file, file, SHMEMDESC_FILE_NAME_LENGTH );
desc->line = line;
desc->fid = fusion_id;
diff --git a/lib/fusion/types.h b/lib/fusion/types.h
index bb5967f..d73acce 100644
--- a/lib/fusion/types.h
+++ b/lib/fusion/types.h
@@ -31,12 +31,14 @@
#include <fusion/build.h>
+#include <direct/types.h>
+
#if FUSION_BUILD_MULTI && FUSION_BUILD_KERNEL
#include <linux/fusion.h>
#define FUSION_API_MAJOR_REQUIRED 8
-#define FUSION_API_MINOR_REQUIRED 0
+#define FUSION_API_MINOR_REQUIRED 8
#if FUSION_API_MAJOR_REQUIRED > FUSION_API_MAJOR_PROVIDED
#error Major version of Fusion Kernel Module too low! Upgrade your kernel.
@@ -48,6 +50,12 @@
#endif
#endif
+
+#if FUSION_API_MAJOR_PROVIDED == 8 && FUSION_API_MINOR_PROVIDED == 8 && FUSION_API_MICRO_PROVIDED == 0
+#define FCEF_QUEUE (0)
+#endif
+
+
#else
typedef unsigned long FusionID;
@@ -56,7 +64,8 @@ typedef unsigned long FusionID;
typedef enum {
FCEF_NONE = 0x00000000,
FCEF_ONEWAY = 0x00000001,
- FCEF_ALL = 0x00000001
+ FCEF_QUEUE = 0x00000002,
+ FCEF_ALL = 0x00000003
} FusionCallExecFlags;
#endif
diff --git a/lib/fusion/vector.h b/lib/fusion/vector.h
index e978ce9..d8cbc8d 100644
--- a/lib/fusion/vector.h
+++ b/lib/fusion/vector.h
@@ -157,7 +157,9 @@ fusion_vector_index_of( const FusionVector *vector, const void *element )
#define fusion_vector_foreach_reverse(element, index, vector) \
for ((index) = (vector).count - 1; \
- (index) >= 0 && (element = (vector).elements[index]); \
+ (index) >= 0 && (vector).count && \
+ (vector).elements && \
+ (element = (vector).elements[index]); \
(index)--)
#endif
diff --git a/lib/voodoo/Makefile.am b/lib/voodoo/Makefile.am
index 26ba19e..5dfd668 100644
--- a/lib/voodoo/Makefile.am
+++ b/lib/voodoo/Makefile.am
@@ -29,6 +29,7 @@ include_HEADERS = \
manager.h \
message.h \
server.h \
+ play.h \
types.h
@@ -40,6 +41,7 @@ libvoodoo_la_SOURCES = \
interface.c \
internal.h \
manager.c \
+ play.c \
server.c
libvoodoo_la_LDFLAGS = \
diff --git a/lib/voodoo/Makefile.in b/lib/voodoo/Makefile.in
index 12ca50a..f6a7595 100644
--- a/lib/voodoo/Makefile.in
+++ b/lib/voodoo/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,8 +19,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -47,46 +49,83 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = build.h voodoo.pc
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \
"$(DESTDIR)$(includedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
libvoodoo_la_DEPENDENCIES = ../direct/libdirect.la
am_libvoodoo_la_OBJECTS = client.lo conf.lo interface.lo manager.lo \
- server.lo
+ play.lo server.lo
libvoodoo_la_OBJECTS = $(am_libvoodoo_la_OBJECTS)
-libvoodoo_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libvoodoo_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libvoodoo_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libvoodoo_la_SOURCES)
DIST_SOURCES = $(libvoodoo_la_SOURCES)
-pkgconfigDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgconfig_DATA)
-includeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(include_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -110,11 +149,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -128,16 +170,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -158,12 +201,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -174,21 +220,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -196,6 +250,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -209,6 +267,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -216,9 +275,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -265,6 +325,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
@@ -287,6 +348,7 @@ include_HEADERS = \
manager.h \
message.h \
server.h \
+ play.h \
types.h
lib_LTLIBRARIES = libvoodoo.la
@@ -296,6 +358,7 @@ libvoodoo_la_SOURCES = \
interface.c \
internal.h \
manager.c \
+ play.c \
server.c
libvoodoo_la_LDFLAGS = \
@@ -313,14 +376,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/voodoo/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/voodoo/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/voodoo/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu lib/voodoo/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -330,6 +393,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/nmfile.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -338,6 +402,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
build.h: $(top_builddir)/config.status $(srcdir)/build.h.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
voodoo.pc: $(top_builddir)/config.status $(srcdir)/voodoo.pc.in
@@ -345,20 +410,24 @@ voodoo.pc: $(top_builddir)/config.status $(srcdir)/voodoo.pc.in
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
@@ -369,8 +438,8 @@ clean-libLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libvoodoo.la: $(libvoodoo_la_OBJECTS) $(libvoodoo_la_DEPENDENCIES)
- $(libvoodoo_la_LINK) -rpath $(libdir) $(libvoodoo_la_OBJECTS) $(libvoodoo_la_LIBADD) $(LIBS)
+libvoodoo.la: $(libvoodoo_la_OBJECTS) $(libvoodoo_la_DEPENDENCIES) $(EXTRA_libvoodoo_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libvoodoo_la_LINK) -rpath $(libdir) $(libvoodoo_la_OBJECTS) $(libvoodoo_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -382,28 +451,29 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/conf.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/interface.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/manager.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/play.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/server.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -413,51 +483,53 @@ clean-libtool:
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
done
uninstall-pkgconfigDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
- done
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
- @list='$(include_HEADERS)'; for p in $$list; do \
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
- $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(includedir)/$$f"; \
- done
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -465,29 +537,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -508,13 +585,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -535,16 +616,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -568,6 +655,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -577,18 +666,28 @@ install-data-am: install-data-local install-includeHEADERS \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am: install-exec-local install-libLTLIBRARIES
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -659,6 +758,7 @@ install-exec-local:
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE at install-data-local: install-libLTLIBRARIES
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE@ mkdir -p -- "$(DESTDIR)$(libdir)"
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE@ nm -n "$(DESTDIR)$(libdir)/$(LIBTONM)" > "$(DESTDIR)$(libdir)/nm-n.$(LIBTONM)"
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/lib/voodoo/build.h b/lib/voodoo/build.h
index c5553e2..b8c4f9e 100644
--- a/lib/voodoo/build.h
+++ b/lib/voodoo/build.h
@@ -1,6 +1,6 @@
/*
- (c) Copyright 2000-2002 convergence integrated media GmbH.
- (c) Copyright 2002-2004 convergence GmbH.
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -28,7 +28,9 @@
#ifndef __VOODOO__BUILD_H__
#define __VOODOO__BUILD_H__
-/* nothing yet */
+
+#define VOODOO_BUILD_NO_SETSOCKOPT (0)
+
#endif
diff --git a/lib/voodoo/build.h.in b/lib/voodoo/build.h.in
index c5553e2..52d1792 100644
--- a/lib/voodoo/build.h.in
+++ b/lib/voodoo/build.h.in
@@ -1,6 +1,6 @@
/*
- (c) Copyright 2000-2002 convergence integrated media GmbH.
- (c) Copyright 2002-2004 convergence GmbH.
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -28,7 +28,9 @@
#ifndef __VOODOO__BUILD_H__
#define __VOODOO__BUILD_H__
-/* nothing yet */
+
+#define VOODOO_BUILD_NO_SETSOCKOPT (@VOODOO_BUILD_NO_SETSOCKOPT@)
+
#endif
diff --git a/lib/voodoo/client.c b/lib/voodoo/client.c
index 00616a0..049fb74 100644
--- a/lib/voodoo/client.c
+++ b/lib/voodoo/client.c
@@ -44,23 +44,36 @@
#include <netdb.h>
#include <direct/debug.h>
+#include <direct/list.h>
#include <direct/mem.h>
#include <direct/messages.h>
#include <direct/util.h>
#include <voodoo/client.h>
#include <voodoo/internal.h>
+#include <voodoo/play.h>
+/**********************************************************************************************************************/
struct __V_VoodooClient {
+ DirectLink link;
+
+ int refs;
+
int fd;
VoodooManager *manager;
+
+ char *host;
+ int port;
};
+static DirectLink *m_clients;
+
+/**********************************************************************************************************************/
DirectResult
-voodoo_client_create( const char *hostname,
- int session,
+voodoo_client_create( const char *host,
+ int port,
VoodooClient **ret_client )
{
DirectResult ret;
@@ -68,9 +81,61 @@ voodoo_client_create( const char *hostname,
struct addrinfo hints;
struct addrinfo *addr;
VoodooClient *client;
+ char buf[100] = { 0 };
+ const char *hostname = host;
+ char portstr[10];
D_ASSERT( ret_client != NULL );
+ if (!host)
+ host = "";
+
+ if (!port)
+ port = 2323;
+
+ direct_list_foreach (client, m_clients) {
+ if (!strcmp( client->host, host ) && client->port == port) {
+ D_INFO( "Voodoo/Client: Reconnecting to '%s', increasing ref count of existing connection!\n", host );
+
+ client->refs++;
+
+ *ret_client = client;
+
+ return DR_OK;
+ }
+ }
+
+ if (!hostname || !hostname[0]) {
+ int n;
+ VoodooPlayer *player;
+
+ ret = voodoo_player_create( NULL, &player );
+ if (ret) {
+ D_DERROR( ret, "Voodoo/Proxy: Could not create the player!\n" );
+ return ret;
+ }
+
+ for (n=0; n<10; n++) {
+ voodoo_player_broadcast( player );
+
+ usleep( 20000 );
+
+ if (voodoo_player_lookup( player, NULL, buf, sizeof(buf) ) == DR_OK)
+ break;
+
+ usleep( 100000 );
+ }
+
+ voodoo_player_destroy( player );
+
+ if (!buf[0]) {
+ D_ERROR( "Voodoo/Play: Did not find any other player!\n" );
+ return DR_ITEMNOTFOUND;
+ }
+
+ hostname = buf;
+ }
+
memset( &hints, 0, sizeof(hints) );
hints.ai_flags = AI_CANONNAME;
hints.ai_socktype = SOCK_STREAM;
@@ -78,30 +143,34 @@ voodoo_client_create( const char *hostname,
D_INFO( "Voodoo/Client: Looking up host '%s'...\n", hostname );
- err = getaddrinfo( hostname, "2323", &hints, &addr );
+ snprintf( portstr, sizeof(portstr), "%d", port );
+
+ err = getaddrinfo( hostname, portstr, &hints, &addr );
if (err) {
switch (err) {
case EAI_FAMILY:
D_ERROR( "Direct/Log: Unsupported address family!\n" );
return DR_UNSUPPORTED;
-
+
case EAI_SOCKTYPE:
D_ERROR( "Direct/Log: Unsupported socket type!\n" );
return DR_UNSUPPORTED;
-
+
case EAI_NONAME:
D_ERROR( "Direct/Log: Host not found!\n" );
return DR_FAILURE;
-
+
case EAI_SERVICE:
- D_ERROR( "Direct/Log: Port 2323 is unreachable!\n" );
+ D_ERROR( "Direct/Log: Service is unreachable!\n" );
return DR_FAILURE;
-
+
+#ifdef EAI_ADDRFAMILY
case EAI_ADDRFAMILY:
+#endif
case EAI_NODATA:
D_ERROR( "Direct/Log: Host found, but has no address!\n" );
return DR_FAILURE;
-
+
case EAI_MEMORY:
return D_OOM();
@@ -112,7 +181,7 @@ voodoo_client_create( const char *hostname,
case EAI_AGAIN:
D_ERROR( "Direct/Log: Temporary error, try again!\n" );
return DR_TEMPUNAVAIL;
-
+
default:
D_ERROR( "Direct/Log: Unknown error occured!?\n" );
return DR_FAILURE;
@@ -127,7 +196,7 @@ voodoo_client_create( const char *hostname,
return errno2result( errno );
}
- D_INFO( "Voodoo/Client: Connecting to '%s:2323'...\n", addr->ai_canonname );
+ D_INFO( "Voodoo/Client: Connecting to '%s:%d'...\n", addr->ai_canonname, port );
/* Connect to the server. */
err = connect( fd, addr->ai_addr, addr->ai_addrlen );
@@ -159,6 +228,12 @@ voodoo_client_create( const char *hostname,
return ret;
}
+ client->refs = 1;
+ client->host = D_STRDUP( host );
+ client->port = port;
+
+ direct_list_prepend( &m_clients, &client->link );
+
/* Return the new client. */
*ret_client = client;
@@ -170,11 +245,19 @@ voodoo_client_destroy( VoodooClient *client )
{
D_ASSERT( client != NULL );
+ D_INFO( "Voodoo/Client: Decreasing ref count of connection...\n" );
+
+ if (! --(client->refs)) {
voodoo_manager_destroy( client->manager );
+ D_INFO("closing socket\n");
close( client->fd );
+ direct_list_remove( &m_clients, &client->link );
+
+ D_FREE( client->host );
D_FREE( client );
+ }
return DR_OK;
}
diff --git a/lib/voodoo/conf.c b/lib/voodoo/conf.c
index 8eb70b7..aa97836 100644
--- a/lib/voodoo/conf.c
+++ b/lib/voodoo/conf.c
@@ -28,6 +28,13 @@
#include <config.h>
+#include <string.h>
+
+#include <direct/conf.h>
+#include <direct/mem.h>
+#include <direct/messages.h>
+#include <direct/util.h>
+
#include <voodoo/conf.h>
@@ -35,4 +42,162 @@ static VoodooConfig config = {
};
VoodooConfig *voodoo_config = &config;
+const char *voodoo_config_usage =
+ "libvoodoo options:\n"
+ " player-name=<name> Set player name\n"
+ " player-vendor=<name> Set player vendor\n"
+ " player-model=<name> Set player model\n"
+ " player-uuid=<name> Set player uuid\n"
+ " proxy-memory-max=<kB> Set maximum amount of memory per connection\n"
+ " proxy-surface-max=<kB> Set maximum amount of memory per surface\n"
+ " [no-]server-fork Fork a new process for each connection (default: no)\n"
+ " server-single=<interface> Enable single client mode for super interface, e.g. IDirectFB\n"
+ "\n";
+
+/**********************************************************************************************************************/
+
+DirectResult
+voodoo_config_set( const char *name, const char *value )
+{
+ if (strcmp (name, "player-name" ) == 0) {
+ if (value) {
+ direct_snputs( voodoo_config->play_info.name, value, VOODOO_PLAYER_NAME_LENGTH );
+ }
+ else {
+ D_ERROR( "Voodoo/Config '%s': No value specified!\n", name );
+ return DR_INVARG;
+ }
+ } else
+ if (strcmp (name, "player-vendor" ) == 0) {
+ if (value) {
+ direct_snputs( voodoo_config->play_info.vendor, value, VOODOO_PLAYER_VENDOR_LENGTH );
+ }
+ else {
+ D_ERROR( "Voodoo/Config '%s': No value specified!\n", name );
+ return DR_INVARG;
+ }
+ } else
+ if (strcmp (name, "player-model" ) == 0) {
+ if (value) {
+ direct_snputs( voodoo_config->play_info.model, value, VOODOO_PLAYER_MODEL_LENGTH );
+ }
+ else {
+ D_ERROR( "Voodoo/Config '%s': No value specified!\n", name );
+ return DR_INVARG;
+ }
+ } else
+ if (strcmp (name, "player-uuid" ) == 0) {
+ if (value) {
+ direct_snputs( voodoo_config->play_info.uuid, value, 16 );
+ }
+ else {
+ D_ERROR( "Voodoo/Config '%s': No value specified!\n", name );
+ return DR_INVARG;
+ }
+ } else
+ if (strcmp (name, "proxy-memory-max" ) == 0) {
+ if (value) {
+ unsigned int max;
+
+ if (sscanf( value, "%u", &max ) != 1) {
+ D_ERROR( "Voodoo/Config '%s': Invalid value specified!\n", name );
+ return DR_INVARG;
+ }
+
+ voodoo_config->memory_max = max * 1024;
+ }
+ else {
+ D_ERROR( "Voodoo/Config '%s': No value specified!\n", name );
+ return DR_INVARG;
+ }
+ } else
+ if (strcmp (name, "proxy-surface-max" ) == 0) {
+ if (value) {
+ unsigned int max;
+
+ if (sscanf( value, "%u", &max ) != 1) {
+ D_ERROR( "Voodoo/Config '%s': Invalid value specified!\n", name );
+ return DR_INVARG;
+ }
+
+ voodoo_config->surface_max = max * 1024;
+ }
+ else {
+ D_ERROR( "Voodoo/Config '%s': No value specified!\n", name );
+ return DR_INVARG;
+ }
+ } else
+ if (strcmp (name, "proxy-layer-mask" ) == 0) {
+ if (value) {
+ unsigned int mask;
+
+ if (sscanf( value, "%u", &mask ) != 1) {
+ D_ERROR( "Voodoo/Config '%s': Invalid value specified!\n", name );
+ return DR_INVARG;
+ }
+
+ voodoo_config->layer_mask = mask;
+ }
+ else {
+ D_ERROR( "Voodoo/Config '%s': No value specified!\n", name );
+ return DR_INVARG;
+ }
+ } else
+ if (strcmp (name, "proxy-stacking-mask" ) == 0) {
+ if (value) {
+ unsigned int mask;
+
+ if (sscanf( value, "%u", &mask ) != 1) {
+ D_ERROR( "Voodoo/Config '%s': Invalid value specified!\n", name );
+ return DR_INVARG;
+ }
+
+ voodoo_config->stacking_mask = mask;
+ }
+ else {
+ D_ERROR( "Voodoo/Config '%s': No value specified!\n", name );
+ return DR_INVARG;
+ }
+ } else
+ if (strcmp (name, "proxy-resource-id" ) == 0) {
+ if (value) {
+ unsigned int resource_id;
+
+ if (sscanf( value, "%u", &resource_id ) != 1) {
+ D_ERROR( "Voodoo/Config '%s': Invalid value specified!\n", name );
+ return DR_INVARG;
+ }
+
+ voodoo_config->resource_id = resource_id;
+ }
+ else {
+ D_ERROR( "Voodoo/Config '%s': No value specified!\n", name );
+ return DR_INVARG;
+ }
+ } else
+ if (strcmp (name, "server-fork" ) == 0) {
+ voodoo_config->server_fork = true;
+ } else
+ if (strcmp (name, "no-server-fork" ) == 0) {
+ voodoo_config->server_fork = false;
+ } else
+ if (strcmp (name, "server-single" ) == 0) {
+ if (value) {
+ if (voodoo_config->server_single)
+ D_FREE( voodoo_config->server_single );
+
+ voodoo_config->server_single = D_STRDUP( value );
+ if (!voodoo_config->server_single)
+ D_OOM();
+ }
+ else {
+ D_ERROR( "Voodoo/Config '%s': No value specified!\n", name );
+ return DR_INVARG;
+ }
+ } else
+ if (direct_config_set( name, value ))
+ return DR_UNSUPPORTED;
+
+ return DR_OK;
+}
diff --git a/lib/voodoo/conf.h b/lib/voodoo/conf.h
index e585493..a02b3e3 100644
--- a/lib/voodoo/conf.h
+++ b/lib/voodoo/conf.h
@@ -29,15 +29,26 @@
#ifndef __VOODOO__CONF_H__
#define __VOODOO__CONF_H__
-#include <voodoo/types.h>
+#include <voodoo/play.h>
struct __V_VoodooConfig {
- /* nothing yet */
+ VoodooPlayInfo play_info;
+ bool forward_nodes;
+ unsigned int memory_max;
+ unsigned int surface_max;
+ unsigned int layer_mask;
+ unsigned int stacking_mask;
+ unsigned int resource_id;
+ bool server_fork;
+ char *server_single;
};
extern VoodooConfig *voodoo_config;
+DirectResult voodoo_config_set( const char *name, const char *value );
+
+
#endif
diff --git a/lib/voodoo/manager.c b/lib/voodoo/manager.c
index 46e9dec..422ec7a 100644
--- a/lib/voodoo/manager.c
+++ b/lib/voodoo/manager.c
@@ -37,11 +37,14 @@
#include <sys/types.h>
#include <sys/poll.h>
+#include <sys/resource.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <netinet/in.h>
+#if !VOODOO_BUILD_NO_SETSOCKOPT
#include <netinet/ip.h>
+#endif
#include <netinet/tcp.h>
#include <direct/clock.h>
@@ -55,6 +58,7 @@
#include <direct/thread.h>
#include <direct/util.h>
+#include <voodoo/conf.h>
#include <voodoo/internal.h>
#include <voodoo/manager.h>
@@ -171,7 +175,9 @@ voodoo_manager_create( int fd,
VoodooManager *manager;
int val;
unsigned int len;
+#if !VOODOO_BUILD_NO_SETSOCKOPT
static const int tos = IPTOS_LOWDELAY;
+#endif
D_ASSERT( fd >= 0 );
D_ASSERT( (client != NULL) ^ (server != NULL) );
@@ -186,11 +192,13 @@ voodoo_manager_create( int fd,
D_DEBUG( "Voodoo/Manager: Creating manager at %p.\n", manager );
+#if !VOODOO_BUILD_NO_SETSOCKOPT
if (setsockopt( fd, SOL_IP, IP_TOS, &tos, sizeof(tos) ) < 0)
D_PERROR( "Voodoo/Manager: Could not set IP_TOS!\n" );
if (setsockopt( fd, SOL_TCP, TCP_NODELAY, &one, sizeof(one) ) < 0)
D_PERROR( "Voodoo/Manager: Could not set TCP_NODELAY!\n" );
+#endif
DUMP_SOCKET_OPTION( SO_SNDLOWAT );
DUMP_SOCKET_OPTION( SO_RCVLOWAT );
@@ -675,6 +683,38 @@ voodoo_manager_request( VoodooManager *manager,
}
DirectResult
+voodoo_manager_next_response( VoodooManager *manager,
+ VoodooResponseMessage *response,
+ VoodooResponseMessage **ret_response )
+{
+ DirectResult ret;
+ VoodooMessageSerial serial;
+
+ D_MAGIC_ASSERT( manager, VoodooManager );
+ D_ASSERT( response != NULL );
+
+ serial = response->request;
+
+ /* Unlock the response buffer. */
+ manager_unlock_response( manager, response );
+
+ ret = manager_lock_response( manager, serial, &response );
+ if (ret) {
+ D_ERROR( "Voodoo/Manager: "
+ "Waiting for the response failed (%s)!\n", DirectResultString( ret ) );
+ return ret;
+ }
+
+ D_DEBUG( "Voodoo/Manager: Got response %llu (%s) with instance %u for request %llu "
+ "(%d bytes).\n", (unsigned long long)response->header.serial, DirectResultString( response->result ),
+ response->instance, (unsigned long long)response->request, response->header.size );
+
+ *ret_response = response;
+
+ return DR_OK;
+}
+
+DirectResult
voodoo_manager_finish_request( VoodooManager *manager,
VoodooResponseMessage *response )
{
@@ -687,6 +727,7 @@ voodoo_manager_finish_request( VoodooManager *manager,
DirectResult
voodoo_manager_respond( VoodooManager *manager,
+ bool flush,
VoodooMessageSerial request,
DirectResult result,
VoodooInstanceID instance,
@@ -799,6 +840,31 @@ voodoo_manager_register_local( VoodooManager *manager,
}
DirectResult
+voodoo_manager_unregister_local( VoodooManager *manager,
+ VoodooInstanceID instance_id )
+{
+ VoodooInstance *instance;
+
+ D_MAGIC_ASSERT( manager, VoodooManager );
+
+ pthread_mutex_lock( &manager->instances.lock );
+
+ instance = direct_hash_lookup( manager->instances.local, instance_id );
+ if (!instance) {
+ pthread_mutex_unlock( &manager->instances.lock );
+ return DR_NOSUCHINSTANCE;
+ }
+
+ direct_hash_remove( manager->instances.local, instance_id );
+
+ pthread_mutex_unlock( &manager->instances.lock );
+
+ D_FREE( instance );
+
+ return DR_OK;
+}
+
+DirectResult
voodoo_manager_lookup_local( VoodooManager *manager,
VoodooInstanceID instance_id,
void **ret_dispatcher,
@@ -894,6 +960,49 @@ voodoo_manager_lookup_remote( VoodooManager *manager,
return DR_OK;
}
+DirectResult
+voodoo_manager_check_allocation( VoodooManager *manager,
+ unsigned int amount )
+{
+ FILE *f;
+ char buf[2000];
+ int size;
+ char *p;
+
+ D_MAGIC_ASSERT( manager, VoodooManager );
+
+ if (!voodoo_config->memory_max)
+ return DR_OK;
+
+ snprintf( buf, sizeof(buf), "/proc/%d/status", getpid() );
+
+ f = fopen( buf, "r" );
+ if (!f) {
+ D_ERROR( "Could not open '%s'!\n", buf );
+ return DR_FAILURE;
+ }
+
+ fread( buf, 1, sizeof(buf), f );
+
+ fclose( f );
+
+
+ p = strstr( buf, "VmRSS:" );
+ if (!p) {
+ D_ERROR( "Could not find memory information!\n" );
+ return DR_FAILURE;
+ }
+
+ sscanf( p + 6, " %u", &size );
+
+ D_INFO( "SIZE: %u kB (+%u kB)\n", size, amount / 1024 );
+
+ if (size * 1024 + amount > voodoo_config->memory_max)
+ return DR_LIMITEXCEEDED;
+
+ return DR_OK;
+}
+
/**************************************************************************************************/
static void
@@ -938,19 +1047,19 @@ handle_super( VoodooManager *manager,
ret = voodoo_server_construct( manager->server, manager, name, &instance );
if (ret) {
- voodoo_manager_respond( manager, super->header.serial,
+ voodoo_manager_respond( manager, true, super->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
return;
}
- voodoo_manager_respond( manager, super->header.serial,
+ voodoo_manager_respond( manager, true, super->header.serial,
DR_OK, instance,
VMBT_NONE );
}
else {
D_WARN( "can't handle this as a client" );
- voodoo_manager_respond( manager, super->header.serial,
+ voodoo_manager_respond( manager, true, super->header.serial,
DR_UNSUPPORTED, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -974,7 +1083,7 @@ dispatch_async_thread( void *arg )
ret = instance->dispatch( instance->proxy, instance->real, manager, request );
if (ret && (request->flags & VREQ_RESPOND))
- voodoo_manager_respond( manager, request->header.serial,
+ voodoo_manager_respond( manager, true, request->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
@@ -1011,7 +1120,7 @@ handle_request( VoodooManager *manager,
"Requested instance %u doesn't exist (anymore)!\n", request->instance );
if (request->flags & VREQ_RESPOND)
- voodoo_manager_respond( manager, request->header.serial,
+ voodoo_manager_respond( manager, true, request->header.serial,
DR_NOSUCHINSTANCE, VOODOO_INSTANCE_NONE,
VMBT_NONE );
@@ -1042,7 +1151,7 @@ handle_request( VoodooManager *manager,
ret = instance->dispatch( instance->proxy, instance->real, manager, request );
if (ret && (request->flags & VREQ_RESPOND))
- voodoo_manager_respond( manager, request->header.serial,
+ voodoo_manager_respond( manager, true, request->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -1415,6 +1524,7 @@ manager_lock_response( VoodooManager *manager,
}
if (manager->quit) {
+ D_ERROR( "Voodoo/Manager: Quit while waiting for response!\n" );
pthread_mutex_unlock( &manager->response.lock );
return DR_DESTROYED;
}
diff --git a/lib/voodoo/manager.h b/lib/voodoo/manager.h
index d60946c..4a4b7b4 100644
--- a/lib/voodoo/manager.h
+++ b/lib/voodoo/manager.h
@@ -44,10 +44,15 @@ DirectResult voodoo_manager_request ( VoodooManager *manager,
VoodooResponseMessage **ret_response,
VoodooMessageBlockType block_type, ... );
+DirectResult voodoo_manager_next_response ( VoodooManager *manager,
+ VoodooResponseMessage *response,
+ VoodooResponseMessage **ret_response );
+
DirectResult voodoo_manager_finish_request ( VoodooManager *manager,
VoodooResponseMessage *response );
DirectResult voodoo_manager_respond ( VoodooManager *manager,
+ bool flush,
VoodooMessageSerial request,
DirectResult result,
VoodooInstanceID instance,
@@ -58,7 +63,10 @@ DirectResult voodoo_manager_register_local ( VoodooManager *manager,
void *dispatcher,
void *real,
VoodooDispatch dispatch,
- VoodooInstanceID *ret_instance );
+ VoodooInstanceID *ret_instance_id );
+
+DirectResult voodoo_manager_unregister_local( VoodooManager *manager,
+ VoodooInstanceID instance_id );
DirectResult voodoo_manager_lookup_local ( VoodooManager *manager,
VoodooInstanceID instance,
@@ -74,5 +82,10 @@ DirectResult voodoo_manager_lookup_remote ( VoodooManager *manager,
VoodooInstanceID instance,
void **ret_requestor );
+DirectResult voodoo_manager_quit ( VoodooManager *manager );
+
+DirectResult voodoo_manager_check_allocation( VoodooManager *manager,
+ unsigned int amount );
+
#endif
diff --git a/lib/voodoo/message.h b/lib/voodoo/message.h
index deadc49..4ee7753 100644
--- a/lib/voodoo/message.h
+++ b/lib/voodoo/message.h
@@ -94,23 +94,24 @@ struct __V_VoodooResponseMessage {
typedef struct {
int magic;
- const void *msg;
- const void *ptr;
+ const char *msg;
+ const char *ptr;
} VoodooMessageParser;
#define __VOODOO_PARSER_PROLOG( parser, req_type ) \
- const void *_vp_ptr; \
+ const char *_vp_ptr; \
VoodooMessageBlockType _vp_type; \
int _vp_length; \
+ VoodooMessageParser *_parser = &parser; \
\
- D_MAGIC_ASSERT( &(parser), VoodooMessageParser ); \
+ D_MAGIC_ASSERT( _parser, VoodooMessageParser ); \
\
- _vp_ptr = (parser).ptr; \
+ _vp_ptr = _parser->ptr; \
\
/* Read message block type. */ \
- _vp_type = *(const u32*) _vp_ptr; \
+ _vp_type = *(const VoodooMessageBlockType*) _vp_ptr; \
\
D_ASSERT( _vp_type == (req_type) ); \
\
@@ -120,21 +121,22 @@ typedef struct {
#define __VOODOO_PARSER_EPILOG( parser ) \
/* Advance message data pointer. */ \
- (parser).ptr += 8 + VOODOO_MSG_ALIGN(_vp_length)
+ _parser->ptr += 8 + VOODOO_MSG_ALIGN(_vp_length)
#define VOODOO_PARSER_BEGIN( parser, message ) \
do { \
const VoodooMessageHeader *_vp_header = (const VoodooMessageHeader *) (message); \
+ VoodooMessageParser *_parser = &parser; \
\
D_ASSERT( (message) != NULL ); \
D_ASSERT( _vp_header->type == VMSG_REQUEST || _vp_header->type == VMSG_RESPONSE ); \
\
- (parser).msg = (message); \
- (parser).ptr = (parser).msg + (_vp_header->type == VMSG_REQUEST ? \
+ _parser->msg = (const char*)(message); \
+ _parser->ptr = _parser->msg + (_vp_header->type == VMSG_REQUEST ? \
sizeof(VoodooRequestMessage) : sizeof(VoodooResponseMessage)); \
\
- D_MAGIC_SET_ONLY( &(parser), VoodooMessageParser ); \
+ D_MAGIC_SET_ONLY( _parser, VoodooMessageParser ); \
} while (0)
@@ -181,7 +183,7 @@ typedef struct {
D_ASSERT( _vp_length > 0 ); \
\
/* Return pointer to data. */ \
- (ret_data) = _vp_ptr + 8; \
+ (ret_data) = (__typeof__(ret_data))(_vp_ptr + 8); \
\
__VOODOO_PARSER_EPILOG( parser ); \
} while (0)
@@ -222,7 +224,7 @@ typedef struct {
\
/* Return pointer to data or NULL. */ \
if (_vp_length) \
- (ret_data) = _vp_ptr + 8; \
+ (ret_data) = (__typeof__(ret_data))(_vp_ptr + 8); \
else \
(ret_data) = NULL; \
\
@@ -244,11 +246,13 @@ typedef struct {
#define VOODOO_PARSER_END( parser ) \
do { \
- D_MAGIC_ASSERT( &(parser), VoodooMessageParser ); \
+ VoodooMessageParser *_parser = &parser; \
\
- D_ASSUME( *(const u32*) ((parser).ptr) == VMBT_NONE ); \
+ D_MAGIC_ASSERT( _parser, VoodooMessageParser ); \
\
- D_MAGIC_CLEAR( &(parser) ); \
+ D_ASSUME( *(const u32*) (_parser->ptr) == VMBT_NONE ); \
+ \
+ D_MAGIC_CLEAR( _parser ); \
} while (0)
diff --git a/lib/voodoo/play.c b/lib/voodoo/play.c
new file mode 100644
index 0000000..2ed94ea
--- /dev/null
+++ b/lib/voodoo/play.c
@@ -0,0 +1,563 @@
+/*
+ (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <sys/ioctl.h>
+#include <sys/poll.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/un.h>
+#include <sys/wait.h>
+
+#include <net/if.h>
+
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#include <arpa/inet.h>
+
+#include <directfb_version.h>
+
+#include <direct/clock.h>
+#include <direct/debug.h>
+#include <direct/interface.h>
+#include <direct/list.h>
+#include <direct/mem.h>
+#include <direct/messages.h>
+#include <direct/thread.h>
+#include <direct/util.h>
+
+#include <voodoo/conf.h>
+#include <voodoo/internal.h>
+#include <voodoo/play.h>
+
+#ifdef MACOS
+#define min(a,b) ((a) < (b) ? (a) : (b))
+#define max(a,b) ((a) > (b) ? (a) : (b))
+#endif
+
+D_DEBUG_DOMAIN( Voodoo_Play, "Voodoo/Play", "Voodoo Play" );
+
+/**********************************************************************************************************************/
+
+typedef struct {
+ DirectLink link;
+
+ VoodooPlayVersion version;
+ VoodooPlayInfo info;
+
+ long long last_seen;
+
+ char addr[64];
+} PlayerNode;
+
+struct __V_VoodooPlayer {
+ int magic;
+
+ int fd;
+
+ pthread_mutex_t lock;
+
+ bool quit;
+
+ VoodooPlayVersion version;
+ VoodooPlayInfo info;
+
+ DirectThread *thread;
+
+ DirectLink *nodes;
+};
+
+/**********************************************************************************************************************/
+
+static void player_send_info( VoodooPlayer *player,
+ const in_addr_t *in_addr,
+ bool discover );
+
+static void *player_main_loop( DirectThread *thread,
+ void *arg );
+
+/**********************************************************************************************************************/
+
+static const int one = 1;
+
+/**********************************************************************************************************************/
+
+/*
+ * FIXME
+ */
+static void
+generate_uuid( char *buf )
+{
+ int i;
+
+ srand( direct_clock_get_abs_micros() );
+
+ for (i=0; i<16; i++) {
+ buf[i] = rand();
+ }
+}
+
+/**********************************************************************************************************************/
+
+DirectResult
+voodoo_player_create( const VoodooPlayInfo *info,
+ VoodooPlayer **ret_player )
+{
+ DirectResult ret;
+ int fd;
+ struct sockaddr_in addr;
+ VoodooPlayer *player;
+
+ D_ASSERT( ret_player != NULL );
+
+ /* Create the player socket. */
+ fd = socket( PF_INET, SOCK_DGRAM, 0 );
+ if (fd < 0) {
+ ret = errno2result( errno );
+ D_PERROR( "Voodoo/Player: Could not create the socket via socket()!\n" );
+ return ret;
+ }
+
+ /* Allow reuse of local address. */
+ if (setsockopt( fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one) ) < 0)
+ D_PERROR( "Voodoo/Player: Could not set SO_REUSEADDR!\n" );
+
+ if (setsockopt( fd, SOL_SOCKET, SO_BROADCAST, &one, sizeof(one) ) < 0)
+ D_PERROR( "Voodoo/Player: Could not set SO_BROADCAST!\n" );
+
+ /* Bind the socket to the local port. */
+ addr.sin_family = AF_INET;
+ addr.sin_addr.s_addr = inet_addr( "0.0.0.0" );
+ addr.sin_port = htons( 2323 );
+
+ if (bind( fd, (struct sockaddr*) &addr, sizeof(addr) )) {
+ ret = errno2result( errno );
+ D_PERROR( "Voodoo/Player: Could not bind() the socket!\n" );
+ close( fd );
+ return ret;
+ }
+
+ /* Allocate player structure. */
+ player = D_CALLOC( 1, sizeof(VoodooPlayer) );
+ if (!player) {
+ D_WARN( "out of memory" );
+ close( fd );
+ return DR_NOLOCALMEMORY;
+ }
+
+ pthread_mutex_init( &player->lock, NULL );
+
+ /* Initialize player structure. */
+ player->fd = fd;
+
+ /* Fill version struct */
+ player->version.v[0] = VPVF_LITTLE_ENDIAN | VPVF_32BIT_SERIALS;
+ player->version.v[1] = DIRECTFB_MAJOR_VERSION;
+ player->version.v[2] = DIRECTFB_MINOR_VERSION;
+ player->version.v[3] = DIRECTFB_MICRO_VERSION;
+
+ /* Fill info struct */
+ direct_snputs( player->info.name, voodoo_config->play_info.name, VOODOO_PLAYER_NAME_LENGTH );
+ direct_snputs( player->info.vendor, voodoo_config->play_info.vendor, VOODOO_PLAYER_VENDOR_LENGTH );
+ direct_snputs( player->info.model, voodoo_config->play_info.model, VOODOO_PLAYER_MODEL_LENGTH );
+ direct_snputs( player->info.uuid, voodoo_config->play_info.uuid, 16 );
+
+ if (info)
+ player->info = *info;
+
+ if (!player->info.name[0])
+ direct_snputs( player->info.name, "Unnamed Player", VOODOO_PLAYER_NAME_LENGTH );
+
+ if (!player->info.uuid[0])
+ generate_uuid( player->info.uuid );
+
+ D_MAGIC_SET( player, VoodooPlayer );
+
+ /* Start messaging thread */
+ player->thread = direct_thread_create( DTT_DEFAULT, player_main_loop, player, "Voodoo/Player" );
+
+ /* Return the new player. */
+ *ret_player = player;
+
+ return DR_OK;
+}
+
+DirectResult
+voodoo_player_destroy( VoodooPlayer *player )
+{
+ D_MAGIC_ASSERT( player, VoodooPlayer );
+
+ player->quit = true;
+
+ direct_thread_join( player->thread );
+ direct_thread_destroy( player->thread );
+
+ close( player->fd );
+
+ pthread_mutex_destroy( &player->lock );
+
+ D_MAGIC_CLEAR( player );
+
+ D_FREE( player );
+
+ return DR_OK;
+}
+
+DirectResult
+voodoo_player_broadcast( VoodooPlayer *player )
+{
+ int ret;
+#ifdef MACOS
+ char *ptr, lastname[IFNAMSIZ];
+#else
+ int i;
+#endif
+ struct ifreq req[16];
+ struct ifconf conf;
+
+ D_MAGIC_ASSERT( player, VoodooPlayer );
+
+ conf.ifc_buf = (char*) req;
+ conf.ifc_len = sizeof(req);
+
+ ret = ioctl( player->fd, SIOCGIFCONF, &conf );
+ if (ret) {
+ D_PERROR( "Voodoo/Player: ioctl( SIOCGIFCONF ) failed!\n" );
+ return DR_FAILURE;
+ }
+
+#ifdef MACOS
+ // TIV: On iPhone (and I believe in general on BSD, you can't just plainly iterate on struct size)
+
+ lastname[0] = 0;
+
+ for (ptr = conf.ifc_buf; ptr < conf.ifc_buf + conf.ifc_len; )
+ {
+ char buf[100];
+ int len, flags;
+ struct ifreq ifrcopy, *ifr = (struct ifreq *)ptr;
+ struct sockaddr_in *addr = (struct sockaddr_in*) &ifr->ifr_broadaddr;
+
+ len = max(sizeof(struct sockaddr), ifr->ifr_addr.sa_len);
+ ptr += sizeof(ifr->ifr_name) + len; // for next one in buffer
+
+ if (strncmp(lastname, ifr->ifr_name, IFNAMSIZ) == 0)
+ {
+ continue; /* already processed this interface */
+ }
+
+ memcpy(lastname, ifr->ifr_name, IFNAMSIZ);
+
+ ifrcopy = *ifr;
+ ioctl( player->fd, SIOCGIFFLAGS, &ifrcopy);
+ flags = ifrcopy.ifr_flags;
+ if ((flags & IFF_UP) == 0)
+ {
+ D_INFO( "Voodoo/Player: %-16s is not up.\n", ifrcopy.ifr_name );
+ continue; // ignore if interface not up
+ }
+
+ ret = ioctl( player->fd, SIOCGIFBRDADDR, ifr );
+ if (ret) {
+ D_PERROR( "Voodoo/Player: ioctl( SIOCGIFBRDADDR ) %-16s failed!\n", ifr->ifr_name );
+ continue;
+ }
+
+ if (addr->sin_addr.s_addr) {
+ inet_ntop( AF_INET, &addr->sin_addr, buf, sizeof(buf) );
+
+ D_INFO( "Voodoo/Player: %-16s (%s)\n", ifr->ifr_name, buf );
+ }
+ else {
+ ret = ioctl( player->fd, SIOCGIFDSTADDR, ifr );
+ if (ret) {
+ D_PERROR( "Voodoo/Player: ioctl( SIOCGIFDSTADDR ) failed!\n" );
+ continue;
+ }
+
+ inet_ntop( AF_INET, &addr->sin_addr, buf, sizeof(buf) );
+
+ D_INFO( "Voodoo/Player: %-16s (%s) (P-t-P)\n", ifr->ifr_name, buf );
+ }
+
+ player_send_info( player, &addr->sin_addr.s_addr, true );
+ }
+#else
+ D_INFO( "Voodoo/Player: Detected %zu interfaces\n", conf.ifc_len/sizeof(req[0]) );
+
+ for (i=0; i<conf.ifc_len/sizeof(req[0]); i++) {
+ struct sockaddr_in *addr = (struct sockaddr_in*) &req[i].ifr_broadaddr;
+ char buf[100];
+
+ ret = ioctl( player->fd, SIOCGIFBRDADDR, &req[i] );
+ if (ret) {
+ D_PERROR( "Voodoo/Player: ioctl( SIOCGIFBRDADDR ) failed!\n" );
+ continue;
+ }
+
+ if (addr->sin_addr.s_addr) {
+ inet_ntop( AF_INET, &addr->sin_addr, buf, sizeof(buf) );
+
+ D_INFO( "Voodoo/Player: %-16s (%s)\n", req[i].ifr_name, buf );
+ }
+ else {
+ ret = ioctl( player->fd, SIOCGIFDSTADDR, &req[i] );
+ if (ret) {
+ D_PERROR( "Voodoo/Player: ioctl( SIOCGIFDSTADDR ) failed!\n" );
+ continue;
+ }
+
+ inet_ntop( AF_INET, &addr->sin_addr, buf, sizeof(buf) );
+
+ D_INFO( "Voodoo/Player: %-16s (%s) (P-t-P)\n", req[i].ifr_name, buf );
+ }
+
+ //addr->sin_addr.s_addr = inet_addr( "192.168.1.150" );
+ //addr->sin_addr.s_addr = inet_addr( "192.168.255.255" );
+
+ player_send_info( player, &addr->sin_addr.s_addr, true );
+ }
+#endif
+
+ return DR_OK;
+}
+
+DirectResult
+voodoo_player_lookup( VoodooPlayer *player,
+ const char *name,
+ char *ret_addr,
+ int max_addr )
+{
+ PlayerNode *node;
+
+ D_MAGIC_ASSERT( player, VoodooPlayer );
+
+ pthread_mutex_lock( &player->lock );
+
+ direct_list_foreach (node, player->nodes) {
+ if (!name || !name[0] || !strcmp( node->info.name, name )) {
+ direct_snputs( ret_addr, node->addr, max_addr );
+ pthread_mutex_unlock( &player->lock );
+ return DR_OK;
+ }
+ }
+
+ pthread_mutex_unlock( &player->lock );
+
+ return DR_ITEMNOTFOUND;
+}
+
+DirectResult
+voodoo_player_enumerate( VoodooPlayer *player,
+ VoodooPlayerCallback callback,
+ void *ctx )
+{
+ PlayerNode *node;
+ long long now = direct_clock_get_abs_millis();
+
+
+ D_MAGIC_ASSERT( player, VoodooPlayer );
+
+ pthread_mutex_lock( &player->lock );
+
+ direct_list_foreach (node, player->nodes) {
+ if (callback( ctx, &node->info, &node->version,
+ node->addr, now - node->last_seen ) == DENUM_CANCEL)
+ break;
+ }
+
+ pthread_mutex_unlock( &player->lock );
+
+ return DR_OK;
+}
+
+/**********************************************************************************************************************/
+
+static void
+player_send_info( VoodooPlayer *player,
+ const in_addr_t *in_addr,
+ bool discover )
+{
+ int ret;
+ struct sockaddr_in addr;
+ VoodooPlayMessage msg;
+ PlayerNode *node;
+
+ D_MAGIC_ASSERT( player, VoodooPlayer );
+
+ msg.version = player->version;
+ msg.type = discover ? VPMT_DISCOVER : VPMT_SENDINFO;
+ msg.info = player->info;
+
+ addr.sin_family = AF_INET;
+ addr.sin_addr.s_addr = *in_addr;
+ addr.sin_port = htons( 2323 );
+
+ ret = sendto( player->fd, &msg, sizeof(msg), 0, (struct sockaddr*) &addr, sizeof(addr) );
+ if (ret < 0) {
+ D_PERROR( "Voodoo/Player: sendto() failed!\n" );
+ return;
+ }
+
+ if (!discover && voodoo_config->forward_nodes) {
+ direct_list_foreach (node, player->nodes) {
+ VoodooPlayInfo info = node->info;
+
+ info.flags |= VPIF_LEVEL2;
+
+ msg.version = node->version;
+ msg.type = discover ? VPMT_DISCOVER : VPMT_SENDINFO;
+ msg.info = info;
+
+ ret = sendto( player->fd, &msg, sizeof(msg), 0, (struct sockaddr*) &addr, sizeof(addr) );
+ if (ret < 0) {
+ D_PERROR( "Voodoo/Player: sendto() failed!\n" );
+ return;
+ }
+ }
+ }
+}
+
+static void
+player_save_info( VoodooPlayer *player,
+ const VoodooPlayMessage *msg,
+ const char *addr )
+{
+ PlayerNode *node;
+
+ D_MAGIC_ASSERT( player, VoodooPlayer );
+
+ direct_list_foreach (node, player->nodes) {
+ if (!memcmp( node->info.uuid, msg->info.uuid, 16 )) {
+ if (msg->info.flags & VPIF_LEVEL2 && !(node->info.flags & VPIF_LEVEL2)) {
+ node->version = msg->version;
+ node->info = msg->info;
+
+ direct_snputs( node->addr, addr, sizeof(node->addr) );
+ }
+
+ node->last_seen = direct_clock_get_abs_millis();
+
+ return;
+ }
+ }
+
+ node = D_CALLOC( 1, sizeof(PlayerNode) );
+ if (!node) {
+ D_OOM();
+ return;
+ }
+
+ node->version = msg->version;
+ node->info = msg->info;
+
+ node->last_seen = direct_clock_get_abs_millis();
+
+ direct_snputs( node->addr, addr, sizeof(node->addr) );
+
+
+ direct_list_append( &player->nodes, &node->link );
+}
+
+static void *
+player_main_loop( DirectThread *thread, void *arg )
+{
+ VoodooPlayer *player = arg;
+ int ret;
+ struct sockaddr_in addr;
+ socklen_t addr_len = sizeof(addr);
+ VoodooPlayMessage msg;
+ char buf[100];
+
+ D_MAGIC_ASSERT( player, VoodooPlayer );
+
+ while (!player->quit) {
+ struct pollfd pf;
+
+ pf.fd = player->fd;
+ pf.events = POLLIN;
+
+ switch (poll( &pf, 1, 100 )) {
+ default:
+ ret = recvfrom( player->fd, &msg, sizeof(msg), 0, (struct sockaddr*) &addr, &addr_len );
+ if (ret < 0) {
+ D_PERROR( "Voodoo/Player: recvfrom() failed!\n" );
+ usleep( 500000 );
+ continue;
+ }
+
+ inet_ntop( AF_INET, &addr.sin_addr, buf, sizeof(buf) );
+
+ pthread_mutex_lock( &player->lock );
+
+ /* Send reply if message is not from ourself */
+ if (memcmp( msg.info.uuid, player->info.uuid, 16 )) {
+ switch (msg.type) {
+ case VPMT_DISCOVER:
+ D_INFO( "Voodoo/Player: Received DISCOVER from '%s' (%s)\n", msg.info.name, buf );
+ player_send_info( player, &addr.sin_addr.s_addr, false );
+ break;
+
+ case VPMT_SENDINFO:
+ D_INFO( "Voodoo/Player: Received SENDINFO from '%s' (%s)\n", msg.info.name, buf );
+ player_save_info( player, &msg, buf );
+ break;
+
+ default:
+ D_ERROR( "Voodoo/Player: Received unknown message (%s)\n", buf );
+ break;
+ }
+ }
+ else
+ D_INFO( "Voodoo/Player: Received message from ourself (%s)\n", buf );
+
+ pthread_mutex_unlock( &player->lock );
+ break;
+
+ case 0:
+ D_DEBUG( "Voodoo/Player: Timeout during poll()\n" );
+ break;
+
+ case -1:
+ if (errno != EINTR) {
+ D_PERROR( "Voodoo/Player: Could not poll() the socket!\n" );
+ player->quit = true;
+ }
+ break;
+ }
+ }
+
+ return DR_OK;
+}
+
diff --git a/lib/voodoo/play.h b/lib/voodoo/play.h
new file mode 100644
index 0000000..e62ae35
--- /dev/null
+++ b/lib/voodoo/play.h
@@ -0,0 +1,125 @@
+/*
+ (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef __VOODOO__PLAY_H__
+#define __VOODOO__PLAY_H__
+
+#include <voodoo/types.h>
+
+
+#define VOODOO_PLAY_VERSION_FIXED_SIZE 32
+
+#define VOODOO_PLAYER_NAME_LENGTH 96
+
+#define VOODOO_PLAYER_VENDOR_LENGTH 96
+#define VOODOO_PLAYER_MODEL_LENGTH 96
+
+
+
+typedef enum {
+ VPVF_NONE = 0x00000000,
+
+ VPVF_LITTLE_ENDIAN = 0x00000001, /* No big endian support for now */
+ VPVF_32BIT_SERIALS = 0x00000002, /* Using 32bit message serials */
+
+ VPVF_ALL = 0x00000003
+} VoodooPlayVersionFlags;
+
+typedef struct {
+ u8 v[4]; /* flags, major, minor, micro */
+} VoodooPlayVersion;
+
+
+typedef enum {
+ VPIF_NONE = 0x00000000,
+
+ VPIF_LEVEL2 = 0x00000001,
+
+ VPIF_ALL = 0x00000001
+} VoodooPlayInfoFlags;
+
+typedef struct {
+ VoodooPlayInfoFlags flags;
+
+ char uuid[16];
+
+ char name[VOODOO_PLAYER_NAME_LENGTH]; /* "My Philips TV" */
+
+ char vendor[VOODOO_PLAYER_VENDOR_LENGTH]; /* "Philips Consumer Lifestyle" */
+ char model[VOODOO_PLAYER_MODEL_LENGTH]; /* "32PFL9604H/10" */
+} VoodooPlayInfo;
+
+
+typedef enum {
+ VPMT_INVALID,
+
+ VPMT_DISCOVER,
+ VPMT_SENDINFO,
+} VoodooPlayMessageType;
+
+typedef struct {
+ /* Version information first in structure, fixed size (union!) */
+ union {
+ char __fixed[VOODOO_PLAY_VERSION_FIXED_SIZE];
+
+
+ VoodooPlayVersion version; /* (1.0, ...) */
+ };
+
+ VoodooPlayMessageType type;
+
+ union {
+ VoodooPlayInfo info; /* DISCOVER, SENDINFO */
+ };
+} VoodooPlayMessage;
+
+
+typedef DirectEnumerationResult (*VoodooPlayerCallback)( void *ctx,
+ const VoodooPlayInfo *info,
+ const VoodooPlayVersion *version,
+ const char *address,
+ unsigned int ms_since_last_seen );
+
+
+DirectResult voodoo_player_create ( const VoodooPlayInfo *info,
+ VoodooPlayer **ret_player );
+
+DirectResult voodoo_player_destroy ( VoodooPlayer *player );
+
+DirectResult voodoo_player_broadcast( VoodooPlayer *player );
+
+DirectResult voodoo_player_lookup ( VoodooPlayer *player,
+ const char *name,
+ char *ret_addr,
+ int max_addr );
+
+DirectResult voodoo_player_enumerate( VoodooPlayer *player,
+ VoodooPlayerCallback callback,
+ void *ctx );
+
+#endif
diff --git a/lib/voodoo/server.c b/lib/voodoo/server.c
index 0c21f13..8401281 100644
--- a/lib/voodoo/server.c
+++ b/lib/voodoo/server.c
@@ -28,15 +28,20 @@
#include <config.h>
+#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <sys/mman.h>
#include <sys/poll.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
+#include <sys/wait.h>
+
+#include <semaphore.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
@@ -51,9 +56,24 @@
#include <direct/thread.h>
#include <direct/util.h>
+#include <voodoo/conf.h>
#include <voodoo/server.h>
#include <voodoo/internal.h>
+#ifndef htons
+#if WORDS_BIGENDIAN
+#define htons(x) (x)
+#else
+#define htons(x) ((((x) >> 8) & 0x00ff) | (((x) << 8) & 0xff00))
+#endif
+#endif
+
+
+typedef struct {
+ sem_t sem;
+
+ pid_t single_pid;
+} ServerShared;
typedef struct {
DirectLink link;
@@ -74,30 +94,39 @@ typedef struct {
struct __V_VoodooServer {
int fd;
+
+ bool fork;
bool quit;
DirectLink *connections;
int num_super;
Super supers[MAX_SUPER];
+
+ ServerShared *shared;
};
-/**************************************************************************************************/
+D_DEBUG_DOMAIN( Voodoo_Server, "Voodoo/Server", "Voodoo Server" );
-static DirectResult accept_connection( VoodooServer *server );
+/**********************************************************************************************************************/
-/**************************************************************************************************/
+static DirectResult accept_connection( VoodooServer *server, int fd );
+
+/**********************************************************************************************************************/
static const int one = 1;
-/**************************************************************************************************/
+/**********************************************************************************************************************/
DirectResult
-voodoo_server_create( VoodooServer **ret_server )
+voodoo_server_create( const char *_addr,
+ int port,
+ bool fork,
+ VoodooServer **ret_server )
{
DirectResult ret;
- int fd;
struct sockaddr_in addr;
- VoodooServer *server;
+ int fd = -1;
+ VoodooServer *server = NULL;
D_ASSERT( ret_server != NULL );
@@ -106,7 +135,7 @@ voodoo_server_create( VoodooServer **ret_server )
if (fd < 0) {
ret = errno2result( errno );
D_PERROR( "Voodoo/Server: Could not create the socket via socket()!\n" );
- return ret;
+ goto error;
}
/* Allow reuse of local address. */
@@ -115,39 +144,79 @@ voodoo_server_create( VoodooServer **ret_server )
/* Bind the socket to the local port. */
addr.sin_family = AF_INET;
- addr.sin_addr.s_addr = inet_addr( "0.0.0.0" );
- addr.sin_port = htons( 2323 );
+ addr.sin_addr.s_addr = inet_addr( _addr ?: "0.0.0.0" );
+ addr.sin_port = htons( port ?: 2323 );
if (bind( fd, &addr, sizeof(addr) )) {
ret = errno2result( errno );
D_PERROR( "Voodoo/Server: Could not bind() the socket!\n" );
- close( fd );
- return ret;
+ goto error;
}
/* Start listening. */
if (listen( fd, 4 )) {
ret = errno2result( errno );
D_PERROR( "Voodoo/Server: Could not listen() to the socket!\n" );
- close( fd );
- return ret;
+ goto error;
}
/* Allocate server structure. */
server = D_CALLOC( 1, sizeof(VoodooServer) );
if (!server) {
+ ret = D_OOM();
D_WARN( "out of memory" );
- close( fd );
- return DR_NOLOCALMEMORY;
+ goto error;
}
/* Initialize server structure. */
server->fd = fd;
+ {
+ int zfd;
+
+ zfd = open( "/dev/zero", O_RDWR );
+ if (zfd < 0) {
+ ret = errno2result( errno );
+ D_PERROR( "Voodoo/Server: Failed to open /dev/zero!\n" );
+ goto error;
+ }
+
+ server->shared = mmap( NULL, sizeof(ServerShared), PROT_READ | PROT_WRITE, MAP_SHARED, zfd, 0 );
+
+ close( zfd );
+
+ if (server->shared == MAP_FAILED) {
+ ret = errno2result( errno );
+ D_PERROR( "Voodoo/Server: Failed to mmap /dev/zero!\n" );
+ server->shared = NULL;
+ goto error;
+ }
+
+ if (sem_init( &server->shared->sem, 1, 1 )) {
+ ret = errno2result( errno );
+ D_PERROR( "Voodoo/Server: Failed to create process shared semaphore!\n" );
+ goto error;
+ }
+ }
+
/* Return the new server. */
*ret_server = server;
return DR_OK;
+
+
+error:
+ if (server) {
+ if (server->shared)
+ munmap( server->shared, sizeof(ServerShared) );
+
+ D_FREE( server );
+ }
+
+ if (fd >= 0)
+ close( fd );
+
+ return ret;
}
DirectResult
@@ -214,6 +283,21 @@ voodoo_server_construct( VoodooServer *server,
return DR_UNSUPPORTED;
}
+ if (voodoo_config->server_single && !strcmp( name, voodoo_config->server_single )) {
+ sem_wait( &server->shared->sem );
+
+ if (server->shared->single_pid) {
+ D_INFO( "Voodoo/Server: Killing previous single process with pid %d\n", server->shared->single_pid );
+ kill( server->shared->single_pid, SIGTERM );
+ }
+
+ server->shared->single_pid = getpid();
+
+ D_INFO( "Voodoo/Server: New single process has pid %d\n", server->shared->single_pid );
+
+ sem_post( &server->shared->sem );
+ }
+
ret = super->func( server, manager, name, super->ctx, &instance );
if (ret) {
D_ERROR( "Voodoo/Server: "
@@ -229,8 +313,9 @@ voodoo_server_construct( VoodooServer *server,
DirectResult
voodoo_server_run( VoodooServer *server )
{
- DirectLink *l, *n;
- struct pollfd pf;
+ DirectLink *l, *n;
+ struct pollfd pf;
+ bool listener = true;
D_ASSERT( server != NULL );
@@ -240,6 +325,18 @@ voodoo_server_run( VoodooServer *server )
Connection *connection = (Connection*) l;
if (voodoo_manager_is_closed( connection->manager )) {
+ D_DEBUG_AT( Voodoo_Server, " -> closed manager\n" );
+
+ sem_wait( &server->shared->sem );
+
+ if (server->shared->single_pid == getpid()) {
+ D_INFO( "Voodoo/Server: Closing single process with pid %d\n", server->shared->single_pid );
+ server->shared->single_pid = 0;
+ }
+
+ sem_post( &server->shared->sem );
+
+
voodoo_manager_destroy( connection->manager );
close( connection->fd );
@@ -255,25 +352,79 @@ voodoo_server_run( VoodooServer *server )
}
}
- pf.fd = server->fd;
- pf.events = POLLIN;
+ if (listener) {
+ int fd;
+ struct sockaddr_in addr;
+ socklen_t addrlen = sizeof(addr);
+ char buf[100];
- switch (poll( &pf, 1, 200 )) {
- default:
- accept_connection( server );
- break;
+ pf.fd = server->fd;
+ pf.events = POLLIN;
- case 0:
- D_DEBUG( "Voodoo/Server: Timeout during poll()\n" );
- break;
+ switch (poll( &pf, 1, 20000 )) {
+ default:
+ fd = accept( server->fd, &addr, &addrlen );
+ if (fd < 0) {
+ D_PERROR( "Voodoo/Server: Could not accept() incoming connection!\n" );
+ break;
+ }
- case -1:
- if (errno != EINTR) {
- D_PERROR( "Voodoo/Server: Could not poll() the socket!\n" );
- server->quit = true;
- }
- break;
+ inet_ntop( AF_INET, &addr.sin_addr, buf, sizeof(buf) );
+
+ D_INFO( "Voodoo/Server: Accepted connection from '%s'\n", buf );
+
+ if (server->fork) {
+ pid_t pid;
+
+ D_DEBUG_AT( Voodoo_Server, " -> forking...\n" );
+
+ pid = fork();
+ switch (pid) {
+ case 0:
+ D_DEBUG_AT( Voodoo_Server, " ===> In child process\n" );
+
+ listener = false;
+
+ close( server->fd );
+
+ accept_connection( server, fd );
+ break;
+
+ case -1:
+ D_PERROR( "Voodoo/Server: Could not fork()!\n" );
+ break;
+
+ default:
+ D_DEBUG_AT( Voodoo_Server, " => Child process has pid %d\n", pid );
+
+ close( fd );
+ break;
+ }
+ }
+ else {
+ D_DEBUG_AT( Voodoo_Server, " -> running threaded only...\n" );
+
+ accept_connection( server, fd );
+ }
+
+ break;
+
+ case 0:
+ waitpid( -1, NULL, WNOHANG );
+
+ D_DEBUG_AT( Voodoo_Server, " -> Timeout during poll()\n" );
+ break;
+
+ case -1:
+ if (errno != EINTR) {
+ D_PERROR( "Voodoo/Server: Could not poll() the socket!\n" );
+ server->quit = true;
+ }
+ break;
+ }
}
+ else
+ usleep( 200000 );
}
return DR_OK;
@@ -299,19 +450,20 @@ voodoo_server_destroy( VoodooServer *server )
D_FREE( connection );
}
+ if (server->shared)
+ munmap( server->shared, sizeof(ServerShared) );
+
D_FREE( server );
return DR_OK;
}
-/**************************************************************************************************/
+/**********************************************************************************************************************/
static DirectResult
-accept_connection( VoodooServer *server )
+accept_connection( VoodooServer *server, int fd )
{
DirectResult ret;
- struct sockaddr addr;
- socklen_t addrlen = sizeof(addr);
Connection *connection;
connection = D_CALLOC( 1, sizeof(Connection) );
@@ -320,15 +472,7 @@ accept_connection( VoodooServer *server )
return DR_NOLOCALMEMORY;
}
- connection->fd = accept( server->fd, &addr, &addrlen );
- if (connection->fd < 0) {
- ret = errno2result( errno );
- D_PERROR( "Voodoo/Server: Could not accept() incoming connection!\n" );
- D_FREE( connection );
- return ret;
- }
-
- D_INFO( "Voodoo/Server: Accepted connection.\n" );
+ connection->fd = fd;
ret = voodoo_manager_create( connection->fd, NULL, server, &connection->manager );
if (ret) {
diff --git a/lib/voodoo/server.h b/lib/voodoo/server.h
index 59f94ea..3178174 100644
--- a/lib/voodoo/server.h
+++ b/lib/voodoo/server.h
@@ -32,7 +32,10 @@
#include <voodoo/types.h>
-DirectResult voodoo_server_create ( VoodooServer **ret_server );
+DirectResult voodoo_server_create ( const char *addr,
+ int port,
+ bool fork,
+ VoodooServer **ret_server );
DirectResult voodoo_server_register( VoodooServer *server,
const char *name,
diff --git a/lib/voodoo/types.h b/lib/voodoo/types.h
index cf71a33..ea4065d 100644
--- a/lib/voodoo/types.h
+++ b/lib/voodoo/types.h
@@ -34,7 +34,7 @@
typedef u32 VoodooInstanceID;
typedef u32 VoodooMethodID;
-typedef u64 VoodooMessageSerial;
+typedef u32 VoodooMessageSerial;
#define VOODOO_INSTANCE_NONE ((VoodooInstanceID) 0)
@@ -48,6 +48,7 @@ typedef struct __V_VoodooResponseMessage VoodooResponseMessage;
typedef struct __V_VoodooClient VoodooClient;
typedef struct __V_VoodooConfig VoodooConfig;
typedef struct __V_VoodooManager VoodooManager;
+typedef struct __V_VoodooPlayer VoodooPlayer;
typedef struct __V_VoodooServer VoodooServer;
diff --git a/ltmain.sh b/ltmain.sh
index e420fac..c2852d8 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,52 +1,90 @@
-# ltmain.sh - Provide generalized library-building support services.
-# NOTE: Changing this file will not affect anything until you rerun configure.
-#
+
+# libtool (GNU libtool) 2.4.2
+# Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008 Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
+# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
-# This program is distributed in the hope that it will be useful, but
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-basename="s,^.*/,,g"
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-# The name of this program:
-progname=`echo "$progpath" | $SED $basename`
-modename="$progname"
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
+# Usage: $progname [OPTION]... [MODE-ARG]...
+#
+# Provide generalized library-building support services.
+#
+# --config show all configuration variables
+# --debug enable verbose shell tracing
+# -n, --dry-run display commands without modifying any files
+# --features display basic configuration information and exit
+# --mode=MODE use operation mode MODE
+# --preserve-dup-deps don't remove duplicate dependency libraries
+# --quiet, --silent don't print informational messages
+# --no-quiet, --no-silent
+# print informational messages (default)
+# --no-warn don't display warning messages
+# --tag=TAG use configuration variables from tag TAG
+# -v, --verbose print more informational messages than default
+# --no-verbose don't print the extra informational messages
+# --version print version information
+# -h, --help, --help-all print short, long, or detailed help message
+#
+# MODE must be one of the following:
+#
+# clean remove files from the build directory
+# compile compile a source file into a libtool object
+# execute automatically set library path, then run a program
+# finish complete the installation of libtool libraries
+# install install libraries or executables
+# link create a library or an executable
+# uninstall remove libraries from an installed directory
+#
+# MODE-ARGS vary depending on the MODE. When passed as first option,
+# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
+#
+# When reporting a bug, please describe a test case to reproduce it and
+# include the following information:
+#
+# host-triplet: $host
+# shell: $SHELL
+# compiler: $LTCC
+# compiler flags: $LTCFLAGS
+# linker: $LD (gnu? $with_gnu_ld)
+# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
+# automake: $automake_version
+# autoconf: $autoconf_version
+#
+# Report bugs to <bug-libtool at gnu.org>.
+# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+# General help using GNU software: <http://www.gnu.org/gethelp/>.
-PROGRAM=ltmain.sh
+PROGRAM=libtool
PACKAGE=libtool
-VERSION="1.5.26 Debian 1.5.26-1ubuntu1"
-TIMESTAMP=" (1.1220.2.493 2008/02/01 16:58:18)"
+VERSION="2.4.2 Debian-2.4.2-1ubuntu1"
+TIMESTAMP=""
+package_revision=1.3337
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
@@ -60,104 +98,457 @@ fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh
-# Check that we have a working $echo.
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell, and then maybe $echo will work.
- exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-$*
-EOF
- exit $EXIT_SUCCESS
-fi
-
-default_mode=
-help="Try \`$progname --help' for more information."
-magic="%%%MAGIC variable%%%"
-mkdir="mkdir"
-mv="mv -f"
-rm="rm -f"
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- SP2NL='tr \040 \012'
- NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- SP2NL='tr \100 \n'
- NL2SP='tr \r\n \100\100'
- ;;
-esac
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-# We save the old values to restore during execute mode.
-lt_env=
+# NLS nuisances: We save the old values to restore during execute mode.
+lt_user_locale=
+lt_safe_locale=
for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
do
eval "if test \"\${$lt_var+set}\" = set; then
- save_$lt_var=\$$lt_var
- lt_env=\"$lt_var=\$$lt_var \$lt_env\"
- $lt_var=C
+ save_$lt_var=\$$lt_var
+ $lt_var=C
export $lt_var
+ lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
+ lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
fi"
done
+LC_ALL=C
+LANGUAGE=C
+export LANGUAGE LC_ALL
+
+$lt_unset CDPATH
-if test -n "$lt_env"; then
- lt_env="env $lt_env"
-fi
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+
+
+: ${CP="cp -f"}
+test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+: ${Xsed="$SED -e 1s/^X//"}
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
# Make sure IFS has a sensible default
lt_nl='
'
IFS=" $lt_nl"
-if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
- $echo "$modename: not configured to build any kind of library" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
-fi
+dirname="s,/[^/]*$,,"
+basename="s,^.*/,,"
-# Global variables.
-mode=$default_mode
-nonopt=
-prev=
-prevopt=
-run=
-show="$echo"
-show_help=
-execute_dlfiles=
-duplicate_deps=no
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+} # func_dirname may be replaced by extended shell implementation
+
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+} # func_basename may be replaced by extended shell implementation
+
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+ func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
+} # func_dirname_and_basename may be replaced by extended shell implementation
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname may be replaced by extended shell implementation
+
+
+# These SED scripts presuppose an absolute path with a trailing slash.
+pathcar='s,^/\([^/]*\).*$,\1,'
+pathcdr='s,^/[^/]*,,'
+removedotparts=':dotsl
+ s@/\./@/@g
+ t dotsl
+ s,/\.$,/,'
+collapseslashes='s@/\{1,\}@/@g'
+finalslash='s,/*$,/,'
+
+# func_normal_abspath PATH
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+# value returned in "$func_normal_abspath_result"
+func_normal_abspath ()
+{
+ # Start from root dir and reassemble the path.
+ func_normal_abspath_result=
+ func_normal_abspath_tpath=$1
+ func_normal_abspath_altnamespace=
+ case $func_normal_abspath_tpath in
+ "")
+ # Empty path, that just means $cwd.
+ func_stripname '' '/' "`pwd`"
+ func_normal_abspath_result=$func_stripname_result
+ return
+ ;;
+ # The next three entries are used to spot a run of precisely
+ # two leading slashes without using negated character classes;
+ # we take advantage of case's first-match behaviour.
+ ///*)
+ # Unusual form of absolute path, do nothing.
+ ;;
+ //*)
+ # Not necessarily an ordinary path; POSIX reserves leading '//'
+ # and for example Cygwin uses it to access remote file shares
+ # over CIFS/SMB, so we conserve a leading double slash if found.
+ func_normal_abspath_altnamespace=/
+ ;;
+ /*)
+ # Absolute path, do nothing.
+ ;;
+ *)
+ # Relative path, prepend $cwd.
+ func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+ ;;
+ esac
+ # Cancel out all the simple stuff to save iterations. We also want
+ # the path to end with a slash for ease of parsing, so make sure
+ # there is one (and only one) here.
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
+ while :; do
+ # Processed it all yet?
+ if test "$func_normal_abspath_tpath" = / ; then
+ # If we ascended to the root using ".." the result may be empty now.
+ if test -z "$func_normal_abspath_result" ; then
+ func_normal_abspath_result=/
+ fi
+ break
+ fi
+ func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$pathcar"`
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$pathcdr"`
+ # Figure out what to do with it
+ case $func_normal_abspath_tcomponent in
+ "")
+ # Trailing empty path component, ignore it.
+ ;;
+ ..)
+ # Parent dir; strip last assembled component from result.
+ func_dirname "$func_normal_abspath_result"
+ func_normal_abspath_result=$func_dirname_result
+ ;;
+ *)
+ # Actual path component, append it.
+ func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
+ ;;
+ esac
+ done
+ # Restore leading double-slash if one was found on entry.
+ func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+# func_relative_path SRCDIR DSTDIR
+# generates a relative path from SRCDIR to DSTDIR, with a trailing
+# slash if non-empty, suitable for immediately appending a filename
+# without needing to append a separator.
+# value returned in "$func_relative_path_result"
+func_relative_path ()
+{
+ func_relative_path_result=
+ func_normal_abspath "$1"
+ func_relative_path_tlibdir=$func_normal_abspath_result
+ func_normal_abspath "$2"
+ func_relative_path_tbindir=$func_normal_abspath_result
+
+ # Ascend the tree starting from libdir
+ while :; do
+ # check if we have found a prefix of bindir
+ case $func_relative_path_tbindir in
+ $func_relative_path_tlibdir)
+ # found an exact match
+ func_relative_path_tcancelled=
+ break
+ ;;
+ $func_relative_path_tlibdir*)
+ # found a matching prefix
+ func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+ func_relative_path_tcancelled=$func_stripname_result
+ if test -z "$func_relative_path_result"; then
+ func_relative_path_result=.
+ fi
+ break
+ ;;
+ *)
+ func_dirname $func_relative_path_tlibdir
+ func_relative_path_tlibdir=${func_dirname_result}
+ if test "x$func_relative_path_tlibdir" = x ; then
+ # Have to descend all the way to the root!
+ func_relative_path_result=../$func_relative_path_result
+ func_relative_path_tcancelled=$func_relative_path_tbindir
+ break
+ fi
+ func_relative_path_result=../$func_relative_path_result
+ ;;
+ esac
+ done
+
+ # Now calculate path; take care to avoid doubling-up slashes.
+ func_stripname '' '/' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ func_stripname '/' '/' "$func_relative_path_tcancelled"
+ if test "x$func_stripname_result" != x ; then
+ func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
+ fi
+
+ # Normalisation. If bindir is libdir, return empty string,
+ # else relative path ending with a slash; either way, target
+ # file name can be directly appended.
+ if test ! -z "$func_relative_path_result"; then
+ func_stripname './' '' "$func_relative_path_result/"
+ func_relative_path_result=$func_stripname_result
+ fi
+}
+
+# The name of this program:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+
+# Make sure we have an absolute path for reexecution:
+case $progpath in
+ [\\/]*|[A-Za-z]:\\*) ;;
+ *[\\/]*)
+ progdir=$func_dirname_result
+ progdir=`cd "$progdir" && pwd`
+ progpath="$progdir/$progname"
+ ;;
+ *)
+ save_IFS="$IFS"
+ IFS=${PATH_SEPARATOR-:}
+ for progdir in $PATH; do
+ IFS="$save_IFS"
+ test -x "$progdir/$progname" && break
+ done
+ IFS="$save_IFS"
+ test -n "$progdir" || progdir=`pwd`
+ progpath="$progdir/$progname"
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
+
+# Sed substitution that converts a w32 file name or path
+# which contains forward slashes, into one that contains
+# (escaped) backslashes. A very naive implementation.
+lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
+# Re-`\' parameter expansions in output of double_quote_subst that were
+# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
+# in input to double_quote_subst, that '$' was protected from expansion.
+# Since each input `\' is now two `\'s, look for any number of runs of
+# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
+bs='\\'
+bs2='\\\\'
+bs4='\\\\\\\\'
+dollar='\$'
+sed_double_backslash="\
+ s/$bs4/&\\
+/g
+ s/^$bs2$dollar/$bs&/
+ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
+ s/\n//g"
+
+# Standard options:
+opt_dry_run=false
+opt_help=false
+opt_quiet=false
+opt_verbose=false
+opt_warning=:
+
+# func_echo arg...
+# Echo program name prefixed message, along with the current mode
+# name if it has been set yet.
+func_echo ()
+{
+ $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
+}
+
+# func_verbose arg...
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+ $opt_verbose && func_echo ${1+"$@"}
+
+ # A bug in bash halts the script if the last line of a function
+ # fails when set -e is in force, so we need another command to
+ # work around that:
+ :
+}
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+# func_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+ $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+ $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+
+ # bash bug again:
+ :
+}
+
+# func_fatal_error arg...
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+ func_error ${1+"$@"}
+ exit $EXIT_FAILURE
+}
+
+# func_fatal_help arg...
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+ func_error ${1+"$@"}
+ func_fatal_error "$help"
+}
+help="Try \`$progname --help' for more information." ## default
+
+
+# func_grep expression filename
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+ $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_mkdir_p directory-path
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+ my_directory_path="$1"
+ my_dir_list=
+
+ if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+
+ # Protect directory names starting with `-'
+ case $my_directory_path in
+ -*) my_directory_path="./$my_directory_path" ;;
+ esac
+
+ # While some portion of DIR does not yet exist...
+ while test ! -d "$my_directory_path"; do
+ # ...make a list in topmost first order. Use a colon delimited
+ # list incase some portion of path contains whitespace.
+ my_dir_list="$my_directory_path:$my_dir_list"
+
+ # If the last portion added has no slash in it, the list is done
+ case $my_directory_path in */*) ;; *) break ;; esac
+
+ # ...otherwise throw away the child directory and loop
+ my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
+ done
+ my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
+
+ save_mkdir_p_IFS="$IFS"; IFS=':'
+ for my_dir in $my_dir_list; do
+ IFS="$save_mkdir_p_IFS"
+ # mkdir can fail with a `File exist' error if two processes
+ # try to create one of the directories concurrently. Don't
+ # stop in that case!
+ $MKDIR "$my_dir" 2>/dev/null || :
+ done
+ IFS="$save_mkdir_p_IFS"
+
+ # Bail out if we (or some other process) failed to create a directory.
+ test -d "$my_directory_path" || \
+ func_fatal_error "Failed to create \`$1'"
+ fi
+}
-#####################################
-# Shell function definitions:
-# This seems to be the best place for them
# func_mktempdir [string]
# Make a temporary directory that won't clash with other running
@@ -167,7 +558,7 @@ func_mktempdir ()
{
my_template="${TMPDIR-/tmp}/${1-$progname}"
- if test "$run" = ":"; then
+ if test "$opt_dry_run" = ":"; then
# Return a directory name, but don't create it in dry-run mode
my_tmpdir="${my_template}-$$"
else
@@ -176,6366 +567,8888 @@ func_mktempdir ()
my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
if test ! -d "$my_tmpdir"; then
- # Failing that, at least try and use $RANDOM to avoid a race
- my_tmpdir="${my_template}-${RANDOM-0}$$"
+ # Failing that, at least try and use $RANDOM to avoid a race
+ my_tmpdir="${my_template}-${RANDOM-0}$$"
- save_mktempdir_umask=`umask`
- umask 0077
- $mkdir "$my_tmpdir"
- umask $save_mktempdir_umask
+ save_mktempdir_umask=`umask`
+ umask 0077
+ $MKDIR "$my_tmpdir"
+ umask $save_mktempdir_umask
fi
# If we're not in dry-run mode, bomb out on failure
- test -d "$my_tmpdir" || {
- $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
- exit $EXIT_FAILURE
- }
+ test -d "$my_tmpdir" || \
+ func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
fi
- $echo "X$my_tmpdir" | $Xsed
+ $ECHO "$my_tmpdir"
}
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
+# func_quote_for_eval arg
+# Aesthetically quote ARG to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+func_quote_for_eval ()
{
- win32_libid_type="unknown"
- win32_fileres=`file -L $1 2>/dev/null`
- case $win32_fileres in
- *ar\ archive\ import\ library*) # definitely import
- win32_libid_type="x86 archive import"
- ;;
- *ar\ archive*) # could be an import, or static
- if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
- $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
- win32_nmres=`eval $NM -f posix -A $1 | \
- $SED -n -e '1,100{
- / I /{
- s,.*,import,
- p
- q
- }
- }'`
- case $win32_nmres in
- import*) win32_libid_type="x86 archive import";;
- *) win32_libid_type="x86 archive static";;
- esac
+ case $1 in
+ *[\\\`\"\$]*)
+ func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
+ *)
+ func_quote_for_eval_unquoted_result="$1" ;;
+ esac
+
+ case $func_quote_for_eval_unquoted_result in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and and variable
+ # expansion for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+ ;;
+ *)
+ func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+ esac
+}
+
+
+# func_quote_for_expand arg
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+ case $1 in
+ *[\\\`\"]*)
+ my_arg=`$ECHO "$1" | $SED \
+ -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+ *)
+ my_arg="$1" ;;
+ esac
+
+ case $my_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting and command substitution for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ my_arg="\"$my_arg\""
+ ;;
+ esac
+
+ func_quote_for_expand_result="$my_arg"
+}
+
+
+# func_show_eval cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
+
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$my_cmd"
+ my_status=$?
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
fi
+}
+
+
+# func_show_eval_locale cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it. Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
+
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$lt_user_locale
+ $my_cmd"
+ my_status=$?
+ eval "$lt_safe_locale"
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
+ fi
+}
+
+# func_tr_sh
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result. All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+ case $1 in
+ [0-9]* | *[!a-zA-Z0-9_]*)
+ func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
;;
- *DLL*)
- win32_libid_type="x86 DLL"
- ;;
- *executable*) # but shell scripts are "executable" too...
- case $win32_fileres in
- *MS\ Windows\ PE\ Intel*)
- win32_libid_type="x86 DLL"
- ;;
- esac
+ * )
+ func_tr_sh_result=$1
;;
esac
- $echo $win32_libid_type
}
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
+# func_version
+# Echo version message to standard output and exit.
+func_version ()
{
- if test -n "$available_tags" && test -z "$tagname"; then
- CC_quoted=
- for arg in $CC; do
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
- done
- case $@ in
- # Blanks in the command may have been stripped by the calling shell,
- # but not from the CC environment variable when configure was run.
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
- # Blanks at the start of $base_compile will cause this to fail
- # if we don't check for them as well.
- *)
- for z in $available_tags; do
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
- CC_quoted=
- for arg in $CC; do
- # Double-quote args containing other shell metacharacters.
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
- done
- case "$@ " in
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
- # The compiler in the base compile command matches
- # the one in the tagged configuration.
- # Assume this is the tagged configuration we want.
- tagname=$z
- break
- ;;
- esac
- fi
- done
- # If $tagname still isn't set, then no tagged configuration
- # was found and let the user know that the "--tag" command
- # line option must be used.
- if test -z "$tagname"; then
- $echo "$modename: unable to infer tagged configuration"
- $echo "$modename: specify a tag with \`--tag'" 1>&2
- exit $EXIT_FAILURE
-# else
-# $echo "$modename: using $tagname tagged configuration"
- fi
- ;;
- esac
- fi
+ $opt_debug
+
+ $SED -n '/(C)/!b go
+ :more
+ /\./!{
+ N
+ s/\n# / /
+ b more
+ }
+ :go
+ /^# '$PROGRAM' (GNU /,/# warranty; / {
+ s/^# //
+ s/^# *$//
+ s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+ p
+ }' < "$progpath"
+ exit $?
}
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
+# func_usage
+# Echo short help message to standard output and exit.
+func_usage ()
{
- f_ex_an_ar_dir="$1"; shift
- f_ex_an_ar_oldlib="$1"
-
- $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
- $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
- if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
- exit $EXIT_FAILURE
- fi
+ $opt_debug
+
+ $SED -n '/^# Usage:/,/^# *.*--help/ {
+ s/^# //
+ s/^# *$//
+ s/\$progname/'$progname'/
+ p
+ }' < "$progpath"
+ echo
+ $ECHO "run \`$progname --help | more' for full usage"
+ exit $?
}
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
+# func_help [NOEXIT]
+# Echo long help message to standard output and exit,
+# unless 'noexit' is passed as argument.
+func_help ()
{
- my_gentop="$1"; shift
- my_oldlibs=${1+"$@"}
- my_oldobjs=""
- my_xlib=""
- my_xabs=""
- my_xdir=""
- my_status=""
-
- $show "${rm}r $my_gentop"
- $run ${rm}r "$my_gentop"
- $show "$mkdir $my_gentop"
- $run $mkdir "$my_gentop"
- my_status=$?
- if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
- exit $my_status
+ $opt_debug
+
+ $SED -n '/^# Usage:/,/# Report bugs to/ {
+ :print
+ s/^# //
+ s/^# *$//
+ s*\$progname*'$progname'*
+ s*\$host*'"$host"'*
+ s*\$SHELL*'"$SHELL"'*
+ s*\$LTCC*'"$LTCC"'*
+ s*\$LTCFLAGS*'"$LTCFLAGS"'*
+ s*\$LD*'"$LD"'*
+ s/\$with_gnu_ld/'"$with_gnu_ld"'/
+ s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
+ s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
+ p
+ d
+ }
+ /^# .* home page:/b print
+ /^# General help using/b print
+ ' < "$progpath"
+ ret=$?
+ if test -z "$1"; then
+ exit $ret
fi
+}
- for my_xlib in $my_oldlibs; do
- # Extract the objects.
- case $my_xlib in
- [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
- *) my_xabs=`pwd`"/$my_xlib" ;;
- esac
- my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
- my_xlib_u=$my_xlib
- while :; do
- case " $extracted_archives " in
- *" $my_xlib_u "*)
- extracted_serial=`expr $extracted_serial + 1`
- my_xlib_u=lt$extracted_serial-$my_xlib ;;
- *) break ;;
- esac
- done
- extracted_archives="$extracted_archives $my_xlib_u"
- my_xdir="$my_gentop/$my_xlib_u"
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+ $opt_debug
- $show "${rm}r $my_xdir"
- $run ${rm}r "$my_xdir"
- $show "$mkdir $my_xdir"
- $run $mkdir "$my_xdir"
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
- exit $exit_status
- fi
- case $host in
- *-darwin*)
- $show "Extracting $my_xabs"
- # Do not bother doing anything if just a dry run
- if test -z "$run"; then
- darwin_orig_dir=`pwd`
- cd $my_xdir || exit $?
- darwin_archive=$my_xabs
- darwin_curdir=`pwd`
- darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
- darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
- if test -n "$darwin_arches"; then
- darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
- darwin_arch=
- $show "$darwin_base_archive has multiple architectures $darwin_arches"
- for darwin_arch in $darwin_arches ; do
- mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- func_extract_an_archive "`pwd`" "${darwin_base_archive}"
- cd "$darwin_curdir"
- $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
- done # $darwin_arches
- ## Okay now we have a bunch of thin objects, gotta fatten them up :)
- darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
- darwin_file=
- darwin_files=
- for darwin_file in $darwin_filelist; do
- darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
- lipo -create -output "$darwin_file" $darwin_files
- done # $darwin_filelist
- ${rm}r unfat-$$
- cd "$darwin_orig_dir"
- else
- cd "$darwin_orig_dir"
- func_extract_an_archive "$my_xdir" "$my_xabs"
- fi # $darwin_arches
- fi # $run
- ;;
- *)
- func_extract_an_archive "$my_xdir" "$my_xabs"
- ;;
- esac
- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
- done
- func_extract_archives_result="$my_oldobjs"
+ func_error "missing argument for $1."
+ exit_cmd=exit
}
-# End of Shell function definitions
-#####################################
-# Darwin sucks
-eval std_shrext=\"$shrext_cmds\"
-disable_libs=no
+# func_split_short_opt shortopt
+# Set func_split_short_opt_name and func_split_short_opt_arg shell
+# variables after splitting SHORTOPT after the 2nd character.
+func_split_short_opt ()
+{
+ my_sed_short_opt='1s/^\(..\).*$/\1/;q'
+ my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
+
+ func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
+ func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
+} # func_split_short_opt may be replaced by extended shell implementation
-# Parse our command line options once, thoroughly.
-while test "$#" -gt 0
-do
- arg="$1"
- shift
- case $arg in
- -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
- *) optarg= ;;
- esac
+# func_split_long_opt longopt
+# Set func_split_long_opt_name and func_split_long_opt_arg shell
+# variables after splitting LONGOPT at the `=' sign.
+func_split_long_opt ()
+{
+ my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
+ my_sed_long_arg='1s/^--[^=]*=//'
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- execute_dlfiles)
- execute_dlfiles="$execute_dlfiles $arg"
- ;;
- tag)
- tagname="$arg"
- preserve_args="${preserve_args}=$arg"
-
- # Check whether tagname contains only valid characters
- case $tagname in
- *[!-_A-Za-z0-9,/]*)
- $echo "$progname: invalid tag name: $tagname" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
+ func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
+ func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
+} # func_split_long_opt may be replaced by extended shell implementation
- case $tagname in
- CC)
- # Don't test for the "default" C tag, as we know, it's there, but
- # not specially marked.
- ;;
- *)
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
- taglist="$taglist $tagname"
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
- else
- $echo "$progname: ignoring unknown tag $tagname" 1>&2
- fi
- ;;
- esac
- ;;
- *)
- eval "$prev=\$arg"
- ;;
- esac
+exit_cmd=:
- prev=
- prevopt=
- continue
- fi
- # Have we seen a non-optional argument yet?
- case $arg in
- --help)
- show_help=yes
- ;;
- --version)
- echo "\
-$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
-Copyright (C) 2008 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
- exit $?
- ;;
- --config)
- ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
+
+# Global variables.
+nonopt=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "${1}=\$${1}\${2}"
+} # func_append may be replaced by extended shell implementation
+
+# func_append_quoted var value
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+func_append_quoted ()
+{
+ func_quote_for_eval "${2}"
+ eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
+} # func_append_quoted may be replaced by extended shell implementation
+
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=`expr "${@}"`
+} # func_arith may be replaced by extended shell implementation
+
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
+} # func_len may be replaced by extended shell implementation
+
+
+# func_lo2o object
+func_lo2o ()
+{
+ func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+} # func_lo2o may be replaced by extended shell implementation
+
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+} # func_xform may be replaced by extended shell implementation
+
+
+# func_fatal_configuration arg...
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+ func_error ${1+"$@"}
+ func_error "See the $PACKAGE documentation for more information."
+ func_fatal_error "Fatal configuration error."
+}
+
+
+# func_config
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+ re_begincf='^# ### BEGIN LIBTOOL'
+ re_endcf='^# ### END LIBTOOL'
+
+ # Default configuration.
+ $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
# Now print the configurations for the tags.
for tagname in $taglist; do
- ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
+ $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
done
- exit $?
- ;;
-
- --debug)
- $echo "$progname: enabling shell trace mode"
- set -x
- preserve_args="$preserve_args $arg"
- ;;
- --dry-run | -n)
- run=:
- ;;
+ exit $?
+}
- --features)
- $echo "host: $host"
+# func_features
+# Display the features supported by this script.
+func_features ()
+{
+ echo "host: $host"
if test "$build_libtool_libs" = yes; then
- $echo "enable shared libraries"
+ echo "enable shared libraries"
else
- $echo "disable shared libraries"
+ echo "disable shared libraries"
fi
if test "$build_old_libs" = yes; then
- $echo "enable static libraries"
+ echo "enable static libraries"
else
- $echo "disable static libraries"
+ echo "disable static libraries"
fi
- exit $?
- ;;
-
- --finish) mode="finish" ;;
- --mode) prevopt="--mode" prev=mode ;;
- --mode=*) mode="$optarg" ;;
+ exit $?
+}
- --preserve-dup-deps) duplicate_deps="yes" ;;
+# func_enable_tag tagname
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+ # Global variable:
+ tagname="$1"
- --quiet | --silent)
- show=:
- preserve_args="$preserve_args $arg"
- ;;
+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+ sed_extractcf="/$re_begincf/,/$re_endcf/p"
- --tag)
- prevopt="--tag"
- prev=tag
- preserve_args="$preserve_args --tag"
- ;;
- --tag=*)
- set tag "$optarg" ${1+"$@"}
- shift
- prev=tag
- preserve_args="$preserve_args --tag"
- ;;
+ # Validate tagname.
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ func_fatal_error "invalid tag name: $tagname"
+ ;;
+ esac
- -dlopen)
- prevopt="-dlopen"
- prev=execute_dlfiles
- ;;
+ # Don't test for the "default" C tag, as we know it's
+ # there but not specially marked.
+ case $tagname in
+ CC) ;;
+ *)
+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+ taglist="$taglist $tagname"
+
+ # Evaluate the configuration. Be careful to quote the path
+ # and the sed script, to avoid splitting on whitespace, but
+ # also don't use non-portable quotes within backquotes within
+ # quotes we have to do it in 2 steps:
+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+ eval "$extractedcf"
+ else
+ func_error "ignoring unknown tag $tagname"
+ fi
+ ;;
+ esac
+}
- -*)
- $echo "$modename: unrecognized option \`$arg'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ fi
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+ fi
- *)
- nonopt="$arg"
- break
- ;;
- esac
-done
+ exit $EXIT_MISMATCH
+ fi
+}
-if test -n "$prevopt"; then
- $echo "$modename: option \`$prevopt' requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
-fi
-case $disable_libs in
-no)
+# Shorthand for --mode=foo, only valid as the first argument
+case $1 in
+clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
+ ;;
+compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
+ ;;
+execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
+ ;;
+finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
;;
-shared)
- build_libtool_libs=no
- build_old_libs=yes
+install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
;;
-static)
- build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
;;
esac
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end. This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-if test -z "$show_help"; then
- # Infer the operation mode.
- if test -z "$mode"; then
- $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
- $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
- case $nonopt in
- *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
- mode=link
- for arg
- do
- case $arg in
- -c)
- mode=compile
- break
- ;;
- esac
- done
- ;;
- *db | *dbx | *strace | *truss)
- mode=execute
- ;;
- *install*|cp|mv)
- mode=install
- ;;
- *rm)
- mode=uninstall
- ;;
- *)
- # If we have no mode, but dlfiles were specified, then do execute mode.
- test -n "$execute_dlfiles" && mode=execute
+# Option defaults:
+opt_debug=:
+opt_dry_run=false
+opt_config=false
+opt_preserve_dup_deps=false
+opt_features=false
+opt_finish=false
+opt_help=false
+opt_help_all=false
+opt_silent=:
+opt_warning=:
+opt_verbose=:
+opt_silent=false
+opt_verbose=false
- # Just use the default operation mode.
- if test -z "$mode"; then
- if test -n "$nonopt"; then
- $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
- else
- $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
- fi
- fi
- ;;
+
+# Parse options once, thoroughly. This comes as soon as possible in the
+# script to make things like `--version' happen as quickly as we can.
+{
+ # this just eases exit handling
+ while test $# -gt 0; do
+ opt="$1"
+ shift
+ case $opt in
+ --debug|-x) opt_debug='set -x'
+ func_echo "enabling shell trace mode"
+ $opt_debug
+ ;;
+ --dry-run|--dryrun|-n)
+ opt_dry_run=:
+ ;;
+ --config)
+ opt_config=:
+func_config
+ ;;
+ --dlopen|-dlopen)
+ optarg="$1"
+ opt_dlopen="${opt_dlopen+$opt_dlopen
+}$optarg"
+ shift
+ ;;
+ --preserve-dup-deps)
+ opt_preserve_dup_deps=:
+ ;;
+ --features)
+ opt_features=:
+func_features
+ ;;
+ --finish)
+ opt_finish=:
+set dummy --mode finish ${1+"$@"}; shift
+ ;;
+ --help)
+ opt_help=:
+ ;;
+ --help-all)
+ opt_help_all=:
+opt_help=': help-all'
+ ;;
+ --mode)
+ test $# = 0 && func_missing_arg $opt && break
+ optarg="$1"
+ opt_mode="$optarg"
+case $optarg in
+ # Valid mode arguments:
+ clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $opt"
+ exit_cmd=exit
+ break
+ ;;
+esac
+ shift
+ ;;
+ --no-silent|--no-quiet)
+ opt_silent=false
+func_append preserve_args " $opt"
+ ;;
+ --no-warning|--no-warn)
+ opt_warning=false
+func_append preserve_args " $opt"
+ ;;
+ --no-verbose)
+ opt_verbose=false
+func_append preserve_args " $opt"
+ ;;
+ --silent|--quiet)
+ opt_silent=:
+func_append preserve_args " $opt"
+ opt_verbose=false
+ ;;
+ --verbose|-v)
+ opt_verbose=:
+func_append preserve_args " $opt"
+opt_silent=false
+ ;;
+ --tag)
+ test $# = 0 && func_missing_arg $opt && break
+ optarg="$1"
+ opt_tag="$optarg"
+func_append preserve_args " $opt $optarg"
+func_enable_tag "$optarg"
+ shift
+ ;;
+
+ -\?|-h) func_usage ;;
+ --help) func_help ;;
+ --version) func_version ;;
+
+ # Separate optargs to long options:
+ --*=*)
+ func_split_long_opt "$opt"
+ set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate non-argument short options:
+ -\?*|-h*|-n*|-v*)
+ func_split_short_opt "$opt"
+ set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ --) break ;;
+ -*) func_fatal_help "unrecognized option \`$opt'" ;;
+ *) set dummy "$opt" ${1+"$@"}; shift; break ;;
esac
- fi
+ done
- # Only execute mode is allowed to have -dlopen flags.
- if test -n "$execute_dlfiles" && test "$mode" != execute; then
- $echo "$modename: unrecognized option \`-dlopen'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
+ # Validate options:
+
+ # save first non-option argument
+ if test "$#" -gt 0; then
+ nonopt="$opt"
+ shift
fi
- # Change the help message to a mode-specific one.
- generic_help="$help"
- help="Try \`$modename --help --mode=$mode' for more information."
+ # preserve --debug
+ test "$opt_debug" = : || func_append preserve_args " --debug"
- # These modes are in order of execution frequency so that they run quickly.
- case $mode in
- # libtool compile mode
- compile)
- modename="$modename: compile"
- # Get the compilation command and the source file.
- base_compile=
- srcfile="$nonopt" # always keep a non-empty value in "srcfile"
- suppress_opt=yes
- suppress_output=
- arg_mode=normal
- libobj=
- later=
-
- for arg
- do
- case $arg_mode in
- arg )
- # do not "continue". Instead, add this to base_compile
- lastarg="$arg"
- arg_mode=normal
- ;;
-
- target )
- libobj="$arg"
- arg_mode=normal
- continue
- ;;
+ case $host in
+ *cygwin* | *mingw* | *pw32* | *cegcc*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+ opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+ ;;
+ esac
- normal )
- # Accept any command-line options.
- case $arg in
- -o)
- if test -n "$libobj" ; then
- $echo "$modename: you cannot specify \`-o' more than once" 1>&2
- exit $EXIT_FAILURE
- fi
- arg_mode=target
- continue
- ;;
+ $opt_help || {
+ # Sanity checks first:
+ func_check_version_match
- -static | -prefer-pic | -prefer-non-pic)
- later="$later $arg"
- continue
- ;;
+ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+ func_fatal_configuration "not configured to build any kind of library"
+ fi
- -no-suppress)
- suppress_opt=no
- continue
- ;;
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
- -Xcompiler)
- arg_mode=arg # the next one goes into the "base_compile" arg list
- continue # The current "srcfile" will either be retained or
- ;; # replaced later. I would guess that would be a bug.
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
+ func_error "unrecognized option \`-dlopen'"
+ $ECHO "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
- -Wc,*)
- args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
- lastarg=
- save_ifs="$IFS"; IFS=','
- for arg in $args; do
- IFS="$save_ifs"
+ # Change the help message to a mode-specific one.
+ generic_help="$help"
+ help="Try \`$progname --help --mode=$opt_mode' for more information."
+ }
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- lastarg="$lastarg $arg"
- done
- IFS="$save_ifs"
- lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
- # Add the arguments to base_compile.
- base_compile="$base_compile $lastarg"
- continue
- ;;
+ # Bail if the options were screwed
+ $exit_cmd $EXIT_FAILURE
+}
- * )
- # Accept the current argument as the source file.
- # The previous "srcfile" becomes the current argument.
- #
- lastarg="$srcfile"
- srcfile="$arg"
- ;;
- esac # case $arg
- ;;
- esac # case $arg_mode
- # Aesthetically quote the previous argument.
- lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
- case $lastarg in
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, and some SunOS ksh mistreat backslash-escaping
- # in scan sets (worked around with variable expansion),
- # and furthermore cannot handle '|' '&' '(' ')' in scan sets
- # at all, so we specify them separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- lastarg="\"$lastarg\""
- ;;
- esac
- base_compile="$base_compile $lastarg"
- done # for arg
+## ----------- ##
+## Main. ##
+## ----------- ##
- case $arg_mode in
- arg)
- $echo "$modename: you must specify an argument for -Xcompile"
- exit $EXIT_FAILURE
- ;;
- target)
- $echo "$modename: you must specify a target with \`-o'" 1>&2
- exit $EXIT_FAILURE
- ;;
- *)
- # Get the name of the library object.
- [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
- ;;
- esac
+# func_lalib_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+ test -f "$1" &&
+ $SED -e 4q "$1" 2>/dev/null \
+ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
- # Recognize several different file suffixes.
- # If the user specifies -o file.o, it is replaced with file.lo
- xform='[cCFSifmso]'
- case $libobj in
- *.ada) xform=ada ;;
- *.adb) xform=adb ;;
- *.ads) xform=ads ;;
- *.asm) xform=asm ;;
- *.c++) xform=c++ ;;
- *.cc) xform=cc ;;
- *.ii) xform=ii ;;
- *.class) xform=class ;;
- *.cpp) xform=cpp ;;
- *.cxx) xform=cxx ;;
- *.[fF][09]?) xform=[fF][09]. ;;
- *.for) xform=for ;;
- *.java) xform=java ;;
- *.obj) xform=obj ;;
- *.sx) xform=sx ;;
- esac
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs. To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway. Works if `file' does not exist.
+func_lalib_unsafe_p ()
+{
+ lalib_p=no
+ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+ for lalib_p_l in 1 2 3 4
+ do
+ read lalib_p_line
+ case "$lalib_p_line" in
+ \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+ esac
+ done
+ exec 0<&5 5<&-
+ fi
+ test "$lalib_p" = yes
+}
- libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+ func_lalib_p "$1"
+}
- case $libobj in
- *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
- *)
- $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
- exit $EXIT_FAILURE
- ;;
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+ func_ltwrapper_exec_suffix=
+ case $1 in
+ *.exe) ;;
+ *) func_ltwrapper_exec_suffix=.exe ;;
esac
+ $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
- func_infer_tag $base_compile
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+ func_dirname_and_basename "$1" "" "."
+ func_stripname '' '.exe' "$func_basename_result"
+ func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+}
- for arg in $later; do
- case $arg in
- -static)
- build_old_libs=yes
- continue
- ;;
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+ func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
- -prefer-pic)
- pic_mode=yes
- continue
- ;;
- -prefer-non-pic)
- pic_mode=no
- continue
- ;;
- esac
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+ $opt_debug
+ save_ifs=$IFS; IFS='~'
+ for cmd in $1; do
+ IFS=$save_ifs
+ eval cmd=\"$cmd\"
+ func_show_eval "$cmd" "${2-:}"
done
+ IFS=$save_ifs
+}
- qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
- case $qlibobj in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qlibobj="\"$qlibobj\"" ;;
- esac
- test "X$libobj" != "X$qlibobj" \
- && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \
- && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
- objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
- xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$obj"; then
- xdir=
- else
- xdir=$xdir/
- fi
- lobj=${xdir}$objdir/$objname
- if test -z "$base_compile"; then
- $echo "$modename: you must specify a compilation command" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)! Also, sourcing
+# `FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+ $opt_debug
+ case $1 in
+ */* | *\\*) . "$1" ;;
+ *) . "./$1" ;;
+ esac
+}
- # Delete any leftover library objects.
- if test "$build_old_libs" = yes; then
- removelist="$obj $lobj $libobj ${libobj}T"
- else
- removelist="$lobj $libobj ${libobj}T"
- fi
- $run $rm $removelist
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+# func_resolve_sysroot PATH
+# Replace a leading = in PATH with a sysroot. Store the result into
+# func_resolve_sysroot_result
+func_resolve_sysroot ()
+{
+ func_resolve_sysroot_result=$1
+ case $func_resolve_sysroot_result in
+ =*)
+ func_stripname '=' '' "$func_resolve_sysroot_result"
+ func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
+ ;;
+ esac
+}
- # On Cygwin there's no "real" PIC flag so we must build both object types
- case $host_os in
- cygwin* | mingw* | pw32* | os2*)
- pic_mode=default
- ;;
- esac
- if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
- # non-PIC code in shared libraries is not supported
- pic_mode=default
- fi
+# func_replace_sysroot PATH
+# If PATH begins with the sysroot, replace it with = and
+# store the result into func_replace_sysroot_result.
+func_replace_sysroot ()
+{
+ case "$lt_sysroot:$1" in
+ ?*:"$lt_sysroot"*)
+ func_stripname "$lt_sysroot" '' "$1"
+ func_replace_sysroot_result="=$func_stripname_result"
+ ;;
+ *)
+ # Including no sysroot.
+ func_replace_sysroot_result=$1
+ ;;
+ esac
+}
- # Calculate the filename of the output object if compiler does
- # not support -o with -c
- if test "$compiler_c_o" = no; then
- output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
- lockfile="$output_obj.lock"
- removelist="$removelist $output_obj $lockfile"
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
- else
- output_obj=
- need_locks=no
- lockfile=
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+ $opt_debug
+ if test -n "$available_tags" && test -z "$tagname"; then
+ CC_quoted=
+ for arg in $CC; do
+ func_append_quoted CC_quoted "$arg"
+ done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
+ case $@ in
+ # Blanks in the command may have been stripped by the calling shell,
+ # but not from the CC environment variable when configure was run.
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
+ # Blanks at the start of $base_compile will cause this to fail
+ # if we don't check for them as well.
+ *)
+ for z in $available_tags; do
+ if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+ # Evaluate the configuration.
+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ CC_quoted=
+ for arg in $CC; do
+ # Double-quote args containing other shell metacharacters.
+ func_append_quoted CC_quoted "$arg"
+ done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
+ case "$@ " in
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
+ # The compiler in the base compile command matches
+ # the one in the tagged configuration.
+ # Assume this is the tagged configuration we want.
+ tagname=$z
+ break
+ ;;
+ esac
+ fi
+ done
+ # If $tagname still isn't set, then no tagged configuration
+ # was found and let the user know that the "--tag" command
+ # line option must be used.
+ if test -z "$tagname"; then
+ func_echo "unable to infer tagged configuration"
+ func_fatal_error "specify a tag with \`--tag'"
+# else
+# func_verbose "using $tagname tagged configuration"
+ fi
+ ;;
+ esac
fi
+}
- # Lock this critical section if it is needed
- # We use this script file to make the link, it avoids creating a new file
- if test "$need_locks" = yes; then
- until $run ln "$progpath" "$lockfile" 2>/dev/null; do
- $show "Waiting for $lockfile to be removed"
- sleep 2
- done
- elif test "$need_locks" = warn; then
- if test -f "$lockfile"; then
- $echo "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
- $echo "$srcfile" > "$lockfile"
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+ write_libobj=${1}
+ if test "$build_libtool_libs" = yes; then
+ write_lobj=\'${2}\'
+ else
+ write_lobj=none
fi
- if test -n "$fix_srcfile_path"; then
- eval srcfile=\"$fix_srcfile_path\"
+ if test "$build_old_libs" = yes; then
+ write_oldobj=\'${3}\'
+ else
+ write_oldobj=none
fi
- qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
- case $qsrcfile in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qsrcfile="\"$qsrcfile\"" ;;
- esac
-
- $run $rm "$libobj" "${libobj}T"
- # Create a libtool object file (analogous to a ".la" file),
- # but don't create it if we're doing a dry run.
- test -z "$run" && cat > ${libobj}T <<EOF
-# $libobj - a libtool object file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+ $opt_dry_run || {
+ cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# Name of the PIC object.
-EOF
+pic_object=$write_lobj
- # Only build a PIC object if we are building libtool libraries.
- if test "$build_libtool_libs" = yes; then
- # Without this assignment, base_compile gets emptied.
- fbsd_hideous_sh_bug=$base_compile
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
- if test "$pic_mode" != no; then
- command="$base_compile $qsrcfile $pic_flag"
- else
- # Don't build PIC code
- command="$base_compile $qsrcfile"
- fi
+EOF
+ $MV "${write_libobj}T" "${write_libobj}"
+ }
+}
- if test ! -d "${xdir}$objdir"; then
- $show "$mkdir ${xdir}$objdir"
- $run $mkdir ${xdir}$objdir
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
- exit $exit_status
- fi
- fi
- if test -z "$output_obj"; then
- # Place PIC objects in $objdir
- command="$command -o $lobj"
- fi
+##################################################
+# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
+##################################################
- $run $rm "$lobj" "$output_obj"
+# func_convert_core_file_wine_to_w32 ARG
+# Helper function used by file name conversion functions when $build is *nix,
+# and $host is mingw, cygwin, or some other w32 environment. Relies on a
+# correctly configured wine environment available, with the winepath program
+# in $build's $PATH.
+#
+# ARG is the $build file name to be converted to w32 format.
+# Result is available in $func_convert_core_file_wine_to_w32_result, and will
+# be empty on error (or when ARG is empty)
+func_convert_core_file_wine_to_w32 ()
+{
+ $opt_debug
+ func_convert_core_file_wine_to_w32_result="$1"
+ if test -n "$1"; then
+ # Unfortunately, winepath does not exit with a non-zero error code, so we
+ # are forced to check the contents of stdout. On the other hand, if the
+ # command is not found, the shell will set an exit code of 127 and print
+ # *an error message* to stdout. So we must check for both error code of
+ # zero AND non-empty stdout, which explains the odd construction:
+ func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
+ if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
+ func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
+ $SED -e "$lt_sed_naive_backslashify"`
+ else
+ func_convert_core_file_wine_to_w32_result=
+ fi
+ fi
+}
+# end: func_convert_core_file_wine_to_w32
- $show "$command"
- if $run eval $lt_env "$command"; then :
- else
- test -n "$output_obj" && $run $rm $removelist
- exit $EXIT_FAILURE
+
+# func_convert_core_path_wine_to_w32 ARG
+# Helper function used by path conversion functions when $build is *nix, and
+# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
+# configured wine environment available, with the winepath program in $build's
+# $PATH. Assumes ARG has no leading or trailing path separator characters.
+#
+# ARG is path to be converted from $build format to win32.
+# Result is available in $func_convert_core_path_wine_to_w32_result.
+# Unconvertible file (directory) names in ARG are skipped; if no directory names
+# are convertible, then the result may be empty.
+func_convert_core_path_wine_to_w32 ()
+{
+ $opt_debug
+ # unfortunately, winepath doesn't convert paths, only file names
+ func_convert_core_path_wine_to_w32_result=""
+ if test -n "$1"; then
+ oldIFS=$IFS
+ IFS=:
+ for func_convert_core_path_wine_to_w32_f in $1; do
+ IFS=$oldIFS
+ func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
+ if test -n "$func_convert_core_file_wine_to_w32_result" ; then
+ if test -z "$func_convert_core_path_wine_to_w32_result"; then
+ func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
+ else
+ func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
+ fi
fi
+ done
+ IFS=$oldIFS
+ fi
+}
+# end: func_convert_core_path_wine_to_w32
+
+
+# func_cygpath ARGS...
+# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
+# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
+# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
+# (2), returns the Cygwin file name or path in func_cygpath_result (input
+# file name or path is assumed to be in w32 format, as previously converted
+# from $build's *nix or MSYS format). In case (3), returns the w32 file name
+# or path in func_cygpath_result (input file name or path is assumed to be in
+# Cygwin format). Returns an empty string on error.
+#
+# ARGS are passed to cygpath, with the last one being the file name or path to
+# be converted.
+#
+# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
+# environment variable; do not put it in $PATH.
+func_cygpath ()
+{
+ $opt_debug
+ if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
+ func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
+ if test "$?" -ne 0; then
+ # on failure, ensure result is empty
+ func_cygpath_result=
+ fi
+ else
+ func_cygpath_result=
+ func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
+ fi
+}
+#end: func_cygpath
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-but it should contain:
-$srcfile
+# func_convert_core_msys_to_w32 ARG
+# Convert file name or path ARG from MSYS format to w32 format. Return
+# result in func_convert_core_msys_to_w32_result.
+func_convert_core_msys_to_w32 ()
+{
+ $opt_debug
+ # awkward: cmd appends spaces to result
+ func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
+ $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+}
+#end: func_convert_core_msys_to_w32
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
+# func_convert_file_check ARG1 ARG2
+# Verify that ARG1 (a file name in $build format) was converted to $host
+# format in ARG2. Otherwise, emit an error message, but continue (resetting
+# func_to_host_file_result to ARG1).
+func_convert_file_check ()
+{
+ $opt_debug
+ if test -z "$2" && test -n "$1" ; then
+ func_error "Could not determine host file name corresponding to"
+ func_error " \`$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback:
+ func_to_host_file_result="$1"
+ fi
+}
+# end func_convert_file_check
- # Just move the object if needed, then go on to compile the next one
- if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
- $show "$mv $output_obj $lobj"
- if $run $mv $output_obj $lobj; then :
- else
- error=$?
- $run $rm $removelist
- exit $error
- fi
- fi
- # Append the name of the PIC object to the libtool object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object='$objdir/$objname'
+# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
+# Verify that FROM_PATH (a path in $build format) was converted to $host
+# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
+# func_to_host_file_result to a simplistic fallback value (see below).
+func_convert_path_check ()
+{
+ $opt_debug
+ if test -z "$4" && test -n "$3"; then
+ func_error "Could not determine the host path corresponding to"
+ func_error " \`$3'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback. This is a deliberately simplistic "conversion" and
+ # should not be "improved". See libtool.info.
+ if test "x$1" != "x$2"; then
+ lt_replace_pathsep_chars="s|$1|$2|g"
+ func_to_host_path_result=`echo "$3" |
+ $SED -e "$lt_replace_pathsep_chars"`
+ else
+ func_to_host_path_result="$3"
+ fi
+ fi
+}
+# end func_convert_path_check
-EOF
- # Allow error messages only from the first compilation.
- if test "$suppress_opt" = yes; then
- suppress_output=' >/dev/null 2>&1'
- fi
- else
- # No PIC object so indicate it doesn't exist in the libtool
- # object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object=none
+# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
+# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
+# and appending REPL if ORIG matches BACKPAT.
+func_convert_path_front_back_pathsep ()
+{
+ $opt_debug
+ case $4 in
+ $1 ) func_to_host_path_result="$3$func_to_host_path_result"
+ ;;
+ esac
+ case $4 in
+ $2 ) func_append func_to_host_path_result "$3"
+ ;;
+ esac
+}
+# end func_convert_path_front_back_pathsep
-EOF
- fi
- # Only build a position-dependent object if we build old libraries.
- if test "$build_old_libs" = yes; then
- if test "$pic_mode" != yes; then
- # Don't build PIC code
- command="$base_compile $qsrcfile"
- else
- command="$base_compile $qsrcfile $pic_flag"
- fi
- if test "$compiler_c_o" = yes; then
- command="$command -o $obj"
- fi
+##################################################
+# $build to $host FILE NAME CONVERSION FUNCTIONS #
+##################################################
+# invoked via `$to_host_file_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# Result will be available in $func_to_host_file_result.
- # Suppress compiler output if we already did a PIC compilation.
- command="$command$suppress_output"
- $run $rm "$obj" "$output_obj"
- $show "$command"
- if $run eval $lt_env "$command"; then :
- else
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
+# func_to_host_file ARG
+# Converts the file name ARG from $build format to $host format. Return result
+# in func_to_host_file_result.
+func_to_host_file ()
+{
+ $opt_debug
+ $to_host_file_cmd "$1"
+}
+# end func_to_host_file
-but it should contain:
-$srcfile
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
+# func_to_tool_file ARG LAZY
+# converts the file name ARG from $build format to toolchain format. Return
+# result in func_to_tool_file_result. If the conversion in use is listed
+# in (the comma separated) LAZY, no conversion takes place.
+func_to_tool_file ()
+{
+ $opt_debug
+ case ,$2, in
+ *,"$to_tool_file_cmd",*)
+ func_to_tool_file_result=$1
+ ;;
+ *)
+ $to_tool_file_cmd "$1"
+ func_to_tool_file_result=$func_to_host_file_result
+ ;;
+ esac
+}
+# end func_to_tool_file
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
- # Just move the object if needed
- if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
- $show "$mv $output_obj $obj"
- if $run $mv $output_obj $obj; then :
- else
- error=$?
- $run $rm $removelist
- exit $error
- fi
- fi
+# func_convert_file_noop ARG
+# Copy ARG to func_to_host_file_result.
+func_convert_file_noop ()
+{
+ func_to_host_file_result="$1"
+}
+# end func_convert_file_noop
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object='$objname'
-EOF
- else
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object=none
+# func_convert_file_msys_to_w32 ARG
+# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_file_result.
+func_convert_file_msys_to_w32 ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_to_host_file_result="$func_convert_core_msys_to_w32_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_w32
-EOF
- fi
- $run $mv "${libobj}T" "${libobj}"
+# func_convert_file_cygwin_to_w32 ARG
+# Convert file name ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_file_cygwin_to_w32 ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
+ # LT_CYGPATH in this case.
+ func_to_host_file_result=`cygpath -m "$1"`
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_cygwin_to_w32
- # Unlock the critical section if it was locked
- if test "$need_locks" != no; then
- $run $rm "$lockfile"
- fi
- exit $EXIT_SUCCESS
- ;;
+# func_convert_file_nix_to_w32 ARG
+# Convert file name ARG from *nix to w32 format. Requires a wine environment
+# and a working winepath. Returns result in func_to_host_file_result.
+func_convert_file_nix_to_w32 ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ func_convert_core_file_wine_to_w32 "$1"
+ func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_w32
- # libtool link mode
- link | relink)
- modename="$modename: link"
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- # It is impossible to link a dll without this setting, and
- # we shouldn't force the makefile maintainer to figure out
- # which system we are compiling for in order to pass an extra
- # flag for every libtool invocation.
- # allow_undefined=no
- # FIXME: Unfortunately, there are problems with the above when trying
- # to make a dll which has undefined symbols, in which case not
- # even a static library is built. For now, we need to specify
- # -no-undefined on the libtool link line when we can be certain
- # that all symbols are satisfied, otherwise we get a static library.
- allow_undefined=yes
- ;;
- *)
- allow_undefined=yes
- ;;
- esac
- libtool_args="$nonopt"
- base_compile="$nonopt $@"
- compile_command="$nonopt"
- finalize_command="$nonopt"
+# func_convert_file_msys_to_cygwin ARG
+# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_file_msys_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_msys_to_w32_result"
+ func_to_host_file_result="$func_cygpath_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_cygwin
- compile_rpath=
- finalize_rpath=
- compile_shlibpath=
- finalize_shlibpath=
- convenience=
- old_convenience=
- deplibs=
- old_deplibs=
- compiler_flags=
- linker_flags=
- dllsearchpath=
- lib_search_path=`pwd`
- inst_prefix_dir=
- avoid_version=no
- dlfiles=
- dlprefiles=
- dlself=no
- export_dynamic=no
- export_symbols=
- export_symbols_regex=
- generated=
- libobjs=
- ltlibs=
- module=no
- no_install=no
- objs=
- non_pic_objects=
- notinst_path= # paths that contain not-installed libtool libraries
- precious_files_regex=
- prefer_static_libs=no
- preload=no
- prev=
- prevarg=
- release=
- rpath=
- xrpath=
- perm_rpath=
- temp_rpath=
- thread_safe=no
- vinfo=
- vinfo_number=no
- single_module="${wl}-single_module"
+# func_convert_file_nix_to_cygwin ARG
+# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
+# in a wine environment, working winepath, and LT_CYGPATH set. Returns result
+# in func_to_host_file_result.
+func_convert_file_nix_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
+ func_convert_core_file_wine_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
+ func_to_host_file_result="$func_cygpath_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_cygwin
- func_infer_tag $base_compile
- # We need to know -static, to get the right output filenames.
- for arg
- do
- case $arg in
- -all-static | -static | -static-libtool-libs)
- case $arg in
- -all-static)
- if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
- $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
- fi
- if test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=yes
- ;;
- -static)
- if test -z "$pic_flag" && test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=built
- ;;
- -static-libtool-libs)
- if test -z "$pic_flag" && test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=yes
- ;;
- esac
- build_libtool_libs=no
- build_old_libs=yes
- break
- ;;
- esac
- done
+#############################################
+# $build to $host PATH CONVERSION FUNCTIONS #
+#############################################
+# invoked via `$to_host_path_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# The result will be available in $func_to_host_path_result.
+#
+# Path separators are also converted from $build format to $host format. If
+# ARG begins or ends with a path separator character, it is preserved (but
+# converted to $host format) on output.
+#
+# All path conversion functions are named using the following convention:
+# file name conversion function : func_convert_file_X_to_Y ()
+# path conversion function : func_convert_path_X_to_Y ()
+# where, for any given $build/$host combination the 'X_to_Y' value is the
+# same. If conversion functions are added for new $build/$host combinations,
+# the two new functions must follow this pattern, or func_init_to_host_path_cmd
+# will break.
+
+
+# func_init_to_host_path_cmd
+# Ensures that function "pointer" variable $to_host_path_cmd is set to the
+# appropriate value, based on the value of $to_host_file_cmd.
+to_host_path_cmd=
+func_init_to_host_path_cmd ()
+{
+ $opt_debug
+ if test -z "$to_host_path_cmd"; then
+ func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
+ to_host_path_cmd="func_convert_path_${func_stripname_result}"
+ fi
+}
- # See if our shared archives depend on static archives.
- test -n "$old_archive_from_new_cmds" && build_old_libs=yes
- # Go through the arguments, transforming them on the way.
- while test "$#" -gt 0; do
- arg="$1"
- shift
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
- ;;
- *) qarg=$arg ;;
- esac
- libtool_args="$libtool_args $qarg"
+# func_to_host_path ARG
+# Converts the path ARG from $build format to $host format. Return result
+# in func_to_host_path_result.
+func_to_host_path ()
+{
+ $opt_debug
+ func_init_to_host_path_cmd
+ $to_host_path_cmd "$1"
+}
+# end func_to_host_path
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- output)
- compile_command="$compile_command @OUTPUT@"
- finalize_command="$finalize_command @OUTPUT@"
- ;;
- esac
- case $prev in
- dlfiles|dlprefiles)
- if test "$preload" = no; then
- # Add the symbol object into the linking commands.
- compile_command="$compile_command @SYMFILE@"
- finalize_command="$finalize_command @SYMFILE@"
- preload=yes
- fi
- case $arg in
- *.la | *.lo) ;; # We handle these cases below.
- force)
- if test "$dlself" = no; then
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- self)
- if test "$prev" = dlprefiles; then
- dlself=yes
- elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
- dlself=yes
- else
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- *)
- if test "$prev" = dlfiles; then
- dlfiles="$dlfiles $arg"
- else
- dlprefiles="$dlprefiles $arg"
- fi
- prev=
- continue
- ;;
- esac
- ;;
- expsyms)
- export_symbols="$arg"
- if test ! -f "$arg"; then
- $echo "$modename: symbol file \`$arg' does not exist"
- exit $EXIT_FAILURE
- fi
- prev=
- continue
- ;;
- expsyms_regex)
- export_symbols_regex="$arg"
- prev=
- continue
- ;;
- inst_prefix)
- inst_prefix_dir="$arg"
- prev=
- continue
- ;;
- precious_regex)
- precious_files_regex="$arg"
- prev=
- continue
- ;;
- release)
- release="-$arg"
- prev=
- continue
- ;;
- objectlist)
- if test -f "$arg"; then
- save_arg=$arg
- moreargs=
- for fil in `cat $save_arg`
- do
-# moreargs="$moreargs $fil"
- arg=$fil
- # A libtool-controlled object.
+# func_convert_path_noop ARG
+# Copy ARG to func_to_host_path_result.
+func_convert_path_noop ()
+{
+ func_to_host_path_result="$1"
+}
+# end func_convert_path_noop
- # Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- pic_object=
- non_pic_object=
- # Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
+# func_convert_path_msys_to_w32 ARG
+# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_path_result.
+func_convert_path_msys_to_w32 ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from ARG. MSYS
+ # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
+ # and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result="$func_convert_core_msys_to_w32_result"
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_msys_to_w32
- if test -z "$pic_object" || \
- test -z "$non_pic_object" ||
- test "$pic_object" = none && \
- test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
- fi
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
+# func_convert_path_cygwin_to_w32 ARG
+# Convert path ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_path_cygwin_to_w32 ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_cygwin_to_w32
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
+# func_convert_path_nix_to_w32 ARG
+# Convert path ARG from *nix to w32 format. Requires a wine environment and
+# a working winepath. Returns result in func_to_host_file_result.
+func_convert_path_nix_to_w32 ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_nix_to_w32
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
- prev=
- fi
- # A PIC object.
- libobjs="$libobjs $pic_object"
- arg="$pic_object"
- fi
+# func_convert_path_msys_to_cygwin ARG
+# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_path_msys_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
+ func_to_host_path_result="$func_cygpath_result"
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+ fi
+}
+# end func_convert_path_msys_to_cygwin
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
- # A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
+# func_convert_path_nix_to_cygwin ARG
+# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
+# a wine environment, working winepath, and LT_CYGPATH set. Returns result in
+# func_to_host_file_result.
+func_convert_path_nix_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from
+ # ARG. msys behavior is inconsistent here, cygpath turns them
+ # into '.;' and ';.', and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
+ func_to_host_path_result="$func_cygpath_result"
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+ fi
+}
+# end func_convert_path_nix_to_cygwin
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- fi
- done
- else
- $echo "$modename: link input file \`$save_arg' does not exist"
- exit $EXIT_FAILURE
- fi
- arg=$save_arg
- prev=
- continue
- ;;
- rpath | xrpath)
- # We need an absolute path.
- case $arg in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- if test "$prev" = rpath; then
- case "$rpath " in
- *" $arg "*) ;;
- *) rpath="$rpath $arg" ;;
- esac
- else
- case "$xrpath " in
- *" $arg "*) ;;
- *) xrpath="$xrpath $arg" ;;
- esac
- fi
- prev=
- continue
- ;;
- xcompiler)
- compiler_flags="$compiler_flags $qarg"
- prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
- continue
- ;;
- xlinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $wl$qarg"
- prev=
- compile_command="$compile_command $wl$qarg"
- finalize_command="$finalize_command $wl$qarg"
- continue
- ;;
- xcclinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $qarg"
- prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
+# func_mode_compile arg...
+func_mode_compile ()
+{
+ $opt_debug
+ # Get the compilation command and the source file.
+ base_compile=
+ srcfile="$nonopt" # always keep a non-empty value in "srcfile"
+ suppress_opt=yes
+ suppress_output=
+ arg_mode=normal
+ libobj=
+ later=
+ pie_flag=
+
+ for arg
+ do
+ case $arg_mode in
+ arg )
+ # do not "continue". Instead, add this to base_compile
+ lastarg="$arg"
+ arg_mode=normal
+ ;;
+
+ target )
+ libobj="$arg"
+ arg_mode=normal
+ continue
+ ;;
+
+ normal )
+ # Accept any command-line options.
+ case $arg in
+ -o)
+ test -n "$libobj" && \
+ func_fatal_error "you cannot specify \`-o' more than once"
+ arg_mode=target
continue
;;
- shrext)
- shrext_cmds="$arg"
- prev=
+
+ -pie | -fpie | -fPIE)
+ func_append pie_flag " $arg"
continue
;;
- darwin_framework|darwin_framework_skip)
- test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- prev=
+
+ -shared | -static | -prefer-pic | -prefer-non-pic)
+ func_append later " $arg"
continue
;;
- *)
- eval "$prev=\"\$arg\""
- prev=
+
+ -no-suppress)
+ suppress_opt=no
continue
;;
- esac
- fi # test -n "$prev"
- prevarg="$arg"
+ -Xcompiler)
+ arg_mode=arg # the next one goes into the "base_compile" arg list
+ continue # The current "srcfile" will either be retained or
+ ;; # replaced later. I would guess that would be a bug.
- case $arg in
- -all-static)
- if test -n "$link_static_flag"; then
- compile_command="$compile_command $link_static_flag"
- finalize_command="$finalize_command $link_static_flag"
- fi
- continue
- ;;
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ lastarg=
+ save_ifs="$IFS"; IFS=','
+ for arg in $args; do
+ IFS="$save_ifs"
+ func_append_quoted lastarg "$arg"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$lastarg"
+ lastarg=$func_stripname_result
- -allow-undefined)
- # FIXME: remove this flag sometime in the future.
- $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
- continue
- ;;
+ # Add the arguments to base_compile.
+ func_append base_compile " $lastarg"
+ continue
+ ;;
- -avoid-version)
- avoid_version=yes
- continue
+ *)
+ # Accept the current argument as the source file.
+ # The previous "srcfile" becomes the current argument.
+ #
+ lastarg="$srcfile"
+ srcfile="$arg"
+ ;;
+ esac # case $arg
;;
+ esac # case $arg_mode
- -dlopen)
- prev=dlfiles
- continue
- ;;
+ # Aesthetically quote the previous argument.
+ func_append_quoted base_compile "$lastarg"
+ done # for arg
- -dlpreopen)
- prev=dlprefiles
- continue
- ;;
-
- -export-dynamic)
- export_dynamic=yes
- continue
- ;;
+ case $arg_mode in
+ arg)
+ func_fatal_error "you must specify an argument for -Xcompile"
+ ;;
+ target)
+ func_fatal_error "you must specify a target with \`-o'"
+ ;;
+ *)
+ # Get the name of the library object.
+ test -z "$libobj" && {
+ func_basename "$srcfile"
+ libobj="$func_basename_result"
+ }
+ ;;
+ esac
- -export-symbols | -export-symbols-regex)
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: more than one -exported-symbols argument is not allowed"
- exit $EXIT_FAILURE
- fi
- if test "X$arg" = "X-export-symbols"; then
- prev=expsyms
- else
- prev=expsyms_regex
- fi
- continue
- ;;
+ # Recognize several different file suffixes.
+ # If the user specifies -o file.o, it is replaced with file.lo
+ case $libobj in
+ *.[cCFSifmso] | \
+ *.ada | *.adb | *.ads | *.asm | \
+ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
+ func_xform "$libobj"
+ libobj=$func_xform_result
+ ;;
+ esac
- -framework|-arch|-isysroot)
- case " $CC " in
- *" ${arg} ${1} "* | *" ${arg} ${1} "*)
- prev=darwin_framework_skip ;;
- *) compiler_flags="$compiler_flags $arg"
- prev=darwin_framework ;;
- esac
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- continue
- ;;
+ case $libobj in
+ *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+ *)
+ func_fatal_error "cannot determine name of library object from \`$libobj'"
+ ;;
+ esac
- -inst-prefix-dir)
- prev=inst_prefix
- continue
- ;;
+ func_infer_tag $base_compile
- # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
- # so, if we see these flags be careful not to treat them like -L
- -L[A-Z][A-Z]*:*)
- case $with_gcc/$host in
- no/*-*-irix* | /*-*-irix*)
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- ;;
- esac
+ for arg in $later; do
+ case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
continue
;;
- -L*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
- absdir="$dir"
- notinst_path="$notinst_path $dir"
- fi
- dir="$absdir"
- ;;
- esac
- case "$deplibs " in
- *" -L$dir "*) ;;
- *)
- deplibs="$deplibs -L$dir"
- lib_search_path="$lib_search_path $dir"
- ;;
- esac
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$dir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$dir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
- esac
- ;;
- esac
+ -static)
+ build_libtool_libs=no
+ build_old_libs=yes
continue
;;
- -l*)
- if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
- # These systems don't actually have a C or math library (as such)
- continue
- ;;
- *-*-os2*)
- # These systems don't actually have a C library (as such)
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C and math libraries are in the System framework
- deplibs="$deplibs -framework System"
- continue
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- test "X$arg" = "X-lc" && continue
- ;;
- esac
- elif test "X$arg" = "X-lc_r"; then
- case $host in
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc_r directly, use -pthread flag.
- continue
- ;;
- esac
- fi
- deplibs="$deplibs $arg"
+ -prefer-pic)
+ pic_mode=yes
continue
;;
- # Tru64 UNIX uses -model [arg] to determine the layout of C++
- # classes, name mangling, and exception handling.
- -model)
- compile_command="$compile_command $arg"
- compiler_flags="$compiler_flags $arg"
- finalize_command="$finalize_command $arg"
- prev=xcompiler
+ -prefer-non-pic)
+ pic_mode=no
continue
;;
+ esac
+ done
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
- compiler_flags="$compiler_flags $arg"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- continue
- ;;
+ func_quote_for_eval "$libobj"
+ test "X$libobj" != "X$func_quote_for_eval_result" \
+ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
+ && func_warning "libobj name \`$libobj' may not contain shell special characters."
+ func_dirname_and_basename "$obj" "/" ""
+ objname="$func_basename_result"
+ xdir="$func_dirname_result"
+ lobj=${xdir}$objdir/$objname
- -multi_module)
- single_module="${wl}-multi_module"
- continue
- ;;
+ test -z "$base_compile" && \
+ func_fatal_help "you must specify a compilation command"
- -module)
- module=yes
- continue
- ;;
+ # Delete any leftover library objects.
+ if test "$build_old_libs" = yes; then
+ removelist="$obj $lobj $libobj ${libobj}T"
+ else
+ removelist="$lobj $libobj ${libobj}T"
+ fi
- # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
- # -r[0-9][0-9]* specifies the processor on the SGI compiler
- # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
- # +DA*, +DD* enable 64-bit mode on the HP compiler
- # -q* pass through compiler args for the IBM compiler
- # -m* pass through architecture-specific compiler args for GCC
- # -m*, -t[45]*, -txscale* pass through architecture-specific
- # compiler args for GCC
- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
- # -F/path gives path to uninstalled frameworks, gcc on darwin
- # @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+ # On Cygwin there's no "real" PIC flag so we must build both object types
+ case $host_os in
+ cygwin* | mingw* | pw32* | os2* | cegcc*)
+ pic_mode=default
+ ;;
+ esac
+ if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+ # non-PIC code in shared libraries is not supported
+ pic_mode=default
+ fi
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- compiler_flags="$compiler_flags $arg"
- continue
- ;;
+ # Calculate the filename of the output object if compiler does
+ # not support -o with -c
+ if test "$compiler_c_o" = no; then
+ output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
+ lockfile="$output_obj.lock"
+ else
+ output_obj=
+ need_locks=no
+ lockfile=
+ fi
- -shrext)
- prev=shrext
- continue
- ;;
+ # Lock this critical section if it is needed
+ # We use this script file to make the link, it avoids creating a new file
+ if test "$need_locks" = yes; then
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ elif test "$need_locks" = warn; then
+ if test -f "$lockfile"; then
+ $ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
- -no-fast-install)
- fast_install=no
- continue
- ;;
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
- -no-install)
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
- # The PATH hackery in wrapper scripts is required on Windows
- # and Darwin in order for the loader to find any dlls it needs.
- $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
- $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
- fast_install=no
- ;;
- *) no_install=yes ;;
- esac
- continue
- ;;
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+ func_append removelist " $output_obj"
+ $ECHO "$srcfile" > "$lockfile"
+ fi
- -no-undefined)
- allow_undefined=no
- continue
- ;;
+ $opt_dry_run || $RM $removelist
+ func_append removelist " $lockfile"
+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
- -objectlist)
- prev=objectlist
- continue
- ;;
+ func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
+ srcfile=$func_to_tool_file_result
+ func_quote_for_eval "$srcfile"
+ qsrcfile=$func_quote_for_eval_result
- -o) prev=output ;;
+ # Only build a PIC object if we are building libtool libraries.
+ if test "$build_libtool_libs" = yes; then
+ # Without this assignment, base_compile gets emptied.
+ fbsd_hideous_sh_bug=$base_compile
- -precious-files-regex)
- prev=precious_regex
- continue
- ;;
+ if test "$pic_mode" != no; then
+ command="$base_compile $qsrcfile $pic_flag"
+ else
+ # Don't build PIC code
+ command="$base_compile $qsrcfile"
+ fi
- -release)
- prev=release
- continue
- ;;
+ func_mkdir_p "$xdir$objdir"
- -rpath)
- prev=rpath
- continue
- ;;
+ if test -z "$output_obj"; then
+ # Place PIC objects in $objdir
+ func_append command " -o $lobj"
+ fi
- -R)
- prev=xrpath
- continue
- ;;
+ func_show_eval_locale "$command" \
+ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
- -R*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- case "$xrpath " in
- *" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
- esac
- continue
- ;;
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
- -static | -static-libtool-libs)
- # The effects of -static are defined in a previous loop.
- # We used to do the same as -all-static on platforms that
- # didn't have a PIC flag, but the assumption that the effects
- # would be equivalent was wrong. It would break on at least
- # Digital Unix and AIX.
- continue
- ;;
-
- -thread-safe)
- thread_safe=yes
- continue
- ;;
+but it should contain:
+$srcfile
- -version-info)
- prev=vinfo
- continue
- ;;
- -version-number)
- prev=vinfo
- vinfo_number=yes
- continue
- ;;
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
- -Wc,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- case $flag in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $flag"
- done
- IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
- ;;
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
- -Wl,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- case $flag in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $wl$flag"
- linker_flags="$linker_flags $flag"
- done
- IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
- ;;
+ # Just move the object if needed, then go on to compile the next one
+ if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+ func_show_eval '$MV "$output_obj" "$lobj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
- -Xcompiler)
- prev=xcompiler
- continue
- ;;
+ # Allow error messages only from the first compilation.
+ if test "$suppress_opt" = yes; then
+ suppress_output=' >/dev/null 2>&1'
+ fi
+ fi
- -Xlinker)
- prev=xlinker
- continue
- ;;
+ # Only build a position-dependent object if we build old libraries.
+ if test "$build_old_libs" = yes; then
+ if test "$pic_mode" != yes; then
+ # Don't build PIC code
+ command="$base_compile $qsrcfile$pie_flag"
+ else
+ command="$base_compile $qsrcfile $pic_flag"
+ fi
+ if test "$compiler_c_o" = yes; then
+ func_append command " -o $obj"
+ fi
- -XCClinker)
- prev=xcclinker
- continue
- ;;
+ # Suppress compiler output if we already did a PIC compilation.
+ func_append command "$suppress_output"
+ func_show_eval_locale "$command" \
+ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
- # Some other compiler flag.
- -* | +*)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- ;;
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
- *.$objext)
- # A standard object.
- objs="$objs $arg"
- ;;
+but it should contain:
+$srcfile
- *.lo)
- # A libtool-controlled object.
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
- # Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- pic_object=
- non_pic_object=
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
- # Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
+ # Just move the object if needed
+ if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+ func_show_eval '$MV "$output_obj" "$obj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+ fi
- if test -z "$pic_object" || \
- test -z "$non_pic_object" ||
- test "$pic_object" = none && \
- test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
- fi
+ $opt_dry_run || {
+ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
+ # Unlock the critical section if it was locked
+ if test "$need_locks" != no; then
+ removelist=$lockfile
+ $RM "$lockfile"
+ fi
+ }
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
+ exit $EXIT_SUCCESS
+}
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
+$opt_help || {
+ test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
+}
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
- prev=
- fi
+func_mode_help ()
+{
+ # We need to display help for each of the modes.
+ case $opt_mode in
+ "")
+ # Generic help is extracted from the usage comments
+ # at the start of this file.
+ func_help
+ ;;
- # A PIC object.
- libobjs="$libobjs $pic_object"
- arg="$pic_object"
- fi
+ clean)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
+Remove files from the build directory.
- # A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+ ;;
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- fi
- ;;
+ compile)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
- *.$libext)
- # An archive.
- deplibs="$deplibs $arg"
- old_deplibs="$old_deplibs $arg"
- continue
- ;;
+Compile a source file into a libtool library object.
- *.la)
- # A libtool-controlled library.
+This mode accepts the following additional options:
- if test "$prev" = dlfiles; then
- # This library was specified with -dlopen.
- dlfiles="$dlfiles $arg"
- prev=
- elif test "$prev" = dlprefiles; then
- # The library was specified with -dlpreopen.
- dlprefiles="$dlprefiles $arg"
- prev=
- else
- deplibs="$deplibs $arg"
- fi
- continue
- ;;
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -no-suppress do not suppress compiler output for multiple passes
+ -prefer-pic try to build PIC objects only
+ -prefer-non-pic try to build non-PIC objects only
+ -shared do not build a \`.o' file suitable for static linking
+ -static only build a \`.o' file suitable for static linking
+ -Wc,FLAG pass FLAG directly to the compiler
- # Some other compiler argument.
- *)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- ;;
- esac # arg
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
- # Now actually substitute the argument into the commands.
- if test -n "$arg"; then
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- fi
- done # argument parsing loop
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+ ;;
- if test -n "$prev"; then
- $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ execute)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
- if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
- eval arg=\"$export_dynamic_flag_spec\"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- fi
+Automatically set library path, then run a program.
- oldlibs=
- # calculate the name of the file, without its directory
- outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
- libobjs_save="$libobjs"
+This mode accepts the following additional options:
- if test -n "$shlibpath_var"; then
- # get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
- else
- shlib_search_path=
- fi
- eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
- eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+ -dlopen FILE add the directory containing FILE to the library path
- output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$output_objdir" = "X$output"; then
- output_objdir="$objdir"
- else
- output_objdir="$output_objdir/$objdir"
- fi
- # Create the object directory.
- if test ! -d "$output_objdir"; then
- $show "$mkdir $output_objdir"
- $run $mkdir $output_objdir
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
- exit $exit_status
- fi
- fi
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
- # Determine the type of output
- case $output in
- "")
- $echo "$modename: you must specify an output file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- *.$libext) linkmode=oldlib ;;
- *.lo | *.$objext) linkmode=obj ;;
- *.la) linkmode=lib ;;
- *) linkmode=prog ;; # Anything else should be a program.
- esac
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
- case $host in
- *cygwin* | *mingw* | *pw32*)
- # don't eliminate duplications in $postdeps and $predeps
- duplicate_compiler_generated_deps=yes
- ;;
- *)
- duplicate_compiler_generated_deps=$duplicate_deps
- ;;
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+ finish)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the \`--dry-run' option if you just want to see what would be executed."
+ ;;
+
+ install)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+ -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+ link)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
+ -bindir BINDIR specify path to binaries directory (for systems where
+ libraries must be found in the PATH setting at runtime)
+ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -objectlist FILE Use a list of object files found in FILE to specify objects
+ -precious-files-regex REGEX
+ don't remove output files matching REGEX
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+ -shared only do dynamic linking of libtool libraries
+ -shrext SUFFIX override the standard shared library file extension
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+ -weak LIBNAME declare that the target provides the LIBNAME interface
+ -Wc,FLAG
+ -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
+ -Wl,FLAG
+ -Xlinker FLAG pass linker-specific FLAG directly to the linker
+ -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename. Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+ ;;
+
+ uninstall)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ *)
+ func_fatal_help "invalid operation mode \`$opt_mode'"
+ ;;
esac
- specialdeplibs=
- libs=
- # Find all interdependent deplibs by searching for libraries
- # that are linked more than once (e.g. -la -lb -la)
- for deplib in $deplibs; do
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- libs="$libs $deplib"
- done
+ echo
+ $ECHO "Try \`$progname --help' for more information about other modes."
+}
- if test "$linkmode" = lib; then
- libs="$predeps $libs $compiler_lib_search_path $postdeps"
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+ if test "$opt_help" = :; then
+ func_mode_help
+ else
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ func_mode_help
+ done
+ } | sed -n '1p; 2,$s/^Usage:/ or: /p'
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ echo
+ func_mode_help
+ done
+ } |
+ sed '1d
+ /^When reporting/,/^Report/{
+ H
+ d
+ }
+ $x
+ /information about other modes/d
+ /more detailed .*MODE/d
+ s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+ fi
+ exit $?
+fi
- # Compute libraries that are listed more than once in $predeps
- # $postdeps and mark them as special (i.e., whose duplicates are
- # not to be eliminated).
- pre_post_deps=
- if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
- for pre_post_dep in $predeps $postdeps; do
- case "$pre_post_deps " in
- *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
- esac
- pre_post_deps="$pre_post_deps $pre_post_dep"
- done
- fi
- pre_post_deps=
- fi
- deplibs=
- newdependency_libs=
- newlib_search_path=
- need_relink=no # whether we're linking any uninstalled libtool libraries
- notinst_deplibs= # not-installed libtool libraries
- case $linkmode in
- lib)
- passes="conv link"
- for file in $dlfiles $dlprefiles; do
- case $file in
- *.la) ;;
- *)
- $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- done
+# func_mode_execute arg...
+func_mode_execute ()
+{
+ $opt_debug
+ # The first argument is the command name.
+ cmd="$nonopt"
+ test -z "$cmd" && \
+ func_fatal_help "you must specify a COMMAND"
+
+ # Handle -dlopen flags immediately.
+ for file in $opt_dlopen; do
+ test -f "$file" \
+ || func_fatal_help "\`$file' is not a file"
+
+ dir=
+ case $file in
+ *.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+ func_source "$file"
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && \
+ func_warning "\`$file' was not linked with \`-export-dynamic'"
+ continue
+ fi
+
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+
+ if test -f "$dir/$objdir/$dlname"; then
+ func_append dir "/$objdir"
+ else
+ if test ! -f "$dir/$dlname"; then
+ func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+ fi
+ fi
;;
- prog)
- compile_deplibs=
- finalize_deplibs=
- alldeplibs=no
- newdlfiles=
- newdlprefiles=
- passes="conv scan dlopen dlpreopen link"
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
;;
- *) passes="conv"
+
+ *)
+ func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+ continue
;;
- esac
- for pass in $passes; do
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan"; then
- libs="$deplibs"
- deplibs=
+ esac
+
+ # Get the absolute pathname.
+ absdir=`cd "$dir" && pwd`
+ test -n "$absdir" && dir="$absdir"
+
+ # Now add the directory to shlibpath_var.
+ if eval "test -z \"\$$shlibpath_var\""; then
+ eval "$shlibpath_var=\"\$dir\""
+ else
+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
fi
- if test "$linkmode" = prog; then
- case $pass in
- dlopen) libs="$dlfiles" ;;
- dlpreopen) libs="$dlprefiles" ;;
- link)
- libs="$deplibs %DEPLIBS%"
- test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
- ;;
- esac
+ done
+
+ # This variable tells wrapper scripts just to set shlibpath_var
+ # rather than running their programs.
+ libtool_execute_magic="$magic"
+
+ # Check if any of the arguments is a wrapper script.
+ args=
+ for file
+ do
+ case $file in
+ -* | *.la | *.lo ) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if func_ltwrapper_script_p "$file"; then
+ func_source "$file"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ elif func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ func_source "$func_ltwrapper_scriptname_result"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ fi
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+ func_append_quoted args "$file"
+ done
+
+ if test "X$opt_dry_run" = Xfalse; then
+ if test -n "$shlibpath_var"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
fi
- if test "$pass" = dlopen; then
- # Collect dlpreopened libraries
- save_deplibs="$deplibs"
- deplibs=
+
+ # Restore saved environment variables
+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ else
+ $lt_unset $lt_var
+ fi"
+ done
+
+ # Now prepare to actually exec the command.
+ exec_cmd="\$cmd$args"
+ else
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+ echo "export $shlibpath_var"
fi
- for deplib in $libs; do
- lib=
- found=no
- case $deplib in
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- compiler_flags="$compiler_flags $deplib"
- fi
- continue
- ;;
- -l*)
- if test "$linkmode" != lib && test "$linkmode" != prog; then
- $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
- continue
- fi
- name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
- if test "$linkmode" = lib; then
- searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
- else
- searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
- fi
- for searchdir in $searchdirs; do
- for search_ext in .la $std_shrext .so .a; do
- # Search the libtool library
- lib="$searchdir/lib${name}${search_ext}"
- if test -f "$lib"; then
- if test "$search_ext" = ".la"; then
- found=yes
- else
- found=no
- fi
- break 2
- fi
- done
- done
- if test "$found" != yes; then
- # deplib doesn't seem to be a libtool library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- else # deplib is a libtool library
- # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
- # We need to do some special things here, and not later.
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $deplib "*)
- if (${SED} -e '2q' $lib |
- grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- library_names=
- old_library=
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
- for l in $old_library $library_names; do
- ll="$l"
- done
- if test "X$ll" = "X$old_library" ; then # only static version available
- found=no
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
- lib=$ladir/$old_library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- fi
- fi
- ;;
- *) ;;
- esac
- fi
- fi
- ;; # -l
- -L*)
- case $linkmode in
- lib)
- deplibs="$deplib $deplibs"
- test "$pass" = conv && continue
- newdependency_libs="$deplib $newdependency_libs"
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
- ;;
- prog)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- if test "$pass" = scan; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
- ;;
- *)
- $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
- ;;
- esac # linkmode
- continue
- ;; # -L
- -R*)
- if test "$pass" = link; then
- dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
- # Make sure the xrpath contains only unique directories.
- case "$xrpath " in
- *" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
- esac
- fi
- deplibs="$deplib $deplibs"
- continue
- ;;
- *.la) lib="$deplib" ;;
- *.$libext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- case $linkmode in
- lib)
- valid_a_lib=no
- case $deplibs_check_method in
- match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- if eval $echo \"$deplib\" 2>/dev/null \
- | $SED 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
- valid_a_lib=yes
- fi
- ;;
- pass_all)
- valid_a_lib=yes
- ;;
- esac
- if test "$valid_a_lib" != yes; then
- $echo
- $echo "*** Warning: Trying to link with static lib archive $deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because the file extensions .$libext of this argument makes me believe"
- $echo "*** that it is just a static archive that I should not used here."
- else
- $echo
- $echo "*** Warning: Linking the shared library $output against the"
- $echo "*** static library $deplib is not portable!"
- deplibs="$deplib $deplibs"
- fi
- continue
- ;;
- prog)
- if test "$pass" != link; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- continue
- ;;
- esac # linkmode
- ;; # *.$libext
- *.lo | *.$objext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- elif test "$linkmode" = prog; then
- if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
- # If there is no dlopen support or we're linking statically,
- # we need to preload.
- newdlprefiles="$newdlprefiles $deplib"
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- newdlfiles="$newdlfiles $deplib"
- fi
- fi
- continue
- ;;
- %DEPLIBS%)
- alldeplibs=yes
- continue
- ;;
- esac # case $deplib
- if test "$found" = yes || test -f "$lib"; then :
- else
- $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
+ fi
+}
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
+test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
- dlname=
- dlopen=
- dlpreopen=
- libdir=
- library_names=
- old_library=
- # If the library was installed with an old release of libtool,
- # it will not redefine variables installed, or shouldnotlink
- installed=yes
- shouldnotlink=no
- avoidtemprpath=
+# func_mode_finish arg...
+func_mode_finish ()
+{
+ $opt_debug
+ libs=
+ libdirs=
+ admincmds=
- # Read the .la file
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
+ for opt in "$nonopt" ${1+"$@"}
+ do
+ if test -d "$opt"; then
+ func_append libdirs " $opt"
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan" ||
- { test "$linkmode" != prog && test "$linkmode" != lib; }; then
- test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
- test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+ elif test -f "$opt"; then
+ if func_lalib_unsafe_p "$opt"; then
+ func_append libs " $opt"
+ else
+ func_warning "\`$opt' is not a valid libtool archive"
fi
- if test "$pass" = conv; then
- # Only check for convenience libraries
- deplibs="$lib $deplibs"
- if test -z "$libdir"; then
- if test -z "$old_library"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- # It is a libtool convenience library, so add in its objects.
- convenience="$convenience $ladir/$objdir/$old_library"
- old_convenience="$old_convenience $ladir/$objdir/$old_library"
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
- elif test "$linkmode" != prog && test "$linkmode" != lib; then
- $echo "$modename: \`$lib' is not a convenience library" 1>&2
- exit $EXIT_FAILURE
- fi
- continue
- fi # $pass = conv
+ else
+ func_fatal_error "invalid argument \`$opt'"
+ fi
+ done
+ if test -n "$libs"; then
+ if test -n "$lt_sysroot"; then
+ sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
+ sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
+ else
+ sysroot_cmd=
+ fi
- # Get the name of the library we link against.
- linklib=
- for l in $old_library $library_names; do
- linklib="$l"
+ # Remove sysroot references
+ if $opt_dry_run; then
+ for lib in $libs; do
+ echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
+ done
+ else
+ tmpdir=`func_mktempdir`
+ for lib in $libs; do
+ sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+ > $tmpdir/tmp-la
+ mv -f $tmpdir/tmp-la $lib
done
- if test -z "$linklib"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
+ ${RM}r "$tmpdir"
+ fi
+ fi
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+ func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
fi
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+ $opt_dry_run || eval "$cmds" || func_append admincmds "
+ $cmds"
+ fi
+ done
+ fi
- # This library was specified with -dlopen.
- if test "$pass" = dlopen; then
- if test -z "$libdir"; then
- $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- if test -z "$dlname" ||
- test "$dlopen_support" != yes ||
- test "$build_libtool_libs" = no; then
- # If there is no dlname, no dlopen support or we're linking
- # statically, we need to preload. We also need to preload any
- # dependent libraries so libltdl's deplib preloader doesn't
- # bomb out in the load deplibs phase.
- dlprefiles="$dlprefiles $lib $dependency_libs"
- else
- newdlfiles="$newdlfiles $lib"
- fi
- continue
- fi # $pass = dlopen
+ # Exit here if they wanted silent mode.
+ $opt_silent && exit $EXIT_SUCCESS
- # We need an absolute path.
- case $ladir in
- [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
- *)
- abs_ladir=`cd "$ladir" && pwd`
- if test -z "$abs_ladir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
- $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
- abs_ladir="$ladir"
- fi
- ;;
- esac
- laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ echo "----------------------------------------------------------------------"
+ echo "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ $ECHO " $libdir"
+ done
+ echo
+ echo "If you ever happen to want to link against installed libraries"
+ echo "in a given directory, LIBDIR, you must either use libtool, and"
+ echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ echo "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ echo " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ echo " - add LIBDIR to the \`$runpath_var' environment variable"
+ echo " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
- # Find the relevant object directory and library name.
- if test "X$installed" = Xyes; then
- if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- $echo "$modename: warning: library \`$lib' was moved." 1>&2
- dir="$ladir"
- absdir="$abs_ladir"
- libdir="$abs_ladir"
- else
- dir="$libdir"
- absdir="$libdir"
- fi
- test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- else
- if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- dir="$ladir"
- absdir="$abs_ladir"
- # Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
- else
- dir="$ladir/$objdir"
- absdir="$abs_ladir/$objdir"
- # Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
- fi
- fi # $installed = yes
- name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+ $ECHO " - use the \`$flag' linker flag"
+ fi
+ if test -n "$admincmds"; then
+ $ECHO " - have your system administrator run these commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ fi
+ echo
- # This library was specified with -dlpreopen.
- if test "$pass" = dlpreopen; then
- if test -z "$libdir"; then
- $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- # Prefer using a static library (so that no silly _DYNAMIC symbols
- # are required to link).
- if test -n "$old_library"; then
- newdlprefiles="$newdlprefiles $dir/$old_library"
- # Otherwise, use the dlname, so that lt_dlopen finds it.
- elif test -n "$dlname"; then
- newdlprefiles="$newdlprefiles $dir/$dlname"
- else
- newdlprefiles="$newdlprefiles $dir/$linklib"
- fi
- fi # $pass = dlpreopen
+ echo "See any operating system documentation about shared libraries for"
+ case $host in
+ solaris2.[6789]|solaris2.1[0-9])
+ echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+ echo "pages."
+ ;;
+ *)
+ echo "more information, such as the ld(1) and ld.so(8) manual pages."
+ ;;
+ esac
+ echo "----------------------------------------------------------------------"
+ fi
+ exit $EXIT_SUCCESS
+}
- if test -z "$libdir"; then
- # Link the convenience library
- if test "$linkmode" = lib; then
- deplibs="$dir/$old_library $deplibs"
- elif test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$dir/$old_library $compile_deplibs"
- finalize_deplibs="$dir/$old_library $finalize_deplibs"
- else
- deplibs="$lib $deplibs" # used for prog,scan pass
+test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+ $opt_debug
+ # There may be an optional sh(1) argument at the beginning of
+ # install_prog (especially on Windows NT).
+ if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+ # Allow the use of GNU shtool's install command.
+ case $nonopt in *shtool*) :;; *) false;; esac; then
+ # Aesthetically quote it.
+ func_quote_for_eval "$nonopt"
+ install_prog="$func_quote_for_eval_result "
+ arg=$1
+ shift
+ else
+ install_prog=
+ arg=$nonopt
+ fi
+
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ func_quote_for_eval "$arg"
+ func_append install_prog "$func_quote_for_eval_result"
+ install_shared_prog=$install_prog
+ case " $install_prog " in
+ *[\\\ /]cp\ *) install_cp=: ;;
+ *) install_cp=false ;;
+ esac
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=no
+ stripme=
+ no_mode=:
+ for arg
+ do
+ arg2=
+ if test -n "$dest"; then
+ func_append files " $dest"
+ dest=$arg
+ continue
+ fi
+
+ case $arg in
+ -d) isdir=yes ;;
+ -f)
+ if $install_cp; then :; else
+ prev=$arg
+ fi
+ ;;
+ -g | -m | -o)
+ prev=$arg
+ ;;
+ -s)
+ stripme=" -s"
+ continue
+ ;;
+ -*)
+ ;;
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ if test "x$prev" = x-m && test -n "$install_override_mode"; then
+ arg2=$install_override_mode
+ no_mode=false
fi
+ prev=
+ else
+ dest=$arg
continue
fi
+ ;;
+ esac
+ # Aesthetically quote the argument.
+ func_quote_for_eval "$arg"
+ func_append install_prog " $func_quote_for_eval_result"
+ if test -n "$arg2"; then
+ func_quote_for_eval "$arg2"
+ fi
+ func_append install_shared_prog " $func_quote_for_eval_result"
+ done
- if test "$linkmode" = prog && test "$pass" != link; then
- newlib_search_path="$newlib_search_path $ladir"
- deplibs="$lib $deplibs"
+ test -z "$install_prog" && \
+ func_fatal_help "you must specify an install program"
- linkalldeplibs=no
- if test "$link_all_deplibs" != no || test -z "$library_names" ||
- test "$build_libtool_libs" = no; then
- linkalldeplibs=yes
- fi
+ test -n "$prev" && \
+ func_fatal_help "the \`$prev' option requires an argument"
- tmp_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
- esac
- # Need to link against all dependency_libs?
- if test "$linkalldeplibs" = yes; then
- deplibs="$deplib $deplibs"
- else
- # Need to hardcode shared library paths
- # or/and link against static libraries
- newdependency_libs="$deplib $newdependency_libs"
- fi
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done # for deplib
- continue
- fi # $linkmode = prog...
+ if test -n "$install_override_mode" && $no_mode; then
+ if $install_cp; then :; else
+ func_quote_for_eval "$install_override_mode"
+ func_append install_shared_prog " -m $func_quote_for_eval_result"
+ fi
+ fi
- if test "$linkmode,$pass" = "prog,link"; then
- if test -n "$library_names" &&
- { { test "$prefer_static_libs" = no ||
- test "$prefer_static_libs,$installed" = "built,yes"; } ||
- test -z "$old_library"; }; then
- # We need to hardcode the library path
- if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
- # Make sure the rpath contains only unique directories.
- case "$temp_rpath " in
- *" $dir "*) ;;
- *" $absdir "*) ;;
- *) temp_rpath="$temp_rpath $absdir" ;;
- esac
- fi
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ func_fatal_help "no file or destination specified"
+ else
+ func_fatal_help "you must specify a destination"
+ fi
+ fi
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
- esac
- ;;
- esac
- fi # $linkmode,$pass = prog,link...
+ # Strip any trailing slash from the destination.
+ func_stripname '' '/' "$dest"
+ dest=$func_stripname_result
- if test "$alldeplibs" = yes &&
- { test "$deplibs_check_method" = pass_all ||
- { test "$build_libtool_libs" = yes &&
- test -n "$library_names"; }; }; then
- # We only need to search for static libraries
- continue
- fi
- fi
+ # Check to see that the destination is a directory.
+ test -d "$dest" && isdir=yes
+ if test "$isdir" = yes; then
+ destdir="$dest"
+ destname=
+ else
+ func_dirname_and_basename "$dest" "" "."
+ destdir="$func_dirname_result"
+ destname="$func_basename_result"
- link_static=no # Whether the deplib will be linked statically
- use_static_libs=$prefer_static_libs
- if test "$use_static_libs" = built && test "$installed" = yes ; then
- use_static_libs=no
- fi
- if test -n "$library_names" &&
- { test "$use_static_libs" = no || test -z "$old_library"; }; then
- if test "$installed" = no; then
- notinst_deplibs="$notinst_deplibs $lib"
- need_relink=yes
- fi
- # This is a shared library
+ # Not a directory, so check to see that there is only one file specified.
+ set dummy $files; shift
+ test "$#" -gt 1 && \
+ func_fatal_help "\`$dest' is not a directory"
+ fi
+ case $destdir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ for file in $files; do
+ case $file in
+ *.lo) ;;
+ *)
+ func_fatal_help "\`$destdir' must be an absolute directory name"
+ ;;
+ esac
+ done
+ ;;
+ esac
- # Warn about portability, can't link against -module's on
- # some systems (darwin)
- if test "$shouldnotlink" = yes && test "$pass" = link ; then
- $echo
- if test "$linkmode" = prog; then
- $echo "*** Warning: Linking the executable $output against the loadable module"
- else
- $echo "*** Warning: Linking the shared library $output against the loadable module"
- fi
- $echo "*** $linklib is not portable!"
- fi
- if test "$linkmode" = lib &&
- test "$hardcode_into_libs" = yes; then
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
- esac
- ;;
- esac
- fi
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
- if test -n "$old_archive_from_expsyms_cmds"; then
- # figure out the soname
- set dummy $library_names
- realname="$2"
- shift; shift
- libname=`eval \\$echo \"$libname_spec\"`
- # use dlname if we got it. it's perfectly good, no?
- if test -n "$dlname"; then
- soname="$dlname"
- elif test -n "$soname_spec"; then
- # bleh windows
- case $host in
- *cygwin* | mingw*)
- major=`expr $current - $age`
- versuffix="-$major"
- ;;
- esac
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ for file in $files; do
- # Make a new name for the extract_expsyms_cmds to use
- soroot="$soname"
- soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
- newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
+ # Do each installation.
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+ func_append staticlibs " $file"
+ ;;
- # If the library has no export list, then create one now
- if test -f "$output_objdir/$soname-def"; then :
- else
- $show "extracting exported symbol list from \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$extract_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
+ *.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
- # Create $newlib
- if test -f "$output_objdir/$newlib"; then :; else
- $show "generating import library for \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$old_archive_from_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
- # make sure the library variables are pointing to the new library
- dir=$output_objdir
- linklib=$newlib
- fi # test -n "$old_archive_from_expsyms_cmds"
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$file' is not a valid libtool archive"
- if test "$linkmode" = prog || test "$mode" != relink; then
- add_shlibpath=
- add_dir=
- add=
- lib_linked=yes
- case $hardcode_action in
- immediate | unsupported)
- if test "$hardcode_direct" = no; then
- add="$dir/$linklib"
- case $host in
- *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
- *-*-sysv4*uw2*) add_dir="-L$dir" ;;
- *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
- *-*-unixware7*) add_dir="-L$dir" ;;
- *-*-darwin* )
- # if the lib is a module then we can not link against
- # it, someone is ignoring the new warnings I added
- if /usr/bin/file -L $add 2> /dev/null |
- $EGREP ": [^:]* bundle" >/dev/null ; then
- $echo "** Warning, lib $linklib is a module, not a shared library"
- if test -z "$old_library" ; then
- $echo
- $echo "** And there doesn't seem to be a static archive available"
- $echo "** The link will probably fail, sorry"
- else
- add="$dir/$old_library"
- fi
- fi
- esac
- elif test "$hardcode_minus_L" = no; then
- case $host in
- *-*-sunos*) add_shlibpath="$dir" ;;
- esac
- add_dir="-L$dir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = no; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- relink)
- if test "$hardcode_direct" = yes; then
- add="$dir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$dir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- *) lib_linked=no ;;
- esac
+ library_names=
+ old_library=
+ relink_command=
+ func_source "$file"
- if test "$lib_linked" != yes; then
- $echo "$modename: configuration error: unsupported hardcode properties"
- exit $EXIT_FAILURE
- fi
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) func_append current_libdirs " $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) func_append future_libdirs " $libdir" ;;
+ esac
+ fi
- if test -n "$add_shlibpath"; then
- case :$compile_shlibpath: in
- *":$add_shlibpath:"*) ;;
- *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
- esac
- fi
- if test "$linkmode" = prog; then
- test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
- test -n "$add" && compile_deplibs="$add $compile_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- if test "$hardcode_direct" != yes && \
- test "$hardcode_minus_L" != yes && \
- test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
- esac
- fi
- fi
- fi
+ func_dirname "$file" "/" ""
+ dir="$func_dirname_result"
+ func_append dir "$objdir"
- if test "$linkmode" = prog || test "$mode" = relink; then
- add_shlibpath=
- add_dir=
- add=
- # Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes; then
- add="$libdir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$libdir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
- esac
- add="-l$name"
- elif test "$hardcode_automatic" = yes; then
- if test -n "$inst_prefix_dir" &&
- test -f "$inst_prefix_dir$libdir/$linklib" ; then
- add="$inst_prefix_dir$libdir/$linklib"
- else
- add="$libdir/$linklib"
- fi
- else
- # We cannot seem to hardcode it, guess we'll fake it.
- add_dir="-L$libdir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- fi
+ if test -n "$relink_command"; then
+ # Determine the prefix the user has applied to our future dir.
+ inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
- if test "$linkmode" = prog; then
- test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
- test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- fi
- fi
- elif test "$linkmode" = prog; then
- # Here we assume that one of hardcode_direct or hardcode_minus_L
- # is not unsupported. This is valid on all known static and
- # shared platforms.
- if test "$hardcode_direct" != unsupported; then
- test -n "$old_library" && linklib="$old_library"
- compile_deplibs="$dir/$linklib $compile_deplibs"
- finalize_deplibs="$dir/$linklib $finalize_deplibs"
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+ # are installed to the same prefix.
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+ test "$inst_prefix_dir" = "$destdir" && \
+ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
else
- compile_deplibs="-l$name -L$dir $compile_deplibs"
- finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
fi
- elif test "$build_libtool_libs" = yes; then
- # Not a shared library
- if test "$deplibs_check_method" != pass_all; then
- # We're trying link a shared library against a static one
- # but the system doesn't support it.
- # Just print a warning and add the library to dependency_libs so
- # that the program can be linked against the static library.
- $echo
- $echo "*** Warning: This system can not link to static lib archive $lib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have."
- if test "$module" = yes; then
- $echo "*** But as you try to build a module library, libtool will still create "
- $echo "*** a static module, that should work as long as the dlopening application"
- $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
- if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- else
- deplibs="$dir/$old_library $deplibs"
- link_static=yes
+ func_warning "relinking \`$file'"
+ func_show_eval "$relink_command" \
+ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+ fi
+
+ # See the names of the shared library.
+ set dummy $library_names; shift
+ if test -n "$1"; then
+ realname="$1"
+ shift
+
+ srcname="$realname"
+ test -n "$relink_command" && srcname="$realname"T
+
+ # Install the shared library and build the symlinks.
+ func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
+ 'exit $?'
+ tstripme="$stripme"
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $realname in
+ *.dll.a)
+ tstripme=""
+ ;;
+ esac
+ ;;
+ esac
+ if test -n "$tstripme" && test -n "$striplib"; then
+ func_show_eval "$striplib $destdir/$realname" 'exit $?'
fi
- fi # link shared/static library?
- if test "$linkmode" = lib; then
- if test -n "$dependency_libs" &&
- { test "$hardcode_into_libs" != yes ||
- test "$build_old_libs" = yes ||
- test "$link_static" = yes; }; then
- # Extract -R from dependency_libs
- temp_deplibs=
- for libdir in $dependency_libs; do
- case $libdir in
- -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
- case " $xrpath " in
- *" $temp_xrpath "*) ;;
- *) xrpath="$xrpath $temp_xrpath";;
- esac;;
- *) temp_deplibs="$temp_deplibs $libdir";;
- esac
+ if test "$#" -gt 0; then
+ # Delete the old symlinks, and create new ones.
+ # Try `ln -sf' first, because the `ln' binary might depend on
+ # the symlink we replace! Solaris /bin/ln does not understand -f,
+ # so we also need to try rm && ln -s.
+ for linkname
+ do
+ test "$linkname" != "$realname" \
+ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
done
- dependency_libs="$temp_deplibs"
fi
- newlib_search_path="$newlib_search_path $absdir"
- # Link against this library
- test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
- # ... and its dependency_libs
- tmp_libs=
- for deplib in $dependency_libs; do
- newdependency_libs="$deplib $newdependency_libs"
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
+ # Do each command in the postinstall commands.
+ lib="$destdir/$realname"
+ func_execute_cmds "$postinstall_cmds" 'exit $?'
+ fi
- if test "$link_all_deplibs" != no; then
- # Add the search paths of all dependency libraries
- for deplib in $dependency_libs; do
- case $deplib in
- -L*) path="$deplib" ;;
- *.la)
- dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$deplib" && dir="."
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
- *)
- absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
- absdir="$dir"
- fi
- ;;
- esac
- if grep "^installed=no" $deplib > /dev/null; then
- path="$absdir/$objdir"
- else
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- if test "$absdir" != "$libdir"; then
- $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
- fi
- path="$absdir"
- fi
- depdepl=
- case $host in
- *-*-darwin*)
- # we do not want to link against static libs,
- # but need to link against shared
- eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
- eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -n "$deplibrary_names" ; then
- for tmp in $deplibrary_names ; do
- depdepl=$tmp
- done
- if test -f "$deplibdir/$depdepl" ; then
- depdepl="$deplibdir/$depdepl"
- elif test -f "$path/$depdepl" ; then
- depdepl="$path/$depdepl"
- else
- # Can't find it, oh well...
- depdepl=
- fi
- # do not add paths which are already there
- case " $newlib_search_path " in
- *" $path "*) ;;
- *) newlib_search_path="$newlib_search_path $path";;
- esac
- fi
- path=""
- ;;
- *)
- path="-L$path"
- ;;
- esac
- ;;
- -l*)
- case $host in
- *-*-darwin*)
- # Again, we only want to link against shared libraries
- eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
- for tmp in $newlib_search_path ; do
- if test -f "$tmp/lib$tmp_libs.dylib" ; then
- eval depdepl="$tmp/lib$tmp_libs.dylib"
- break
- fi
- done
- path=""
- ;;
- *) continue ;;
- esac
- ;;
- *) continue ;;
- esac
- case " $deplibs " in
- *" $path "*) ;;
- *) deplibs="$path $deplibs" ;;
- esac
- case " $deplibs " in
- *" $depdepl "*) ;;
- *) deplibs="$depdepl $deplibs" ;;
- esac
- done
- fi # link_all_deplibs != no
- fi # linkmode = lib
- done # for deplib in $libs
- dependency_libs="$newdependency_libs"
- if test "$pass" = dlpreopen; then
- # Link the dlpreopened libraries before other libraries
- for deplib in $save_deplibs; do
- deplibs="$deplib $deplibs"
- done
- fi
- if test "$pass" != dlopen; then
- if test "$pass" != conv; then
- # Make sure lib_search_path contains only unique directories.
- lib_search_path=
- for dir in $newlib_search_path; do
- case "$lib_search_path " in
- *" $dir "*) ;;
- *) lib_search_path="$lib_search_path $dir" ;;
- esac
- done
- newlib_search_path=
- fi
+ # Install the pseudo-library for information purposes.
+ func_basename "$file"
+ name="$func_basename_result"
+ instname="$dir/$name"i
+ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
- if test "$linkmode,$pass" != "prog,link"; then
- vars="deplibs"
+ # Maybe install the static library, too.
+ test -n "$old_library" && func_append staticlibs " $dir/$old_library"
+ ;;
+
+ *.lo)
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
else
- vars="compile_deplibs finalize_deplibs"
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
fi
- for var in $vars dependency_libs; do
- # Add libraries to $var in reverse order
- eval tmp_libs=\"\$$var\"
- new_libs=
- for deplib in $tmp_libs; do
- # FIXME: Pedantically, this is the right thing to do, so
- # that some nasty dependency loop isn't accidentally
- # broken:
- #new_libs="$deplib $new_libs"
- # Pragmatically, this seems to cause very few problems in
- # practice:
- case $deplib in
- -L*) new_libs="$deplib $new_libs" ;;
- -R*) ;;
- *)
- # And here is the reason: when a library appears more
- # than once as an explicit dependence of a library, or
- # is implicitly linked in more than once by the
- # compiler, it is considered special, and multiple
- # occurrences thereof are not removed. Compare this
- # with having the same library being listed as a
- # dependency of multiple other libraries: in this case,
- # we know (pedantically, we assume) the library does not
- # need to be listed more than once, so we keep only the
- # last copy. This is not always right, but it is rare
- # enough that we require users that really mean to play
- # such unportable linking tricks to link the library
- # using -Wl,-lname, so that libtool does not consider it
- # for duplicate removal.
- case " $specialdeplibs " in
- *" $deplib "*) new_libs="$deplib $new_libs" ;;
- *)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$deplib $new_libs" ;;
- esac
- ;;
- esac
- ;;
- esac
- done
- tmp_libs=
- for deplib in $new_libs; do
- case $deplib in
- -L*)
- case " $tmp_libs " in
- *" $deplib "*) ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
- esac
- ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
- esac
- done
- eval $var=\"$tmp_libs\"
- done # for var
- fi
- # Last step: remove runtime libs from dependency_libs
- # (they stay in deplibs)
- tmp_libs=
- for i in $dependency_libs ; do
- case " $predeps $postdeps $compiler_lib_search_path " in
- *" $i "*)
- i=""
+
+ # Deduce the name of the destination old-style object file.
+ case $destfile in
+ *.lo)
+ func_lo2o "$destfile"
+ staticdest=$func_lo2o_result
+ ;;
+ *.$objext)
+ staticdest="$destfile"
+ destfile=
+ ;;
+ *)
+ func_fatal_help "cannot copy a libtool object to \`$destfile'"
;;
esac
- if test -n "$i" ; then
- tmp_libs="$tmp_libs $i"
- fi
- done
- dependency_libs=$tmp_libs
- done # for pass
- if test "$linkmode" = prog; then
- dlfiles="$newdlfiles"
- dlprefiles="$newdlprefiles"
- fi
- case $linkmode in
- oldlib)
- case " $deplibs" in
- *\ -l* | *\ -L*)
- $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;;
- esac
+ # Install the libtool object if requested.
+ test -n "$destfile" && \
+ func_show_eval "$install_prog $file $destfile" 'exit $?'
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
- fi
+ # Install the old object if enabled.
+ if test "$build_old_libs" = yes; then
+ # Deduce the name of the old-style object file.
+ func_lo2o "$file"
+ staticobj=$func_lo2o_result
+ func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+ fi
+ exit $EXIT_SUCCESS
+ ;;
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
- fi
+ *)
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
- fi
+ # If the file is missing, and there is a .exe on the end, strip it
+ # because it is most likely a libtool script we actually want to
+ # install
+ stripped_ext=""
+ case $file in
+ *.exe)
+ if test ! -f "$file"; then
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ stripped_ext=".exe"
+ fi
+ ;;
+ esac
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
- fi
+ # Do a test to see if this is really a libtool program.
+ case $host in
+ *cygwin* | *mingw*)
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ wrapper=$func_ltwrapper_scriptname_result
+ else
+ func_stripname '' '.exe' "$file"
+ wrapper=$func_stripname_result
+ fi
+ ;;
+ *)
+ wrapper=$file
+ ;;
+ esac
+ if func_ltwrapper_script_p "$wrapper"; then
+ notinst_deplibs=
+ relink_command=
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
- fi
+ func_source "$wrapper"
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
- fi
+ # Check the variables that should have been set.
+ test -z "$generated_by_libtool_version" && \
+ func_fatal_error "invalid libtool wrapper script \`$wrapper'"
- # Now set the variables for building old libraries.
- build_libtool_libs=no
- oldlibs="$output"
- objs="$objs$old_deplibs"
- ;;
+ finalize=yes
+ for lib in $notinst_deplibs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ func_source "$lib"
+ fi
+ libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ if test -n "$libdir" && test ! -f "$libfile"; then
+ func_warning "\`$lib' has not been installed in \`$libdir'"
+ finalize=no
+ fi
+ done
- lib)
- # Make sure we only generate libraries of the form `libNAME.la'.
- case $outputname in
- lib*)
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- ;;
- *)
- if test "$module" = no; then
- $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
+ relink_command=
+ func_source "$wrapper"
+
+ outputname=
+ if test "$fast_install" = no && test -n "$relink_command"; then
+ $opt_dry_run || {
+ if test "$finalize" = yes; then
+ tmpdir=`func_mktempdir`
+ func_basename "$file$stripped_ext"
+ file="$func_basename_result"
+ outputname="$tmpdir/$file"
+ # Replace the output file specification.
+ relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
+
+ $opt_silent || {
+ func_quote_for_expand "$relink_command"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ if eval "$relink_command"; then :
+ else
+ func_error "error: relink \`$file' with the above command before installing it"
+ $opt_dry_run || ${RM}r "$tmpdir"
+ continue
+ fi
+ file="$outputname"
+ else
+ func_warning "cannot relink \`$file'"
+ fi
+ }
+ else
+ # Install the binary that we compiled earlier.
+ file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
+ fi
fi
- if test "$need_lib_prefix" != no; then
- # Add the "lib" prefix for modules if required
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- else
- libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+
+ # remove .exe since cygwin /usr/bin/install will append another
+ # one anyway
+ case $install_prog,$host in
+ */usr/bin/install*,*cygwin*)
+ case $file:$destfile in
+ *.exe:*.exe)
+ # this is ok
+ ;;
+ *.exe:*)
+ destfile=$destfile.exe
+ ;;
+ *:*.exe)
+ func_stripname '' '.exe' "$destfile"
+ destfile=$func_stripname_result
+ ;;
+ esac
+ ;;
+ esac
+ func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+ $opt_dry_run || if test -n "$outputname"; then
+ ${RM}r "$tmpdir"
fi
;;
esac
+ done
- if test -n "$objs"; then
- if test "$deplibs_check_method" != pass_all; then
- $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
- exit $EXIT_FAILURE
- else
- $echo
- $echo "*** Warning: Linking the shared library $output against the non-libtool"
- $echo "*** objects $objs is not portable!"
- libobjs="$libobjs $objs"
- fi
- fi
-
- if test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
- fi
+ for file in $staticlibs; do
+ func_basename "$file"
+ name="$func_basename_result"
- set dummy $rpath
- if test "$#" -gt 2; then
- $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+ # Set up the ranlib parameters.
+ oldlib="$destdir/$name"
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
+
+ func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+ if test -n "$stripme" && test -n "$old_striplib"; then
+ func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
fi
- install_libdir="$2"
- oldlibs=
- if test -z "$rpath"; then
- if test "$build_libtool_libs" = yes; then
- # Building a libtool convenience library.
- # Some compilers have problems with a `.al' extension so
- # convenience libraries should have the same extension an
- # archive normally would.
- oldlibs="$output_objdir/$libname.$libext $oldlibs"
- build_libtool_libs=convenience
- build_old_libs=yes
- fi
+ # Do each command in the postinstall commands.
+ func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+ done
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
- fi
+ test -n "$future_libdirs" && \
+ func_warning "remember to run \`$progname --finish$future_libdirs'"
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
- fi
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ $opt_dry_run && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+ else
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$opt_mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+ $opt_debug
+ my_outputname="$1"
+ my_originator="$2"
+ my_pic_p="${3-no}"
+ my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+ my_dlsyms=
+
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ my_dlsyms="${my_outputname}S.c"
else
+ func_error "not configured to extract global symbols from dlpreopened files"
+ fi
+ fi
- # Parse the version information argument.
- save_ifs="$IFS"; IFS=':'
- set dummy $vinfo 0 0 0
- IFS="$save_ifs"
+ if test -n "$my_dlsyms"; then
+ case $my_dlsyms in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist="$output_objdir/${my_outputname}.nm"
- if test -n "$8"; then
- $echo "$modename: too many parameters to \`-version-info'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
- # convert absolute version numbers to libtool ages
- # this retains compatibility with .la files and attempts
- # to make the code below a bit more comprehensible
+ # Parse the name list into a source file.
+ func_verbose "creating $output_objdir/$my_dlsyms"
- case $vinfo_number in
- yes)
- number_major="$2"
- number_minor="$3"
- number_revision="$4"
- #
- # There are really only two kinds -- those that
- # use the current revision as the major version
- # and those that subtract age and use age as
- # a minor version. But, then there is irix
- # which has an extra 1 added just for fun
- #
- case $version_type in
- darwin|linux|osf|windows|none)
- current=`expr $number_major + $number_minor`
- age="$number_minor"
- revision="$number_revision"
- ;;
- freebsd-aout|freebsd-elf|sunos)
- current="$number_major"
- revision="$number_minor"
- age="0"
- ;;
- irix|nonstopux)
- current=`expr $number_major + $number_minor`
- age="$number_minor"
- revision="$number_minor"
- lt_irix_increment=no
- ;;
- *)
- $echo "$modename: unknown library version type \`$version_type'" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- ;;
- no)
- current="$2"
- revision="$3"
- age="$4"
- ;;
- esac
+ $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
- # Check that each of the things are valid numbers.
- case $current in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
+#ifdef __cplusplus
+extern \"C\" {
+#endif
- case $revision in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
+#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#endif
- case $age in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
- if test "$age" -gt "$current"; then
- $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- fi
+/* External symbol declarations for the compiler. */\
+"
- # Calculate the version variables.
- major=
- versuffix=
- verstring=
- case $version_type in
- none) ;;
+ if test "$dlself" = yes; then
+ func_verbose "generating symbol list for \`$output'"
- darwin)
- # Like Linux, but with the current version available in
- # verstring for coding it into the library header
- major=.`expr $current - $age`
- versuffix="$major.$age.$revision"
- # Darwin ld doesn't like 0 for these options...
- minor_current=`expr $current + 1`
- xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
- verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
- ;;
+ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
- freebsd-aout)
- major=".$current"
- versuffix=".$current.$revision";
- ;;
+ # Add our own program objects to the symbol list.
+ progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ for progfile in $progfiles; do
+ func_to_tool_file "$progfile" func_convert_file_msys_to_w32
+ func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
+ $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
+ done
- freebsd-elf)
- major=".$current"
- versuffix=".$current";
- ;;
+ if test -n "$exclude_expsyms"; then
+ $opt_dry_run || {
+ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
- irix | nonstopux)
- if test "X$lt_irix_increment" = "Xno"; then
- major=`expr $current - $age`
+ if test -n "$export_symbols_regex"; then
+ $opt_dry_run || {
+ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols="$output_objdir/$outputname.exp"
+ $opt_dry_run || {
+ $RM $export_symbols
+ eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
else
- major=`expr $current - $age + 1`
+ $opt_dry_run || {
+ eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
fi
- case $version_type in
- nonstopux) verstring_prefix=nonstopux ;;
- *) verstring_prefix=sgi ;;
- esac
- verstring="$verstring_prefix$major.$revision"
+ fi
- # Add in all the interfaces that we are compatible with.
- loop=$revision
- while test "$loop" -ne 0; do
- iface=`expr $revision - $loop`
- loop=`expr $loop - 1`
- verstring="$verstring_prefix$major.$iface:$verstring"
- done
+ for dlprefile in $dlprefiles; do
+ func_verbose "extracting global C symbols from \`$dlprefile'"
+ func_basename "$dlprefile"
+ name="$func_basename_result"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ # if an import library, we need to obtain dlname
+ if func_win32_import_lib_p "$dlprefile"; then
+ func_tr_sh "$dlprefile"
+ eval "curr_lafile=\$libfile_$func_tr_sh_result"
+ dlprefile_dlbasename=""
+ if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
+ # Use subshell, to avoid clobbering current variable values
+ dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
+ if test -n "$dlprefile_dlname" ; then
+ func_basename "$dlprefile_dlname"
+ dlprefile_dlbasename="$func_basename_result"
+ else
+ # no lafile. user explicitly requested -dlpreopen <import library>.
+ $sharedlib_from_linklib_cmd "$dlprefile"
+ dlprefile_dlbasename=$sharedlib_from_linklib_result
+ fi
+ fi
+ $opt_dry_run || {
+ if test -n "$dlprefile_dlbasename" ; then
+ eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
+ else
+ func_warning "Could not compute DLL name from $name"
+ eval '$ECHO ": $name " >> "$nlist"'
+ fi
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
+ $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
+ }
+ else # not an import lib
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ fi
+ ;;
+ *)
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ ;;
+ esac
+ done
- # Before this point, $major must not contain `.'.
- major=.$major
- versuffix="$major.$revision"
- ;;
+ $opt_dry_run || {
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
- linux)
- major=.`expr $current - $age`
- versuffix="$major.$age.$revision"
- ;;
+ if test -n "$exclude_expsyms"; then
+ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $MV "$nlist"T "$nlist"
+ fi
- osf)
- major=.`expr $current - $age`
- versuffix=".$current.$age.$revision"
- verstring="$current.$age.$revision"
+ # Try sorting and uniquifying the output.
+ if $GREP -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
+ :
+ else
+ $GREP -v "^: " < "$nlist" > "$nlist"S
+ fi
- # Add in all the interfaces that we are compatible with.
- loop=$age
- while test "$loop" -ne 0; do
- iface=`expr $current - $loop`
- loop=`expr $loop - 1`
- verstring="$verstring:${iface}.0"
- done
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+ else
+ echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
+ fi
- # Make executables depend on our current version.
- verstring="$verstring:${current}.0"
- ;;
+ echo >> "$output_objdir/$my_dlsyms" "\
- sunos)
- major=".$current"
- versuffix=".$current.$revision"
- ;;
+/* The mapping between symbol names and symbols. */
+typedef struct {
+ const char *name;
+ void *address;
+} lt_dlsymlist;
+extern LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+ { \"$my_originator\", (void *) 0 },"
- windows)
- # Use '-' rather than '.', since we only want one
- # extension on DOS 8.3 filesystems.
- major=`expr $current - $age`
- versuffix="-$major"
- ;;
+ case $need_lib_prefix in
+ no)
+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ *)
+ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ esac
+ echo >> "$output_objdir/$my_dlsyms" "\
+ {0, (void *) 0}
+};
- *)
- $echo "$modename: unknown library version type \`$version_type'" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
- # Clear the version info if we defaulted, and they specified a release.
- if test -z "$vinfo" && test -n "$release"; then
- major=
- case $version_type in
- darwin)
- # we can't check for "0.0" in archive_cmds due to quoting
- # problems, so we reset it completely
- verstring=
- ;;
+#ifdef __cplusplus
+}
+#endif\
+"
+ } # !$opt_dry_run
+
+ pic_flag_for_symtable=
+ case "$compile_command " in
+ *" -static "*) ;;
+ *)
+ case $host in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+ *-*-hpux*)
+ pic_flag_for_symtable=" $pic_flag" ;;
*)
- verstring="0.0"
+ if test "X$my_pic_p" != Xno; then
+ pic_flag_for_symtable=" $pic_flag"
+ fi
;;
esac
- if test "$need_version" = no; then
- versuffix=
+ ;;
+ esac
+ symtab_cflags=
+ for arg in $LTCFLAGS; do
+ case $arg in
+ -pie | -fpie | -fPIE) ;;
+ *) func_append symtab_cflags " $arg" ;;
+ esac
+ done
+
+ # Now compile the dynamic symbol file.
+ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+ # Clean up the generated files.
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+ # Transform the symbol file into the correct name.
+ symfileobj="$output_objdir/${my_outputname}S.$objext"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ if test -f "$output_objdir/$my_outputname.def"; then
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
else
- versuffix=".0.0"
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
fi
- fi
+ ;;
+ *)
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ ;;
+ esac
+ ;;
+ *)
+ func_fatal_error "unknown suffix for \`$my_dlsyms'"
+ ;;
+ esac
+ else
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
- # Remove version info from name if versioning should be avoided
- if test "$avoid_version" = yes && test "$need_version" = no; then
- major=
- versuffix=
- verstring=""
- fi
+ # Nullify the symbol file.
+ compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
+ fi
+}
- # Check to see if the archive will have undefined symbols.
- if test "$allow_undefined" = yes; then
- if test "$allow_undefined_flag" = unsupported; then
- $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
- build_libtool_libs=no
- build_old_libs=yes
- fi
- else
- # Don't allow undefined symbols.
- allow_undefined_flag="$no_undefined_flag"
- fi
- fi
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+# Despite the name, also deal with 64 bit binaries.
+func_win32_libid ()
+{
+ $opt_debug
+ win32_libid_type="unknown"
+ win32_fileres=`file -L $1 2>/dev/null`
+ case $win32_fileres in
+ *ar\ archive\ import\ library*) # definitely import
+ win32_libid_type="x86 archive import"
+ ;;
+ *ar\ archive*) # could be an import, or static
+ # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+ $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+ $SED -n -e '
+ 1,100{
+ / I /{
+ s,.*,import,
+ p
+ q
+ }
+ }'`
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+ esac
+ fi
+ ;;
+ *DLL*)
+ win32_libid_type="x86 DLL"
+ ;;
+ *executable*) # but shell scripts are "executable" too...
+ case $win32_fileres in
+ *MS\ Windows\ PE\ Intel*)
+ win32_libid_type="x86 DLL"
+ ;;
+ esac
+ ;;
+ esac
+ $ECHO "$win32_libid_type"
+}
- if test "$mode" != relink; then
- # Remove our outputs, but don't remove object files since they
- # may have been created when compiling PIC objects.
- removelist=
- tempremovelist=`$echo "$output_objdir/*"`
- for p in $tempremovelist; do
- case $p in
- *.$objext)
- ;;
- $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
- if test "X$precious_files_regex" != "X"; then
- if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
- then
- continue
- fi
- fi
- removelist="$removelist $p"
- ;;
- *) ;;
- esac
- done
- if test -n "$removelist"; then
- $show "${rm}r $removelist"
- $run ${rm}r $removelist
- fi
- fi
+# func_cygming_dll_for_implib ARG
+#
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib ()
+{
+ $opt_debug
+ sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
+}
- # Now set the variables for building old libraries.
- if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
- oldlibs="$oldlibs $output_objdir/$libname.$libext"
+# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
+#
+# The is the core of a fallback implementation of a
+# platform-specific function to extract the name of the
+# DLL associated with the specified import library LIBNAME.
+#
+# SECTION_NAME is either .idata$6 or .idata$7, depending
+# on the platform and compiler that created the implib.
+#
+# Echos the name of the DLL associated with the
+# specified import library.
+func_cygming_dll_for_implib_fallback_core ()
+{
+ $opt_debug
+ match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
+ $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
+ $SED '/^Contents of section '"$match_literal"':/{
+ # Place marker at beginning of archive member dllname section
+ s/.*/====MARK====/
+ p
+ d
+ }
+ # These lines can sometimes be longer than 43 characters, but
+ # are always uninteresting
+ /:[ ]*file format pe[i]\{,1\}-/d
+ /^In archive [^:]*:/d
+ # Ensure marker is printed
+ /^====MARK====/p
+ # Remove all lines with less than 43 characters
+ /^.\{43\}/!d
+ # From remaining lines, remove first 43 characters
+ s/^.\{43\}//' |
+ $SED -n '
+ # Join marker and all lines until next marker into a single line
+ /^====MARK====/ b para
+ H
+ $ b para
+ b
+ :para
+ x
+ s/\n//g
+ # Remove the marker
+ s/^====MARK====//
+ # Remove trailing dots and whitespace
+ s/[\. \t]*$//
+ # Print
+ /./p' |
+ # we now have a list, one entry per line, of the stringified
+ # contents of the appropriate section of all members of the
+ # archive which possess that section. Heuristic: eliminate
+ # all those which have a first or second character that is
+ # a '.' (that is, objdump's representation of an unprintable
+ # character.) This should work for all archives with less than
+ # 0x302f exports -- but will fail for DLLs whose name actually
+ # begins with a literal '.' or a single character followed by
+ # a '.'.
+ #
+ # Of those that remain, print the first one.
+ $SED -e '/^\./d;/^.\./d;q'
+}
- # Transform .lo files to .o files.
- oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
- fi
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+ $opt_debug
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+ test -n "$func_cygming_gnu_implib_tmp"
+}
- # Eliminate all temporary directories.
- #for path in $notinst_path; do
- # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
- # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
- # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
- #done
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+ $opt_debug
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+ test -n "$func_cygming_ms_implib_tmp"
+}
- if test -n "$xrpath"; then
- # If the user specified any rpath flags, then add them.
- temp_xrpath=
- for libdir in $xrpath; do
- temp_xrpath="$temp_xrpath -R$libdir"
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
- esac
- done
- if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
- dependency_libs="$temp_xrpath $dependency_libs"
- fi
- fi
+# func_cygming_dll_for_implib_fallback ARG
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+#
+# This fallback implementation is for use when $DLLTOOL
+# does not support the --identify-strict option.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib_fallback ()
+{
+ $opt_debug
+ if func_cygming_gnu_implib_p "$1" ; then
+ # binutils import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
+ elif func_cygming_ms_implib_p "$1" ; then
+ # ms-generated import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
+ else
+ # unknown
+ sharedlib_from_linklib_result=""
+ fi
+}
- # Make sure dlfiles contains only unique files that won't be dlpreopened
- old_dlfiles="$dlfiles"
- dlfiles=
- for lib in $old_dlfiles; do
- case " $dlprefiles $dlfiles " in
- *" $lib "*) ;;
- *) dlfiles="$dlfiles $lib" ;;
- esac
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+ $opt_debug
+ f_ex_an_ar_dir="$1"; shift
+ f_ex_an_ar_oldlib="$1"
+ if test "$lock_old_archive_extraction" = yes; then
+ lockfile=$f_ex_an_ar_oldlib.lock
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
done
+ fi
+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+ 'stat=$?; rm -f "$lockfile"; exit $stat'
+ if test "$lock_old_archive_extraction" = yes; then
+ $opt_dry_run || rm -f "$lockfile"
+ fi
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+ fi
+}
- # Make sure dlprefiles contains only unique files
- old_dlprefiles="$dlprefiles"
- dlprefiles=
- for lib in $old_dlprefiles; do
- case "$dlprefiles " in
- *" $lib "*) ;;
- *) dlprefiles="$dlprefiles $lib" ;;
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+ $opt_debug
+ my_gentop="$1"; shift
+ my_oldlibs=${1+"$@"}
+ my_oldobjs=""
+ my_xlib=""
+ my_xabs=""
+ my_xdir=""
+
+ for my_xlib in $my_oldlibs; do
+ # Extract the objects.
+ case $my_xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+ *) my_xabs=`pwd`"/$my_xlib" ;;
+ esac
+ func_basename "$my_xlib"
+ my_xlib="$func_basename_result"
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ func_arith $extracted_serial + 1
+ extracted_serial=$func_arith_result
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
esac
done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir="$my_gentop/$my_xlib_u"
- if test "$build_libtool_libs" = yes; then
- if test -n "$rpath"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
- # these systems don't actually have a c library (as such)!
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C library is in the System framework
- deplibs="$deplibs -framework System"
- ;;
- *-*-netbsd*)
- # Don't link with libc until the a.out ld.so is fixed.
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- ;;
- *)
- # Add libc to deplibs on all other systems if necessary.
- if test "$build_libtool_need_lc" = "yes"; then
- deplibs="$deplibs -lc"
- fi
- ;;
- esac
- fi
+ func_mkdir_p "$my_xdir"
- # Transform deplibs into only deplibs that can be linked in shared.
- name_save=$name
- libname_save=$libname
- release_save=$release
- versuffix_save=$versuffix
- major_save=$major
- # I'm not sure if I'm treating the release correctly. I think
- # release should show up in the -l (ie -lgmp5) so we don't want to
- # add it in twice. Is that correct?
- release=""
- versuffix=""
- major=""
- newdeplibs=
- droppeddeps=no
- case $deplibs_check_method in
- pass_all)
- # Don't check for shared/static. Everything works.
- # This might be a little naive. We might want to check
- # whether the library exists or not. But this is on
- # osf3 & osf4 and I'm not really sure... Just
- # implementing what was already the behavior.
- newdeplibs=$deplibs
- ;;
- test_compile)
- # This code stresses the "libraries are programs" paradigm to its
- # limits. Maybe even breaks it. We compile a program, linking it
- # against the deplibs as a proxy for the library. Then we can check
- # whether they linked in statically or dynamically with ldd.
- $rm conftest.c
- cat > conftest.c <<EOF
- int main() { return 0; }
-EOF
- $rm conftest
- if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
- ldd_output=`ldd conftest`
- for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $i "*)
- newdeplibs="$newdeplibs $i"
- i=""
- ;;
- esac
- fi
- if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
- else
- droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which I believe you do not have"
- $echo "*** because a test_compile did reveal that the linker did not use it for"
- $echo "*** its dynamic dependency list that programs get resolved with at runtime."
- fi
- fi
- else
- newdeplibs="$newdeplibs $i"
- fi
- done
+ case $host in
+ *-darwin*)
+ func_verbose "Extracting $my_xabs"
+ # Do not bother doing anything if just a dry run
+ $opt_dry_run || {
+ darwin_orig_dir=`pwd`
+ cd $my_xdir || exit $?
+ darwin_archive=$my_xabs
+ darwin_curdir=`pwd`
+ darwin_base_archive=`basename "$darwin_archive"`
+ darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+ if test -n "$darwin_arches"; then
+ darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+ darwin_arch=
+ func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+ for darwin_arch in $darwin_arches ; do
+ func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+ cd "$darwin_curdir"
+ $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+ done # $darwin_arches
+ ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+ darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+ cd "$darwin_orig_dir"
else
- # Error occurred in the first compile. Let's try to salvage
- # the situation: Compile a separate program for each library.
- for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- $rm conftest
- if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
- ldd_output=`ldd conftest`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $i "*)
- newdeplibs="$newdeplibs $i"
- i=""
- ;;
- esac
- fi
- if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
- else
- droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because a test_compile did reveal that the linker did not use this one"
- $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
- fi
- fi
- else
- droppeddeps=yes
- $echo
- $echo "*** Warning! Library $i is needed by this library but I was not able to"
- $echo "*** make it link in! You will probably need to install it or some"
- $echo "*** library that it depends on before this library will be fully"
- $echo "*** functional. Installing it before continuing would be even better."
- fi
- else
- newdeplibs="$newdeplibs $i"
- fi
- done
- fi
- ;;
- file_magic*)
- set dummy $deplibs_check_method
- file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- ;;
- esac
- fi
- if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
- for potent_lib in $potential_libs; do
- # Follow soft links.
- if ls -lLd "$potent_lib" 2>/dev/null \
- | grep " -> " >/dev/null; then
- continue
- fi
- # The statement above tries to avoid entering an
- # endless loop below, in case of cyclic links.
- # We might still enter an endless loop, since a link
- # loop can be closed while we follow links,
- # but so what?
- potlib="$potent_lib"
- while test -h "$potlib" 2>/dev/null; do
- potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
- case $potliblink in
- [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
- esac
- done
- if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$file_magic_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for file magic test)"
- else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a file magic. Last file checked: $potlib"
- fi
- fi
- else
- # Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- fi
- done # Gone through all deplibs.
- ;;
- match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test -n "$name" && test "$name" != "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- ;;
- esac
- fi
- if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
- for potent_lib in $potential_libs; do
- potlib="$potent_lib" # see symlink-check above in file_magic test
- if eval $echo \"$potent_lib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
- else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a regex pattern. Last file checked: $potlib"
- fi
- fi
- else
- # Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- fi
- done # Gone through all deplibs.
- ;;
- none | unknown | *)
- newdeplibs=""
- tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
- -e 's/ -[LR][^ ]*//g'`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- for i in $predeps $postdeps ; do
- # can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
- done
- fi
- if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \
- | grep . >/dev/null; then
- $echo
- if test "X$deplibs_check_method" = "Xnone"; then
- $echo "*** Warning: inter-library dependencies are not supported in this platform."
- else
- $echo "*** Warning: inter-library dependencies are not known to be supported."
- fi
- $echo "*** All declared inter-library dependencies are being dropped."
- droppeddeps=yes
- fi
- ;;
- esac
- versuffix=$versuffix_save
- major=$major_save
- release=$release_save
- libname=$libname_save
- name=$name_save
+ cd $darwin_orig_dir
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ fi # $darwin_arches
+ } # !$opt_dry_run
+ ;;
+ *)
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+ done
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
- ;;
- esac
+ func_extract_archives_result="$my_oldobjs"
+}
- if test "$droppeddeps" = yes; then
- if test "$module" = yes; then
- $echo
- $echo "*** Warning: libtool could not satisfy all declared inter-library"
- $echo "*** dependencies of module $libname. Therefore, libtool will create"
- $echo "*** a static module, that should work as long as the dlopening"
- $echo "*** application is linked with the -dlopen flag."
- if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- else
- $echo "*** The inter-library dependencies that have been dropped here will be"
- $echo "*** automatically added whenever a program is linked with this library"
- $echo "*** or is declared to -dlopen it."
- if test "$allow_undefined" = no; then
- $echo
- $echo "*** Since this library must not contain undefined symbols,"
- $echo "*** because either the platform does not support them or"
- $echo "*** it was explicitly requested with -no-undefined,"
- $echo "*** libtool will only create a static version of it."
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- fi
- fi
- # Done checking deplibs!
- deplibs=$newdeplibs
- fi
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable. Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take. If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory. This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+ func_emit_wrapper_arg1=${1-no}
+ $ECHO "\
+#! $SHELL
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $deplibs " in
- *" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- done
- deplibs="$new_libs"
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='$sed_quote_subst'
- # All the library-specific variables (install_libdir is set above).
- library_names=
- old_library=
- dlname=
+# Be Bourne compatible
+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
+ # 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
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
- # Test again, we may have decided not to build it any more
- if test "$build_libtool_libs" = yes; then
- if test "$hardcode_into_libs" = yes; then
- # Hardcode the library paths
- hardcode_libdirs=
- dep_rpath=
- rpath="$finalize_rpath"
- test "$mode" != relink && rpath="$compile_rpath$rpath"
- for libdir in $rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- dep_rpath="$dep_rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- if test -n "$hardcode_libdir_flag_spec_ld"; then
- case $archive_cmds in
- *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
- *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
- esac
- else
- eval dep_rpath=\"$hardcode_libdir_flag_spec\"
- fi
- fi
- if test -n "$runpath_var" && test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- rpath="$rpath$dir:"
- done
- eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
- fi
- test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
- fi
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
- shlibpath="$finalize_shlibpath"
- test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
- if test -n "$shlibpath"; then
- eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
- fi
+relink_command=\"$relink_command\"
- # Get the real and link names of the library.
- eval shared_ext=\"$shrext_cmds\"
- eval library_names=\"$library_names_spec\"
- set dummy $library_names
- realname="$2"
- shift; shift
-
- if test -n "$soname_spec"; then
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
- if test -z "$dlname"; then
- dlname=$soname
- fi
-
- lib="$output_objdir/$realname"
- linknames=
- for link
- do
- linknames="$linknames $link"
- done
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variables:
+ generated_by_libtool_version='$macro_version'
+ notinst_deplibs='$notinst_deplibs'
+else
+ # When we are sourced in execute mode, \$file and \$ECHO are already set.
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ file=\"\$0\""
- # Use standard objects if they are pic
- test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+ $ECHO "\
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
- $show "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
- cmds=$export_symbols_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- if len=`expr "X$cmd" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- $show "$cmd"
- $run eval "$cmd" || exit $?
- skipped_export=false
- else
- # The command line is too long to execute in one step.
- $show "using reloadable object file for export list..."
- skipped_export=:
- # Break out early, otherwise skipped_export may be
- # set to false by a later but shorter cmd.
- break
- fi
- done
- IFS="$save_ifs"
- if test -n "$export_symbols_regex"; then
- $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
- $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- $show "$mv \"${export_symbols}T\" \"$export_symbols\""
- $run eval '$mv "${export_symbols}T" "$export_symbols"'
- fi
- fi
- fi
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+ ECHO=\"$qECHO\"
+ fi
- if test -n "$export_symbols" && test -n "$include_expsyms"; then
- $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
- fi
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ which is used only on
+# windows platforms, and (c) all begin with the string "--lt-"
+# (application programs are unlikely to have options which match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's $0 value, followed by "$@".
+lt_option_debug=
+func_parse_lt_options ()
+{
+ lt_script_arg0=\$0
+ shift
+ for lt_opt
+ do
+ case \"\$lt_opt\" in
+ --lt-debug) lt_option_debug=1 ;;
+ --lt-dump-script)
+ lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
+ test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
+ lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
+ cat \"\$lt_dump_D/\$lt_dump_F\"
+ exit 0
+ ;;
+ --lt-*)
+ \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
+ exit 1
+ ;;
+ esac
+ done
- tmp_deplibs=
- for test_deplib in $deplibs; do
- case " $convenience " in
- *" $test_deplib "*) ;;
- *)
- tmp_deplibs="$tmp_deplibs $test_deplib"
- ;;
- esac
- done
- deplibs="$tmp_deplibs"
+ # Print the debug banner immediately:
+ if test -n \"\$lt_option_debug\"; then
+ echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+ fi
+}
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- else
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+ lt_dump_args_N=1;
+ for lt_arg
+ do
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+ lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
+ done
+}
- func_extract_archives $gentop $convenience
- libobjs="$libobjs $func_extract_archives_result"
- fi
- fi
-
- if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
- eval flag=\"$thread_safe_flag_spec\"
- linker_flags="$linker_flags $flag"
- fi
+# Core function for launching the target application
+func_exec_program_core ()
+{
+"
+ case $host in
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2* | *-cegcc*)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+ ;;
- # Make a backup of the uninstalled library when relinking
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
- fi
+ *)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $ECHO "\
+ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+ exit 1
+}
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- eval test_cmds=\"$module_expsym_cmds\"
- cmds=$module_expsym_cmds
- else
- eval test_cmds=\"$module_cmds\"
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- eval test_cmds=\"$archive_expsym_cmds\"
- cmds=$archive_expsym_cmds
- else
- eval test_cmds=\"$archive_cmds\"
- cmds=$archive_cmds
- fi
- fi
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from \$@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+ case \" \$* \" in
+ *\\ --lt-*)
+ for lt_wr_arg
+ do
+ case \$lt_wr_arg in
+ --lt-*) ;;
+ *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+ esac
+ shift
+ done ;;
+ esac
+ func_exec_program_core \${1+\"\$@\"}
+}
- if test "X$skipped_export" != "X:" &&
- len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- :
- else
- # The command line is too long to link in one step, link piecewise.
- $echo "creating reloadable object files..."
+ # Parse options
+ func_parse_lt_options \"\$0\" \${1+\"\$@\"}
- # Save the value of $output and $libobjs because we want to
- # use them later. If we have whole_archive_flag_spec, we
- # want to use save_libobjs as it was before
- # whole_archive_flag_spec was expanded, because we can't
- # assume the linker understands whole_archive_flag_spec.
- # This may have to be revisited, in case too many
- # convenience libraries get linked in and end up exceeding
- # the spec.
- if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- fi
- save_output=$output
- output_la=`$echo "X$output" | $Xsed -e "$basename"`
+ # Find the directory that this script lives in.
+ thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
- # Clear the reloadable object creation command queue and
- # initialize k to one.
- test_cmds=
- concat_cmds=
- objlist=
- delfiles=
- last_robj=
- k=1
- output=$output_objdir/$output_la-${k}.$objext
- # Loop over the list of objects to be linked.
- for obj in $save_libobjs
- do
- eval test_cmds=\"$reload_cmds $objlist $last_robj\"
- if test "X$objlist" = X ||
- { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; }; then
- objlist="$objlist $obj"
- else
- # The command $test_cmds is almost too long, add a
- # command to the queue.
- if test "$k" -eq 1 ; then
- # The first file doesn't have a previous command to add.
- eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
- else
- # All subsequent reloadable object files will link in
- # the last one created.
- eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
- fi
- last_robj=$output_objdir/$output_la-${k}.$objext
- k=`expr $k + 1`
- output=$output_objdir/$output_la-${k}.$objext
- objlist=$obj
- len=1
- fi
- done
- # Handle the remaining objects by creating one last
- # reloadable object file. All subsequent reloadable object
- # files will link in the last one created.
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
-
- if ${skipped_export-false}; then
- $show "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
- libobjs=$output
- # Append the command to create the export file.
- eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
- fi
-
- # Set up a command to remove the reloadable object files
- # after they are used.
- i=0
- while test "$i" -lt "$k"
- do
- i=`expr $i + 1`
- delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
- done
+ # Follow symbolic links until we get to the real thisdir.
+ file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+ destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
- $echo "creating a temporary reloadable object file: $output"
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+ case \"\$destdir\" in
+ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+ *) thisdir=\"\$thisdir/\$destdir\" ;;
+ esac
+ fi
- # Loop through the commands generated above and execute them.
- save_ifs="$IFS"; IFS='~'
- for cmd in $concat_cmds; do
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
+ done
- libobjs=$output
- # Restore the value of output.
- output=$save_output
+ # Usually 'no', except on cygwin/mingw when embedded into
+ # the cwrapper.
+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
+ if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+ # special case for '.'
+ if test \"\$thisdir\" = \".\"; then
+ thisdir=\`pwd\`
+ fi
+ # remove .libs from thisdir
+ case \"\$thisdir\" in
+ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
+ $objdir ) thisdir=. ;;
+ esac
+ fi
- if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- fi
- # Expand the library linking commands again to reset the
- # value of $libobjs for piecewise linking.
+ # Try to get the absolute directory name.
+ absdir=\`cd \"\$thisdir\" && pwd\`
+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- cmds=$module_expsym_cmds
- else
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- cmds=$archive_expsym_cmds
- else
- cmds=$archive_cmds
- fi
- fi
+ if test "$fast_install" = yes; then
+ $ECHO "\
+ program=lt-'$outputname'$exeext
+ progdir=\"\$thisdir/$objdir\"
- # Append the command to remove the reloadable object files
- # to the just-reset $cmds.
- eval cmds=\"\$cmds~\$rm $delfiles\"
- fi
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || {
- lt_exit=$?
+ if test ! -f \"\$progdir/\$program\" ||
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
- fi
+ file=\"\$\$-\$program\"
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
+ if test ! -d \"\$progdir\"; then
+ $MKDIR \"\$progdir\"
+ else
+ $RM \"\$progdir/\$file\"
+ fi"
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+ $ECHO "\
- if test -n "$convenience"; then
- if test -z "$whole_archive_flag_spec"; then
- $show "${rm}r $gentop"
- $run ${rm}r "$gentop"
- fi
- fi
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+ else
+ $ECHO \"\$relink_command_output\" >&2
+ $RM \"\$progdir/\$file\"
+ exit 1
+ fi
+ fi
- exit $EXIT_SUCCESS
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+ { $RM \"\$progdir/\$program\";
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+ $RM \"\$progdir/\$file\"
+ fi"
+ else
+ $ECHO "\
+ program='$outputname'
+ progdir=\"\$thisdir/$objdir\"
+"
fi
- # Create links to the real library.
- for linkname in $linknames; do
- if test "$realname" != "$linkname"; then
- $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
- $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
- fi
- done
+ $ECHO "\
- # If -module or -export-dynamic was specified, set the dlname.
- if test "$module" = yes || test "$export_dynamic" = yes; then
- # On all known operating systems, these are identical.
- dlname="$soname"
+ if test -f \"\$progdir/\$program\"; then"
+
+ # fixup the dll searchpath if we need to.
+ #
+ # Fix the DLL searchpath if we need to. Do this before prepending
+ # to shlibpath, because on Windows, both are PATH and uninstalled
+ # libraries must come first.
+ if test -n "$dllsearchpath"; then
+ $ECHO "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
fi
- fi
- ;;
- obj)
- case " $deplibs" in
- *\ -l* | *\ -L*)
- $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;;
- esac
+ # Export our shlibpath_var if we have one.
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $ECHO "\
+ # Add our own library path to $shlibpath_var
+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
- fi
+ # Some systems cannot cope with colon-terminated $shlibpath_var
+ # The second colon is a workaround for a bug in BeOS R4 sed
+ $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
- fi
+ export $shlibpath_var
+"
+ fi
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
- fi
+ $ECHO "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+ func_exec_program \${1+\"\$@\"}
+ fi
+ else
+ # The program doesn't exist.
+ \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+ \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+ \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit 1
+ fi
+fi\
+"
+}
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
- fi
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
- fi
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+ cat <<EOF
- case $output in
- *.lo)
- if test -n "$objs$old_deplibs"; then
- $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
- exit $EXIT_FAILURE
- fi
- libobj="$output"
- obj=`$echo "X$output" | $Xsed -e "$lo2o"`
- ;;
- *)
- libobj=
- obj="$output"
- ;;
- esac
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+ Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
- # Delete the old objects.
- $run $rm $obj $libobj
+ The $output program cannot be directly executed until all the libtool
+ libraries that it depends on are installed.
- # Objects from convenience libraries. This assumes
- # single-version convenience libraries. Whenever we create
- # different ones for PIC/non-PIC, this we'll have to duplicate
- # the extraction.
- reload_conv_objs=
- gentop=
- # reload_cmds runs $LD directly, so let us get rid of
- # -Wl from whole_archive_flag_spec and hope we can get by with
- # turning comma into space..
- wl=
+ This wrapper executable should never be moved out of the build directory.
+ If it is, it will not operate correctly.
+*/
+EOF
+ cat <<"EOF"
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_DEPRECATE 1
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+# include <io.h>
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec"; then
- eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
- reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
- else
- gentop="$output_objdir/${obj}x"
- generated="$generated $gentop"
+/* declarations of non-ANSI functions */
+#if defined(__MINGW32__)
+# ifdef __STRICT_ANSI__
+int _putenv (const char *);
+# endif
+#elif defined(__CYGWIN__)
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+/* #elif defined (other platforms) ... */
+#endif
- func_extract_archives $gentop $convenience
- reload_conv_objs="$reload_objs $func_extract_archives_result"
- fi
- fi
+/* portability defines, excluding path handling macros */
+#if defined(_MSC_VER)
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+# define S_IXUSR _S_IEXEC
+# ifndef _INTPTR_T_DEFINED
+# define _INTPTR_T_DEFINED
+# define intptr_t int
+# endif
+#elif defined(__MINGW32__)
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+#elif defined(__CYGWIN__)
+# define HAVE_SETENV
+# define FOPEN_WB "wb"
+/* #elif defined (other platforms) ... */
+#endif
- # Create the old-style object.
- reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
- output="$obj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
- # Exit if we aren't doing a library object file.
- if test -z "$libobj"; then
- if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
- fi
+/* path handling portability macros */
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
- exit $EXIT_SUCCESS
- fi
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+ defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+# define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+# define PATH_SEPARATOR_2 ';'
+# endif
+#endif
- if test "$build_libtool_libs" != yes; then
- if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
- fi
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
- # Create an invalid libtool object if no PIC, so that we don't
- # accidentally link it into a program.
- # $show "echo timestamp > $libobj"
- # $run eval "echo timestamp > $libobj" || exit $?
- exit $EXIT_SUCCESS
- fi
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
- if test -n "$pic_flag" || test "$pic_mode" != default; then
- # Only do commands if we really have different PIC objects.
- reload_objs="$libobjs $reload_conv_objs"
- output="$libobj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
- if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
- fi
+#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+ if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
- exit $EXIT_SUCCESS
- ;;
+#if defined(LT_DEBUGWRAPPER)
+static int lt_debug = 1;
+#else
+static int lt_debug = 0;
+#endif
- prog)
- case $host in
- *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
- esac
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
- fi
+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
+void lt_fatal (const char *file, int line, const char *message, ...);
+static const char *nonnull (const char *s);
+static const char *nonempty (const char *s);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+char **prepare_spawn (char **argv);
+void lt_dump_script (FILE *f);
+EOF
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
- fi
+ cat <<EOF
+volatile const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
- if test "$preload" = yes; then
- if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
- test "$dlopen_self_static" = unknown; then
- $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
- fi
- fi
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ func_to_host_path "$temp_rpath"
+ cat <<EOF
+const char * LIB_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * LIB_PATH_VALUE = "";
+EOF
+ fi
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
- finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
- ;;
- esac
+ if test -n "$dllsearchpath"; then
+ func_to_host_path "$dllsearchpath:"
+ cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE = "";
+EOF
+ fi
- case $host in
- *darwin*)
- # Don't allow lazy linking, it breaks C++ global constructors
- if test "$tagname" = CXX ; then
- compile_command="$compile_command ${wl}-bind_at_load"
- finalize_command="$finalize_command ${wl}-bind_at_load"
- fi
- ;;
- esac
+ if test "$fast_install" = yes; then
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+ else
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+ fi
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $compile_deplibs " in
- *" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $compile_deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- done
- compile_deplibs="$new_libs"
+ cat <<"EOF"
+#define LTWRAPPER_OPTION_PREFIX "--lt-"
- compile_command="$compile_command $compile_deplibs"
- finalize_command="$finalize_command $finalize_deplibs"
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
+static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
- if test -n "$rpath$xrpath"; then
- # If the user specified any rpath flags, then add them.
- for libdir in $rpath $xrpath; do
- # This is the magic to use -rpath.
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
- esac
- done
- fi
+int
+main (int argc, char *argv[])
+{
+ char **newargz;
+ int newargc;
+ char *tmp_pathspec;
+ char *actual_cwrapper_path;
+ char *actual_cwrapper_name;
+ char *target_name;
+ char *lt_argv_zero;
+ intptr_t rval = 127;
- # Now hardcode the library paths
- rpath=
- hardcode_libdirs=
- for libdir in $compile_rpath $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ int i;
+
+ program_name = (char *) xstrdup (base_name (argv[0]));
+ newargz = XMALLOC (char *, argc + 1);
+
+ /* very simple arg parsing; don't want to rely on getopt
+ * also, copy all non cwrapper options to newargz, except
+ * argz[0], which is handled differently
+ */
+ newargc=0;
+ for (i = 1; i < argc; i++)
+ {
+ if (strcmp (argv[i], dumpscript_opt) == 0)
+ {
+EOF
+ case "$host" in
+ *mingw* | *cygwin* )
+ # make stdout use "unix" line endings
+ echo " setmode(1,_O_BINARY);"
;;
esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$libdir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$libdir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
- esac
- ;;
- esac
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- compile_rpath="$rpath"
- rpath=
- hardcode_libdirs=
- for libdir in $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$finalize_perm_rpath " in
- *" $libdir "*) ;;
- *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- finalize_rpath="$rpath"
+ cat <<"EOF"
+ lt_dump_script (stdout);
+ return 0;
+ }
+ if (strcmp (argv[i], debug_opt) == 0)
+ {
+ lt_debug = 1;
+ continue;
+ }
+ if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
+ {
+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+ namespace, but it is not one of the ones we know about and
+ have already dealt with, above (inluding dump-script), then
+ report an error. Otherwise, targets might begin to believe
+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+ namespace. The first time any user complains about this, we'll
+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+ or a configure.ac-settable value.
+ */
+ lt_fatal (__FILE__, __LINE__,
+ "unrecognized %s option: '%s'",
+ ltwrapper_option_prefix, argv[i]);
+ }
+ /* otherwise ... */
+ newargz[++newargc] = xstrdup (argv[i]);
+ }
+ newargz[++newargc] = NULL;
- if test -n "$libobjs" && test "$build_old_libs" = yes; then
- # Transform all the library objects into standard objects.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- fi
+EOF
+ cat <<EOF
+ /* The GNU banner must be the first non-error debug message */
+ lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
+EOF
+ cat <<"EOF"
+ lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
+
+ tmp_pathspec = find_executable (argv[0]);
+ if (tmp_pathspec == NULL)
+ lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (before symlink chase) at: %s\n",
+ tmp_pathspec);
+
+ actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (after symlink chase) at: %s\n",
+ actual_cwrapper_path);
+ XFREE (tmp_pathspec);
+
+ actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+ /* wrapper name transforms */
+ strendzap (actual_cwrapper_name, ".exe");
+ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+ XFREE (actual_cwrapper_name);
+ actual_cwrapper_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ /* target_name transforms -- use actual target program name; might have lt- prefix */
+ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+ strendzap (target_name, ".exe");
+ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+ XFREE (target_name);
+ target_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) libtool target name: %s\n",
+ target_name);
+EOF
- dlsyms=
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- if test -n "$NM" && test -n "$global_symbol_pipe"; then
- dlsyms="${outputname}S.c"
- else
- $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
- fi
- fi
+ cat <<EOF
+ newargz[0] =
+ XMALLOC (char, (strlen (actual_cwrapper_path) +
+ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+ strcpy (newargz[0], actual_cwrapper_path);
+ strcat (newargz[0], "$objdir");
+ strcat (newargz[0], "/");
+EOF
- if test -n "$dlsyms"; then
- case $dlsyms in
- "") ;;
- *.c)
- # Discover the nlist of each of the dlfiles.
- nlist="$output_objdir/${outputname}.nm"
+ cat <<"EOF"
+ /* stop here, and copy so we don't have to do this twice */
+ tmp_pathspec = xstrdup (newargz[0]);
- $show "$rm $nlist ${nlist}S ${nlist}T"
- $run $rm "$nlist" "${nlist}S" "${nlist}T"
+ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+ strcat (newargz[0], actual_cwrapper_name);
- # Parse the name list into a source file.
- $show "creating $output_objdir/$dlsyms"
+ /* DO want the lt- prefix here if it exists, so use target_name */
+ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+ XFREE (tmp_pathspec);
+ tmp_pathspec = NULL;
+EOF
- test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ {
+ char* p;
+ while ((p = strchr (newargz[0], '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ }
+EOF
+ ;;
+ esac
-#ifdef __cplusplus
-extern \"C\" {
-#endif
+ cat <<"EOF"
+ XFREE (target_name);
+ XFREE (actual_cwrapper_path);
+ XFREE (actual_cwrapper_name);
+
+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
+ /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must
+ be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
+ because on Windows, both *_VARNAMEs are PATH but uninstalled
+ libraries must come first. */
+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+
+ lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
+ nonnull (lt_argv_zero));
+ for (i = 0; i < newargc; i++)
+ {
+ lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
+ i, nonnull (newargz[i]));
+ }
-/* Prevent the only kind of declaration conflicts we can make. */
-#define lt_preloaded_symbols some_other_symbol
+EOF
-/* External symbol declarations for the compiler. */\
-"
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ /* execv doesn't actually work on mingw as expected on unix */
+ newargz = prepare_spawn (newargz);
+ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+ if (rval == -1)
+ {
+ /* failed to start process */
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) failed to launch target \"%s\": %s\n",
+ lt_argv_zero, nonnull (strerror (errno)));
+ return 127;
+ }
+ return rval;
+EOF
+ ;;
+ *)
+ cat <<"EOF"
+ execv (lt_argv_zero, newargz);
+ return rval; /* =127, but avoids unused variable warning */
+EOF
+ ;;
+ esac
- if test "$dlself" = yes; then
- $show "generating symbol list for \`$output'"
+ cat <<"EOF"
+}
- test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
+void *
+xmalloc (size_t num)
+{
+ void *p = (void *) malloc (num);
+ if (!p)
+ lt_fatal (__FILE__, __LINE__, "memory exhausted");
- # Add our own program objects to the symbol list.
- progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- for arg in $progfiles; do
- $show "extracting global C symbols from \`$arg'"
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
+ return p;
+}
- if test -n "$exclude_expsyms"; then
- $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
+char *
+xstrdup (const char *string)
+{
+ return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+ string) : NULL;
+}
- if test -n "$export_symbols_regex"; then
- $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
+const char *
+base_name (const char *name)
+{
+ const char *base;
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- export_symbols="$output_objdir/$outputname.exp"
- $run $rm $export_symbols
- $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
- case $host in
- *cygwin* | *mingw* )
- $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- else
- $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
- $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
- $run eval 'mv "$nlist"T "$nlist"'
- case $host in
- *cygwin* | *mingw* )
- $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- fi
- fi
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ /* Skip over the disk name in MSDOS pathnames. */
+ if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+ name += 2;
+#endif
- for arg in $dlprefiles; do
- $show "extracting global C symbols from \`$arg'"
- name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
- $run eval '$echo ": $name " >> "$nlist"'
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
+ for (base = name; *name; name++)
+ if (IS_DIR_SEPARATOR (*name))
+ base = name + 1;
+ return base;
+}
- if test -z "$run"; then
- # Make sure we have at least an empty file.
- test -f "$nlist" || : > "$nlist"
+int
+check_executable (const char *path)
+{
+ struct stat st;
- if test -n "$exclude_expsyms"; then
- $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
- $mv "$nlist"T "$nlist"
- fi
+ lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
+ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
- # Try sorting and uniquifying the output.
- if grep -v "^: " < "$nlist" |
- if sort -k 3 </dev/null >/dev/null 2>&1; then
- sort -k 3
- else
- sort +2
- fi |
- uniq > "$nlist"S; then
- :
- else
- grep -v "^: " < "$nlist" > "$nlist"S
- fi
+ if ((stat (path, &st) >= 0)
+ && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+ return 1;
+ else
+ return 0;
+}
- if test -f "$nlist"S; then
- eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
- else
- $echo '/* NONE */' >> "$output_objdir/$dlsyms"
- fi
+int
+make_executable (const char *path)
+{
+ int rval = 0;
+ struct stat st;
+
+ lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
+ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
- $echo >> "$output_objdir/$dlsyms" "\
+ if (stat (path, &st) >= 0)
+ {
+ rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+ }
+ return rval;
+}
-#undef lt_preloaded_symbols
+/* Searches for the full path of the wrapper. Returns
+ newly allocated full path name if found, NULL otherwise
+ Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+ int has_slash = 0;
+ const char *p;
+ const char *p_next;
+ /* static buffer for getcwd */
+ char tmp[LT_PATHMAX + 1];
+ int tmp_len;
+ char *concat_name;
-#if defined (__STDC__) && __STDC__
-# define lt_ptr void *
-#else
-# define lt_ptr char *
-# define const
-#endif
+ lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
+ nonempty (wrapper));
-/* The mapping between symbol names and symbols. */
-"
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
- case $host in
- *cygwin* | *mingw* )
- $echo >> "$output_objdir/$dlsyms" "\
-/* DATA imports from DLLs on WIN32 can't be const, because
- runtime relocations are performed -- see ld's documentation
- on pseudo-relocs */
-struct {
-"
- ;;
- * )
- $echo >> "$output_objdir/$dlsyms" "\
-const struct {
-"
- ;;
- esac
+ /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ else
+ {
+#endif
+ if (IS_DIR_SEPARATOR (wrapper[0]))
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ }
+#endif
+ for (p = wrapper; *p; p++)
+ if (*p == '/')
+ {
+ has_slash = 1;
+ break;
+ }
+ if (!has_slash)
+ {
+ /* no slashes; search PATH */
+ const char *path = getenv ("PATH");
+ if (path != NULL)
+ {
+ for (p = path; *p; p = p_next)
+ {
+ const char *q;
+ size_t p_len;
+ for (q = p; *q; q++)
+ if (IS_PATH_SEPARATOR (*q))
+ break;
+ p_len = q - p;
+ p_next = (*q == '\0' ? q : q + 1);
+ if (p_len == 0)
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name =
+ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+ }
+ else
+ {
+ concat_name =
+ XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, p, p_len);
+ concat_name[p_len] = '/';
+ strcpy (concat_name + p_len + 1, wrapper);
+ }
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ }
+ /* not found in PATH; assume curdir */
+ }
+ /* Relative path | not found in path: prepend cwd */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
- $echo >> "$output_objdir/$dlsyms" "\
- const char *name;
- lt_ptr address;
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ return NULL;
}
-lt_preloaded_symbols[] =
-{\
-"
- eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+ return xstrdup (pathspec);
+#else
+ char buf[LT_PATHMAX];
+ struct stat s;
+ char *tmp_pathspec = xstrdup (pathspec);
+ char *p;
+ int has_symlinks = 0;
+ while (strlen (tmp_pathspec) && !has_symlinks)
+ {
+ lt_debugprintf (__FILE__, __LINE__,
+ "checking path component for symlinks: %s\n",
+ tmp_pathspec);
+ if (lstat (tmp_pathspec, &s) == 0)
+ {
+ if (S_ISLNK (s.st_mode) != 0)
+ {
+ has_symlinks = 1;
+ break;
+ }
- $echo >> "$output_objdir/$dlsyms" "\
- {0, (lt_ptr) 0}
-};
+ /* search backwards for last DIR_SEPARATOR */
+ p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+ while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ p--;
+ if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ {
+ /* no more DIR_SEPARATORS left */
+ break;
+ }
+ *p = '\0';
+ }
+ else
+ {
+ lt_fatal (__FILE__, __LINE__,
+ "error accessing file \"%s\": %s",
+ tmp_pathspec, nonnull (strerror (errno)));
+ }
+ }
+ XFREE (tmp_pathspec);
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt_preloaded_symbols;
-}
-#endif
+ if (!has_symlinks)
+ {
+ return xstrdup (pathspec);
+ }
-#ifdef __cplusplus
+ tmp_pathspec = realpath (pathspec, buf);
+ if (tmp_pathspec == 0)
+ {
+ lt_fatal (__FILE__, __LINE__,
+ "could not follow symlinks for %s", pathspec);
+ }
+ return xstrdup (tmp_pathspec);
+#endif
}
-#endif\
-"
- fi
- pic_flag_for_symtable=
- case $host in
- # compiling the symbol table file with pic_flag works around
- # a FreeBSD bug that causes programs to crash when -lm is
- # linked before any other PIC object. But we must not use
- # pic_flag when linking with -static. The problem exists in
- # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
- esac;;
- *-*-hpux*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag";;
- esac
- esac
+char *
+strendzap (char *str, const char *pat)
+{
+ size_t len, patlen;
- # Now compile the dynamic symbol file.
- $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
- $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+ assert (str != NULL);
+ assert (pat != NULL);
- # Clean up the generated files.
- $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
- $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
+ len = strlen (str);
+ patlen = strlen (pat);
- # Transform the symbol file into the correct name.
- case $host in
- *cygwin* | *mingw* )
- if test -f "$output_objdir/${outputname}.def" ; then
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
- else
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- fi
- ;;
- * )
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- ;;
- esac
- ;;
- *)
- $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- else
- # We keep going just in case the user didn't refer to
- # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
- # really was required.
+ if (patlen <= len)
+ {
+ str += len - patlen;
+ if (strcmp (str, pat) == 0)
+ *str = '\0';
+ }
+ return str;
+}
- # Nullify the symbol file.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
- fi
+void
+lt_debugprintf (const char *file, int line, const char *fmt, ...)
+{
+ va_list args;
+ if (lt_debug)
+ {
+ (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
+ va_start (args, fmt);
+ (void) vfprintf (stderr, fmt, args);
+ va_end (args);
+ }
+}
- if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
- # Replace the output file specification.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
- link_command="$compile_command$compile_rpath"
+static void
+lt_error_core (int exit_status, const char *file,
+ int line, const char *mode,
+ const char *message, va_list ap)
+{
+ fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
+ vfprintf (stderr, message, ap);
+ fprintf (stderr, ".\n");
- # We have no uninstalled library dependencies, so finalize right now.
- $show "$link_command"
- $run eval "$link_command"
- exit_status=$?
+ if (exit_status >= 0)
+ exit (exit_status);
+}
- # Delete the generated files.
- if test -n "$dlsyms"; then
- $show "$rm $output_objdir/${outputname}S.${objext}"
- $run $rm "$output_objdir/${outputname}S.${objext}"
- fi
+void
+lt_fatal (const char *file, int line, const char *message, ...)
+{
+ va_list ap;
+ va_start (ap, message);
+ lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
+ va_end (ap);
+}
- exit $exit_status
- fi
+static const char *
+nonnull (const char *s)
+{
+ return s ? s : "(null)";
+}
- if test -n "$shlibpath_var"; then
- # We should set the shlibpath_var
- rpath=
- for dir in $temp_rpath; do
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*)
- # Absolute path.
- rpath="$rpath$dir:"
- ;;
- *)
- # Relative path: add a thisdir entry.
- rpath="$rpath\$thisdir/$dir:"
- ;;
- esac
- done
- temp_rpath="$rpath"
- fi
-
- if test -n "$compile_shlibpath$finalize_shlibpath"; then
- compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
- fi
- if test -n "$finalize_shlibpath"; then
- finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
- fi
-
- compile_var=
- finalize_var=
- if test -n "$runpath_var"; then
- if test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- rpath="$rpath$dir:"
- done
- compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- if test -n "$finalize_perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $finalize_perm_rpath; do
- rpath="$rpath$dir:"
- done
- finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- fi
-
- if test "$no_install" = yes; then
- # We don't need to create a wrapper script.
- link_command="$compile_var$compile_command$compile_rpath"
- # Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
- # Delete the old output file.
- $run $rm $output
- # Link the executable and exit
- $show "$link_command"
- $run eval "$link_command" || exit $?
- exit $EXIT_SUCCESS
- fi
-
- if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
-
- $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
- $echo "$modename: \`$output' will be relinked during installation" 1>&2
- else
- if test "$fast_install" != no; then
- link_command="$finalize_var$compile_command$finalize_rpath"
- if test "$fast_install" = yes; then
- relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
- else
- # fast_install is set to needless
- relink_command=
- fi
- else
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
- fi
- fi
-
- # Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
- # Delete the old output files.
- $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
- $show "$link_command"
- $run eval "$link_command" || exit $?
-
- # Now create the wrapper script.
- $show "creating $output"
-
- # Quote the relink command for shipping.
- if test -n "$relink_command"; then
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
- else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
- fi
- done
- relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
- fi
-
- # Quote $echo for shipping.
- if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
- case $progpath in
- [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
- *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
- esac
- qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
- else
- qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
- fi
-
- # Only actually do things if our run command is non-null.
- if test -z "$run"; then
- # win32 will think the script is a binary if it has
- # a .exe suffix, so we strip it off here.
- case $output in
- *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
- esac
- # test for cygwin because mv fails w/o .exe extensions
- case $host in
- *cygwin*)
- exeext=.exe
- outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
- *) exeext= ;;
- esac
- case $host in
- *cygwin* | *mingw* )
- output_name=`basename $output`
- output_path=`dirname $output`
- cwrappersource="$output_path/$objdir/lt-$output_name.c"
- cwrapper="$output_path/$output_name.exe"
- $rm $cwrappersource $cwrapper
- trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
- cat > $cwrappersource <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
- Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-
- The $output program cannot be directly executed until all the libtool
- libraries that it depends on are installed.
-
- This wrapper executable should never be moved out of the build directory.
- If it is, it will not operate correctly.
-
- Currently, it simply execs the wrapper *script* "/bin/sh $output",
- but could eventually absorb all of the scripts functionality and
- exec $objdir/$outputname directly.
-*/
-EOF
- cat >> $cwrappersource<<"EOF"
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/stat.h>
+static const char *
+nonempty (const char *s)
+{
+ return (s && !*s) ? "(empty)" : nonnull (s);
+}
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
+void
+lt_setenv (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_setenv) setting '%s' to '%s'\n",
+ nonnull (name), nonnull (value));
+ {
+#ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+ char *str = xstrdup (value);
+ setenv (name, str, 1);
#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
- defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# ifndef DIR_SEPARATOR_2
-# define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-# define PATH_SEPARATOR_2 ';'
-# endif
+ int len = strlen (name) + 1 + strlen (value) + 1;
+ char *str = XMALLOC (char, len);
+ sprintf (str, "%s=%s", name, value);
+ if (putenv (str) != EXIT_SUCCESS)
+ {
+ XFREE (str);
+ }
#endif
+ }
+}
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
- (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
- if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-/* -DDEBUG is fairly common in CFLAGS. */
-#undef DEBUG
-#if defined DEBUGWRAPPER
-# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
-#else
-# define DEBUG(format, ...)
-#endif
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+ char *new_value;
+ if (orig_value && *orig_value)
+ {
+ int orig_value_len = strlen (orig_value);
+ int add_len = strlen (add);
+ new_value = XMALLOC (char, add_len + orig_value_len + 1);
+ if (to_end)
+ {
+ strcpy (new_value, orig_value);
+ strcpy (new_value + orig_value_len, add);
+ }
+ else
+ {
+ strcpy (new_value, add);
+ strcpy (new_value + add_len, orig_value);
+ }
+ }
+ else
+ {
+ new_value = xstrdup (add);
+ }
+ return new_value;
+}
-const char *program_name = NULL;
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
-void * xmalloc (size_t num);
-char * xstrdup (const char *string);
-const char * base_name (const char *name);
-char * find_executable(const char *wrapper);
-int check_executable(const char *path);
-char * strendzap(char *str, const char *pat);
-void lt_fatal (const char *message, ...);
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ /* some systems can't cope with a ':'-terminated path #' */
+ int len = strlen (new_value);
+ while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ {
+ new_value[len-1] = '\0';
+ }
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
-int
-main (int argc, char *argv[])
+void
+lt_update_lib_path (const char *name, const char *value)
{
- char **newargz;
- int i;
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
- program_name = (char *) xstrdup (base_name (argv[0]));
- DEBUG("(main) argv[0] : %s\n",argv[0]);
- DEBUG("(main) program_name : %s\n",program_name);
- newargz = XMALLOC(char *, argc+2);
-EOF
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
- cat >> $cwrappersource <<EOF
- newargz[0] = (char *) xstrdup("$SHELL");
EOF
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+
+/* Prepares an argument vector before calling spawn().
+ Note that spawn() does not by itself call the command interpreter
+ (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
+ ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx(&v);
+ v.dwPlatformId == VER_PLATFORM_WIN32_NT;
+ }) ? "cmd.exe" : "command.com").
+ Instead it simply concatenates the arguments, separated by ' ', and calls
+ CreateProcess(). We must quote the arguments since Win32 CreateProcess()
+ interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
+ special way:
+ - Space and tab are interpreted as delimiters. They are not treated as
+ delimiters if they are surrounded by double quotes: "...".
+ - Unescaped double quotes are removed from the input. Their only effect is
+ that within double quotes, space and tab are treated like normal
+ characters.
+ - Backslashes not followed by double quotes are not special.
+ - But 2*n+1 backslashes followed by a double quote become
+ n backslashes followed by a double quote (n >= 0):
+ \" -> "
+ \\\" -> \"
+ \\\\\" -> \\"
+ */
+#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+char **
+prepare_spawn (char **argv)
+{
+ size_t argc;
+ char **new_argv;
+ size_t i;
- cat >> $cwrappersource <<"EOF"
- newargz[1] = find_executable(argv[0]);
- if (newargz[1] == NULL)
- lt_fatal("Couldn't find %s", argv[0]);
- DEBUG("(main) found exe at : %s\n",newargz[1]);
- /* we know the script has the same name, without the .exe */
- /* so make sure newargz[1] doesn't end in .exe */
- strendzap(newargz[1],".exe");
- for (i = 1; i < argc; i++)
- newargz[i+1] = xstrdup(argv[i]);
- newargz[argc+1] = NULL;
-
- for (i=0; i<argc+1; i++)
- {
- DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]);
+ /* Count number of arguments. */
+ for (argc = 0; argv[argc] != NULL; argc++)
;
- }
-EOF
-
- case $host_os in
- mingw*)
- cat >> $cwrappersource <<EOF
- execv("$SHELL",(char const **)newargz);
-EOF
- ;;
- *)
- cat >> $cwrappersource <<EOF
- execv("$SHELL",newargz);
-EOF
- ;;
- esac
+ /* Allocate new argument vector. */
+ new_argv = XMALLOC (char *, argc + 1);
- cat >> $cwrappersource <<"EOF"
- return 127;
-}
+ /* Put quoted arguments into the new argument vector. */
+ for (i = 0; i < argc; i++)
+ {
+ const char *string = argv[i];
+
+ if (string[0] == '\0')
+ new_argv[i] = xstrdup ("\"\"");
+ else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
+ {
+ int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
+ size_t length;
+ unsigned int backslashes;
+ const char *s;
+ char *quoted_string;
+ char *p;
+
+ length = 0;
+ backslashes = 0;
+ if (quote_around)
+ length++;
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ length += backslashes + 1;
+ length++;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ length += backslashes + 1;
+
+ quoted_string = XMALLOC (char, length + 1);
+
+ p = quoted_string;
+ backslashes = 0;
+ if (quote_around)
+ *p++ = '"';
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ {
+ unsigned int j;
+ for (j = backslashes + 1; j > 0; j--)
+ *p++ = '\\';
+ }
+ *p++ = c;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ {
+ unsigned int j;
+ for (j = backslashes; j > 0; j--)
+ *p++ = '\\';
+ *p++ = '"';
+ }
+ *p = '\0';
-void *
-xmalloc (size_t num)
-{
- void * p = (void *) malloc (num);
- if (!p)
- lt_fatal ("Memory exhausted");
+ new_argv[i] = quoted_string;
+ }
+ else
+ new_argv[i] = (char *) string;
+ }
+ new_argv[argc] = NULL;
- return p;
+ return new_argv;
}
+EOF
+ ;;
+ esac
-char *
-xstrdup (const char *string)
+ cat <<"EOF"
+void lt_dump_script (FILE* f)
{
- return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
-;
+EOF
+ func_emit_wrapper yes |
+ $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/ fputs ("\1", f);/p
+g
+D'
+ cat <<"EOF"
}
-
-const char *
-base_name (const char *name)
-{
- const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- /* Skip over the disk name in MSDOS pathnames. */
- if (isalpha ((unsigned char)name[0]) && name[1] == ':')
- name += 2;
-#endif
-
- for (base = name; *name; name++)
- if (IS_DIR_SEPARATOR (*name))
- base = name + 1;
- return base;
+EOF
}
+# end: func_emit_cwrapperexe_src
-int
-check_executable(const char * path)
+# func_win32_import_lib_p ARG
+# True if ARG is an import lib, as indicated by $file_magic_cmd
+func_win32_import_lib_p ()
{
- struct stat st;
-
- DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
- if ((!path) || (!*path))
- return 0;
-
- if ((stat (path, &st) >= 0) &&
- (
- /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
-#if defined (S_IXOTH)
- ((st.st_mode & S_IXOTH) == S_IXOTH) ||
-#endif
-#if defined (S_IXGRP)
- ((st.st_mode & S_IXGRP) == S_IXGRP) ||
-#endif
- ((st.st_mode & S_IXUSR) == S_IXUSR))
- )
- return 1;
- else
- return 0;
+ $opt_debug
+ case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+ *import*) : ;;
+ *) false ;;
+ esac
}
-/* Searches for the full path of the wrapper. Returns
- newly allocated full path name if found, NULL otherwise */
-char *
-find_executable (const char* wrapper)
+# func_mode_link arg...
+func_mode_link ()
{
- int has_slash = 0;
- const char* p;
- const char* p_next;
- /* static buffer for getcwd */
- char tmp[LT_PATHMAX + 1];
- int tmp_len;
- char* concat_name;
+ $opt_debug
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ # It is impossible to link a dll without this setting, and
+ # we shouldn't force the makefile maintainer to figure out
+ # which system we are compiling for in order to pass an extra
+ # flag for every libtool invocation.
+ # allow_undefined=no
- DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
+ # FIXME: Unfortunately, there are problems with the above when trying
+ # to make a dll which has undefined symbols, in which case not
+ # even a static library is built. For now, we need to specify
+ # -no-undefined on the libtool link line when we can be certain
+ # that all symbols are satisfied, otherwise we get a static library.
+ allow_undefined=yes
+ ;;
+ *)
+ allow_undefined=yes
+ ;;
+ esac
+ libtool_args=$nonopt
+ base_compile="$nonopt $@"
+ compile_command=$nonopt
+ finalize_command=$nonopt
- if ((wrapper == NULL) || (*wrapper == '\0'))
- return NULL;
+ compile_rpath=
+ finalize_rpath=
+ compile_shlibpath=
+ finalize_shlibpath=
+ convenience=
+ old_convenience=
+ deplibs=
+ old_deplibs=
+ compiler_flags=
+ linker_flags=
+ dllsearchpath=
+ lib_search_path=`pwd`
+ inst_prefix_dir=
+ new_inherited_linker_flags=
- /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
- {
- concat_name = xstrdup (wrapper);
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
- else
- {
-#endif
- if (IS_DIR_SEPARATOR (wrapper[0]))
- {
- concat_name = xstrdup (wrapper);
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- }
-#endif
+ avoid_version=no
+ bindir=
+ dlfiles=
+ dlprefiles=
+ dlself=no
+ export_dynamic=no
+ export_symbols=
+ export_symbols_regex=
+ generated=
+ libobjs=
+ ltlibs=
+ module=no
+ no_install=no
+ objs=
+ non_pic_objects=
+ precious_files_regex=
+ prefer_static_libs=no
+ preload=no
+ prev=
+ prevarg=
+ release=
+ rpath=
+ xrpath=
+ perm_rpath=
+ temp_rpath=
+ thread_safe=no
+ vinfo=
+ vinfo_number=no
+ weak_libs=
+ single_module="${wl}-single_module"
+ func_infer_tag $base_compile
- for (p = wrapper; *p; p++)
- if (*p == '/')
- {
- has_slash = 1;
- break;
- }
- if (!has_slash)
- {
- /* no slashes; search PATH */
- const char* path = getenv ("PATH");
- if (path != NULL)
- {
- for (p = path; *p; p = p_next)
- {
- const char* q;
- size_t p_len;
- for (q = p; *q; q++)
- if (IS_PATH_SEPARATOR(*q))
- break;
- p_len = q - p;
- p_next = (*q == '\0' ? q : q + 1);
- if (p_len == 0)
- {
- /* empty path: current directory */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen(tmp);
- concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
- }
- else
- {
- concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, p, p_len);
- concat_name[p_len] = '/';
- strcpy (concat_name + p_len + 1, wrapper);
- }
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
- }
- /* not found in PATH; assume curdir */
- }
- /* Relative path | not found in path: prepend cwd */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen(tmp);
- concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
+ # We need to know -static, to get the right output filenames.
+ for arg
+ do
+ case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ break
+ ;;
+ -all-static | -static | -static-libtool-libs)
+ case $arg in
+ -all-static)
+ if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+ func_warning "complete static linking is impossible in this configuration"
+ fi
+ if test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ -static)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=built
+ ;;
+ -static-libtool-libs)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ esac
+ build_libtool_libs=no
+ build_old_libs=yes
+ break
+ ;;
+ esac
+ done
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- return NULL;
-}
+ # See if our shared archives depend on static archives.
+ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-char *
-strendzap(char *str, const char *pat)
-{
- size_t len, patlen;
+ # Go through the arguments, transforming them on the way.
+ while test "$#" -gt 0; do
+ arg="$1"
+ shift
+ func_quote_for_eval "$arg"
+ qarg=$func_quote_for_eval_unquoted_result
+ func_append libtool_args " $func_quote_for_eval_result"
- assert(str != NULL);
- assert(pat != NULL);
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case $prev in
+ output)
+ func_append compile_command " @OUTPUT@"
+ func_append finalize_command " @OUTPUT@"
+ ;;
+ esac
- len = strlen(str);
- patlen = strlen(pat);
+ case $prev in
+ bindir)
+ bindir="$arg"
+ prev=
+ continue
+ ;;
+ dlfiles|dlprefiles)
+ if test "$preload" = no; then
+ # Add the symbol object into the linking commands.
+ func_append compile_command " @SYMFILE@"
+ func_append finalize_command " @SYMFILE@"
+ preload=yes
+ fi
+ case $arg in
+ *.la | *.lo) ;; # We handle these cases below.
+ force)
+ if test "$dlself" = no; then
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ self)
+ if test "$prev" = dlprefiles; then
+ dlself=yes
+ elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+ dlself=yes
+ else
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ *)
+ if test "$prev" = dlfiles; then
+ func_append dlfiles " $arg"
+ else
+ func_append dlprefiles " $arg"
+ fi
+ prev=
+ continue
+ ;;
+ esac
+ ;;
+ expsyms)
+ export_symbols="$arg"
+ test -f "$arg" \
+ || func_fatal_error "symbol file \`$arg' does not exist"
+ prev=
+ continue
+ ;;
+ expsyms_regex)
+ export_symbols_regex="$arg"
+ prev=
+ continue
+ ;;
+ framework)
+ case $host in
+ *-*-darwin*)
+ case "$deplibs " in
+ *" $qarg.ltframework "*) ;;
+ *) func_append deplibs " $qarg.ltframework" # this is fixed later
+ ;;
+ esac
+ ;;
+ esac
+ prev=
+ continue
+ ;;
+ inst_prefix)
+ inst_prefix_dir="$arg"
+ prev=
+ continue
+ ;;
+ objectlist)
+ if test -f "$arg"; then
+ save_arg=$arg
+ moreargs=
+ for fil in `cat "$save_arg"`
+ do
+# func_append moreargs " $fil"
+ arg=$fil
+ # A libtool-controlled object.
- if (patlen <= len)
- {
- str += len - patlen;
- if (strcmp(str, pat) == 0)
- *str = '\0';
- }
- return str;
-}
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
-static void
-lt_error_core (int exit_status, const char * mode,
- const char * message, va_list ap)
-{
- fprintf (stderr, "%s: %s: ", program_name, mode);
- vfprintf (stderr, message, ap);
- fprintf (stderr, ".\n");
+ # Read the .lo file
+ func_source "$arg"
- if (exit_status >= 0)
- exit (exit_status);
-}
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none &&
+ test "$non_pic_object" = none; then
+ func_fatal_error "cannot find name of object for \`$arg'"
+ fi
-void
-lt_fatal (const char *message, ...)
-{
- va_list ap;
- va_start (ap, message);
- lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
- va_end (ap);
-}
-EOF
- # we should really use a build-platform specific compiler
- # here, but OTOH, the wrappers (shell script and this C one)
- # are only useful if you want to execute the "real" binary.
- # Since the "real" binary is built for $host, then this
- # wrapper might as well be built for $host, too.
- $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
- ;;
- esac
- $rm $output
- trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
- $echo > $output "\
-#! $SHELL
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ func_append dlprefiles " $pic_object"
+ prev=
+ fi
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
-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
- # 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
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg="$pic_object"
+ fi
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
-relink_command=\"$relink_command\"
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
+ fi
+ fi
+ done
+ else
+ func_fatal_error "link input file \`$arg' does not exist"
+ fi
+ arg=$save_arg
+ prev=
+ continue
+ ;;
+ precious_regex)
+ precious_files_regex="$arg"
+ prev=
+ continue
+ ;;
+ release)
+ release="-$arg"
+ prev=
+ continue
+ ;;
+ rpath | xrpath)
+ # We need an absolute path.
+ case $arg in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ if test "$prev" = rpath; then
+ case "$rpath " in
+ *" $arg "*) ;;
+ *) func_append rpath " $arg" ;;
+ esac
+ else
+ case "$xrpath " in
+ *" $arg "*) ;;
+ *) func_append xrpath " $arg" ;;
+ esac
+ fi
+ prev=
+ continue
+ ;;
+ shrext)
+ shrext_cmds="$arg"
+ prev=
+ continue
+ ;;
+ weak)
+ func_append weak_libs " $arg"
+ prev=
+ continue
+ ;;
+ xcclinker)
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xcompiler)
+ func_append compiler_flags " $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xlinker)
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $wl$qarg"
+ prev=
+ func_append compile_command " $wl$qarg"
+ func_append finalize_command " $wl$qarg"
+ continue
+ ;;
+ *)
+ eval "$prev=\"\$arg\""
+ prev=
+ continue
+ ;;
+ esac
+ fi # test -n "$prev"
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
- # install mode needs the following variable:
- notinst_deplibs='$notinst_deplibs'
-else
- # When we are sourced in execute mode, \$file and \$echo are already set.
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- echo=\"$qecho\"
- file=\"\$0\"
- # Make sure echo works.
- if test \"X\$1\" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
- elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
- # Yippee, \$echo works!
- :
- else
- # Restart under the correct shell, and then maybe \$echo will work.
- exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
- fi
- fi\
-"
- $echo >> $output "\
+ prevarg="$arg"
- # Find the directory that this script lives in.
- thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
- test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+ case $arg in
+ -all-static)
+ if test -n "$link_static_flag"; then
+ # See comment for -static flag below, for more details.
+ func_append compile_command " $link_static_flag"
+ func_append finalize_command " $link_static_flag"
+ fi
+ continue
+ ;;
- # Follow symbolic links until we get to the real thisdir.
- file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
- while test -n \"\$file\"; do
- destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+ -allow-undefined)
+ # FIXME: remove this flag sometime in the future.
+ func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+ ;;
- # If there was a directory component, then change thisdir.
- if test \"x\$destdir\" != \"x\$file\"; then
- case \"\$destdir\" in
- [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
- *) thisdir=\"\$thisdir/\$destdir\" ;;
- esac
- fi
+ -avoid-version)
+ avoid_version=yes
+ continue
+ ;;
- file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
- file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
- done
+ -bindir)
+ prev=bindir
+ continue
+ ;;
- # Try to get the absolute directory name.
- absdir=\`cd \"\$thisdir\" && pwd\`
- test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
+ -dlopen)
+ prev=dlfiles
+ continue
+ ;;
- if test "$fast_install" = yes; then
- $echo >> $output "\
- program=lt-'$outputname'$exeext
- progdir=\"\$thisdir/$objdir\"
+ -dlpreopen)
+ prev=dlprefiles
+ continue
+ ;;
- if test ! -f \"\$progdir/\$program\" || \\
- { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
- test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+ -export-dynamic)
+ export_dynamic=yes
+ continue
+ ;;
- file=\"\$\$-\$program\"
+ -export-symbols | -export-symbols-regex)
+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+ func_fatal_error "more than one -exported-symbols argument is not allowed"
+ fi
+ if test "X$arg" = "X-export-symbols"; then
+ prev=expsyms
+ else
+ prev=expsyms_regex
+ fi
+ continue
+ ;;
- if test ! -d \"\$progdir\"; then
- $mkdir \"\$progdir\"
- else
- $rm \"\$progdir/\$file\"
- fi"
+ -framework)
+ prev=framework
+ continue
+ ;;
+
+ -inst-prefix-dir)
+ prev=inst_prefix
+ continue
+ ;;
+
+ # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+ # so, if we see these flags be careful not to treat them like -L
+ -L[A-Z][A-Z]*:*)
+ case $with_gcc/$host in
+ no/*-*-irix* | /*-*-irix*)
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ ;;
+ esac
+ continue
+ ;;
+
+ -L*)
+ func_stripname "-L" '' "$arg"
+ if test -z "$func_stripname_result"; then
+ if test "$#" -gt 0; then
+ func_fatal_error "require no space between \`-L' and \`$1'"
+ else
+ func_fatal_error "need path for \`-L' option"
+ fi
+ fi
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ test -z "$absdir" && \
+ func_fatal_error "cannot determine absolute directory name of \`$dir'"
+ dir="$absdir"
+ ;;
+ esac
+ case "$deplibs " in
+ *" -L$dir "* | *" $arg "*)
+ # Will only happen for absolute or sysroot arguments
+ ;;
+ *)
+ # Preserve sysroot, but never include relative directories
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
+ *) func_append deplibs " -L$dir" ;;
+ esac
+ func_append lib_search_path " $dir"
+ ;;
+ esac
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$dir:"*) ;;
+ ::) dllsearchpath=$dir;;
+ *) func_append dllsearchpath ":$dir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+ continue
+ ;;
+
+ -l*)
+ if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ # These systems don't actually have a C or math library (as such)
+ continue
+ ;;
+ *-*-os2*)
+ # These systems don't actually have a C library (as such)
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C and math libraries are in the System framework
+ func_append deplibs " System.ltframework"
+ continue
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ test "X$arg" = "X-lc" && continue
+ ;;
+ esac
+ elif test "X$arg" = "X-lc_r"; then
+ case $host in
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc_r directly, use -pthread flag.
+ continue
+ ;;
+ esac
+ fi
+ func_append deplibs " $arg"
+ continue
+ ;;
+
+ -module)
+ module=yes
+ continue
+ ;;
+
+ # Tru64 UNIX uses -model [arg] to determine the layout of C++
+ # classes, name mangling, and exception handling.
+ # Darwin uses the -arch flag to determine output architecture.
+ -model|-arch|-isysroot|--sysroot)
+ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ prev=xcompiler
+ continue
+ ;;
+
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case "$new_inherited_linker_flags " in
+ *" $arg "*) ;;
+ * ) func_append new_inherited_linker_flags " $arg" ;;
+ esac
+ continue
+ ;;
+
+ -multi_module)
+ single_module="${wl}-multi_module"
+ continue
+ ;;
+
+ -no-fast-install)
+ fast_install=no
+ continue
+ ;;
+
+ -no-install)
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+ # The PATH hackery in wrapper scripts is required on Windows
+ # and Darwin in order for the loader to find any dlls it needs.
+ func_warning "\`-no-install' is ignored for $host"
+ func_warning "assuming \`-no-fast-install' instead"
+ fast_install=no
+ ;;
+ *) no_install=yes ;;
+ esac
+ continue
+ ;;
+
+ -no-undefined)
+ allow_undefined=no
+ continue
+ ;;
+
+ -objectlist)
+ prev=objectlist
+ continue
+ ;;
+
+ -o) prev=output ;;
+
+ -precious-files-regex)
+ prev=precious_regex
+ continue
+ ;;
+
+ -release)
+ prev=release
+ continue
+ ;;
+
+ -rpath)
+ prev=rpath
+ continue
+ ;;
+
+ -R)
+ prev=xrpath
+ continue
+ ;;
+
+ -R*)
+ func_stripname '-R' '' "$arg"
+ dir=$func_stripname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ =*)
+ func_stripname '=' '' "$dir"
+ dir=$lt_sysroot$func_stripname_result
+ ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) func_append xrpath " $dir" ;;
+ esac
+ continue
+ ;;
+
+ -shared)
+ # The effects of -shared are defined in a previous loop.
+ continue
+ ;;
+
+ -shrext)
+ prev=shrext
+ continue
+ ;;
+
+ -static | -static-libtool-libs)
+ # The effects of -static are defined in a previous loop.
+ # We used to do the same as -all-static on platforms that
+ # didn't have a PIC flag, but the assumption that the effects
+ # would be equivalent was wrong. It would break on at least
+ # Digital Unix and AIX.
+ continue
+ ;;
+
+ -thread-safe)
+ thread_safe=yes
+ continue
+ ;;
+
+ -version-info)
+ prev=vinfo
+ continue
+ ;;
+
+ -version-number)
+ prev=vinfo
+ vinfo_number=yes
+ continue
+ ;;
+
+ -weak)
+ prev=weak
+ continue
+ ;;
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+ func_append arg " $func_quote_for_eval_result"
+ func_append compiler_flags " $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Wl,*)
+ func_stripname '-Wl,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+ func_append arg " $wl$func_quote_for_eval_result"
+ func_append compiler_flags " $wl$func_quote_for_eval_result"
+ func_append linker_flags " $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Xcompiler)
+ prev=xcompiler
+ continue
+ ;;
+
+ -Xlinker)
+ prev=xlinker
+ continue
+ ;;
+
+ -XCClinker)
+ prev=xcclinker
+ continue
+ ;;
+
+ # -msg_* for osf cc
+ -msg_*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ # Flags to be passed through unchanged, with rationale:
+ # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
+ # -r[0-9][0-9]* specify processor for the SGI compiler
+ # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
+ # +DA*, +DD* enable 64-bit mode for the HP compiler
+ # -q* compiler args for the IBM compiler
+ # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+ # -F/path path to uninstalled frameworks, gcc on darwin
+ # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
+ # @file GCC response files
+ # -tp=* Portland pgcc target processor selection
+ # --sysroot=* for sysroot support
+ # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+ -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ func_append compiler_flags " $arg"
+ continue
+ ;;
+
+ # Some other compiler flag.
+ -* | +*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ *.$objext)
+ # A standard object.
+ func_append objs " $arg"
+ ;;
+
+ *.lo)
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none &&
+ test "$non_pic_object" = none; then
+ func_fatal_error "cannot find name of object for \`$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ func_append dlprefiles " $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg="$pic_object"
+ fi
+
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
+ fi
+ fi
+ ;;
+
+ *.$libext)
+ # An archive.
+ func_append deplibs " $arg"
+ func_append old_deplibs " $arg"
+ continue
+ ;;
+
+ *.la)
+ # A libtool-controlled library.
+
+ func_resolve_sysroot "$arg"
+ if test "$prev" = dlfiles; then
+ # This library was specified with -dlopen.
+ func_append dlfiles " $func_resolve_sysroot_result"
+ prev=
+ elif test "$prev" = dlprefiles; then
+ # The library was specified with -dlpreopen.
+ func_append dlprefiles " $func_resolve_sysroot_result"
+ prev=
+ else
+ func_append deplibs " $func_resolve_sysroot_result"
+ fi
+ continue
+ ;;
+
+ # Some other compiler argument.
+ *)
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+ esac # arg
+
+ # Now actually substitute the argument into the commands.
+ if test -n "$arg"; then
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+ done # argument parsing loop
+
+ test -n "$prev" && \
+ func_fatal_help "the \`$prevarg' option requires an argument"
+
+ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+ eval arg=\"$export_dynamic_flag_spec\"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+
+ oldlibs=
+ # calculate the name of the file, without its directory
+ func_basename "$output"
+ outputname="$func_basename_result"
+ libobjs_save="$libobjs"
+
+ if test -n "$shlibpath_var"; then
+ # get the directories listed in $shlibpath_var
+ eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
+ else
+ shlib_search_path=
+ fi
+ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+ func_dirname "$output" "/" ""
+ output_objdir="$func_dirname_result$objdir"
+ func_to_tool_file "$output_objdir/"
+ tool_output_objdir=$func_to_tool_file_result
+ # Create the object directory.
+ func_mkdir_p "$output_objdir"
+
+ # Determine the type of output
+ case $output in
+ "")
+ func_fatal_help "you must specify an output file"
+ ;;
+ *.$libext) linkmode=oldlib ;;
+ *.lo | *.$objext) linkmode=obj ;;
+ *.la) linkmode=lib ;;
+ *) linkmode=prog ;; # Anything else should be a program.
+ esac
+
+ specialdeplibs=
+
+ libs=
+ # Find all interdependent deplibs by searching for libraries
+ # that are linked more than once (e.g. -la -lb -la)
+ for deplib in $deplibs; do
+ if $opt_preserve_dup_deps ; then
+ case "$libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append libs " $deplib"
+ done
+
+ if test "$linkmode" = lib; then
+ libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+ # Compute libraries that are listed more than once in $predeps
+ # $postdeps and mark them as special (i.e., whose duplicates are
+ # not to be eliminated).
+ pre_post_deps=
+ if $opt_duplicate_compiler_generated_deps; then
+ for pre_post_dep in $predeps $postdeps; do
+ case "$pre_post_deps " in
+ *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
+ esac
+ func_append pre_post_deps " $pre_post_dep"
+ done
+ fi
+ pre_post_deps=
+ fi
+
+ deplibs=
+ newdependency_libs=
+ newlib_search_path=
+ need_relink=no # whether we're linking any uninstalled libtool libraries
+ notinst_deplibs= # not-installed libtool libraries
+ notinst_path= # paths that contain not-installed libtool libraries
+
+ case $linkmode in
+ lib)
+ passes="conv dlpreopen link"
+ for file in $dlfiles $dlprefiles; do
+ case $file in
+ *.la) ;;
+ *)
+ func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+ ;;
+ esac
+ done
+ ;;
+ prog)
+ compile_deplibs=
+ finalize_deplibs=
+ alldeplibs=no
+ newdlfiles=
+ newdlprefiles=
+ passes="conv scan dlopen dlpreopen link"
+ ;;
+ *) passes="conv"
+ ;;
+ esac
+
+ for pass in $passes; do
+ # The preopen pass in lib mode reverses $deplibs; put it back here
+ # so that -L comes before libs that need it for instance...
+ if test "$linkmode,$pass" = "lib,link"; then
+ ## FIXME: Find the place where the list is rebuilt in the wrong
+ ## order, and fix it there properly
+ tmp_deplibs=
+ for deplib in $deplibs; do
+ tmp_deplibs="$deplib $tmp_deplibs"
+ done
+ deplibs="$tmp_deplibs"
+ fi
+
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan"; then
+ libs="$deplibs"
+ deplibs=
+ fi
+ if test "$linkmode" = prog; then
+ case $pass in
+ dlopen) libs="$dlfiles" ;;
+ dlpreopen) libs="$dlprefiles" ;;
+ link)
+ libs="$deplibs %DEPLIBS%"
+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+ ;;
+ esac
+ fi
+ if test "$linkmode,$pass" = "lib,dlpreopen"; then
+ # Collect and forward deplibs of preopened libtool libs
+ for lib in $dlprefiles; do
+ # Ignore non-libtool-libs
+ dependency_libs=
+ func_resolve_sysroot "$lib"
+ case $lib in
+ *.la) func_source "$func_resolve_sysroot_result" ;;
+ esac
+
+ # Collect preopened libtool deplibs, except any this library
+ # has declared as weak libs
+ for deplib in $dependency_libs; do
+ func_basename "$deplib"
+ deplib_base=$func_basename_result
+ case " $weak_libs " in
+ *" $deplib_base "*) ;;
+ *) func_append deplibs " $deplib" ;;
+ esac
+ done
+ done
+ libs="$dlprefiles"
+ fi
+ if test "$pass" = dlopen; then
+ # Collect dlpreopened libraries
+ save_deplibs="$deplibs"
+ deplibs=
+ fi
+
+ for deplib in $libs; do
+ lib=
+ found=no
+ case $deplib in
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ func_append compiler_flags " $deplib"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -l*)
+ if test "$linkmode" != lib && test "$linkmode" != prog; then
+ func_warning "\`-l' is ignored for archives/objects"
+ continue
+ fi
+ func_stripname '-l' '' "$deplib"
+ name=$func_stripname_result
+ if test "$linkmode" = lib; then
+ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+ else
+ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+ fi
+ for searchdir in $searchdirs; do
+ for search_ext in .la $std_shrext .so .a; do
+ # Search the libtool library
+ lib="$searchdir/lib${name}${search_ext}"
+ if test -f "$lib"; then
+ if test "$search_ext" = ".la"; then
+ found=yes
+ else
+ found=no
+ fi
+ break 2
+ fi
+ done
+ done
+ if test "$found" != yes; then
+ # deplib doesn't seem to be a libtool library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ else # deplib is a libtool library
+ # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+ # We need to do some special things here, and not later.
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $deplib "*)
+ if func_lalib_p "$lib"; then
+ library_names=
+ old_library=
+ func_source "$lib"
+ for l in $old_library $library_names; do
+ ll="$l"
+ done
+ if test "X$ll" = "X$old_library" ; then # only static version available
+ found=no
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
+ lib=$ladir/$old_library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ fi
+ fi
+ ;;
+ *) ;;
+ esac
+ fi
+ fi
+ ;; # -l
+ *.ltframework)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -L*)
+ case $linkmode in
+ lib)
+ deplibs="$deplib $deplibs"
+ test "$pass" = conv && continue
+ newdependency_libs="$deplib $newdependency_libs"
+ func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ prog)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ if test "$pass" = scan; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ *)
+ func_warning "\`-L' is ignored for archives/objects"
+ ;;
+ esac # linkmode
+ continue
+ ;; # -L
+ -R*)
+ if test "$pass" = link; then
+ func_stripname '-R' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
+ # Make sure the xrpath contains only unique directories.
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) func_append xrpath " $dir" ;;
+ esac
+ fi
+ deplibs="$deplib $deplibs"
+ continue
+ ;;
+ *.la)
+ func_resolve_sysroot "$deplib"
+ lib=$func_resolve_sysroot_result
+ ;;
+ *.$libext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ case $linkmode in
+ lib)
+ # Linking convenience modules into shared libraries is allowed,
+ # but linking other static libraries is non-portable.
+ case " $dlpreconveniencelibs " in
+ *" $deplib "*) ;;
+ *)
+ valid_a_lib=no
+ case $deplibs_check_method in
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
+ | $EGREP "$match_pattern_regex" > /dev/null; then
+ valid_a_lib=yes
+ fi
+ ;;
+ pass_all)
+ valid_a_lib=yes
+ ;;
+ esac
+ if test "$valid_a_lib" != yes; then
+ echo
+ $ECHO "*** Warning: Trying to link with static lib archive $deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because the file extensions .$libext of this argument makes me believe"
+ echo "*** that it is just a static archive that I should not use here."
+ else
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ fi
+ ;;
+ esac
+ continue
+ ;;
+ prog)
+ if test "$pass" != link; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ continue
+ ;;
+ esac # linkmode
+ ;; # *.$libext
+ *.lo | *.$objext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ elif test "$linkmode" = prog; then
+ if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+ # If there is no dlopen support or we're linking statically,
+ # we need to preload.
+ func_append newdlprefiles " $deplib"
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ func_append newdlfiles " $deplib"
+ fi
+ fi
+ continue
+ ;;
+ %DEPLIBS%)
+ alldeplibs=yes
+ continue
+ ;;
+ esac # case $deplib
+
+ if test "$found" = yes || test -f "$lib"; then :
+ else
+ func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
+ fi
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$lib" \
+ || func_fatal_error "\`$lib' is not a valid libtool archive"
+
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
+
+ dlname=
+ dlopen=
+ dlpreopen=
+ libdir=
+ library_names=
+ old_library=
+ inherited_linker_flags=
+ # If the library was installed with an old release of libtool,
+ # it will not redefine variables installed, or shouldnotlink
+ installed=yes
+ shouldnotlink=no
+ avoidtemprpath=
+
+
+ # Read the .la file
+ func_source "$lib"
+
+ # Convert "-framework foo" to "foo.ltframework"
+ if test -n "$inherited_linker_flags"; then
+ tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
+ for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+ case " $new_inherited_linker_flags " in
+ *" $tmp_inherited_linker_flag "*) ;;
+ *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
+ esac
+ done
+ fi
+ dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan" ||
+ { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+ test -n "$dlopen" && func_append dlfiles " $dlopen"
+ test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
+ fi
+
+ if test "$pass" = conv; then
+ # Only check for convenience libraries
+ deplibs="$lib $deplibs"
+ if test -z "$libdir"; then
+ if test -z "$old_library"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+ # It is a libtool convenience library, so add in its objects.
+ func_append convenience " $ladir/$objdir/$old_library"
+ func_append old_convenience " $ladir/$objdir/$old_library"
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done
+ elif test "$linkmode" != prog && test "$linkmode" != lib; then
+ func_fatal_error "\`$lib' is not a convenience library"
+ fi
+ continue
+ fi # $pass = conv
+
+
+ # Get the name of the library we link against.
+ linklib=
+ if test -n "$old_library" &&
+ { test "$prefer_static_libs" = yes ||
+ test "$prefer_static_libs,$installed" = "built,no"; }; then
+ linklib=$old_library
+ else
+ for l in $old_library $library_names; do
+ linklib="$l"
+ done
+ fi
+ if test -z "$linklib"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+
+ # This library was specified with -dlopen.
+ if test "$pass" = dlopen; then
+ if test -z "$libdir"; then
+ func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
+ fi
+ if test -z "$dlname" ||
+ test "$dlopen_support" != yes ||
+ test "$build_libtool_libs" = no; then
+ # If there is no dlname, no dlopen support or we're linking
+ # statically, we need to preload. We also need to preload any
+ # dependent libraries so libltdl's deplib preloader doesn't
+ # bomb out in the load deplibs phase.
+ func_append dlprefiles " $lib $dependency_libs"
+ else
+ func_append newdlfiles " $lib"
+ fi
+ continue
+ fi # $pass = dlopen
+
+ # We need an absolute path.
+ case $ladir in
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+ *)
+ abs_ladir=`cd "$ladir" && pwd`
+ if test -z "$abs_ladir"; then
+ func_warning "cannot determine absolute directory name of \`$ladir'"
+ func_warning "passing it literally to the linker, although it might fail"
+ abs_ladir="$ladir"
+ fi
+ ;;
+ esac
+ func_basename "$lib"
+ laname="$func_basename_result"
+
+ # Find the relevant object directory and library name.
+ if test "X$installed" = Xyes; then
+ if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ func_warning "library \`$lib' was moved."
+ dir="$ladir"
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ else
+ dir="$lt_sysroot$libdir"
+ absdir="$lt_sysroot$libdir"
+ fi
+ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ else
+ if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ dir="$ladir"
+ absdir="$abs_ladir"
+ # Remove this search path later
+ func_append notinst_path " $abs_ladir"
+ else
+ dir="$ladir/$objdir"
+ absdir="$abs_ladir/$objdir"
+ # Remove this search path later
+ func_append notinst_path " $abs_ladir"
+ fi
+ fi # $installed = yes
+ func_stripname 'lib' '.la' "$laname"
+ name=$func_stripname_result
+
+ # This library was specified with -dlpreopen.
+ if test "$pass" = dlpreopen; then
+ if test -z "$libdir" && test "$linkmode" = prog; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+ fi
+ case "$host" in
+ # special handling for platforms with PE-DLLs.
+ *cygwin* | *mingw* | *cegcc* )
+ # Linker will automatically link against shared library if both
+ # static and shared are present. Therefore, ensure we extract
+ # symbols from the import library if a shared library is present
+ # (otherwise, the dlopen module name will be incorrect). We do
+ # this by putting the import library name into $newdlprefiles.
+ # We recover the dlopen module name by 'saving' the la file
+ # name in a special purpose variable, and (later) extracting the
+ # dlname from the la file.
+ if test -n "$dlname"; then
+ func_tr_sh "$dir/$linklib"
+ eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
+ func_append newdlprefiles " $dir/$linklib"
+ else
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ fi
+ ;;
+ * )
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
+ # are required to link).
+ if test -n "$old_library"; then
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ # Otherwise, use the dlname, so that lt_dlopen finds it.
+ elif test -n "$dlname"; then
+ func_append newdlprefiles " $dir/$dlname"
+ else
+ func_append newdlprefiles " $dir/$linklib"
+ fi
+ ;;
+ esac
+ fi # $pass = dlpreopen
+
+ if test -z "$libdir"; then
+ # Link the convenience library
+ if test "$linkmode" = lib; then
+ deplibs="$dir/$old_library $deplibs"
+ elif test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$dir/$old_library $compile_deplibs"
+ finalize_deplibs="$dir/$old_library $finalize_deplibs"
+ else
+ deplibs="$lib $deplibs" # used for prog,scan pass
+ fi
+ continue
+ fi
+
+
+ if test "$linkmode" = prog && test "$pass" != link; then
+ func_append newlib_search_path " $ladir"
+ deplibs="$lib $deplibs"
+
+ linkalldeplibs=no
+ if test "$link_all_deplibs" != no || test -z "$library_names" ||
+ test "$build_libtool_libs" = no; then
+ linkalldeplibs=yes
+ fi
+
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ esac
+ # Need to link against all dependency_libs?
+ if test "$linkalldeplibs" = yes; then
+ deplibs="$deplib $deplibs"
+ else
+ # Need to hardcode shared library paths
+ # or/and link against static libraries
+ newdependency_libs="$deplib $newdependency_libs"
+ fi
+ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done # for deplib
+ continue
+ fi # $linkmode = prog...
+
+ if test "$linkmode,$pass" = "prog,link"; then
+ if test -n "$library_names" &&
+ { { test "$prefer_static_libs" = no ||
+ test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ test -z "$old_library"; }; then
+ # We need to hardcode the library path
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+ # Make sure the rpath contains only unique directories.
+ case "$temp_rpath:" in
+ *"$absdir:"*) ;;
+ *) func_append temp_rpath "$absdir:" ;;
+ esac
+ fi
+
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+ fi # $linkmode,$pass = prog,link...
+
+ if test "$alldeplibs" = yes &&
+ { test "$deplibs_check_method" = pass_all ||
+ { test "$build_libtool_libs" = yes &&
+ test -n "$library_names"; }; }; then
+ # We only need to search for static libraries
+ continue
+ fi
+ fi
+
+ link_static=no # Whether the deplib will be linked statically
+ use_static_libs=$prefer_static_libs
+ if test "$use_static_libs" = built && test "$installed" = yes; then
+ use_static_libs=no
+ fi
+ if test -n "$library_names" &&
+ { test "$use_static_libs" = no || test -z "$old_library"; }; then
+ case $host in
+ *cygwin* | *mingw* | *cegcc*)
+ # No point in relinking DLLs because paths are not encoded
+ func_append notinst_deplibs " $lib"
+ need_relink=no
+ ;;
+ *)
+ if test "$installed" = no; then
+ func_append notinst_deplibs " $lib"
+ need_relink=yes
+ fi
+ ;;
+ esac
+ # This is a shared library
+
+ # Warn about portability, can't link against -module's on some
+ # systems (darwin). Don't bleat about dlopened modules though!
+ dlopenmodule=""
+ for dlpremoduletest in $dlprefiles; do
+ if test "X$dlpremoduletest" = "X$lib"; then
+ dlopenmodule="$dlpremoduletest"
+ break
+ fi
+ done
+ if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+ echo
+ if test "$linkmode" = prog; then
+ $ECHO "*** Warning: Linking the executable $output against the loadable module"
+ else
+ $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+ fi
+ $ECHO "*** $linklib is not portable!"
+ fi
+ if test "$linkmode" = lib &&
+ test "$hardcode_into_libs" = yes; then
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+ fi
+
+ if test -n "$old_archive_from_expsyms_cmds"; then
+ # figure out the soname
+ set dummy $library_names
+ shift
+ realname="$1"
+ shift
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ # use dlname if we got it. it's perfectly good, no?
+ if test -n "$dlname"; then
+ soname="$dlname"
+ elif test -n "$soname_spec"; then
+ # bleh windows
+ case $host in
+ *cygwin* | mingw* | *cegcc*)
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix="-$major"
+ ;;
+ esac
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+
+ # Make a new name for the extract_expsyms_cmds to use
+ soroot="$soname"
+ func_basename "$soroot"
+ soname="$func_basename_result"
+ func_stripname 'lib' '.dll' "$soname"
+ newlib=libimp-$func_stripname_result.a
+
+ # If the library has no export list, then create one now
+ if test -f "$output_objdir/$soname-def"; then :
+ else
+ func_verbose "extracting exported symbol list from \`$soname'"
+ func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+ fi
+
+ # Create $newlib
+ if test -f "$output_objdir/$newlib"; then :; else
+ func_verbose "generating import library for \`$soname'"
+ func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+ fi
+ # make sure the library variables are pointing to the new library
+ dir=$output_objdir
+ linklib=$newlib
+ fi # test -n "$old_archive_from_expsyms_cmds"
+
+ if test "$linkmode" = prog || test "$opt_mode" != relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ lib_linked=yes
+ case $hardcode_action in
+ immediate | unsupported)
+ if test "$hardcode_direct" = no; then
+ add="$dir/$linklib"
+ case $host in
+ *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+ *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+ *-*-unixware7*) add_dir="-L$dir" ;;
+ *-*-darwin* )
+ # if the lib is a (non-dlopened) module then we can not
+ # link against it, someone is ignoring the earlier warnings
+ if /usr/bin/file -L $add 2> /dev/null |
+ $GREP ": [^:]* bundle" >/dev/null ; then
+ if test "X$dlopenmodule" != "X$lib"; then
+ $ECHO "*** Warning: lib $linklib is a module, not a shared library"
+ if test -z "$old_library" ; then
+ echo
+ echo "*** And there doesn't seem to be a static archive available"
+ echo "*** The link will probably fail, sorry"
+ else
+ add="$dir/$old_library"
+ fi
+ elif test -n "$old_library"; then
+ add="$dir/$old_library"
+ fi
+ fi
+ esac
+ elif test "$hardcode_minus_L" = no; then
+ case $host in
+ *-*-sunos*) add_shlibpath="$dir" ;;
+ esac
+ add_dir="-L$dir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = no; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ relink)
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
+ add="$dir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$absdir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ *) lib_linked=no ;;
+ esac
+
+ if test "$lib_linked" != yes; then
+ func_fatal_configuration "unsupported hardcode properties"
+ fi
+
+ if test -n "$add_shlibpath"; then
+ case :$compile_shlibpath: in
+ *":$add_shlibpath:"*) ;;
+ *) func_append compile_shlibpath "$add_shlibpath:" ;;
+ esac
+ fi
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+ test -n "$add" && compile_deplibs="$add $compile_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ if test "$hardcode_direct" != yes &&
+ test "$hardcode_minus_L" != yes &&
+ test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ fi
+ fi
+ fi
+
+ if test "$linkmode" = prog || test "$opt_mode" = relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ # Finalize command for both is simple: just hardcode it.
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
+ add="$libdir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$libdir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ add="-l$name"
+ elif test "$hardcode_automatic" = yes; then
+ if test -n "$inst_prefix_dir" &&
+ test -f "$inst_prefix_dir$libdir/$linklib" ; then
+ add="$inst_prefix_dir$libdir/$linklib"
+ else
+ add="$libdir/$linklib"
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+ add_dir="-L$libdir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ fi
+
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+ test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ fi
+ fi
+ elif test "$linkmode" = prog; then
+ # Here we assume that one of hardcode_direct or hardcode_minus_L
+ # is not unsupported. This is valid on all known static and
+ # shared platforms.
+ if test "$hardcode_direct" != unsupported; then
+ test -n "$old_library" && linklib="$old_library"
+ compile_deplibs="$dir/$linklib $compile_deplibs"
+ finalize_deplibs="$dir/$linklib $finalize_deplibs"
+ else
+ compile_deplibs="-l$name -L$dir $compile_deplibs"
+ finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+ fi
+ elif test "$build_libtool_libs" = yes; then
+ # Not a shared library
+ if test "$deplibs_check_method" != pass_all; then
+ # We're trying link a shared library against a static one
+ # but the system doesn't support it.
+
+ # Just print a warning and add the library to dependency_libs so
+ # that the program can be linked against the static library.
+ echo
+ $ECHO "*** Warning: This system can not link to static lib archive $lib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have."
+ if test "$module" = yes; then
+ echo "*** But as you try to build a module library, libtool will still create "
+ echo "*** a static module, that should work as long as the dlopening application"
+ echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ if test -z "$global_symbol_pipe"; then
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ else
+ deplibs="$dir/$old_library $deplibs"
+ link_static=yes
+ fi
+ fi # link shared/static library?
+
+ if test "$linkmode" = lib; then
+ if test -n "$dependency_libs" &&
+ { test "$hardcode_into_libs" != yes ||
+ test "$build_old_libs" = yes ||
+ test "$link_static" = yes; }; then
+ # Extract -R from dependency_libs
+ temp_deplibs=
+ for libdir in $dependency_libs; do
+ case $libdir in
+ -R*) func_stripname '-R' '' "$libdir"
+ temp_xrpath=$func_stripname_result
+ case " $xrpath " in
+ *" $temp_xrpath "*) ;;
+ *) func_append xrpath " $temp_xrpath";;
+ esac;;
+ *) func_append temp_deplibs " $libdir";;
+ esac
+ done
+ dependency_libs="$temp_deplibs"
+ fi
+
+ func_append newlib_search_path " $absdir"
+ # Link against this library
+ test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ # ... and its dependency_libs
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ newdependency_libs="$deplib $newdependency_libs"
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result";;
+ *) func_resolve_sysroot "$deplib" ;;
+ esac
+ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+ *" $func_resolve_sysroot_result "*)
+ func_append specialdeplibs " $func_resolve_sysroot_result" ;;
+ esac
+ fi
+ func_append tmp_libs " $func_resolve_sysroot_result"
+ done
+
+ if test "$link_all_deplibs" != no; then
+ # Add the search paths of all dependency libraries
+ for deplib in $dependency_libs; do
+ path=
+ case $deplib in
+ -L*) path="$deplib" ;;
+ *.la)
+ func_resolve_sysroot "$deplib"
+ deplib=$func_resolve_sysroot_result
+ func_dirname "$deplib" "" "."
+ dir=$func_dirname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ if test -z "$absdir"; then
+ func_warning "cannot determine absolute directory name of \`$dir'"
+ absdir="$dir"
+ fi
+ ;;
+ esac
+ if $GREP "^installed=no" $deplib > /dev/null; then
+ case $host in
+ *-*-darwin*)
+ depdepl=
+ eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ if test -n "$deplibrary_names" ; then
+ for tmp in $deplibrary_names ; do
+ depdepl=$tmp
+ done
+ if test -f "$absdir/$objdir/$depdepl" ; then
+ depdepl="$absdir/$objdir/$depdepl"
+ darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ if test -z "$darwin_install_name"; then
+ darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ fi
+ func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+ func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
+ path=
+ fi
+ fi
+ ;;
+ *)
+ path="-L$absdir/$objdir"
+ ;;
+ esac
+ else
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ test "$absdir" != "$libdir" && \
+ func_warning "\`$deplib' seems to be moved"
+
+ path="-L$absdir"
+ fi
+ ;;
+ esac
+ case " $deplibs " in
+ *" $path "*) ;;
+ *) deplibs="$path $deplibs" ;;
+ esac
+ done
+ fi # link_all_deplibs != no
+ fi # linkmode = lib
+ done # for deplib in $libs
+ if test "$pass" = link; then
+ if test "$linkmode" = "prog"; then
+ compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+ finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ fi
+ fi
+ dependency_libs="$newdependency_libs"
+ if test "$pass" = dlpreopen; then
+ # Link the dlpreopened libraries before other libraries
+ for deplib in $save_deplibs; do
+ deplibs="$deplib $deplibs"
+ done
+ fi
+ if test "$pass" != dlopen; then
+ if test "$pass" != conv; then
+ # Make sure lib_search_path contains only unique directories.
+ lib_search_path=
+ for dir in $newlib_search_path; do
+ case "$lib_search_path " in
+ *" $dir "*) ;;
+ *) func_append lib_search_path " $dir" ;;
+ esac
+ done
+ newlib_search_path=
+ fi
+
+ if test "$linkmode,$pass" != "prog,link"; then
+ vars="deplibs"
+ else
+ vars="compile_deplibs finalize_deplibs"
+ fi
+ for var in $vars dependency_libs; do
+ # Add libraries to $var in reverse order
+ eval tmp_libs=\"\$$var\"
+ new_libs=
+ for deplib in $tmp_libs; do
+ # FIXME: Pedantically, this is the right thing to do, so
+ # that some nasty dependency loop isn't accidentally
+ # broken:
+ #new_libs="$deplib $new_libs"
+ # Pragmatically, this seems to cause very few problems in
+ # practice:
+ case $deplib in
+ -L*) new_libs="$deplib $new_libs" ;;
+ -R*) ;;
+ *)
+ # And here is the reason: when a library appears more
+ # than once as an explicit dependence of a library, or
+ # is implicitly linked in more than once by the
+ # compiler, it is considered special, and multiple
+ # occurrences thereof are not removed. Compare this
+ # with having the same library being listed as a
+ # dependency of multiple other libraries: in this case,
+ # we know (pedantically, we assume) the library does not
+ # need to be listed more than once, so we keep only the
+ # last copy. This is not always right, but it is rare
+ # enough that we require users that really mean to play
+ # such unportable linking tricks to link the library
+ # using -Wl,-lname, so that libtool does not consider it
+ # for duplicate removal.
+ case " $specialdeplibs " in
+ *" $deplib "*) new_libs="$deplib $new_libs" ;;
+ *)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$deplib $new_libs" ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ done
+ tmp_libs=
+ for deplib in $new_libs; do
+ case $deplib in
+ -L*)
+ case " $tmp_libs " in
+ *" $deplib "*) ;;
+ *) func_append tmp_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append tmp_libs " $deplib" ;;
+ esac
+ done
+ eval $var=\"$tmp_libs\"
+ done # for var
+ fi
+ # Last step: remove runtime libs from dependency_libs
+ # (they stay in deplibs)
+ tmp_libs=
+ for i in $dependency_libs ; do
+ case " $predeps $postdeps $compiler_lib_search_path " in
+ *" $i "*)
+ i=""
+ ;;
+ esac
+ if test -n "$i" ; then
+ func_append tmp_libs " $i"
+ fi
+ done
+ dependency_libs=$tmp_libs
+ done # for pass
+ if test "$linkmode" = prog; then
+ dlfiles="$newdlfiles"
+ fi
+ if test "$linkmode" = prog || test "$linkmode" = lib; then
+ dlprefiles="$newdlprefiles"
+ fi
+
+ case $linkmode in
+ oldlib)
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ func_warning "\`-dlopen' is ignored for archives"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for archives" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for archives"
+
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for archives"
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for archives"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for archives"
+
+ test -n "$export_symbols$export_symbols_regex" && \
+ func_warning "\`-export-symbols' is ignored for archives"
+
+ # Now set the variables for building old libraries.
+ build_libtool_libs=no
+ oldlibs="$output"
+ func_append objs "$old_deplibs"
+ ;;
+
+ lib)
+ # Make sure we only generate libraries of the form `libNAME.la'.
+ case $outputname in
+ lib*)
+ func_stripname 'lib' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ ;;
+ *)
+ test "$module" = no && \
+ func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
+ if test "$need_lib_prefix" != no; then
+ # Add the "lib" prefix for modules if required
+ func_stripname '' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ else
+ func_stripname '' '.la' "$outputname"
+ libname=$func_stripname_result
+ fi
+ ;;
+ esac
+
+ if test -n "$objs"; then
+ if test "$deplibs_check_method" != pass_all; then
+ func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+ else
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+ $ECHO "*** objects $objs is not portable!"
+ func_append libobjs " $objs"
+ fi
+ fi
+
+ test "$dlself" != no && \
+ func_warning "\`-dlopen self' is ignored for libtool libraries"
+
+ set dummy $rpath
+ shift
+ test "$#" -gt 1 && \
+ func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+ install_libdir="$1"
+
+ oldlibs=
+ if test -z "$rpath"; then
+ if test "$build_libtool_libs" = yes; then
+ # Building a libtool convenience library.
+ # Some compilers have problems with a `.al' extension so
+ # convenience libraries should have the same extension an
+ # archive normally would.
+ oldlibs="$output_objdir/$libname.$libext $oldlibs"
+ build_libtool_libs=convenience
+ build_old_libs=yes
+ fi
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for convenience libraries"
+ else
+
+ # Parse the version information argument.
+ save_ifs="$IFS"; IFS=':'
+ set dummy $vinfo 0 0 0
+ shift
+ IFS="$save_ifs"
+
+ test -n "$7" && \
+ func_fatal_help "too many parameters to \`-version-info'"
+
+ # convert absolute version numbers to libtool ages
+ # this retains compatibility with .la files and attempts
+ # to make the code below a bit more comprehensible
+
+ case $vinfo_number in
+ yes)
+ number_major="$1"
+ number_minor="$2"
+ number_revision="$3"
+ #
+ # There are really only two kinds -- those that
+ # use the current revision as the major version
+ # and those that subtract age and use age as
+ # a minor version. But, then there is irix
+ # which has an extra 1 added just for fun
+ #
+ case $version_type in
+ # correct linux to gnu/linux during the next big refactor
+ darwin|linux|osf|windows|none)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age="$number_minor"
+ revision="$number_revision"
+ ;;
+ freebsd-aout|freebsd-elf|qnx|sunos)
+ current="$number_major"
+ revision="$number_minor"
+ age="0"
+ ;;
+ irix|nonstopux)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age="$number_minor"
+ revision="$number_minor"
+ lt_irix_increment=no
+ ;;
+ *)
+ func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+ ;;
+ esac
+ ;;
+ no)
+ current="$1"
+ revision="$2"
+ age="$3"
+ ;;
+ esac
+
+ # Check that each of the things are valid numbers.
+ case $current in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "CURRENT \`$current' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $revision in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "REVISION \`$revision' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $age in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "AGE \`$age' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ if test "$age" -gt "$current"; then
+ func_error "AGE \`$age' is greater than the current interface number \`$current'"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ fi
+
+ # Calculate the version variables.
+ major=
+ versuffix=
+ verstring=
+ case $version_type in
+ none) ;;
+
+ darwin)
+ # Like Linux, but with the current version available in
+ # verstring for coding it into the library header
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix="$major.$age.$revision"
+ # Darwin ld doesn't like 0 for these options...
+ func_arith $current + 1
+ minor_current=$func_arith_result
+ xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+
+ freebsd-aout)
+ major=".$current"
+ versuffix=".$current.$revision";
+ ;;
+
+ freebsd-elf)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
+ irix | nonstopux)
+ if test "X$lt_irix_increment" = "Xno"; then
+ func_arith $current - $age
+ else
+ func_arith $current - $age + 1
+ fi
+ major=$func_arith_result
+
+ case $version_type in
+ nonstopux) verstring_prefix=nonstopux ;;
+ *) verstring_prefix=sgi ;;
+ esac
+ verstring="$verstring_prefix$major.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$revision
+ while test "$loop" -ne 0; do
+ func_arith $revision - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring="$verstring_prefix$major.$iface:$verstring"
+ done
+
+ # Before this point, $major must not contain `.'.
+ major=.$major
+ versuffix="$major.$revision"
+ ;;
+
+ linux) # correct to gnu/linux during the next big refactor
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix="$major.$age.$revision"
+ ;;
+
+ osf)
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=".$current.$age.$revision"
+ verstring="$current.$age.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$age
+ while test "$loop" -ne 0; do
+ func_arith $current - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring="$verstring:${iface}.0"
+ done
+
+ # Make executables depend on our current version.
+ func_append verstring ":${current}.0"
+ ;;
+
+ qnx)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
+ sunos)
+ major=".$current"
+ versuffix=".$current.$revision"
+ ;;
+
+ windows)
+ # Use '-' rather than '.', since we only want one
+ # extension on DOS 8.3 filesystems.
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix="-$major"
+ ;;
+
+ *)
+ func_fatal_configuration "unknown library version type \`$version_type'"
+ ;;
+ esac
+
+ # Clear the version info if we defaulted, and they specified a release.
+ if test -z "$vinfo" && test -n "$release"; then
+ major=
+ case $version_type in
+ darwin)
+ # we can't check for "0.0" in archive_cmds due to quoting
+ # problems, so we reset it completely
+ verstring=
+ ;;
+ *)
+ verstring="0.0"
+ ;;
+ esac
+ if test "$need_version" = no; then
+ versuffix=
+ else
+ versuffix=".0.0"
+ fi
+ fi
+
+ # Remove version info from name if versioning should be avoided
+ if test "$avoid_version" = yes && test "$need_version" = no; then
+ major=
+ versuffix=
+ verstring=""
+ fi
+
+ # Check to see if the archive will have undefined symbols.
+ if test "$allow_undefined" = yes; then
+ if test "$allow_undefined_flag" = unsupported; then
+ func_warning "undefined symbols not allowed in $host shared libraries"
+ build_libtool_libs=no
+ build_old_libs=yes
+ fi
+ else
+ # Don't allow undefined symbols.
+ allow_undefined_flag="$no_undefined_flag"
+ fi
+
+ fi
+
+ func_generate_dlsyms "$libname" "$libname" "yes"
+ func_append libobjs " $symfileobj"
+ test "X$libobjs" = "X " && libobjs=
+
+ if test "$opt_mode" != relink; then
+ # Remove our outputs, but don't remove object files since they
+ # may have been created when compiling PIC objects.
+ removelist=
+ tempremovelist=`$ECHO "$output_objdir/*"`
+ for p in $tempremovelist; do
+ case $p in
+ *.$objext | *.gcno)
+ ;;
+ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+ if test "X$precious_files_regex" != "X"; then
+ if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+ then
+ continue
+ fi
+ fi
+ func_append removelist " $p"
+ ;;
+ *) ;;
+ esac
+ done
+ test -n "$removelist" && \
+ func_show_eval "${RM}r \$removelist"
+ fi
+
+ # Now set the variables for building old libraries.
+ if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+ func_append oldlibs " $output_objdir/$libname.$libext"
+
+ # Transform .lo files to .o files.
+ oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
+ fi
+
+ # Eliminate all temporary directories.
+ #for path in $notinst_path; do
+ # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
+ # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
+ # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
+ #done
+
+ if test -n "$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ temp_xrpath=
+ for libdir in $xrpath; do
+ func_replace_sysroot "$libdir"
+ func_append temp_xrpath " -R$func_replace_sysroot_result"
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+ dependency_libs="$temp_xrpath $dependency_libs"
+ fi
+ fi
+
+ # Make sure dlfiles contains only unique files that won't be dlpreopened
+ old_dlfiles="$dlfiles"
+ dlfiles=
+ for lib in $old_dlfiles; do
+ case " $dlprefiles $dlfiles " in
+ *" $lib "*) ;;
+ *) func_append dlfiles " $lib" ;;
+ esac
+ done
+
+ # Make sure dlprefiles contains only unique files
+ old_dlprefiles="$dlprefiles"
+ dlprefiles=
+ for lib in $old_dlprefiles; do
+ case "$dlprefiles " in
+ *" $lib "*) ;;
+ *) func_append dlprefiles " $lib" ;;
+ esac
+ done
+
+ if test "$build_libtool_libs" = yes; then
+ if test -n "$rpath"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ # these systems don't actually have a c library (as such)!
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C library is in the System framework
+ func_append deplibs " System.ltframework"
+ ;;
+ *-*-netbsd*)
+ # Don't link with libc until the a.out ld.so is fixed.
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ ;;
+ *)
+ # Add libc to deplibs on all other systems if necessary.
+ if test "$build_libtool_need_lc" = "yes"; then
+ func_append deplibs " -lc"
+ fi
+ ;;
+ esac
+ fi
+
+ # Transform deplibs into only deplibs that can be linked in shared.
+ name_save=$name
+ libname_save=$libname
+ release_save=$release
+ versuffix_save=$versuffix
+ major_save=$major
+ # I'm not sure if I'm treating the release correctly. I think
+ # release should show up in the -l (ie -lgmp5) so we don't want to
+ # add it in twice. Is that correct?
+ release=""
+ versuffix=""
+ major=""
+ newdeplibs=
+ droppeddeps=no
+ case $deplibs_check_method in
+ pass_all)
+ # Don't check for shared/static. Everything works.
+ # This might be a little naive. We might want to check
+ # whether the library exists or not. But this is on
+ # osf3 & osf4 and I'm not really sure... Just
+ # implementing what was already the behavior.
+ newdeplibs=$deplibs
+ ;;
+ test_compile)
+ # This code stresses the "libraries are programs" paradigm to its
+ # limits. Maybe even breaks it. We compile a program, linking it
+ # against the deplibs as a proxy for the library. Then we can check
+ # whether they linked in statically or dynamically with ldd.
+ $opt_dry_run || $RM conftest.c
+ cat > conftest.c <<EOF
+ int main() { return 0; }
+EOF
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+ ldd_output=`ldd conftest`
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ func_append newdeplibs " $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which I believe you do not have"
+ echo "*** because a test_compile did reveal that the linker did not use it for"
+ echo "*** its dynamic dependency list that programs get resolved with at runtime."
+ fi
+ fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+ else
+ # Error occurred in the first compile. Let's try to salvage
+ # the situation: Compile a separate program for each library.
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+ ldd_output=`ldd conftest`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ func_append newdeplibs " $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because a test_compile did reveal that the linker did not use this one"
+ echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+ fi
+ fi
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
+ echo "*** make it link in! You will probably need to install it or some"
+ echo "*** library that it depends on before this library will be fully"
+ echo "*** functional. Installing it before continuing would be even better."
+ fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+ fi
+ ;;
+ file_magic*)
+ set dummy $deplibs_check_method; shift
+ file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ if test -n "$file_magic_glob"; then
+ libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
+ else
+ libnameglob=$libname
+ fi
+ test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ if test "$want_nocaseglob" = yes; then
+ shopt -s nocaseglob
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ $nocaseglob
+ else
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ fi
+ for potent_lib in $potential_libs; do
+ # Follow soft links.
+ if ls -lLd "$potent_lib" 2>/dev/null |
+ $GREP " -> " >/dev/null; then
+ continue
+ fi
+ # The statement above tries to avoid entering an
+ # endless loop below, in case of cyclic links.
+ # We might still enter an endless loop, since a link
+ # loop can be closed while we follow links,
+ # but so what?
+ potlib="$potent_lib"
+ while test -h "$potlib" 2>/dev/null; do
+ potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+ case $potliblink in
+ [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+ *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
+ esac
+ done
+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+ $SED -e 10q |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a file magic. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ potlib="$potent_lib" # see symlink-check above in file_magic test
+ if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
+ $EGREP "$match_pattern_regex" > /dev/null; then
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a regex pattern. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ none | unknown | *)
+ newdeplibs=""
+ tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ for i in $predeps $postdeps ; do
+ # can't use Xsed below, because $i might contain '/'
+ tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
+ done
+ fi
+ case $tmp_deplibs in
+ *[!\ \ ]*)
+ echo
+ if test "X$deplibs_check_method" = "Xnone"; then
+ echo "*** Warning: inter-library dependencies are not supported in this platform."
+ else
+ echo "*** Warning: inter-library dependencies are not known to be supported."
+ fi
+ echo "*** All declared inter-library dependencies are being dropped."
+ droppeddeps=yes
+ ;;
+ esac
+ ;;
+ esac
+ versuffix=$versuffix_save
+ major=$major_save
+ release=$release_save
+ libname=$libname_save
+ name=$name_save
- $echo >> $output "\
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library with the System framework
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
+ ;;
+ esac
- # relink executable if necessary
- if test -n \"\$relink_command\"; then
- if relink_command_output=\`eval \$relink_command 2>&1\`; then :
- else
- $echo \"\$relink_command_output\" >&2
- $rm \"\$progdir/\$file\"
- exit $EXIT_FAILURE
- fi
- fi
+ if test "$droppeddeps" = yes; then
+ if test "$module" = yes; then
+ echo
+ echo "*** Warning: libtool could not satisfy all declared inter-library"
+ $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
+ echo "*** a static module, that should work as long as the dlopening"
+ echo "*** application is linked with the -dlopen flag."
+ if test -z "$global_symbol_pipe"; then
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ else
+ echo "*** The inter-library dependencies that have been dropped here will be"
+ echo "*** automatically added whenever a program is linked with this library"
+ echo "*** or is declared to -dlopen it."
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
- { $rm \"\$progdir/\$program\";
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
- $rm \"\$progdir/\$file\"
- fi"
- else
- $echo >> $output "\
- program='$outputname'
- progdir=\"\$thisdir/$objdir\"
-"
+ if test "$allow_undefined" = no; then
+ echo
+ echo "*** Since this library must not contain undefined symbols,"
+ echo "*** because either the platform does not support them or"
+ echo "*** it was explicitly requested with -no-undefined,"
+ echo "*** libtool will only create a static version of it."
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ fi
fi
+ # Done checking deplibs!
+ deplibs=$newdeplibs
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ case $host in
+ *-*-darwin*)
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
- $echo >> $output "\
-
- if test -f \"\$progdir/\$program\"; then"
-
- # Export our shlibpath_var if we have one.
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- $echo >> $output "\
- # Add our own library path to $shlibpath_var
- $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $deplibs " in
+ *" -L$path/$objdir "*)
+ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ deplibs="$new_libs"
- # Some systems cannot cope with colon-terminated $shlibpath_var
- # The second colon is a workaround for a bug in BeOS R4 sed
- $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+ # All the library-specific variables (install_libdir is set above).
+ library_names=
+ old_library=
+ dlname=
- export $shlibpath_var
-"
+ # Test again, we may have decided not to build it any more
+ if test "$build_libtool_libs" = yes; then
+ # Remove ${wl} instances when linking with ld.
+ # FIXME: should test the right _cmds variable.
+ case $archive_cmds in
+ *\$LD\ *) wl= ;;
+ esac
+ if test "$hardcode_into_libs" = yes; then
+ # Hardcode the library paths
+ hardcode_libdirs=
+ dep_rpath=
+ rpath="$finalize_rpath"
+ test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ func_replace_sysroot "$libdir"
+ libdir=$func_replace_sysroot_result
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append dep_rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append perm_rpath " $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
+ fi
+ if test -n "$runpath_var" && test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+ fi
+ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
fi
- # fixup the dll searchpath if we need to.
- if test -n "$dllsearchpath"; then
- $echo >> $output "\
- # Add the dll search path components to the executable PATH
- PATH=$dllsearchpath:\$PATH
-"
+ shlibpath="$finalize_shlibpath"
+ test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ if test -n "$shlibpath"; then
+ eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
fi
- $echo >> $output "\
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- # Run the actual program with our arguments.
-"
- case $host in
- # Backslashes separate directories on plain windows
- *-*-mingw | *-*-os2*)
- $echo >> $output "\
- exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
- ;;
-
- *)
- $echo >> $output "\
- exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
- ;;
- esac
- $echo >> $output "\
- \$echo \"\$0: cannot exec \$program \$*\"
- exit $EXIT_FAILURE
- fi
- else
- # The program doesn't exist.
- \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
- \$echo \"This script is just a wrapper for \$program.\" 1>&2
- $echo \"See the $PACKAGE documentation for more information.\" 1>&2
- exit $EXIT_FAILURE
- fi
-fi\
-"
- chmod +x $output
- fi
- exit $EXIT_SUCCESS
- ;;
- esac
-
- # See if we need to build an old-fashioned archive.
- for oldlib in $oldlibs; do
+ # Get the real and link names of the library.
+ eval shared_ext=\"$shrext_cmds\"
+ eval library_names=\"$library_names_spec\"
+ set dummy $library_names
+ shift
+ realname="$1"
+ shift
- if test "$build_libtool_libs" = convenience; then
- oldobjs="$libobjs_save"
- addlibs="$convenience"
- build_libtool_libs=no
- else
- if test "$build_libtool_libs" = module; then
- oldobjs="$libobjs_save"
- build_libtool_libs=no
+ if test -n "$soname_spec"; then
+ eval soname=\"$soname_spec\"
else
- oldobjs="$old_deplibs $non_pic_objects"
+ soname="$realname"
+ fi
+ if test -z "$dlname"; then
+ dlname=$soname
fi
- addlibs="$old_convenience"
- fi
- if test -n "$addlibs"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
+ lib="$output_objdir/$realname"
+ linknames=
+ for link
+ do
+ func_append linknames " $link"
+ done
- func_extract_archives $gentop $addlibs
- oldobjs="$oldobjs $func_extract_archives_result"
- fi
+ # Use standard objects if they are pic
+ test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ test "X$libobjs" = "X " && libobjs=
- # Do each command in the archive commands.
- if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
- cmds=$old_archive_from_new_cmds
- else
- # POSIX demands no paths to be encoded in archives. We have
- # to avoid creating archives with duplicate basenames if we
- # might have to extract them afterwards, e.g., when creating a
- # static archive out of a convenience library, or when linking
- # the entirety of a libtool archive into another (currently
- # not supported by libtool).
- if (for obj in $oldobjs
- do
- $echo "X$obj" | $Xsed -e 's%^.*/%%'
- done | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- $echo "copying selected object files to avoid basename conflicts..."
+ delfiles=
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+ export_symbols="$output_objdir/$libname.uexp"
+ func_append delfiles " $export_symbols"
+ fi
- if test -z "$gentop"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- $show "${rm}r $gentop"
- $run ${rm}r "$gentop"
- $show "$mkdir $gentop"
- $run $mkdir "$gentop"
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
- exit $exit_status
+ orig_export_symbols=
+ case $host_os in
+ cygwin* | mingw* | cegcc*)
+ if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+ # exporting using user supplied symfile
+ if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+ # and it's NOT already a .def file. Must figure out
+ # which of the given symbols are data symbols and tag
+ # them as such. So, trigger use of export_symbols_cmds.
+ # export_symbols gets reassigned inside the "prepare
+ # the list of exported symbols" if statement, so the
+ # include_expsyms logic still works.
+ orig_export_symbols="$export_symbols"
+ export_symbols=
+ always_export_symbols=yes
fi
fi
+ ;;
+ esac
- save_oldobjs=$oldobjs
- oldobjs=
- counter=1
- for obj in $save_oldobjs
- do
- objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
- case " $oldobjs " in
- " ") oldobjs=$obj ;;
- *[\ /]"$objbase "*)
- while :; do
- # Make sure we don't pick an alternate name that also
- # overlaps.
- newobj=lt$counter-$objbase
- counter=`expr $counter + 1`
- case " $oldobjs " in
- *[\ /]"$newobj "*) ;;
- *) if test ! -f "$gentop/$newobj"; then break; fi ;;
- esac
- done
- $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
- $run ln "$obj" "$gentop/$newobj" ||
- $run cp "$obj" "$gentop/$newobj"
- oldobjs="$oldobjs $gentop/$newobj"
- ;;
- *) oldobjs="$oldobjs $obj" ;;
- esac
- done
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ cmds=$export_symbols_cmds
+ save_ifs="$IFS"; IFS='~'
+ for cmd1 in $cmds; do
+ IFS="$save_ifs"
+ # Take the normal branch if the nm_file_list_spec branch
+ # doesn't work or if tool conversion is not needed.
+ case $nm_file_list_spec~$to_tool_file_cmd in
+ *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
+ try_normal_branch=yes
+ eval cmd=\"$cmd1\"
+ func_len " $cmd"
+ len=$func_len_result
+ ;;
+ *)
+ try_normal_branch=no
+ ;;
+ esac
+ if test "$try_normal_branch" = yes \
+ && { test "$len" -lt "$max_cmd_len" \
+ || test "$max_cmd_len" -le -1; }
+ then
+ func_show_eval "$cmd" 'exit $?'
+ skipped_export=false
+ elif test -n "$nm_file_list_spec"; then
+ func_basename "$output"
+ output_la=$func_basename_result
+ save_libobjs=$libobjs
+ save_output=$output
+ output=${output_objdir}/${output_la}.nm
+ func_to_tool_file "$output"
+ libobjs=$nm_file_list_spec$func_to_tool_file_result
+ func_append delfiles " $output"
+ func_verbose "creating $NM input file list: $output"
+ for obj in $save_libobjs; do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > "$output"
+ eval cmd=\"$cmd1\"
+ func_show_eval "$cmd" 'exit $?'
+ output=$save_output
+ libobjs=$save_libobjs
+ skipped_export=false
+ else
+ # The command line is too long to execute in one step.
+ func_verbose "using reloadable object file for export list..."
+ skipped_export=:
+ # Break out early, otherwise skipped_export may be
+ # set to false by a later but shorter cmd.
+ break
+ fi
+ done
+ IFS="$save_ifs"
+ if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+ fi
+
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
fi
- eval cmds=\"$old_archive_cmds\"
+ if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
- if len=`expr "X$cmds" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- cmds=$old_archive_cmds
- else
- # the command line is too long to link in one step, link in parts
- $echo "using piecewise archive linking..."
- save_RANLIB=$RANLIB
- RANLIB=:
- objlist=
- concat_cmds=
- save_oldobjs=$oldobjs
+ tmp_deplibs=
+ for test_deplib in $deplibs; do
+ case " $convenience " in
+ *" $test_deplib "*) ;;
+ *)
+ func_append tmp_deplibs " $test_deplib"
+ ;;
+ esac
+ done
+ deplibs="$tmp_deplibs"
- # Is there a better way of finding the last object in the list?
- for obj in $save_oldobjs
- do
- last_oldobj=$obj
- done
- for obj in $save_oldobjs
- do
- oldobjs="$objlist $obj"
- objlist="$objlist $obj"
- eval test_cmds=\"$old_archive_cmds\"
- if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; then
- :
- else
- # the above command should be used before it gets too long
- oldobjs=$objlist
- if test "$obj" = "$last_oldobj" ; then
- RANLIB=$save_RANLIB
- fi
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
- objlist=
- fi
- done
- RANLIB=$save_RANLIB
- oldobjs=$objlist
- if test "X$oldobjs" = "X" ; then
- eval cmds=\"\$concat_cmds\"
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec" &&
+ test "$compiler_needs_object" = yes &&
+ test -z "$libobjs"; then
+ # extract the archives, so we have objects to list.
+ # TODO: could optimize this to just extract one archive.
+ whole_archive_flag_spec=
+ fi
+ if test -n "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
else
- eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $convenience
+ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
fi
fi
- fi
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- eval cmd=\"$cmd\"
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- done
- if test -n "$generated"; then
- $show "${rm}r$generated"
- $run ${rm}r$generated
- fi
+ if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+ eval flag=\"$thread_safe_flag_spec\"
+ func_append linker_flags " $flag"
+ fi
- # Now create the libtool archive.
- case $output in
- *.la)
- old_library=
- test "$build_old_libs" = yes && old_library="$libname.$libext"
- $show "creating $output"
+ # Make a backup of the uninstalled library when relinking
+ if test "$opt_mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+ fi
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ eval test_cmds=\"$module_expsym_cmds\"
+ cmds=$module_expsym_cmds
+ else
+ eval test_cmds=\"$module_cmds\"
+ cmds=$module_cmds
+ fi
else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ eval test_cmds=\"$archive_expsym_cmds\"
+ cmds=$archive_expsym_cmds
+ else
+ eval test_cmds=\"$archive_cmds\"
+ cmds=$archive_cmds
+ fi
fi
- done
- # Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
- if test "$hardcode_automatic" = yes ; then
- relink_command=
- fi
+ if test "X$skipped_export" != "X:" &&
+ func_len " $test_cmds" &&
+ len=$func_len_result &&
+ test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ :
+ else
+ # The command line is too long to link in one step, link piecewise
+ # or, if using GNU ld and skipped_export is not :, use a linker
+ # script.
- # Only create the output if not a dry run.
- if test -z "$run"; then
- for installed in no yes; do
- if test "$installed" = yes; then
- if test -z "$install_libdir"; then
- break
+ # Save the value of $output and $libobjs because we want to
+ # use them later. If we have whole_archive_flag_spec, we
+ # want to use save_libobjs as it was before
+ # whole_archive_flag_spec was expanded, because we can't
+ # assume the linker understands whole_archive_flag_spec.
+ # This may have to be revisited, in case too many
+ # convenience libraries get linked in and end up exceeding
+ # the spec.
+ if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ fi
+ save_output=$output
+ func_basename "$output"
+ output_la=$func_basename_result
+
+ # Clear the reloadable object creation command queue and
+ # initialize k to one.
+ test_cmds=
+ concat_cmds=
+ objlist=
+ last_robj=
+ k=1
+
+ if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
+ output=${output_objdir}/${output_la}.lnkscript
+ func_verbose "creating GNU ld script: $output"
+ echo 'INPUT (' > $output
+ for obj in $save_libobjs
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
+ done
+ echo ')' >> $output
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$func_to_tool_file_result
+ elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+ output=${output_objdir}/${output_la}.lnk
+ func_verbose "creating linker input file list: $output"
+ : > $output
+ set x $save_libobjs
+ shift
+ firstobj=
+ if test "$compiler_needs_object" = yes; then
+ firstobj="$1 "
+ shift
fi
- output="$output_objdir/$outputname"i
- # Replace all uninstalled libtool libraries with the installed ones
- newdependency_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- *.la)
- name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdependency_libs="$newdependency_libs $libdir/$name"
- ;;
- *) newdependency_libs="$newdependency_libs $deplib" ;;
- esac
+ for obj
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
done
- dependency_libs="$newdependency_libs"
- newdlfiles=
- for lib in $dlfiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
+ else
+ if test -n "$save_libobjs"; then
+ func_verbose "creating reloadable object files..."
+ output=$output_objdir/$output_la-${k}.$objext
+ eval test_cmds=\"$reload_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+
+ # Loop over the list of objects to be linked.
+ for obj in $save_libobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ if test "X$objlist" = X ||
+ test "$len" -lt "$max_cmd_len"; then
+ func_append objlist " $obj"
+ else
+ # The command $test_cmds is almost too long, add a
+ # command to the queue.
+ if test "$k" -eq 1 ; then
+ # The first file doesn't have a previous command to add.
+ reload_objs=$objlist
+ eval concat_cmds=\"$reload_cmds\"
+ else
+ # All subsequent reloadable object files will link in
+ # the last one created.
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
+ fi
+ last_robj=$output_objdir/$output_la-${k}.$objext
+ func_arith $k + 1
+ k=$func_arith_result
+ output=$output_objdir/$output_la-${k}.$objext
+ objlist=" $obj"
+ func_len " $last_robj"
+ func_arith $len0 + $func_len_result
+ len=$func_arith_result
+ fi
+ done
+ # Handle the remaining objects by creating one last
+ # reloadable object file. All subsequent reloadable object
+ # files will link in the last one created.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
fi
- newdlfiles="$newdlfiles $libdir/$name"
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
+ func_append delfiles " $output"
+
+ else
+ output=
+ fi
+
+ if ${skipped_export-false}; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ libobjs=$output
+ # Append the command to create the export file.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
fi
- newdlprefiles="$newdlprefiles $libdir/$name"
+ fi
+
+ test -n "$save_libobjs" &&
+ func_verbose "creating a temporary reloadable object file: $output"
+
+ # Loop through the commands generated above and execute them.
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $concat_cmds; do
+ IFS="$save_ifs"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$opt_mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
done
- dlprefiles="$newdlprefiles"
+ IFS="$save_ifs"
+
+ if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+
+ if ${skipped_export-false}; then
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+ fi
+
+ libobjs=$output
+ # Restore the value of output.
+ output=$save_output
+
+ if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ # Expand the library linking commands again to reset the
+ # value of $libobjs for piecewise linking.
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ cmds=$module_expsym_cmds
+ else
+ cmds=$module_cmds
+ fi
else
- newdlfiles=
- for lib in $dlfiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- newdlfiles="$newdlfiles $abs"
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- newdlprefiles="$newdlprefiles $abs"
- done
- dlprefiles="$newdlprefiles"
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ cmds=$archive_expsym_cmds
+ else
+ cmds=$archive_cmds
+ fi
fi
- $rm $output
- # place dlname in correct position for cygwin
- tdlname=$dlname
- case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
- esac
- $echo > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
+ fi
-# The name that we can dlopen(3).
-dlname='$tdlname'
+ if test -n "$delfiles"; then
+ # Append the command to remove temporary files to $cmds.
+ eval cmds=\"\$cmds~\$RM $delfiles\"
+ fi
-# Names of this library.
-library_names='$library_names'
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
-# The name of the static archive.
-old_library='$old_library'
+ func_extract_archives $gentop $dlprefiles
+ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
+ # Restore the uninstalled library and exit
+ if test "$opt_mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
-# Is this an already installed library?
-installed=$installed
+ exit $lt_exit
+ }
+ done
+ IFS="$save_ifs"
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
+ # Restore the uninstalled library and exit
+ if test "$opt_mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
+ if test -n "$convenience"; then
+ if test -z "$whole_archive_flag_spec"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+ fi
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
- if test "$installed" = no && test "$need_relink" = yes; then
- $echo >> $output "\
-relink_command=\"$relink_command\""
+ exit $EXIT_SUCCESS
+ fi
+
+ # Create links to the real library.
+ for linkname in $linknames; do
+ if test "$realname" != "$linkname"; then
+ func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
fi
done
- fi
- # Do a symbolic link so that the libtool archive can be found in
- # LD_LIBRARY_PATH before the program is installed.
- $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
- $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
+ # If -module or -export-dynamic was specified, set the dlname.
+ if test "$module" = yes || test "$export_dynamic" = yes; then
+ # On all known operating systems, these are identical.
+ dlname="$soname"
+ fi
+ fi
;;
- esac
- exit $EXIT_SUCCESS
- ;;
- # libtool install mode
- install)
- modename="$modename: install"
+ obj)
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ func_warning "\`-dlopen' is ignored for objects"
+ fi
- # There may be an optional sh(1) argument at the beginning of
- # install_prog (especially on Windows NT).
- if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
- # Allow the use of GNU shtool's install command.
- $echo "X$nonopt" | grep shtool > /dev/null; then
- # Aesthetically quote it.
- arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for objects" ;;
esac
- install_prog="$arg "
- arg="$1"
- shift
- else
- install_prog=
- arg=$nonopt
- fi
- # The real first argument should be the name of the installation program.
- # Aesthetically quote it.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog$arg"
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for objects"
- # We need to accept at least all the BSD install flags.
- dest=
- files=
- opts=
- prev=
- install_type=
- isdir=no
- stripme=
- for arg
- do
- if test -n "$dest"; then
- files="$files $dest"
- dest=$arg
- continue
- fi
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for objects"
- case $arg in
- -d) isdir=yes ;;
- -f)
- case " $install_prog " in
- *[\\\ /]cp\ *) ;;
- *) prev=$arg ;;
- esac
- ;;
- -g | -m | -o) prev=$arg ;;
- -s)
- stripme=" -s"
- continue
- ;;
- -*)
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for objects"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for objects"
+
+ case $output in
+ *.lo)
+ test -n "$objs$old_deplibs" && \
+ func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
+ libobj=$output
+ func_lo2o "$libobj"
+ obj=$func_lo2o_result
;;
*)
- # If the previous option needed an argument, then skip it.
- if test -n "$prev"; then
- prev=
- else
- dest=$arg
- continue
- fi
+ libobj=
+ obj="$output"
;;
esac
- # Aesthetically quote the argument.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog $arg"
- done
+ # Delete the old objects.
+ $opt_dry_run || $RM $obj $libobj
- if test -z "$install_prog"; then
- $echo "$modename: you must specify an install program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ # Objects from convenience libraries. This assumes
+ # single-version convenience libraries. Whenever we create
+ # different ones for PIC/non-PIC, this we'll have to duplicate
+ # the extraction.
+ reload_conv_objs=
+ gentop=
+ # reload_cmds runs $LD directly, so let us get rid of
+ # -Wl from whole_archive_flag_spec and hope we can get by with
+ # turning comma into space..
+ wl=
- if test -n "$prev"; then
- $echo "$modename: the \`$prev' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec"; then
+ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+ reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+ else
+ gentop="$output_objdir/${obj}x"
+ func_append generated " $gentop"
- if test -z "$files"; then
- if test -z "$dest"; then
- $echo "$modename: no file or destination specified" 1>&2
- else
- $echo "$modename: you must specify a destination" 1>&2
+ func_extract_archives $gentop $convenience
+ reload_conv_objs="$reload_objs $func_extract_archives_result"
+ fi
fi
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
- # Strip any trailing slash from the destination.
- dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
+ # If we're not building shared, we need to use non_pic_objs
+ test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
- # Check to see that the destination is a directory.
- test -d "$dest" && isdir=yes
- if test "$isdir" = yes; then
- destdir="$dest"
- destname=
- else
- destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
- test "X$destdir" = "X$dest" && destdir=.
- destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
+ # Create the old-style object.
+ reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
- # Not a directory, so check to see that there is only one file specified.
- set dummy $files
- if test "$#" -gt 2; then
- $echo "$modename: \`$dest' is not a directory" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
+ output="$obj"
+ func_execute_cmds "$reload_cmds" 'exit $?'
+
+ # Exit if we aren't doing a library object file.
+ if test -z "$libobj"; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
fi
- fi
- case $destdir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- for file in $files; do
- case $file in
- *.lo) ;;
- *)
- $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- done
+
+ if test "$build_libtool_libs" != yes; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ # Create an invalid libtool object if no PIC, so that we don't
+ # accidentally link it into a program.
+ # $show "echo timestamp > $libobj"
+ # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+ exit $EXIT_SUCCESS
+ fi
+
+ if test -n "$pic_flag" || test "$pic_mode" != default; then
+ # Only do commands if we really have different PIC objects.
+ reload_objs="$libobjs $reload_conv_objs"
+ output="$libobj"
+ func_execute_cmds "$reload_cmds" 'exit $?'
+ fi
+
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
;;
- esac
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
+ prog)
+ case $host in
+ *cygwin*) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result.exe;;
+ esac
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for programs"
- staticlibs=
- future_libdirs=
- current_libdirs=
- for file in $files; do
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for programs"
- # Do each installation.
- case $file in
- *.$libext)
- # Do the static libraries later.
- staticlibs="$staticlibs $file"
+ test "$preload" = yes \
+ && test "$dlopen_support" = unknown \
+ && test "$dlopen_self" = unknown \
+ && test "$dlopen_self_static" = unknown && \
+ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library is the System framework
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
;;
+ esac
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
+ case $host in
+ *-*-darwin*)
+ # Don't allow lazy linking, it breaks C++ global constructors
+ # But is supposedly fixed on 10.4 or later (yay!).
+ if test "$tagname" = CXX ; then
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+ 10.[0123])
+ func_append compile_command " ${wl}-bind_at_load"
+ func_append finalize_command " ${wl}-bind_at_load"
+ ;;
+ esac
fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
- library_names=
- old_library=
- relink_command=
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
- # Add the libdir to current_libdirs if it is the destination.
- if test "X$destdir" = "X$libdir"; then
- case "$current_libdirs " in
- *" $libdir "*) ;;
- *) current_libdirs="$current_libdirs $libdir" ;;
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $compile_deplibs " in
+ *" -L$path/$objdir "*)
+ func_append new_libs " -L$path/$objdir" ;;
esac
- else
- # Note the libdir as a future libdir.
- case "$future_libdirs " in
- *" $libdir "*) ;;
- *) future_libdirs="$future_libdirs $libdir" ;;
+ ;;
+ esac
+ done
+ for deplib in $compile_deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) func_append new_libs " $deplib" ;;
esac
- fi
+ ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ compile_deplibs="$new_libs"
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
- test "X$dir" = "X$file/" && dir=
- dir="$dir$objdir"
- if test -n "$relink_command"; then
- # Determine the prefix the user has applied to our future dir.
- inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
+ func_append compile_command " $compile_deplibs"
+ func_append finalize_command " $finalize_deplibs"
- # Don't allow the user to place us outside of our expected
- # location b/c this prevents finding dependent libraries that
- # are installed to the same prefix.
- # At present, this check doesn't affect windows .dll's that
- # are installed into $libdir/../bin (currently, that works fine)
- # but it's something to keep an eye on.
- if test "$inst_prefix_dir" = "$destdir"; then
- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
- exit $EXIT_FAILURE
- fi
+ if test -n "$rpath$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ for libdir in $rpath $xrpath; do
+ # This is the magic to use -rpath.
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ fi
- if test -n "$inst_prefix_dir"; then
- # Stick the inst_prefix_dir data into the link command.
- relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
+ # Now hardcode the library paths
+ rpath=
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
else
- relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append rpath " $flag"
fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append perm_rpath " $libdir" ;;
+ esac
+ fi
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$libdir:"*) ;;
+ ::) dllsearchpath=$libdir;;
+ *) func_append dllsearchpath ":$libdir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ compile_rpath="$rpath"
- $echo "$modename: warning: relinking \`$file'" 1>&2
- $show "$relink_command"
- if $run eval "$relink_command"; then :
+ rpath=
+ hardcode_libdirs=
+ for libdir in $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- exit $EXIT_FAILURE
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append rpath " $flag"
fi
+ elif test -n "$runpath_var"; then
+ case "$finalize_perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_perm_rpath " $libdir" ;;
+ esac
fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ finalize_rpath="$rpath"
- # See the names of the shared library.
- set dummy $library_names
- if test -n "$2"; then
- realname="$2"
- shift
- shift
+ if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ # Transform all the library objects into standard objects.
+ compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ fi
- srcname="$realname"
- test -n "$relink_command" && srcname="$realname"T
+ func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
- # Install the shared library and build the symlinks.
- $show "$install_prog $dir/$srcname $destdir/$realname"
- $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
- if test -n "$stripme" && test -n "$striplib"; then
- $show "$striplib $destdir/$realname"
- $run eval "$striplib $destdir/$realname" || exit $?
- fi
+ # template prelinking step
+ if test -n "$prelink_cmds"; then
+ func_execute_cmds "$prelink_cmds" 'exit $?'
+ fi
- if test "$#" -gt 0; then
- # Delete the old symlinks, and create new ones.
- # Try `ln -sf' first, because the `ln' binary might depend on
- # the symlink we replace! Solaris /bin/ln does not understand -f,
- # so we also need to try rm && ln -s.
- for linkname
- do
- if test "$linkname" != "$realname"; then
- $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
- $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
- fi
- done
- fi
+ wrappers_required=yes
+ case $host in
+ *cegcc* | *mingw32ce*)
+ # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
+ wrappers_required=no
+ ;;
+ *cygwin* | *mingw* )
+ if test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ *)
+ if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ esac
+ if test "$wrappers_required" = no; then
+ # Replace the output file specification.
+ compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+ link_command="$compile_command$compile_rpath"
- # Do each command in the postinstall commands.
- lib="$destdir/$realname"
- cmds=$postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
- fi
+ # We have no uninstalled library dependencies, so finalize right now.
+ exit_status=0
+ func_show_eval "$link_command" 'exit_status=$?'
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
fi
- # Install the pseudo-library for information purposes.
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- instname="$dir/$name"i
- $show "$install_prog $instname $destdir/$name"
- $run eval "$install_prog $instname $destdir/$name" || exit $?
+ # Delete the generated files.
+ if test -f "$output_objdir/${outputname}S.${objext}"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+ fi
- # Maybe install the static library, too.
- test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
- ;;
+ exit $exit_status
+ fi
- *.lo)
- # Install (i.e. copy) a libtool object.
+ if test -n "$compile_shlibpath$finalize_shlibpath"; then
+ compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+ fi
+ if test -n "$finalize_shlibpath"; then
+ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+ fi
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
+ compile_var=
+ finalize_var=
+ if test -n "$runpath_var"; then
+ if test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
fi
-
- # Deduce the name of the destination old-style object file.
- case $destfile in
- *.lo)
- staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
- ;;
- *.$objext)
- staticdest="$destfile"
- destfile=
- ;;
- *)
- $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- # Install the libtool object if requested.
- if test -n "$destfile"; then
- $show "$install_prog $file $destfile"
- $run eval "$install_prog $file $destfile" || exit $?
+ if test -n "$finalize_perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $finalize_perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
fi
+ fi
- # Install the old object if enabled.
- if test "$build_old_libs" = yes; then
- # Deduce the name of the old-style object file.
- staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
+ if test "$no_install" = yes; then
+ # We don't need to create a wrapper script.
+ link_command="$compile_var$compile_command$compile_rpath"
+ # Replace the output file specification.
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+ # Delete the old output file.
+ $opt_dry_run || $RM $output
+ # Link the executable and exit
+ func_show_eval "$link_command" 'exit $?'
- $show "$install_prog $staticobj $staticdest"
- $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
fi
+
exit $EXIT_SUCCESS
- ;;
+ fi
- *)
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
+ if test "$hardcode_action" = relink; then
+ # Fast installation is not supported
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+ func_warning "this platform does not like uninstalled shared libraries"
+ func_warning "\`$output' will be relinked during installation"
+ else
+ if test "$fast_install" != no; then
+ link_command="$finalize_var$compile_command$finalize_rpath"
+ if test "$fast_install" = yes; then
+ relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+ else
+ # fast_install is set to needless
+ relink_command=
+ fi
else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
fi
+ fi
- # If the file is missing, and there is a .exe on the end, strip it
- # because it is most likely a libtool script we actually want to
- # install
- stripped_ext=""
- case $file in
- *.exe)
- if test ! -f "$file"; then
- file=`$echo $file|${SED} 's,.exe$,,'`
- stripped_ext=".exe"
- fi
- ;;
- esac
-
- # Do a test to see if this is really a libtool program.
- case $host in
- *cygwin*|*mingw*)
- wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
- ;;
- *)
- wrapper=$file
- ;;
- esac
- if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
- notinst_deplibs=
- relink_command=
+ # Replace the output file specification.
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
- # Note that it is not necessary on cygwin/mingw to append a dot to
- # foo even if both foo and FILE.exe exist: automatic-append-.exe
- # behavior happens only for exec(3), not for open(2)! Also, sourcing
- # `FILE.' does not work on cygwin managed mounts.
- #
- # If there is no directory component, then add one.
- case $wrapper in
- */* | *\\*) . ${wrapper} ;;
- *) . ./${wrapper} ;;
- esac
+ # Delete the old output files.
+ $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
- # Check the variables that should have been set.
- if test -z "$notinst_deplibs"; then
- $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
- exit $EXIT_FAILURE
- fi
+ func_show_eval "$link_command" 'exit $?'
- finalize=yes
- for lib in $notinst_deplibs; do
- # Check to see that each library is installed.
- libdir=
- if test -f "$lib"; then
- # If there is no directory component, then add one.
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
- fi
- libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
- if test -n "$libdir" && test ! -f "$libfile"; then
- $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
- finalize=no
- fi
- done
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output_objdir/$outputname"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
- relink_command=
- # Note that it is not necessary on cygwin/mingw to append a dot to
- # foo even if both foo and FILE.exe exist: automatic-append-.exe
- # behavior happens only for exec(3), not for open(2)! Also, sourcing
- # `FILE.' does not work on cygwin managed mounts.
- #
- # If there is no directory component, then add one.
- case $wrapper in
- */* | *\\*) . ${wrapper} ;;
- *) . ./${wrapper} ;;
- esac
+ # Now create the wrapper script.
+ func_verbose "creating $output"
- outputname=
- if test "$fast_install" = no && test -n "$relink_command"; then
- if test "$finalize" = yes && test -z "$run"; then
- tmpdir=`func_mktempdir`
- file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
- outputname="$tmpdir/$file"
- # Replace the output file specification.
- relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
-
- $show "$relink_command"
- if $run eval "$relink_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- ${rm}r "$tmpdir"
- continue
- fi
- file="$outputname"
- else
- $echo "$modename: warning: cannot relink \`$file'" 1>&2
- fi
+ # Quote the relink command for shipping.
+ if test -n "$relink_command"; then
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
else
- # Install the binary that we compiled earlier.
- file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
fi
- fi
-
- # remove .exe since cygwin /usr/bin/install will append another
- # one anyway
- case $install_prog,$host in
- */usr/bin/install*,*cygwin*)
- case $file:$destfile in
- *.exe:*.exe)
- # this is ok
- ;;
- *.exe:*)
- destfile=$destfile.exe
- ;;
- *:*.exe)
- destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
- ;;
- esac
- ;;
+ done
+ relink_command="(cd `pwd`; $relink_command)"
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ fi
+
+ # Only actually do things if not in dry run mode.
+ $opt_dry_run || {
+ # win32 will think the script is a binary if it has
+ # a .exe suffix, so we strip it off here.
+ case $output in
+ *.exe) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result ;;
esac
- $show "$install_prog$stripme $file $destfile"
- $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
- test -n "$outputname" && ${rm}r "$tmpdir"
- ;;
- esac
- done
+ # test for cygwin because mv fails w/o .exe extensions
+ case $host in
+ *cygwin*)
+ exeext=.exe
+ func_stripname '' '.exe' "$outputname"
+ outputname=$func_stripname_result ;;
+ *) exeext= ;;
+ esac
+ case $host in
+ *cygwin* | *mingw* )
+ func_dirname_and_basename "$output" "" "."
+ output_name=$func_basename_result
+ output_path=$func_dirname_result
+ cwrappersource="$output_path/$objdir/lt-$output_name.c"
+ cwrapper="$output_path/$output_name.exe"
+ $RM $cwrappersource $cwrapper
+ trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_cwrapperexe_src > $cwrappersource
+
+ # The wrapper executable is built using the $host compiler,
+ # because it contains $host paths and files. If cross-
+ # compiling, it, like the target executable, must be
+ # executed on the $host or under an emulation environment.
+ $opt_dry_run || {
+ $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+ $STRIP $cwrapper
+ }
- for file in $staticlibs; do
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ # Now, create the wrapper script for func_source use:
+ func_ltwrapper_scriptname $cwrapper
+ $RM $func_ltwrapper_scriptname_result
+ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+ $opt_dry_run || {
+ # note: this script will not be executed, so do not chmod.
+ if test "x$build" = "x$host" ; then
+ $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+ else
+ func_emit_wrapper no > $func_ltwrapper_scriptname_result
+ fi
+ }
+ ;;
+ * )
+ $RM $output
+ trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
- # Set up the ranlib parameters.
- oldlib="$destdir/$name"
+ func_emit_wrapper no > $output
+ chmod +x $output
+ ;;
+ esac
+ }
+ exit $EXIT_SUCCESS
+ ;;
+ esac
- $show "$install_prog $file $oldlib"
- $run eval "$install_prog \$file \$oldlib" || exit $?
+ # See if we need to build an old-fashioned archive.
+ for oldlib in $oldlibs; do
- if test -n "$stripme" && test -n "$old_striplib"; then
- $show "$old_striplib $oldlib"
- $run eval "$old_striplib $oldlib" || exit $?
+ if test "$build_libtool_libs" = convenience; then
+ oldobjs="$libobjs_save $symfileobj"
+ addlibs="$convenience"
+ build_libtool_libs=no
+ else
+ if test "$build_libtool_libs" = module; then
+ oldobjs="$libobjs_save"
+ build_libtool_libs=no
+ else
+ oldobjs="$old_deplibs $non_pic_objects"
+ if test "$preload" = yes && test -f "$symfileobj"; then
+ func_append oldobjs " $symfileobj"
+ fi
+ fi
+ addlibs="$old_convenience"
fi
- # Do each command in the postinstall commands.
- cmds=$old_postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- done
+ if test -n "$addlibs"; then
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
- if test -n "$future_libdirs"; then
- $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
- fi
+ func_extract_archives $gentop $addlibs
+ func_append oldobjs " $func_extract_archives_result"
+ fi
- if test -n "$current_libdirs"; then
- # Maybe just do a dry run.
- test -n "$run" && current_libdirs=" -n$current_libdirs"
- exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
- else
- exit $EXIT_SUCCESS
- fi
- ;;
+ # Do each command in the archive commands.
+ if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+ cmds=$old_archive_from_new_cmds
+ else
- # libtool finish mode
- finish)
- modename="$modename: finish"
- libdirs="$nonopt"
- admincmds=
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
- for dir
- do
- libdirs="$libdirs $dir"
- done
+ func_extract_archives $gentop $dlprefiles
+ func_append oldobjs " $func_extract_archives_result"
+ fi
- for libdir in $libdirs; do
- if test -n "$finish_cmds"; then
- # Do each command in the finish commands.
- cmds=$finish_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || admincmds="$admincmds
- $cmd"
+ # POSIX demands no paths to be encoded in archives. We have
+ # to avoid creating archives with duplicate basenames if we
+ # might have to extract them afterwards, e.g., when creating a
+ # static archive out of a convenience library, or when linking
+ # the entirety of a libtool archive into another (currently
+ # not supported by libtool).
+ if (for obj in $oldobjs
+ do
+ func_basename "$obj"
+ $ECHO "$func_basename_result"
+ done | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ echo "copying selected object files to avoid basename conflicts..."
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+ func_mkdir_p "$gentop"
+ save_oldobjs=$oldobjs
+ oldobjs=
+ counter=1
+ for obj in $save_oldobjs
+ do
+ func_basename "$obj"
+ objbase="$func_basename_result"
+ case " $oldobjs " in
+ " ") oldobjs=$obj ;;
+ *[\ /]"$objbase "*)
+ while :; do
+ # Make sure we don't pick an alternate name that also
+ # overlaps.
+ newobj=lt$counter-$objbase
+ func_arith $counter + 1
+ counter=$func_arith_result
+ case " $oldobjs " in
+ *[\ /]"$newobj "*) ;;
+ *) if test ! -f "$gentop/$newobj"; then break; fi ;;
+ esac
+ done
+ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+ func_append oldobjs " $gentop/$newobj"
+ ;;
+ *) func_append oldobjs " $obj" ;;
+ esac
done
- IFS="$save_ifs"
- fi
- if test -n "$finish_eval"; then
- # Do the single finish_eval.
- eval cmds=\"$finish_eval\"
- $run eval "$cmds" || admincmds="$admincmds
- $cmds"
fi
- done
- fi
-
- # Exit here if they wanted silent mode.
- test "$show" = : && exit $EXIT_SUCCESS
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
+ eval cmds=\"$old_archive_cmds\"
- $echo "X----------------------------------------------------------------------" | $Xsed
- $echo "Libraries have been installed in:"
- for libdir in $libdirs; do
- $echo " $libdir"
+ func_len " $cmds"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ cmds=$old_archive_cmds
+ elif test -n "$archiver_list_spec"; then
+ func_verbose "using command file archive linking..."
+ for obj in $oldobjs
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > $output_objdir/$libname.libcmd
+ func_to_tool_file "$output_objdir/$libname.libcmd"
+ oldobjs=" $archiver_list_spec$func_to_tool_file_result"
+ cmds=$old_archive_cmds
+ else
+ # the command line is too long to link in one step, link in parts
+ func_verbose "using piecewise archive linking..."
+ save_RANLIB=$RANLIB
+ RANLIB=:
+ objlist=
+ concat_cmds=
+ save_oldobjs=$oldobjs
+ oldobjs=
+ # Is there a better way of finding the last object in the list?
+ for obj in $save_oldobjs
+ do
+ last_oldobj=$obj
+ done
+ eval test_cmds=\"$old_archive_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+ for obj in $save_oldobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ func_append objlist " $obj"
+ if test "$len" -lt "$max_cmd_len"; then
+ :
+ else
+ # the above command should be used before it gets too long
+ oldobjs=$objlist
+ if test "$obj" = "$last_oldobj" ; then
+ RANLIB=$save_RANLIB
+ fi
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+ objlist=
+ len=$len0
+ fi
+ done
+ RANLIB=$save_RANLIB
+ oldobjs=$objlist
+ if test "X$oldobjs" = "X" ; then
+ eval cmds=\"\$concat_cmds\"
+ else
+ eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+ fi
+ fi
+ fi
+ func_execute_cmds "$cmds" 'exit $?'
done
- $echo
- $echo "If you ever happen to want to link against installed libraries"
- $echo "in a given directory, LIBDIR, you must either use libtool, and"
- $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
- $echo "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- $echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
- $echo " during execution"
- fi
- if test -n "$runpath_var"; then
- $echo " - add LIBDIR to the \`$runpath_var' environment variable"
- $echo " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- $echo " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- $echo " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
- fi
- $echo
- $echo "See any operating system documentation about shared libraries for"
- $echo "more information, such as the ld(1) and ld.so(8) manual pages."
- $echo "X----------------------------------------------------------------------" | $Xsed
- exit $EXIT_SUCCESS
- ;;
- # libtool execute mode
- execute)
- modename="$modename: execute"
-
- # The first argument is the command name.
- cmd="$nonopt"
- if test -z "$cmd"; then
- $echo "$modename: you must specify a COMMAND" 1>&2
- $echo "$help"
- exit $EXIT_FAILURE
- fi
+ test -n "$generated" && \
+ func_show_eval "${RM}r$generated"
- # Handle -dlopen flags immediately.
- for file in $execute_dlfiles; do
- if test ! -f "$file"; then
- $echo "$modename: \`$file' is not a file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ # Now create the libtool archive.
+ case $output in
+ *.la)
+ old_library=
+ test "$build_old_libs" = yes && old_library="$libname.$libext"
+ func_verbose "creating $output"
- dir=
- case $file in
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
fi
+ done
+ # Quote the link command for shipping.
+ relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ if test "$hardcode_automatic" = yes ; then
+ relink_command=
+ fi
- # Read the libtool library.
- dlname=
- library_names=
+ # Only create the output if not a dry run.
+ $opt_dry_run || {
+ for installed in no yes; do
+ if test "$installed" = yes; then
+ if test -z "$install_libdir"; then
+ break
+ fi
+ output="$output_objdir/$outputname"i
+ # Replace all uninstalled libtool libraries with the installed ones
+ newdependency_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ *.la)
+ func_basename "$deplib"
+ name="$func_basename_result"
+ func_resolve_sysroot "$deplib"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ -L*)
+ func_stripname -L '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -L$func_replace_sysroot_result"
+ ;;
+ -R*)
+ func_stripname -R '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -R$func_replace_sysroot_result"
+ ;;
+ *) func_append newdependency_libs " $deplib" ;;
+ esac
+ done
+ dependency_libs="$newdependency_libs"
+ newdlfiles=
+
+ for lib in $dlfiles; do
+ case $lib in
+ *.la)
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ *) func_append newdlfiles " $lib" ;;
+ esac
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ *.la)
+ # Only pass preopened files to the pseudo-archive (for
+ # eventual linking with the app. that links it) if we
+ # didn't already link the preopened objects directly into
+ # the library:
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ esac
+ done
+ dlprefiles="$newdlprefiles"
+ else
+ newdlfiles=
+ for lib in $dlfiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ func_append newdlfiles " $abs"
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ func_append newdlprefiles " $abs"
+ done
+ dlprefiles="$newdlprefiles"
+ fi
+ $RM $output
+ # place dlname in correct position for cygwin
+ # In fact, it would be nice if we could use this code for all target
+ # systems that can't hard-code library paths into their executables
+ # and that have no shared library path variable independent of PATH,
+ # but it turns out we can't easily determine that from inspecting
+ # libtool variables, so we have to hard-code the OSs to which it
+ # applies here; at the moment, that means platforms that use the PE
+ # object format with DLL files. See the long comment at the top of
+ # tests/bindir.at for full details.
+ tdlname=$dlname
+ case $host,$output,$installed,$module,$dlname in
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+ # If a -bindir argument was supplied, place the dll there.
+ if test "x$bindir" != x ;
+ then
+ func_relative_path "$install_libdir" "$bindir"
+ tdlname=$func_relative_path_result$dlname
+ else
+ # Otherwise fall back on heuristic.
+ tdlname=../bin/$dlname
+ fi
+ ;;
+ esac
+ $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
+# The name that we can dlopen(3).
+dlname='$tdlname'
- # Skip this library if it cannot be dlopened.
- if test -z "$dlname"; then
- # Warn if it was a shared library.
- test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
- continue
- fi
+# Names of this library.
+library_names='$library_names'
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
+# The name of the static archive.
+old_library='$old_library'
- if test -f "$dir/$objdir/$dlname"; then
- dir="$dir/$objdir"
- else
- if test ! -f "$dir/$dlname"; then
- $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
- ;;
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
- *.lo)
- # Just add the directory containing the .lo file.
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
- ;;
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
- *)
- $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
- continue
- ;;
- esac
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
- # Get the absolute pathname.
- absdir=`cd "$dir" && pwd`
- test -n "$absdir" && dir="$absdir"
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
- # Now add the directory to shlibpath_var.
- if eval "test -z \"\$$shlibpath_var\""; then
- eval "$shlibpath_var=\"\$dir\""
- else
- eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
- fi
- done
+# Is this an already installed library?
+installed=$installed
- # This variable tells wrapper scripts just to set shlibpath_var
- # rather than running their programs.
- libtool_execute_magic="$magic"
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
- # Check if any of the arguments is a wrapper script.
- args=
- for file
- do
- case $file in
- -*) ;;
- *)
- # Do a test to see if this is really a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
- # Transform arg to wrapped name.
- file="$progdir/$program"
- fi
- ;;
- esac
- # Quote arguments (to preserve shell metacharacters).
- file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
- args="$args \"$file\""
- done
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+ if test "$installed" = no && test "$need_relink" = yes; then
+ $ECHO >> $output "\
+relink_command=\"$relink_command\""
+ fi
+ done
+ }
- if test -z "$run"; then
- if test -n "$shlibpath_var"; then
- # Export the shlibpath_var.
- eval "export $shlibpath_var"
- fi
+ # Do a symbolic link so that the libtool archive can be found in
+ # LD_LIBRARY_PATH before the program is installed.
+ func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+ ;;
+ esac
+ exit $EXIT_SUCCESS
+}
- # Restore saved environment variables
- for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
- do
- eval "if test \"\${save_$lt_var+set}\" = set; then
- $lt_var=\$save_$lt_var; export $lt_var
- fi"
- done
+{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
+ func_mode_link ${1+"$@"}
- # Now prepare to actually exec the command.
- exec_cmd="\$cmd$args"
- else
- # Display what would be done.
- if test -n "$shlibpath_var"; then
- eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
- $echo "export $shlibpath_var"
- fi
- $echo "$cmd$args"
- exit $EXIT_SUCCESS
- fi
- ;;
- # libtool clean and uninstall mode
- clean | uninstall)
- modename="$modename: $mode"
- rm="$nonopt"
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+ $opt_debug
+ RM="$nonopt"
files=
rmforce=
exit_status=0
@@ -6547,44 +9460,41 @@ relink_command=\"$relink_command\""
for arg
do
case $arg in
- -f) rm="$rm $arg"; rmforce=yes ;;
- -*) rm="$rm $arg" ;;
- *) files="$files $arg" ;;
+ -f) func_append RM " $arg"; rmforce=yes ;;
+ -*) func_append RM " $arg" ;;
+ *) func_append files " $arg" ;;
esac
done
- if test -z "$rm"; then
- $echo "$modename: you must specify an RM program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -z "$RM" && \
+ func_fatal_help "you must specify an RM program"
rmdirs=
- origobjdir="$objdir"
for file in $files; do
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$dir" = "X$file"; then
- dir=.
- objdir="$origobjdir"
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ if test "X$dir" = X.; then
+ odir="$objdir"
else
- objdir="$dir/$origobjdir"
+ odir="$dir/$objdir"
fi
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- test "$mode" = uninstall && objdir="$dir"
+ func_basename "$file"
+ name="$func_basename_result"
+ test "$opt_mode" = uninstall && odir="$dir"
- # Remember objdir for removal later, being careful to avoid duplicates
- if test "$mode" = clean; then
+ # Remember odir for removal later, being careful to avoid duplicates
+ if test "$opt_mode" = clean; then
case " $rmdirs " in
- *" $objdir "*) ;;
- *) rmdirs="$rmdirs $objdir" ;;
+ *" $odir "*) ;;
+ *) func_append rmdirs " $odir" ;;
esac
fi
# Don't error if the file doesn't exist and rm -f was used.
- if (test -L "$file") >/dev/null 2>&1 \
- || (test -h "$file") >/dev/null 2>&1 \
- || test -f "$file"; then
+ if { test -L "$file"; } >/dev/null 2>&1 ||
+ { test -h "$file"; } >/dev/null 2>&1 ||
+ test -f "$file"; then
:
elif test -d "$file"; then
exit_status=1
@@ -6598,55 +9508,32 @@ relink_command=\"$relink_command\""
case $name in
*.la)
# Possibly a libtool archive, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- . $dir/$name
+ if func_lalib_p "$file"; then
+ func_source $dir/$name
# Delete the libtool libraries and symlinks.
for n in $library_names; do
- rmfiles="$rmfiles $objdir/$n"
+ func_append rmfiles " $odir/$n"
done
- test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+ test -n "$old_library" && func_append rmfiles " $odir/$old_library"
- case "$mode" in
+ case "$opt_mode" in
clean)
- case " $library_names " in
- # " " in the beginning catches empty $dlname
+ case " $library_names " in
*" $dlname "*) ;;
- *) rmfiles="$rmfiles $objdir/$dlname" ;;
+ *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
esac
- test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+ test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
;;
uninstall)
if test -n "$library_names"; then
# Do each command in the postuninstall commands.
- cmds=$postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
+ func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
fi
if test -n "$old_library"; then
# Do each command in the old_postuninstall commands.
- cmds=$old_postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
+ func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
fi
# FIXME: should reinstall the best remaining shared library.
;;
@@ -6656,288 +9543,95 @@ relink_command=\"$relink_command\""
*.lo)
# Possibly a libtool object, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ if func_lalib_p "$file"; then
# Read the .lo file
- . $dir/$name
+ func_source $dir/$name
# Add PIC object to the list of files to remove.
- if test -n "$pic_object" \
- && test "$pic_object" != none; then
- rmfiles="$rmfiles $dir/$pic_object"
+ if test -n "$pic_object" &&
+ test "$pic_object" != none; then
+ func_append rmfiles " $dir/$pic_object"
fi
# Add non-PIC object to the list of files to remove.
- if test -n "$non_pic_object" \
- && test "$non_pic_object" != none; then
- rmfiles="$rmfiles $dir/$non_pic_object"
+ if test -n "$non_pic_object" &&
+ test "$non_pic_object" != none; then
+ func_append rmfiles " $dir/$non_pic_object"
fi
fi
;;
*)
- if test "$mode" = clean ; then
+ if test "$opt_mode" = clean ; then
noexename=$name
case $file in
*.exe)
- file=`$echo $file|${SED} 's,.exe$,,'`
- noexename=`$echo $name|${SED} 's,.exe$,,'`
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ func_stripname '' '.exe' "$name"
+ noexename=$func_stripname_result
# $file with .exe has already been added to rmfiles,
# add $file without .exe
- rmfiles="$rmfiles $file"
+ func_append rmfiles " $file"
;;
esac
# Do a test to see if this is a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- relink_command=
- . $dir/$noexename
+ if func_ltwrapper_p "$file"; then
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ relink_command=
+ func_source $func_ltwrapper_scriptname_result
+ func_append rmfiles " $func_ltwrapper_scriptname_result"
+ else
+ relink_command=
+ func_source $dir/$noexename
+ fi
# note $name still contains .exe if it was in $file originally
# as does the version of $file that was added into $rmfiles
- rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+ func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
if test "$fast_install" = yes && test -n "$relink_command"; then
- rmfiles="$rmfiles $objdir/lt-$name"
+ func_append rmfiles " $odir/lt-$name"
fi
if test "X$noexename" != "X$name" ; then
- rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+ func_append rmfiles " $odir/lt-${noexename}.c"
fi
fi
fi
;;
esac
- $show "$rm $rmfiles"
- $run $rm $rmfiles || exit_status=1
+ func_show_eval "$RM $rmfiles" 'exit_status=1'
done
- objdir="$origobjdir"
# Try to remove the ${objdir}s in the directories where we deleted files
for dir in $rmdirs; do
if test -d "$dir"; then
- $show "rmdir $dir"
- $run rmdir $dir >/dev/null 2>&1
+ func_show_eval "rmdir $dir >/dev/null 2>&1"
fi
done
exit $exit_status
- ;;
+}
- "")
- $echo "$modename: you must specify a MODE" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
+{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
+ func_mode_uninstall ${1+"$@"}
- if test -z "$exec_cmd"; then
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- fi
-fi # test -z "$show_help"
+test -z "$opt_mode" && {
+ help="$generic_help"
+ func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+ func_fatal_help "invalid operation mode \`$opt_mode'"
if test -n "$exec_cmd"; then
- eval exec $exec_cmd
+ eval exec "$exec_cmd"
exit $EXIT_FAILURE
fi
-# We need to display help for each of the modes.
-case $mode in
-"") $echo \
-"Usage: $modename [OPTION]... [MODE-ARG]...
-
-Provide generalized library-building support services.
-
- --config show all configuration variables
- --debug enable verbose shell tracing
--n, --dry-run display commands without modifying any files
- --features display basic configuration information and exit
- --finish same as \`--mode=finish'
- --help display this help message and exit
- --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
- --quiet same as \`--silent'
- --silent don't print informational messages
- --tag=TAG use configuration variables from tag TAG
- --version print version information
-
-MODE must be one of the following:
-
- clean remove files from the build directory
- compile compile a source file into a libtool object
- execute automatically set library path, then run a program
- finish complete the installation of libtool libraries
- install install libraries or executables
- link create a library or an executable
- uninstall remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for
-a more detailed description of MODE.
-
-Report bugs to <bug-libtool at gnu.org>."
- exit $EXIT_SUCCESS
- ;;
-
-clean)
- $echo \
-"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
- ;;
-
-compile)
- $echo \
-"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
- -o OUTPUT-FILE set the output file name to OUTPUT-FILE
- -prefer-pic try to building PIC objects only
- -prefer-non-pic try to building non-PIC objects only
- -static always build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
- ;;
-
-execute)
- $echo \
-"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
- -dlopen FILE add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
- ;;
-
-finish)
- $echo \
-"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges. Use
-the \`--dry-run' option if you just want to see what would be executed."
- ;;
-
-install)
- $echo \
-"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command. The first component should be
-either the \`install' or \`cp' program.
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
- ;;
-
-link)
- $echo \
-"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
- -all-static do not do any dynamic linking at all
- -avoid-version do not add a version suffix if possible
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
- -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
- -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
- -export-symbols SYMFILE
- try to export only the symbols listed in SYMFILE
- -export-symbols-regex REGEX
- try to export only the symbols matching REGEX
- -LLIBDIR search LIBDIR for required installed libraries
- -lNAME OUTPUT-FILE requires the installed library libNAME
- -module build a library that can dlopened
- -no-fast-install disable the fast-install mode
- -no-install link a not-installable executable
- -no-undefined declare that a library does not refer to external symbols
- -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
- -objectlist FILE Use a list of object files found in FILE to specify objects
- -precious-files-regex REGEX
- don't remove output files matching REGEX
- -release RELEASE specify package release information
- -rpath LIBDIR the created library will eventually be installed in LIBDIR
- -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
- -static do not do any dynamic linking of uninstalled libtool libraries
- -static-libtool-libs
- do not do any dynamic linking of libtool libraries
- -version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename. Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
- ;;
-
-uninstall)
- $echo \
-"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+exit $exit_status
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
- ;;
-
-*)
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
-esac
-
-$echo
-$echo "Try \`$modename --help' for more information about other modes."
-
-exit $?
# The TAGs below are defined such that we never get into a situation
# in which we disable both kinds of libraries. Given conflicting
@@ -6951,14 +9645,17 @@ exit $?
# configuration. But we'll never go from static-only to shared-only.
# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-disable_libs=shared
+build_libtool_libs=no
+build_old_libs=yes
# ### END LIBTOOL TAG CONFIG: disable-shared
# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-disable_libs=static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
# ### END LIBTOOL TAG CONFIG: disable-static
# Local Variables:
# mode:shell-script
# sh-indentation:2
# End:
+# vi:sw=2
+
diff --git a/missing b/missing
index 1c8ff70..86a8fc3 100755
--- a/missing
+++ b/missing
@@ -1,10 +1,10 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2006-05-10.23
+scriptversion=2012-01-06.13; # UTC
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -18,9 +18,7 @@ scriptversion=2006-05-10.23
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -86,9 +84,11 @@ Supported PROGRAM values:
help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
- tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
Send bug reports to <bug-automake at gnu.org>."
exit $?
;;
@@ -106,23 +106,21 @@ Send bug reports to <bug-automake at gnu.org>."
esac
+# normalize program name to check for.
+program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
-# the program).
+# the program). This is about non-GNU programs, so use $1 not
+# $program.
case $1 in
- lex|yacc)
+ lex*|yacc*)
# Not GNU programs, they don't have --version.
;;
- tar)
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- exit 1
- fi
- ;;
-
*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
@@ -138,7 +136,7 @@ esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
-case $1 in
+case $program in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
@@ -148,7 +146,7 @@ WARNING: \`$1' is $msg. You should only need it if
touch aclocal.m4
;;
- autoconf)
+ autoconf*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
@@ -157,7 +155,7 @@ WARNING: \`$1' is $msg. You should only need it if
touch configure
;;
- autoheader)
+ autoheader*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
@@ -187,7 +185,7 @@ WARNING: \`$1' is $msg. You should only need it if
while read f; do touch "$f"; done
;;
- autom4te)
+ autom4te*)
echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
@@ -210,7 +208,7 @@ WARNING: \`$1' is needed, but is $msg.
fi
;;
- bison|yacc)
+ bison*|yacc*)
echo 1>&2 "\
WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
@@ -218,7 +216,7 @@ WARNING: \`$1' $msg. You should only need it if
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if test $# -ne 1; then
- eval LASTARG="\${$#}"
+ eval LASTARG=\${$#}
case $LASTARG in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
@@ -240,7 +238,7 @@ WARNING: \`$1' $msg. You should only need it if
fi
;;
- lex|flex)
+ lex*|flex*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
@@ -248,7 +246,7 @@ WARNING: \`$1' is $msg. You should only need it if
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if test $# -ne 1; then
- eval LASTARG="\${$#}"
+ eval LASTARG=\${$#}
case $LASTARG in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
@@ -263,7 +261,7 @@ WARNING: \`$1' is $msg. You should only need it if
fi
;;
- help2man)
+ help2man*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
@@ -277,11 +275,11 @@ WARNING: \`$1' is $msg. You should only need it if
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
- exit 1
+ exit $?
fi
;;
- makeinfo)
+ makeinfo*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
@@ -310,41 +308,6 @@ WARNING: \`$1' is $msg. You should only need it if
touch $file
;;
- tar)
- shift
-
- # We have already tried tar in the generic part.
- # Look for gnutar/gtar before invocation to avoid ugly error
- # messages.
- if (gnutar --version > /dev/null 2>&1); then
- gnutar "$@" && exit 0
- fi
- if (gtar --version > /dev/null 2>&1); then
- gtar "$@" && exit 0
- fi
- firstarg="$1"
- if shift; then
- case $firstarg in
- *o*)
- firstarg=`echo "$firstarg" | sed s/o//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- case $firstarg in
- *h*)
- firstarg=`echo "$firstarg" | sed s/h//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- fi
-
- echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
- You may want to install GNU tar or Free paxutils, or check the
- command line arguments."
- exit 1
- ;;
-
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and is $msg.
@@ -363,5 +326,6 @@ exit 0
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
# End:
diff --git a/patches/Makefile.in b/patches/Makefile.in
index 9ea8c92..183ba2f 100644
--- a/patches/Makefile.in
+++ b/patches/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -42,11 +44,19 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -70,11 +80,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -88,16 +101,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -118,12 +132,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -134,21 +151,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -156,6 +181,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -169,6 +198,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -176,9 +206,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -225,6 +256,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = \
@@ -249,14 +281,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu patches/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu patches/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu patches/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu patches/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -274,6 +306,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -303,13 +336,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -327,16 +364,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -355,6 +398,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -363,18 +408,28 @@ install-data-am:
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -408,6 +463,7 @@ uninstall-am:
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/proxy/Makefile.in b/proxy/Makefile.in
index 56fecc2..4b70546 100644
--- a/proxy/Makefile.in
+++ b/proxy/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -42,6 +44,13 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -53,12 +62,41 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -82,11 +120,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -100,16 +141,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -130,12 +172,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -146,21 +191,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -168,6 +221,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -181,6 +238,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -188,9 +246,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -237,6 +296,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = dispatcher requestor
@@ -247,14 +307,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu proxy/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu proxy/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu proxy/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu proxy/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -272,6 +332,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -286,7 +347,7 @@ clean-libtool:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -303,7 +364,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -311,7 +372,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -337,16 +398,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -354,14 +415,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -373,7 +434,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -382,29 +443,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -425,29 +491,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -467,16 +548,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -495,6 +582,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -503,18 +592,28 @@ install-data-am:
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am:
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -535,8 +634,8 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic clean-libtool \
@@ -552,6 +651,7 @@ uninstall-am:
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/proxy/dispatcher/Makefile.am b/proxy/dispatcher/Makefile.am
index cd50dc8..b64c3ac 100644
--- a/proxy/dispatcher/Makefile.am
+++ b/proxy/dispatcher/Makefile.am
@@ -17,9 +17,9 @@ idirectfbvideoproviderdir = $(INTERFACES_DIR)/IDirectFBVideoProvider
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
- -I$(top_srcdir)/lib \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/proxy/requestor \
-DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\"
diff --git a/proxy/dispatcher/Makefile.in b/proxy/dispatcher/Makefile.in
index b8a6eaa..e31e512 100644
--- a/proxy/dispatcher/Makefile.in
+++ b/proxy/dispatcher/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,12 +47,34 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(idirectfbdir)" \
"$(DESTDIR)$(idirectfbdatabufferdir)" \
"$(DESTDIR)$(idirectfbdisplaylayerdir)" \
@@ -72,17 +96,6 @@ am__installdirs = "$(DESTDIR)$(idirectfbdir)" \
"$(DESTDIR)$(idirectfbscreendir)" \
"$(DESTDIR)$(idirectfbsurfacedir)" \
"$(DESTDIR)$(idirectfbwindowdir)"
-idirectfbLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbdatabufferLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbdisplaylayerLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbeventbufferLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbfontLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbimageproviderLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbinputdeviceLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbpaletteLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbscreenLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbsurfaceLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbwindowLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(idirectfb_LTLIBRARIES) \
$(idirectfbdatabuffer_LTLIBRARIES) \
$(idirectfbdisplaylayer_LTLIBRARIES) \
@@ -96,7 +109,10 @@ libidirectfb_dispatcher_la_LIBADD =
am_libidirectfb_dispatcher_la_OBJECTS = idirectfb_dispatcher.lo
libidirectfb_dispatcher_la_OBJECTS = \
$(am_libidirectfb_dispatcher_la_OBJECTS)
-libidirectfb_dispatcher_la_LINK = $(LIBTOOL) --tag=CC \
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libidirectfb_dispatcher_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) $(libidirectfb_dispatcher_la_LDFLAGS) \
$(LDFLAGS) -o $@
@@ -105,9 +121,9 @@ am_libidirectfbdatabuffer_dispatcher_la_OBJECTS = \
idirectfbdatabuffer_dispatcher.lo
libidirectfbdatabuffer_dispatcher_la_OBJECTS = \
$(am_libidirectfbdatabuffer_dispatcher_la_OBJECTS)
-libidirectfbdatabuffer_dispatcher_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
+libidirectfbdatabuffer_dispatcher_la_LINK = $(LIBTOOL) $(AM_V_lt) \
+ --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbdatabuffer_dispatcher_la_LDFLAGS) $(LDFLAGS) -o \
$@
libidirectfbdisplaylayer_dispatcher_la_LIBADD =
@@ -115,9 +131,9 @@ am_libidirectfbdisplaylayer_dispatcher_la_OBJECTS = \
idirectfbdisplaylayer_dispatcher.lo
libidirectfbdisplaylayer_dispatcher_la_OBJECTS = \
$(am_libidirectfbdisplaylayer_dispatcher_la_OBJECTS)
-libidirectfbdisplaylayer_dispatcher_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
+libidirectfbdisplaylayer_dispatcher_la_LINK = $(LIBTOOL) $(AM_V_lt) \
+ --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbdisplaylayer_dispatcher_la_LDFLAGS) $(LDFLAGS) \
-o $@
libidirectfbeventbuffer_dispatcher_la_LIBADD =
@@ -125,9 +141,9 @@ am_libidirectfbeventbuffer_dispatcher_la_OBJECTS = \
idirectfbeventbuffer_dispatcher.lo
libidirectfbeventbuffer_dispatcher_la_OBJECTS = \
$(am_libidirectfbeventbuffer_dispatcher_la_OBJECTS)
-libidirectfbeventbuffer_dispatcher_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
+libidirectfbeventbuffer_dispatcher_la_LINK = $(LIBTOOL) $(AM_V_lt) \
+ --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbeventbuffer_dispatcher_la_LDFLAGS) $(LDFLAGS) -o \
$@
libidirectfbfont_dispatcher_la_LIBADD =
@@ -135,7 +151,7 @@ am_libidirectfbfont_dispatcher_la_OBJECTS = \
idirectfbfont_dispatcher.lo
libidirectfbfont_dispatcher_la_OBJECTS = \
$(am_libidirectfbfont_dispatcher_la_OBJECTS)
-libidirectfbfont_dispatcher_la_LINK = $(LIBTOOL) --tag=CC \
+libidirectfbfont_dispatcher_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbfont_dispatcher_la_LDFLAGS) $(LDFLAGS) -o $@
@@ -144,9 +160,9 @@ am_libidirectfbimageprovider_dispatcher_la_OBJECTS = \
idirectfbimageprovider_dispatcher.lo
libidirectfbimageprovider_dispatcher_la_OBJECTS = \
$(am_libidirectfbimageprovider_dispatcher_la_OBJECTS)
-libidirectfbimageprovider_dispatcher_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
+libidirectfbimageprovider_dispatcher_la_LINK = $(LIBTOOL) $(AM_V_lt) \
+ --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbimageprovider_dispatcher_la_LDFLAGS) $(LDFLAGS) \
-o $@
libidirectfbinputdevice_dispatcher_la_LIBADD =
@@ -154,9 +170,9 @@ am_libidirectfbinputdevice_dispatcher_la_OBJECTS = \
idirectfbinputdevice_dispatcher.lo
libidirectfbinputdevice_dispatcher_la_OBJECTS = \
$(am_libidirectfbinputdevice_dispatcher_la_OBJECTS)
-libidirectfbinputdevice_dispatcher_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
+libidirectfbinputdevice_dispatcher_la_LINK = $(LIBTOOL) $(AM_V_lt) \
+ --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbinputdevice_dispatcher_la_LDFLAGS) $(LDFLAGS) -o \
$@
libidirectfbpalette_dispatcher_la_LIBADD =
@@ -164,16 +180,16 @@ am_libidirectfbpalette_dispatcher_la_OBJECTS = \
idirectfbpalette_dispatcher.lo
libidirectfbpalette_dispatcher_la_OBJECTS = \
$(am_libidirectfbpalette_dispatcher_la_OBJECTS)
-libidirectfbpalette_dispatcher_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
+libidirectfbpalette_dispatcher_la_LINK = $(LIBTOOL) $(AM_V_lt) \
+ --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbpalette_dispatcher_la_LDFLAGS) $(LDFLAGS) -o $@
libidirectfbscreen_dispatcher_la_LIBADD =
am_libidirectfbscreen_dispatcher_la_OBJECTS = \
idirectfbscreen_dispatcher.lo
libidirectfbscreen_dispatcher_la_OBJECTS = \
$(am_libidirectfbscreen_dispatcher_la_OBJECTS)
-libidirectfbscreen_dispatcher_la_LINK = $(LIBTOOL) --tag=CC \
+libidirectfbscreen_dispatcher_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbscreen_dispatcher_la_LDFLAGS) $(LDFLAGS) -o $@
@@ -182,31 +198,45 @@ am_libidirectfbsurface_dispatcher_la_OBJECTS = \
idirectfbsurface_dispatcher.lo
libidirectfbsurface_dispatcher_la_OBJECTS = \
$(am_libidirectfbsurface_dispatcher_la_OBJECTS)
-libidirectfbsurface_dispatcher_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
+libidirectfbsurface_dispatcher_la_LINK = $(LIBTOOL) $(AM_V_lt) \
+ --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbsurface_dispatcher_la_LDFLAGS) $(LDFLAGS) -o $@
libidirectfbwindow_dispatcher_la_LIBADD =
am_libidirectfbwindow_dispatcher_la_OBJECTS = \
idirectfbwindow_dispatcher.lo
libidirectfbwindow_dispatcher_la_OBJECTS = \
$(am_libidirectfbwindow_dispatcher_la_OBJECTS)
-libidirectfbwindow_dispatcher_la_LINK = $(LIBTOOL) --tag=CC \
+libidirectfbwindow_dispatcher_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbwindow_dispatcher_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libidirectfb_dispatcher_la_SOURCES) \
$(libidirectfbdatabuffer_dispatcher_la_SOURCES) \
$(libidirectfbdisplaylayer_dispatcher_la_SOURCES) \
@@ -229,17 +259,6 @@ DIST_SOURCES = $(libidirectfb_dispatcher_la_SOURCES) \
$(libidirectfbscreen_dispatcher_la_SOURCES) \
$(libidirectfbsurface_dispatcher_la_SOURCES) \
$(libidirectfbwindow_dispatcher_la_SOURCES)
-idirectfbDATA_INSTALL = $(INSTALL_DATA)
-idirectfbdatabufferDATA_INSTALL = $(INSTALL_DATA)
-idirectfbdisplaylayerDATA_INSTALL = $(INSTALL_DATA)
-idirectfbeventbufferDATA_INSTALL = $(INSTALL_DATA)
-idirectfbfontDATA_INSTALL = $(INSTALL_DATA)
-idirectfbimageproviderDATA_INSTALL = $(INSTALL_DATA)
-idirectfbinputdeviceDATA_INSTALL = $(INSTALL_DATA)
-idirectfbpaletteDATA_INSTALL = $(INSTALL_DATA)
-idirectfbscreenDATA_INSTALL = $(INSTALL_DATA)
-idirectfbsurfaceDATA_INSTALL = $(INSTALL_DATA)
-idirectfbwindowDATA_INSTALL = $(INSTALL_DATA)
DATA = $(idirectfb_DATA) $(idirectfbdatabuffer_DATA) \
$(idirectfbdisplaylayer_DATA) $(idirectfbeventbuffer_DATA) \
$(idirectfbfont_DATA) $(idirectfbimageprovider_DATA) \
@@ -251,6 +270,7 @@ CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -274,11 +294,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -292,16 +315,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -322,15 +346,18 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = \
$(top_builddir)/lib/voodoo/libvoodoo.la \
$(top_builddir)/lib/direct/libdirect.la
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -341,21 +368,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -363,6 +398,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -376,6 +415,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -383,9 +423,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -432,6 +473,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INTERFACES_DIR = $(MODULEDIR)/interfaces
@@ -449,9 +491,9 @@ idirectfbwindowdir = $(INTERFACES_DIR)/IDirectFBWindow
idirectfbvideoproviderdir = $(INTERFACES_DIR)/IDirectFBVideoProvider
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
- -I$(top_srcdir)/lib \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/proxy/requestor \
-DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\"
@@ -541,14 +583,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu proxy/dispatcher/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu proxy/dispatcher/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu proxy/dispatcher/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu proxy/dispatcher/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -558,6 +600,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -566,23 +609,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-idirectfbLTLIBRARIES: $(idirectfb_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbdir)"
- @list='$(idirectfb_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfb_LTLIBRARIES)'; test -n "$(idirectfbdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbdir)"; \
+ }
uninstall-idirectfbLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfb_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbdir)/$$p"; \
+ @list='$(idirectfb_LTLIBRARIES)'; test -n "$(idirectfbdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbdir)/$$f"; \
done
clean-idirectfbLTLIBRARIES:
@@ -596,20 +644,24 @@ clean-idirectfbLTLIBRARIES:
install-idirectfbdatabufferLTLIBRARIES: $(idirectfbdatabuffer_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbdatabufferdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbdatabufferdir)"
- @list='$(idirectfbdatabuffer_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbdatabuffer_LTLIBRARIES)'; test -n "$(idirectfbdatabufferdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbdatabufferLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbdatabufferdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbdatabufferLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbdatabufferdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbdatabufferdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbdatabufferdir)"; \
+ }
uninstall-idirectfbdatabufferLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbdatabuffer_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbdatabufferdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbdatabufferdir)/$$p"; \
+ @list='$(idirectfbdatabuffer_LTLIBRARIES)'; test -n "$(idirectfbdatabufferdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbdatabufferdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbdatabufferdir)/$$f"; \
done
clean-idirectfbdatabufferLTLIBRARIES:
@@ -623,20 +675,24 @@ clean-idirectfbdatabufferLTLIBRARIES:
install-idirectfbdisplaylayerLTLIBRARIES: $(idirectfbdisplaylayer_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbdisplaylayerdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbdisplaylayerdir)"
- @list='$(idirectfbdisplaylayer_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbdisplaylayer_LTLIBRARIES)'; test -n "$(idirectfbdisplaylayerdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbdisplaylayerLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbdisplaylayerLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbdisplaylayerdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbdisplaylayerdir)"; \
+ }
uninstall-idirectfbdisplaylayerLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbdisplaylayer_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbdisplaylayerdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbdisplaylayerdir)/$$p"; \
+ @list='$(idirectfbdisplaylayer_LTLIBRARIES)'; test -n "$(idirectfbdisplaylayerdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f"; \
done
clean-idirectfbdisplaylayerLTLIBRARIES:
@@ -650,20 +706,24 @@ clean-idirectfbdisplaylayerLTLIBRARIES:
install-idirectfbeventbufferLTLIBRARIES: $(idirectfbeventbuffer_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbeventbufferdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbeventbufferdir)"
- @list='$(idirectfbeventbuffer_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbeventbuffer_LTLIBRARIES)'; test -n "$(idirectfbeventbufferdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbeventbufferLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbeventbufferdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbeventbufferLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbeventbufferdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbeventbufferdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbeventbufferdir)"; \
+ }
uninstall-idirectfbeventbufferLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbeventbuffer_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbeventbufferdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbeventbufferdir)/$$p"; \
+ @list='$(idirectfbeventbuffer_LTLIBRARIES)'; test -n "$(idirectfbeventbufferdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbeventbufferdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbeventbufferdir)/$$f"; \
done
clean-idirectfbeventbufferLTLIBRARIES:
@@ -677,20 +737,24 @@ clean-idirectfbeventbufferLTLIBRARIES:
install-idirectfbfontLTLIBRARIES: $(idirectfbfont_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbfontdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbfontdir)"
- @list='$(idirectfbfont_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbfont_LTLIBRARIES)'; test -n "$(idirectfbfontdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbfontLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbfontdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbfontLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbfontdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbfontdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbfontdir)"; \
+ }
uninstall-idirectfbfontLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbfont_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbfontdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbfontdir)/$$p"; \
+ @list='$(idirectfbfont_LTLIBRARIES)'; test -n "$(idirectfbfontdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbfontdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbfontdir)/$$f"; \
done
clean-idirectfbfontLTLIBRARIES:
@@ -704,20 +768,24 @@ clean-idirectfbfontLTLIBRARIES:
install-idirectfbimageproviderLTLIBRARIES: $(idirectfbimageprovider_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbimageproviderdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbimageproviderdir)"
- @list='$(idirectfbimageprovider_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbimageprovider_LTLIBRARIES)'; test -n "$(idirectfbimageproviderdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbimageproviderLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbimageproviderdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbimageproviderLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbimageproviderdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbimageproviderdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbimageproviderdir)"; \
+ }
uninstall-idirectfbimageproviderLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbimageprovider_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbimageproviderdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbimageproviderdir)/$$p"; \
+ @list='$(idirectfbimageprovider_LTLIBRARIES)'; test -n "$(idirectfbimageproviderdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbimageproviderdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbimageproviderdir)/$$f"; \
done
clean-idirectfbimageproviderLTLIBRARIES:
@@ -731,20 +799,24 @@ clean-idirectfbimageproviderLTLIBRARIES:
install-idirectfbinputdeviceLTLIBRARIES: $(idirectfbinputdevice_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbinputdevicedir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbinputdevicedir)"
- @list='$(idirectfbinputdevice_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbinputdevice_LTLIBRARIES)'; test -n "$(idirectfbinputdevicedir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbinputdeviceLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbinputdevicedir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbinputdeviceLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbinputdevicedir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbinputdevicedir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbinputdevicedir)"; \
+ }
uninstall-idirectfbinputdeviceLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbinputdevice_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbinputdevicedir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbinputdevicedir)/$$p"; \
+ @list='$(idirectfbinputdevice_LTLIBRARIES)'; test -n "$(idirectfbinputdevicedir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbinputdevicedir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbinputdevicedir)/$$f"; \
done
clean-idirectfbinputdeviceLTLIBRARIES:
@@ -758,20 +830,24 @@ clean-idirectfbinputdeviceLTLIBRARIES:
install-idirectfbpaletteLTLIBRARIES: $(idirectfbpalette_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbpalettedir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbpalettedir)"
- @list='$(idirectfbpalette_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbpalette_LTLIBRARIES)'; test -n "$(idirectfbpalettedir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbpaletteLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbpalettedir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbpaletteLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbpalettedir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbpalettedir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbpalettedir)"; \
+ }
uninstall-idirectfbpaletteLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbpalette_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbpalettedir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbpalettedir)/$$p"; \
+ @list='$(idirectfbpalette_LTLIBRARIES)'; test -n "$(idirectfbpalettedir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbpalettedir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbpalettedir)/$$f"; \
done
clean-idirectfbpaletteLTLIBRARIES:
@@ -785,20 +861,24 @@ clean-idirectfbpaletteLTLIBRARIES:
install-idirectfbscreenLTLIBRARIES: $(idirectfbscreen_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbscreendir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbscreendir)"
- @list='$(idirectfbscreen_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbscreen_LTLIBRARIES)'; test -n "$(idirectfbscreendir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbscreenLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbscreendir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbscreenLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbscreendir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbscreendir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbscreendir)"; \
+ }
uninstall-idirectfbscreenLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbscreen_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbscreendir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbscreendir)/$$p"; \
+ @list='$(idirectfbscreen_LTLIBRARIES)'; test -n "$(idirectfbscreendir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbscreendir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbscreendir)/$$f"; \
done
clean-idirectfbscreenLTLIBRARIES:
@@ -812,20 +892,24 @@ clean-idirectfbscreenLTLIBRARIES:
install-idirectfbsurfaceLTLIBRARIES: $(idirectfbsurface_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbsurfacedir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbsurfacedir)"
- @list='$(idirectfbsurface_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbsurface_LTLIBRARIES)'; test -n "$(idirectfbsurfacedir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbsurfaceLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbsurfacedir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbsurfaceLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbsurfacedir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbsurfacedir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbsurfacedir)"; \
+ }
uninstall-idirectfbsurfaceLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbsurface_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbsurfacedir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbsurfacedir)/$$p"; \
+ @list='$(idirectfbsurface_LTLIBRARIES)'; test -n "$(idirectfbsurfacedir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbsurfacedir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbsurfacedir)/$$f"; \
done
clean-idirectfbsurfaceLTLIBRARIES:
@@ -839,20 +923,24 @@ clean-idirectfbsurfaceLTLIBRARIES:
install-idirectfbwindowLTLIBRARIES: $(idirectfbwindow_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbwindowdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbwindowdir)"
- @list='$(idirectfbwindow_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbwindow_LTLIBRARIES)'; test -n "$(idirectfbwindowdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbwindowLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbwindowdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbwindowLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbwindowdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbwindowdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbwindowdir)"; \
+ }
uninstall-idirectfbwindowLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbwindow_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbwindowdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbwindowdir)/$$p"; \
+ @list='$(idirectfbwindow_LTLIBRARIES)'; test -n "$(idirectfbwindowdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbwindowdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbwindowdir)/$$f"; \
done
clean-idirectfbwindowLTLIBRARIES:
@@ -863,28 +951,28 @@ clean-idirectfbwindowLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libidirectfb_dispatcher.la: $(libidirectfb_dispatcher_la_OBJECTS) $(libidirectfb_dispatcher_la_DEPENDENCIES)
- $(libidirectfb_dispatcher_la_LINK) -rpath $(idirectfbdir) $(libidirectfb_dispatcher_la_OBJECTS) $(libidirectfb_dispatcher_la_LIBADD) $(LIBS)
-libidirectfbdatabuffer_dispatcher.la: $(libidirectfbdatabuffer_dispatcher_la_OBJECTS) $(libidirectfbdatabuffer_dispatcher_la_DEPENDENCIES)
- $(libidirectfbdatabuffer_dispatcher_la_LINK) -rpath $(idirectfbdatabufferdir) $(libidirectfbdatabuffer_dispatcher_la_OBJECTS) $(libidirectfbdatabuffer_dispatcher_la_LIBADD) $(LIBS)
-libidirectfbdisplaylayer_dispatcher.la: $(libidirectfbdisplaylayer_dispatcher_la_OBJECTS) $(libidirectfbdisplaylayer_dispatcher_la_DEPENDENCIES)
- $(libidirectfbdisplaylayer_dispatcher_la_LINK) -rpath $(idirectfbdisplaylayerdir) $(libidirectfbdisplaylayer_dispatcher_la_OBJECTS) $(libidirectfbdisplaylayer_dispatcher_la_LIBADD) $(LIBS)
-libidirectfbeventbuffer_dispatcher.la: $(libidirectfbeventbuffer_dispatcher_la_OBJECTS) $(libidirectfbeventbuffer_dispatcher_la_DEPENDENCIES)
- $(libidirectfbeventbuffer_dispatcher_la_LINK) -rpath $(idirectfbeventbufferdir) $(libidirectfbeventbuffer_dispatcher_la_OBJECTS) $(libidirectfbeventbuffer_dispatcher_la_LIBADD) $(LIBS)
-libidirectfbfont_dispatcher.la: $(libidirectfbfont_dispatcher_la_OBJECTS) $(libidirectfbfont_dispatcher_la_DEPENDENCIES)
- $(libidirectfbfont_dispatcher_la_LINK) -rpath $(idirectfbfontdir) $(libidirectfbfont_dispatcher_la_OBJECTS) $(libidirectfbfont_dispatcher_la_LIBADD) $(LIBS)
-libidirectfbimageprovider_dispatcher.la: $(libidirectfbimageprovider_dispatcher_la_OBJECTS) $(libidirectfbimageprovider_dispatcher_la_DEPENDENCIES)
- $(libidirectfbimageprovider_dispatcher_la_LINK) -rpath $(idirectfbimageproviderdir) $(libidirectfbimageprovider_dispatcher_la_OBJECTS) $(libidirectfbimageprovider_dispatcher_la_LIBADD) $(LIBS)
-libidirectfbinputdevice_dispatcher.la: $(libidirectfbinputdevice_dispatcher_la_OBJECTS) $(libidirectfbinputdevice_dispatcher_la_DEPENDENCIES)
- $(libidirectfbinputdevice_dispatcher_la_LINK) -rpath $(idirectfbinputdevicedir) $(libidirectfbinputdevice_dispatcher_la_OBJECTS) $(libidirectfbinputdevice_dispatcher_la_LIBADD) $(LIBS)
-libidirectfbpalette_dispatcher.la: $(libidirectfbpalette_dispatcher_la_OBJECTS) $(libidirectfbpalette_dispatcher_la_DEPENDENCIES)
- $(libidirectfbpalette_dispatcher_la_LINK) -rpath $(idirectfbpalettedir) $(libidirectfbpalette_dispatcher_la_OBJECTS) $(libidirectfbpalette_dispatcher_la_LIBADD) $(LIBS)
-libidirectfbscreen_dispatcher.la: $(libidirectfbscreen_dispatcher_la_OBJECTS) $(libidirectfbscreen_dispatcher_la_DEPENDENCIES)
- $(libidirectfbscreen_dispatcher_la_LINK) -rpath $(idirectfbscreendir) $(libidirectfbscreen_dispatcher_la_OBJECTS) $(libidirectfbscreen_dispatcher_la_LIBADD) $(LIBS)
-libidirectfbsurface_dispatcher.la: $(libidirectfbsurface_dispatcher_la_OBJECTS) $(libidirectfbsurface_dispatcher_la_DEPENDENCIES)
- $(libidirectfbsurface_dispatcher_la_LINK) -rpath $(idirectfbsurfacedir) $(libidirectfbsurface_dispatcher_la_OBJECTS) $(libidirectfbsurface_dispatcher_la_LIBADD) $(LIBS)
-libidirectfbwindow_dispatcher.la: $(libidirectfbwindow_dispatcher_la_OBJECTS) $(libidirectfbwindow_dispatcher_la_DEPENDENCIES)
- $(libidirectfbwindow_dispatcher_la_LINK) -rpath $(idirectfbwindowdir) $(libidirectfbwindow_dispatcher_la_OBJECTS) $(libidirectfbwindow_dispatcher_la_LIBADD) $(LIBS)
+libidirectfb_dispatcher.la: $(libidirectfb_dispatcher_la_OBJECTS) $(libidirectfb_dispatcher_la_DEPENDENCIES) $(EXTRA_libidirectfb_dispatcher_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfb_dispatcher_la_LINK) -rpath $(idirectfbdir) $(libidirectfb_dispatcher_la_OBJECTS) $(libidirectfb_dispatcher_la_LIBADD) $(LIBS)
+libidirectfbdatabuffer_dispatcher.la: $(libidirectfbdatabuffer_dispatcher_la_OBJECTS) $(libidirectfbdatabuffer_dispatcher_la_DEPENDENCIES) $(EXTRA_libidirectfbdatabuffer_dispatcher_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbdatabuffer_dispatcher_la_LINK) -rpath $(idirectfbdatabufferdir) $(libidirectfbdatabuffer_dispatcher_la_OBJECTS) $(libidirectfbdatabuffer_dispatcher_la_LIBADD) $(LIBS)
+libidirectfbdisplaylayer_dispatcher.la: $(libidirectfbdisplaylayer_dispatcher_la_OBJECTS) $(libidirectfbdisplaylayer_dispatcher_la_DEPENDENCIES) $(EXTRA_libidirectfbdisplaylayer_dispatcher_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbdisplaylayer_dispatcher_la_LINK) -rpath $(idirectfbdisplaylayerdir) $(libidirectfbdisplaylayer_dispatcher_la_OBJECTS) $(libidirectfbdisplaylayer_dispatcher_la_LIBADD) $(LIBS)
+libidirectfbeventbuffer_dispatcher.la: $(libidirectfbeventbuffer_dispatcher_la_OBJECTS) $(libidirectfbeventbuffer_dispatcher_la_DEPENDENCIES) $(EXTRA_libidirectfbeventbuffer_dispatcher_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbeventbuffer_dispatcher_la_LINK) -rpath $(idirectfbeventbufferdir) $(libidirectfbeventbuffer_dispatcher_la_OBJECTS) $(libidirectfbeventbuffer_dispatcher_la_LIBADD) $(LIBS)
+libidirectfbfont_dispatcher.la: $(libidirectfbfont_dispatcher_la_OBJECTS) $(libidirectfbfont_dispatcher_la_DEPENDENCIES) $(EXTRA_libidirectfbfont_dispatcher_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbfont_dispatcher_la_LINK) -rpath $(idirectfbfontdir) $(libidirectfbfont_dispatcher_la_OBJECTS) $(libidirectfbfont_dispatcher_la_LIBADD) $(LIBS)
+libidirectfbimageprovider_dispatcher.la: $(libidirectfbimageprovider_dispatcher_la_OBJECTS) $(libidirectfbimageprovider_dispatcher_la_DEPENDENCIES) $(EXTRA_libidirectfbimageprovider_dispatcher_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbimageprovider_dispatcher_la_LINK) -rpath $(idirectfbimageproviderdir) $(libidirectfbimageprovider_dispatcher_la_OBJECTS) $(libidirectfbimageprovider_dispatcher_la_LIBADD) $(LIBS)
+libidirectfbinputdevice_dispatcher.la: $(libidirectfbinputdevice_dispatcher_la_OBJECTS) $(libidirectfbinputdevice_dispatcher_la_DEPENDENCIES) $(EXTRA_libidirectfbinputdevice_dispatcher_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbinputdevice_dispatcher_la_LINK) -rpath $(idirectfbinputdevicedir) $(libidirectfbinputdevice_dispatcher_la_OBJECTS) $(libidirectfbinputdevice_dispatcher_la_LIBADD) $(LIBS)
+libidirectfbpalette_dispatcher.la: $(libidirectfbpalette_dispatcher_la_OBJECTS) $(libidirectfbpalette_dispatcher_la_DEPENDENCIES) $(EXTRA_libidirectfbpalette_dispatcher_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbpalette_dispatcher_la_LINK) -rpath $(idirectfbpalettedir) $(libidirectfbpalette_dispatcher_la_OBJECTS) $(libidirectfbpalette_dispatcher_la_LIBADD) $(LIBS)
+libidirectfbscreen_dispatcher.la: $(libidirectfbscreen_dispatcher_la_OBJECTS) $(libidirectfbscreen_dispatcher_la_DEPENDENCIES) $(EXTRA_libidirectfbscreen_dispatcher_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbscreen_dispatcher_la_LINK) -rpath $(idirectfbscreendir) $(libidirectfbscreen_dispatcher_la_OBJECTS) $(libidirectfbscreen_dispatcher_la_LIBADD) $(LIBS)
+libidirectfbsurface_dispatcher.la: $(libidirectfbsurface_dispatcher_la_OBJECTS) $(libidirectfbsurface_dispatcher_la_DEPENDENCIES) $(EXTRA_libidirectfbsurface_dispatcher_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbsurface_dispatcher_la_LINK) -rpath $(idirectfbsurfacedir) $(libidirectfbsurface_dispatcher_la_OBJECTS) $(libidirectfbsurface_dispatcher_la_LIBADD) $(LIBS)
+libidirectfbwindow_dispatcher.la: $(libidirectfbwindow_dispatcher_la_OBJECTS) $(libidirectfbwindow_dispatcher_la_DEPENDENCIES) $(EXTRA_libidirectfbwindow_dispatcher_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbwindow_dispatcher_la_LINK) -rpath $(idirectfbwindowdir) $(libidirectfbwindow_dispatcher_la_OBJECTS) $(libidirectfbwindow_dispatcher_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -905,25 +993,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbwindow_dispatcher.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -933,204 +1021,215 @@ clean-libtool:
install-idirectfbDATA: $(idirectfb_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbdir)"
- @list='$(idirectfb_DATA)'; for p in $$list; do \
+ @list='$(idirectfb_DATA)'; test -n "$(idirectfbdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbdir)/$$f'"; \
- $(idirectfbDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbdir)" || exit $$?; \
done
uninstall-idirectfbDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfb_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbdir)/$$f"; \
- done
+ @list='$(idirectfb_DATA)'; test -n "$(idirectfbdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbdir)'; $(am__uninstall_files_from_dir)
install-idirectfbdatabufferDATA: $(idirectfbdatabuffer_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbdatabufferdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbdatabufferdir)"
- @list='$(idirectfbdatabuffer_DATA)'; for p in $$list; do \
+ @list='$(idirectfbdatabuffer_DATA)'; test -n "$(idirectfbdatabufferdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbdatabufferDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbdatabufferdir)/$$f'"; \
- $(idirectfbdatabufferDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbdatabufferdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbdatabufferdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbdatabufferdir)" || exit $$?; \
done
uninstall-idirectfbdatabufferDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbdatabuffer_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbdatabufferdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbdatabufferdir)/$$f"; \
- done
+ @list='$(idirectfbdatabuffer_DATA)'; test -n "$(idirectfbdatabufferdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbdatabufferdir)'; $(am__uninstall_files_from_dir)
install-idirectfbdisplaylayerDATA: $(idirectfbdisplaylayer_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbdisplaylayerdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbdisplaylayerdir)"
- @list='$(idirectfbdisplaylayer_DATA)'; for p in $$list; do \
+ @list='$(idirectfbdisplaylayer_DATA)'; test -n "$(idirectfbdisplaylayerdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbdisplaylayerDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f'"; \
- $(idirectfbdisplaylayerDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbdisplaylayerdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbdisplaylayerdir)" || exit $$?; \
done
uninstall-idirectfbdisplaylayerDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbdisplaylayer_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f"; \
- done
+ @list='$(idirectfbdisplaylayer_DATA)'; test -n "$(idirectfbdisplaylayerdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbdisplaylayerdir)'; $(am__uninstall_files_from_dir)
install-idirectfbeventbufferDATA: $(idirectfbeventbuffer_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbeventbufferdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbeventbufferdir)"
- @list='$(idirectfbeventbuffer_DATA)'; for p in $$list; do \
+ @list='$(idirectfbeventbuffer_DATA)'; test -n "$(idirectfbeventbufferdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbeventbufferDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbeventbufferdir)/$$f'"; \
- $(idirectfbeventbufferDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbeventbufferdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbeventbufferdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbeventbufferdir)" || exit $$?; \
done
uninstall-idirectfbeventbufferDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbeventbuffer_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbeventbufferdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbeventbufferdir)/$$f"; \
- done
+ @list='$(idirectfbeventbuffer_DATA)'; test -n "$(idirectfbeventbufferdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbeventbufferdir)'; $(am__uninstall_files_from_dir)
install-idirectfbfontDATA: $(idirectfbfont_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbfontdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbfontdir)"
- @list='$(idirectfbfont_DATA)'; for p in $$list; do \
+ @list='$(idirectfbfont_DATA)'; test -n "$(idirectfbfontdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbfontDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbfontdir)/$$f'"; \
- $(idirectfbfontDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbfontdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbfontdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbfontdir)" || exit $$?; \
done
uninstall-idirectfbfontDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbfont_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbfontdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbfontdir)/$$f"; \
- done
+ @list='$(idirectfbfont_DATA)'; test -n "$(idirectfbfontdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbfontdir)'; $(am__uninstall_files_from_dir)
install-idirectfbimageproviderDATA: $(idirectfbimageprovider_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbimageproviderdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbimageproviderdir)"
- @list='$(idirectfbimageprovider_DATA)'; for p in $$list; do \
+ @list='$(idirectfbimageprovider_DATA)'; test -n "$(idirectfbimageproviderdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbimageproviderDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbimageproviderdir)/$$f'"; \
- $(idirectfbimageproviderDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbimageproviderdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbimageproviderdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbimageproviderdir)" || exit $$?; \
done
uninstall-idirectfbimageproviderDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbimageprovider_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbimageproviderdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbimageproviderdir)/$$f"; \
- done
+ @list='$(idirectfbimageprovider_DATA)'; test -n "$(idirectfbimageproviderdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbimageproviderdir)'; $(am__uninstall_files_from_dir)
install-idirectfbinputdeviceDATA: $(idirectfbinputdevice_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbinputdevicedir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbinputdevicedir)"
- @list='$(idirectfbinputdevice_DATA)'; for p in $$list; do \
+ @list='$(idirectfbinputdevice_DATA)'; test -n "$(idirectfbinputdevicedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbinputdeviceDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbinputdevicedir)/$$f'"; \
- $(idirectfbinputdeviceDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbinputdevicedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbinputdevicedir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbinputdevicedir)" || exit $$?; \
done
uninstall-idirectfbinputdeviceDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbinputdevice_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbinputdevicedir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbinputdevicedir)/$$f"; \
- done
+ @list='$(idirectfbinputdevice_DATA)'; test -n "$(idirectfbinputdevicedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbinputdevicedir)'; $(am__uninstall_files_from_dir)
install-idirectfbpaletteDATA: $(idirectfbpalette_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbpalettedir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbpalettedir)"
- @list='$(idirectfbpalette_DATA)'; for p in $$list; do \
+ @list='$(idirectfbpalette_DATA)'; test -n "$(idirectfbpalettedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbpaletteDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbpalettedir)/$$f'"; \
- $(idirectfbpaletteDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbpalettedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbpalettedir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbpalettedir)" || exit $$?; \
done
uninstall-idirectfbpaletteDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbpalette_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbpalettedir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbpalettedir)/$$f"; \
- done
+ @list='$(idirectfbpalette_DATA)'; test -n "$(idirectfbpalettedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbpalettedir)'; $(am__uninstall_files_from_dir)
install-idirectfbscreenDATA: $(idirectfbscreen_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbscreendir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbscreendir)"
- @list='$(idirectfbscreen_DATA)'; for p in $$list; do \
+ @list='$(idirectfbscreen_DATA)'; test -n "$(idirectfbscreendir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbscreenDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbscreendir)/$$f'"; \
- $(idirectfbscreenDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbscreendir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbscreendir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbscreendir)" || exit $$?; \
done
uninstall-idirectfbscreenDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbscreen_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbscreendir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbscreendir)/$$f"; \
- done
+ @list='$(idirectfbscreen_DATA)'; test -n "$(idirectfbscreendir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbscreendir)'; $(am__uninstall_files_from_dir)
install-idirectfbsurfaceDATA: $(idirectfbsurface_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbsurfacedir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbsurfacedir)"
- @list='$(idirectfbsurface_DATA)'; for p in $$list; do \
+ @list='$(idirectfbsurface_DATA)'; test -n "$(idirectfbsurfacedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbsurfaceDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbsurfacedir)/$$f'"; \
- $(idirectfbsurfaceDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbsurfacedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbsurfacedir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbsurfacedir)" || exit $$?; \
done
uninstall-idirectfbsurfaceDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbsurface_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbsurfacedir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbsurfacedir)/$$f"; \
- done
+ @list='$(idirectfbsurface_DATA)'; test -n "$(idirectfbsurfacedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbsurfacedir)'; $(am__uninstall_files_from_dir)
install-idirectfbwindowDATA: $(idirectfbwindow_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbwindowdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbwindowdir)"
- @list='$(idirectfbwindow_DATA)'; for p in $$list; do \
+ @list='$(idirectfbwindow_DATA)'; test -n "$(idirectfbwindowdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbwindowDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbwindowdir)/$$f'"; \
- $(idirectfbwindowDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbwindowdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbwindowdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbwindowdir)" || exit $$?; \
done
uninstall-idirectfbwindowDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbwindow_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbwindowdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbwindowdir)/$$f"; \
- done
+ @list='$(idirectfbwindow_DATA)'; test -n "$(idirectfbwindowdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbwindowdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -1138,29 +1237,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -1181,13 +1285,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -1208,16 +1316,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -1248,6 +1362,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -1273,18 +1389,28 @@ install-data-am: install-idirectfbDATA install-idirectfbLTLIBRARIES \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -1398,6 +1524,7 @@ uninstall-am: uninstall-idirectfbDATA uninstall-idirectfbLTLIBRARIES \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/proxy/dispatcher/idirectfb_dispatcher.c b/proxy/dispatcher/idirectfb_dispatcher.c
index a0b0b21..1dfb586 100644
--- a/proxy/dispatcher/idirectfb_dispatcher.c
+++ b/proxy/dispatcher/idirectfb_dispatcher.c
@@ -30,13 +30,6 @@
#include <stdio.h>
#include <stdlib.h>
-#include <unistd.h>
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#include <string.h>
#include <directfb.h>
@@ -49,15 +42,16 @@
#include <direct/thread.h>
#include <direct/util.h>
-#include <core/coredefs.h>
+#include <idirectfb.h>
+#include <voodoo/conf.h>
#include <voodoo/interface.h>
#include <voodoo/manager.h>
#include <voodoo/message.h>
#include "idirectfb_dispatcher.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFB *thiz,
VoodooManager *manager,
VoodooInstanceID *ret_instance );
@@ -84,6 +78,8 @@ typedef struct {
IDirectFB *real;
+ CoreDFB *core;
+
VoodooInstanceID self; /* The instance of this dispatcher itself. */
DirectLink *data_buffers; /* list of known data buffers */
@@ -189,11 +185,11 @@ IDirectFB_Dispatcher_SetVideoMode( IDirectFB *thiz,
static DFBResult
IDirectFB_Dispatcher_CreateSurface( IDirectFB *thiz,
const DFBSurfaceDescription *desc,
- IDirectFBSurface **interface )
+ IDirectFBSurface **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFB_Dispatcher)
- if (!desc || !interface)
+ if (!desc || !interface_ptr)
return DFB_INVARG;
@@ -204,11 +200,11 @@ IDirectFB_Dispatcher_CreateSurface( IDirectFB *thiz,
static DFBResult
IDirectFB_Dispatcher_CreatePalette( IDirectFB *thiz,
const DFBPaletteDescription *desc,
- IDirectFBPalette **interface )
+ IDirectFBPalette **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFB_Dispatcher)
- if (!interface)
+ if (!interface_ptr)
return DFB_INVARG;
@@ -234,11 +230,11 @@ IDirectFB_Dispatcher_EnumScreens( IDirectFB *thiz,
static DFBResult
IDirectFB_Dispatcher_GetScreen( IDirectFB *thiz,
DFBScreenID id,
- IDirectFBScreen **interface )
+ IDirectFBScreen **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFB_Dispatcher)
- if (!interface)
+ if (!interface_ptr)
return DFB_INVARG;
@@ -264,11 +260,11 @@ IDirectFB_Dispatcher_EnumDisplayLayers( IDirectFB *thiz,
static DFBResult
IDirectFB_Dispatcher_GetDisplayLayer( IDirectFB *thiz,
DFBDisplayLayerID id,
- IDirectFBDisplayLayer **interface )
+ IDirectFBDisplayLayer **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFB_Dispatcher)
- if (!interface)
+ if (!interface_ptr)
return DFB_INVARG;
@@ -294,11 +290,11 @@ IDirectFB_Dispatcher_EnumInputDevices( IDirectFB *thiz,
static DFBResult
IDirectFB_Dispatcher_GetInputDevice( IDirectFB *thiz,
DFBInputDeviceID id,
- IDirectFBInputDevice **interface )
+ IDirectFBInputDevice **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFB_Dispatcher)
- if (!interface)
+ if (!interface_ptr)
return DFB_INVARG;
@@ -308,11 +304,11 @@ IDirectFB_Dispatcher_GetInputDevice( IDirectFB *thiz,
static DFBResult
IDirectFB_Dispatcher_CreateEventBuffer( IDirectFB *thiz,
- IDirectFBEventBuffer **interface)
+ IDirectFBEventBuffer **interface_ptr)
{
DIRECT_INTERFACE_GET_DATA(IDirectFB_Dispatcher)
- if (!interface)
+ if (!interface_ptr)
return DFB_INVARG;
@@ -324,11 +320,11 @@ static DFBResult
IDirectFB_Dispatcher_CreateInputEventBuffer( IDirectFB *thiz,
DFBInputDeviceCapabilities caps,
DFBBoolean global,
- IDirectFBEventBuffer **interface)
+ IDirectFBEventBuffer **interface_ptr)
{
DIRECT_INTERFACE_GET_DATA(IDirectFB_Dispatcher)
- if (!interface)
+ if (!interface_ptr)
return DFB_INVARG;
@@ -339,12 +335,12 @@ IDirectFB_Dispatcher_CreateInputEventBuffer( IDirectFB *thiz,
static DFBResult
IDirectFB_Dispatcher_CreateImageProvider( IDirectFB *thiz,
const char *filename,
- IDirectFBImageProvider **interface )
+ IDirectFBImageProvider **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFB_Dispatcher)
/* Check arguments */
- if (!filename || !interface)
+ if (!filename || !interface_ptr)
return DFB_INVARG;
@@ -355,12 +351,12 @@ IDirectFB_Dispatcher_CreateImageProvider( IDirectFB *thiz,
static DFBResult
IDirectFB_Dispatcher_CreateVideoProvider( IDirectFB *thiz,
const char *filename,
- IDirectFBVideoProvider **interface )
+ IDirectFBVideoProvider **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFB_Dispatcher)
/* Check arguments */
- if (!interface || !filename)
+ if (!interface_ptr || !filename)
return DFB_INVARG;
@@ -372,12 +368,12 @@ static DFBResult
IDirectFB_Dispatcher_CreateFont( IDirectFB *thiz,
const char *filename,
const DFBFontDescription *desc,
- IDirectFBFont **interface )
+ IDirectFBFont **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFB_Dispatcher)
/* Check arguments */
- if (!interface)
+ if (!interface_ptr)
return DFB_INVARG;
@@ -388,11 +384,11 @@ IDirectFB_Dispatcher_CreateFont( IDirectFB *thiz,
static DFBResult
IDirectFB_Dispatcher_CreateDataBuffer( IDirectFB *thiz,
const DFBDataBufferDescription *desc,
- IDirectFBDataBuffer **interface )
+ IDirectFBDataBuffer **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFB_Dispatcher)
- if (!interface)
+ if (!interface_ptr)
return DFB_INVARG;
@@ -490,7 +486,7 @@ IDirectFB_Dispatcher_GetInterface( IDirectFB *thiz,
const char *type,
const char *implementation,
void *arg,
- void **interface )
+ void **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFB_Dispatcher)
@@ -517,7 +513,7 @@ Dispatch_SetCooperativeLevel( IDirectFB *thiz, IDirectFB *real,
ret = real->SetCooperativeLevel( real, level );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -535,7 +531,7 @@ Dispatch_GetDeviceDescription( IDirectFB *thiz, IDirectFB *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_DATA, sizeof(DFBGraphicsDeviceDescription), &desc,
VMBT_NONE );
@@ -561,7 +557,7 @@ Dispatch_SetVideoMode( IDirectFB *thiz, IDirectFB *real,
ret = real->SetVideoMode( real, width, height, bpp );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -609,7 +605,7 @@ Dispatch_EnumVideoModes( IDirectFB *thiz, IDirectFB *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_INT, context.num,
VMBT_DATA, context.num * sizeof(IDirectFB_Dispatcher_EnumVideoModes_Item), context.items,
@@ -697,6 +693,14 @@ Dispatch_CreateImageProvider( IDirectFB *thiz, IDirectFB *real,
VOODOO_PARSER_GET_ID( parser, instance );
VOODOO_PARSER_END( parser );
+ if (1) {
+ ret = voodoo_manager_check_allocation( manager, 0x100000 /*FIXME*/ );
+ if (ret) {
+ D_ERROR( "Allocation not permitted!\n" );
+ return ret;
+ }
+ }
+
direct_list_foreach (l, data->data_buffers) {
DataBufferEntry *entry = (DataBufferEntry*) l;
@@ -717,7 +721,7 @@ Dispatch_CreateImageProvider( IDirectFB *thiz, IDirectFB *real,
return ret;
}
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, instance,
VMBT_NONE );
}
@@ -726,19 +730,79 @@ static DirectResult
Dispatch_CreateSurface( IDirectFB *thiz, IDirectFB *real,
VoodooManager *manager, VoodooRequestMessage *msg )
{
- DirectResult ret;
- const DFBSurfaceDescription *desc;
- IDirectFBSurface *surface;
- VoodooInstanceID instance;
- VoodooMessageParser parser;
+ DirectResult ret;
+ DFBSurfaceDescription desc;
+ IDirectFBSurface *surface;
+ VoodooInstanceID instance;
+ VoodooMessageParser parser;
+ bool force_system = (voodoo_config->resource_id != 0);
DIRECT_INTERFACE_GET_DATA(IDirectFB_Dispatcher)
VOODOO_PARSER_BEGIN( parser, msg );
- VOODOO_PARSER_GET_DATA( parser, desc );
+ VOODOO_PARSER_READ_DFBSurfaceDescription( parser, desc );
VOODOO_PARSER_END( parser );
- ret = real->CreateSurface( real, desc, &surface );
+ if (1) {
+ unsigned int w = 256, h = 256, b = 2, size;
+
+ if (desc.flags & DSDESC_WIDTH)
+ w = desc.width;
+
+ if (desc.flags & DSDESC_HEIGHT)
+ h = desc.height;
+
+ if (desc.flags & DSDESC_PIXELFORMAT)
+ b = DFB_BYTES_PER_PIXEL( desc.pixelformat ) ? DFB_BYTES_PER_PIXEL( desc.pixelformat ) : 2;
+
+ size = w * h * b;
+
+ D_INFO( "Checking creation of %u kB surface\n", size / 1024 );
+
+ if (voodoo_config->surface_max && voodoo_config->surface_max < size) {
+ D_ERROR( "Allocation of %u kB surface not permitted (limit %u kB)\n",
+ size / 1024, voodoo_config->surface_max / 1024 );
+ return DR_LIMITEXCEEDED;
+ }
+
+ ret = voodoo_manager_check_allocation( manager, size );
+ if (ret) {
+ D_ERROR( "Allocation not permitted!\n" );
+ return ret;
+ }
+ }
+
+ if (voodoo_config->resource_id) {
+ if (desc.flags & DSDESC_RESOURCE_ID) {
+ if (desc.resource_id == voodoo_config->resource_id) {
+ force_system = false;
+ }
+ }
+ }
+
+ if (force_system) {
+ DFBSurfaceDescription sd = desc;
+
+ if (sd.flags & DSDESC_CAPS) {
+ sd.caps &= ~DSCAPS_VIDEOONLY;
+ sd.caps |= DSCAPS_SYSTEMONLY;
+ }
+ else {
+ sd.flags |= DSDESC_CAPS;
+ sd.caps = DSCAPS_SYSTEMONLY;
+ }
+
+ ret = real->CreateSurface( real, &sd, &surface );
+ }
+ else if (desc.flags & (DSDESC_PALETTE | DSDESC_PREALLOCATED)) {
+ DFBSurfaceDescription sd = desc;
+ sd.flags &= ~(DSDESC_PALETTE | DSDESC_PREALLOCATED);
+
+ ret = real->CreateSurface( real, &sd, &surface );
+ }
+ else {
+ ret = real->CreateSurface( real, &desc, &surface );
+ }
if (ret)
return ret;
@@ -749,7 +813,7 @@ Dispatch_CreateSurface( IDirectFB *thiz, IDirectFB *real,
return ret;
}
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, instance,
VMBT_NONE );
}
@@ -793,7 +857,7 @@ Dispatch_EnumScreens( IDirectFB *thiz, IDirectFB *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_INT, context.num,
VMBT_DATA, context.num * sizeof(IDirectFB_Dispatcher_EnumScreens_Item), context.items,
@@ -816,6 +880,11 @@ Dispatch_GetDisplayLayer( IDirectFB *thiz, IDirectFB *real,
VOODOO_PARSER_GET_ID( parser, id );
VOODOO_PARSER_END( parser );
+ if (voodoo_config->layer_mask && !(voodoo_config->layer_mask & (1 << id))) {
+ D_ERROR( "Layer with id %u not allowed!\n", id );
+ return DR_ACCESSDENIED;
+ }
+
ret = real->GetDisplayLayer( real, id, &layer );
if (ret)
return ret;
@@ -827,7 +896,7 @@ Dispatch_GetDisplayLayer( IDirectFB *thiz, IDirectFB *real,
return ret;
}
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, instance,
VMBT_NONE );
}
@@ -873,7 +942,7 @@ Dispatch_EnumInputDevices( IDirectFB *thiz, IDirectFB *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_INT, context.num,
VMBT_DATA, context.num * sizeof(IDirectFB_Dispatcher_EnumInputDevices_Item), context.items,
@@ -907,7 +976,7 @@ Dispatch_GetInputDevice( IDirectFB *thiz, IDirectFB *real,
return ret;
}
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, instance,
VMBT_NONE );
}
@@ -939,7 +1008,7 @@ Dispatch_GetScreen( IDirectFB *thiz, IDirectFB *real,
return ret;
}
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, instance,
VMBT_NONE );
}
@@ -948,21 +1017,43 @@ static DirectResult
Dispatch_CreateFont( IDirectFB *thiz, IDirectFB *real,
VoodooManager *manager, VoodooRequestMessage *msg )
{
- DirectResult ret;
- IDirectFBFont *font;
- VoodooInstanceID instance;
- VoodooMessageParser parser;
- const char *filename;
+ DirectResult ret;
+ DirectLink *l;
+ VoodooMessageParser parser;
+ VoodooInstanceID instance;
+ IDirectFBFont *font;
+ IDirectFBDataBuffer *buffer = NULL;
const DFBFontDescription *desc;
DIRECT_INTERFACE_GET_DATA(IDirectFB_Dispatcher)
VOODOO_PARSER_BEGIN( parser, msg );
- VOODOO_PARSER_GET_STRING( parser, filename );
+ VOODOO_PARSER_GET_ID( parser, instance );
VOODOO_PARSER_GET_DATA( parser, desc );
VOODOO_PARSER_END( parser );
- ret = real->CreateFont( real, filename, desc, &font );
+ direct_list_foreach (l, data->data_buffers) {
+ DataBufferEntry *entry = (DataBufferEntry*) l;
+
+ if (entry->instance == instance) {
+ buffer = entry->requestor;
+ break;
+ }
+ }
+
+ if (1) {
+ unsigned int size;
+
+ buffer->GetLength( buffer, &size );
+
+ ret = voodoo_manager_check_allocation( manager, size );
+ if (ret) {
+ D_ERROR( "Allocation not permitted!\n" );
+ return ret;
+ }
+ }
+
+ ret = buffer->CreateFont( buffer, desc, &font );
if (ret)
return ret;
@@ -973,7 +1064,7 @@ Dispatch_CreateFont( IDirectFB *thiz, IDirectFB *real,
return ret;
}
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, instance,
VMBT_NONE );
}
@@ -996,7 +1087,7 @@ Dispatch_CreateDataBuffer( IDirectFB *thiz, IDirectFB *real,
VOODOO_PARSER_END( parser );
ret = voodoo_construct_requestor( manager, "IDirectFBDataBuffer",
- instance, NULL, &ptr );
+ instance, data->core, &ptr );
if (ret)
return ret;
@@ -1027,7 +1118,7 @@ Dispatch_WaitIdle( IDirectFB *thiz, IDirectFB *real,
ret = real->WaitIdle( real );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -1131,6 +1222,7 @@ Construct( IDirectFB *thiz, VoodooManager *manager, VoodooInstanceID *ret_instan
data->ref = 1;
data->real = real;
+ data->core = ((IDirectFB_data*)(real->priv))->core;
data->self = instance;
thiz->AddRef = IDirectFB_Dispatcher_AddRef;
diff --git a/proxy/dispatcher/idirectfb_dispatcher.h b/proxy/dispatcher/idirectfb_dispatcher.h
index 0768be0..419f6cb 100644
--- a/proxy/dispatcher/idirectfb_dispatcher.h
+++ b/proxy/dispatcher/idirectfb_dispatcher.h
@@ -76,4 +76,35 @@ typedef struct {
DFBInputDeviceDescription desc;
} IDirectFB_Dispatcher_EnumInputDevices_Item;
+
+#if 0
+#define VOODOO_PARSER_READ_DFBSurfaceDescription( p, desc ) \
+ do { \
+ VOODOO_PARSER_GET_INT( p, (desc).flags ); \
+ VOODOO_PARSER_GET_INT( p, (desc).caps ); \
+ VOODOO_PARSER_GET_INT( p, (desc).width ); \
+ VOODOO_PARSER_GET_INT( p, (desc).height ); \
+ VOODOO_PARSER_GET_INT( p, (desc).pixelformat ); \
+ VOODOO_PARSER_GET_UINT( p, (desc).resource_id ); \
+ VOODOO_PARSER_GET_INT( p, (desc).hints ); \
+ } while (0)
+
+#define VMBT_DFBSurfaceDescription( desc ) \
+ VMBT_INT, (desc).flags, \
+ VMBT_INT, (desc).caps, \
+ VMBT_INT, (desc).width, \
+ VMBT_INT, (desc).height, \
+ VMBT_INT, (desc).pixelformat, \
+ VMBT_UINT, (desc).resource_id, \
+ VMBT_INT, (desc).hints
+#else
+#define VOODOO_PARSER_READ_DFBSurfaceDescription( p, desc ) \
+ do { \
+ VOODOO_PARSER_READ_DATA( p, &(desc), sizeof(DFBSurfaceDescription) ); \
+ } while (0)
+
+#define VMBT_DFBSurfaceDescription( desc ) \
+ VMBT_DATA, sizeof(DFBSurfaceDescription), &(desc)
+#endif
+
#endif
diff --git a/proxy/dispatcher/idirectfbdatabuffer_dispatcher.c b/proxy/dispatcher/idirectfbdatabuffer_dispatcher.c
index 8778d68..4f3a992 100644
--- a/proxy/dispatcher/idirectfbdatabuffer_dispatcher.c
+++ b/proxy/dispatcher/idirectfbdatabuffer_dispatcher.c
@@ -46,7 +46,7 @@
#include "idirectfbdatabuffer_dispatcher.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBDataBuffer *thiz,
IDirectFBDataBuffer *real,
VoodooManager *manager,
@@ -218,7 +218,7 @@ IDirectFBDataBuffer_Dispatcher_CreateImageProvider( IDirectFBDataBuffer *thi
{
DirectResult ret;
VoodooResponseMessage *response;
- void *interface = NULL;
+ void *interface_ptr = NULL;
DIRECT_INTERFACE_GET_DATA(IDirectFBDataBuffer_Dispatcher)
@@ -234,13 +234,13 @@ IDirectFBDataBuffer_Dispatcher_CreateImageProvider( IDirectFBDataBuffer *thi
return ret;
ret = response->result;
- if (ret == DFB_OK)
+ if (ret == DR_OK)
ret = voodoo_construct_requestor( data->manager, "IDirectFBImageProvider",
- response->instance, NULL, &interface );
+ response->instance, NULL, &interface_ptr );
voodoo_manager_finish_request( data->manager, response );
- *ret_interface = interface;
+ *ret_interface = interface_ptr;
return ret;
}
@@ -257,6 +257,41 @@ IDirectFBDataBuffer_Dispatcher_CreateVideoProvider( IDirectFBDataBuffer *thi
return DFB_UNIMPLEMENTED;
}
+static DFBResult
+IDirectFBDataBuffer_Dispatcher_CreateFont( IDirectFBDataBuffer *thiz,
+ const DFBFontDescription *desc,
+ IDirectFBFont **ret_interface )
+{
+ DirectResult ret;
+ VoodooResponseMessage *response;
+ void *interface_ptr = NULL;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDataBuffer_Dispatcher)
+
+ if (!ret_interface)
+ return DFB_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->super,
+ IDIRECTFB_METHOD_ID_CreateFont,
+ VREQ_RESPOND | VREQ_ASYNC, &response,
+ VMBT_ID, data->self,
+ VMBT_DATA, sizeof(DFBFontDescription), desc,
+ VMBT_NONE );
+ if (ret)
+ return ret;
+
+ ret = response->result;
+ if (ret == DR_OK)
+ ret = voodoo_construct_requestor( data->manager, "IDirectFBFont",
+ response->instance, NULL, &interface_ptr );
+
+ voodoo_manager_finish_request( data->manager, response );
+
+ *ret_interface = interface_ptr;
+
+ return ret;
+}
+
/**************************************************************************************************/
static DirectResult
@@ -269,7 +304,7 @@ Dispatch_AddRef( IDirectFBDataBuffer *thiz, IDirectFBDataBuffer *real,
ret = thiz->AddRef( thiz );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -295,7 +330,7 @@ Dispatch_Flush( IDirectFBDataBuffer *thiz, IDirectFBDataBuffer *real,
ret = real->Flush( real );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -310,7 +345,7 @@ Dispatch_Finish( IDirectFBDataBuffer *thiz, IDirectFBDataBuffer *real,
ret = real->Finish( real );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -331,7 +366,7 @@ Dispatch_SeekTo( IDirectFBDataBuffer *thiz, IDirectFBDataBuffer *real,
ret = real->SeekTo( real, offset );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -349,7 +384,7 @@ Dispatch_GetPosition( IDirectFBDataBuffer *thiz, IDirectFBDataBuffer *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_UINT, offset,
VMBT_NONE );
@@ -368,7 +403,7 @@ Dispatch_GetLength( IDirectFBDataBuffer *thiz, IDirectFBDataBuffer *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_UINT, length,
VMBT_NONE );
@@ -390,7 +425,7 @@ Dispatch_WaitForData( IDirectFBDataBuffer *thiz, IDirectFBDataBuffer *real,
ret = real->WaitForData( real, length );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -415,7 +450,7 @@ Dispatch_WaitForDataWithTimeout( IDirectFBDataBuffer *thiz, IDirectFBDataBuffer
ret = real->WaitForDataWithTimeout( real, length, seconds, milli_seconds );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -439,17 +474,25 @@ Dispatch_GetData( IDirectFBDataBuffer *thiz, IDirectFBDataBuffer *real,
if (length > 16384)
length = 16384;
- tmp = alloca( length );
+ tmp = D_MALLOC( length );
+ if (!tmp)
+ return D_OOM();
ret = real->GetData( real, length, tmp, &read );
- if (ret)
+ if (ret) {
+ D_FREE( tmp );
return ret;
+ }
- return voodoo_manager_respond( manager, msg->header.serial,
- ret, VOODOO_INSTANCE_NONE,
- VMBT_UINT, read,
- VMBT_DATA, read, tmp,
- VMBT_NONE );
+ ret = voodoo_manager_respond( manager, true, msg->header.serial,
+ ret, VOODOO_INSTANCE_NONE,
+ VMBT_UINT, read,
+ VMBT_DATA, read, tmp,
+ VMBT_NONE );
+
+ D_FREE( tmp );
+
+ return ret;
}
static DirectResult
@@ -473,17 +516,25 @@ Dispatch_PeekData( IDirectFBDataBuffer *thiz, IDirectFBDataBuffer *real,
if (length > 16384)
length = 16384;
- tmp = alloca( length );
+ tmp = D_MALLOC( length );
+ if (!tmp)
+ return D_OOM();
ret = real->PeekData( real, length, offset, tmp, &read );
- if (ret)
+ if (ret) {
+ D_FREE( tmp );
return ret;
+ }
- return voodoo_manager_respond( manager, msg->header.serial,
- ret, VOODOO_INSTANCE_NONE,
- VMBT_UINT, read,
- VMBT_DATA, read, tmp,
- VMBT_NONE );
+ ret = voodoo_manager_respond( manager, true, msg->header.serial,
+ ret, VOODOO_INSTANCE_NONE,
+ VMBT_UINT, read,
+ VMBT_DATA, read, tmp,
+ VMBT_NONE );
+
+ D_FREE( tmp );
+
+ return ret;
}
static DirectResult
@@ -496,7 +547,7 @@ Dispatch_HasData( IDirectFBDataBuffer *thiz, IDirectFBDataBuffer *real,
ret = real->HasData( real );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -519,7 +570,7 @@ Dispatch_PutData( IDirectFBDataBuffer *thiz, IDirectFBDataBuffer *real,
ret = real->PutData( real, source, length );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -628,6 +679,7 @@ Construct( IDirectFBDataBuffer *thiz,
thiz->PutData = IDirectFBDataBuffer_Dispatcher_PutData;
thiz->CreateImageProvider = IDirectFBDataBuffer_Dispatcher_CreateImageProvider;
thiz->CreateVideoProvider = IDirectFBDataBuffer_Dispatcher_CreateVideoProvider;
+ thiz->CreateFont = IDirectFBDataBuffer_Dispatcher_CreateFont;
return DFB_OK;
}
diff --git a/proxy/dispatcher/idirectfbdisplaylayer_dispatcher.c b/proxy/dispatcher/idirectfbdisplaylayer_dispatcher.c
index c3cb658..6a26e01 100644
--- a/proxy/dispatcher/idirectfbdisplaylayer_dispatcher.c
+++ b/proxy/dispatcher/idirectfbdisplaylayer_dispatcher.c
@@ -36,13 +36,14 @@
#include <direct/messages.h>
#include <direct/util.h>
+#include <voodoo/conf.h>
#include <voodoo/interface.h>
#include <voodoo/manager.h>
#include "idirectfbdisplaylayer_dispatcher.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBDisplayLayer *thiz,
IDirectFBDisplayLayer *real,
VoodooManager *manager,
@@ -112,7 +113,7 @@ IDirectFBDisplayLayer_Dispatcher_GetDescription( IDirectFBDisplayLayer *thi
static DFBResult
IDirectFBDisplayLayer_Dispatcher_GetSurface( IDirectFBDisplayLayer *thiz,
- IDirectFBSurface **interface )
+ IDirectFBSurface **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Dispatcher)
@@ -123,7 +124,7 @@ IDirectFBDisplayLayer_Dispatcher_GetSurface( IDirectFBDisplayLayer *thiz,
static DFBResult
IDirectFBDisplayLayer_Dispatcher_GetScreen( IDirectFBDisplayLayer *thiz,
- IDirectFBScreen **interface )
+ IDirectFBScreen **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Dispatcher)
@@ -442,7 +443,7 @@ Dispatch_GetID( IDirectFBDisplayLayer *thiz, IDirectFBDisplayLayer *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_ID, id,
VMBT_NONE );
@@ -469,7 +470,7 @@ Dispatch_GetScreen( IDirectFBDisplayLayer *thiz, IDirectFBDisplayLayer *real,
return ret;
}
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, instance,
VMBT_NONE );
}
@@ -487,7 +488,7 @@ Dispatch_GetConfiguration( IDirectFBDisplayLayer *thiz, IDirectFBDisplayLayer *r
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_DATA, sizeof(DFBDisplayLayerConfig), &config,
VMBT_NONE );
@@ -510,7 +511,7 @@ Dispatch_TestConfiguration( IDirectFBDisplayLayer *thiz, IDirectFBDisplayLayer *
ret = real->TestConfiguration( real, config, &failed );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_UINT, failed,
VMBT_NONE );
@@ -534,7 +535,7 @@ Dispatch_SetCooperativeLevel( IDirectFBDisplayLayer *thiz, IDirectFBDisplayLayer
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -548,6 +549,7 @@ Dispatch_CreateWindow( IDirectFBDisplayLayer *thiz, IDirectFBDisplayLayer *real,
IDirectFBWindow *window;
VoodooInstanceID instance;
VoodooMessageParser parser;
+ bool force_system = (voodoo_config->resource_id != 0);
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Dispatcher)
@@ -555,7 +557,99 @@ Dispatch_CreateWindow( IDirectFBDisplayLayer *thiz, IDirectFBDisplayLayer *real,
VOODOO_PARSER_GET_DATA( parser, desc );
VOODOO_PARSER_END( parser );
- ret = real->CreateWindow( real, desc, &window );
+ if (1) {
+ unsigned int w = 256, h = 256, b = 2, size;
+
+ if (desc->flags & DWDESC_WIDTH)
+ w = desc->width;
+
+ if (desc->flags & DWDESC_HEIGHT)
+ h = desc->height;
+
+ if (desc->flags & DWDESC_PIXELFORMAT)
+ b = DFB_BYTES_PER_PIXEL( desc->pixelformat ) ? DFB_BYTES_PER_PIXEL( desc->pixelformat ) : 2;
+
+ size = w * h * b;
+
+ D_INFO( "Checking creation of %u kB window\n", size / 1024 );
+
+ if (voodoo_config->surface_max && voodoo_config->surface_max < size) {
+ D_ERROR( "Allocation of %u kB window not permitted (limit %u kB)\n",
+ size / 1024, voodoo_config->surface_max / 1024 );
+ return DR_LIMITEXCEEDED;
+ }
+
+ ret = voodoo_manager_check_allocation( manager, size );
+ if (ret) {
+ D_ERROR( "Allocation not permitted!\n" );
+ return ret;
+ }
+ }
+
+ if (voodoo_config->resource_id) {
+ if (desc->flags & DWDESC_RESOURCE_ID) {
+ if (desc->resource_id == voodoo_config->resource_id) {
+ force_system = false;
+ }
+ }
+ }
+
+ if (force_system) {
+ DFBWindowDescription wd = *desc;
+
+ if (wd.flags & DWDESC_SURFACE_CAPS) {
+ wd.surface_caps &= ~DSCAPS_VIDEOONLY;
+ wd.surface_caps |= DSCAPS_SYSTEMONLY;
+ }
+ else {
+ wd.flags |= DWDESC_SURFACE_CAPS;
+ wd.surface_caps = DSCAPS_SYSTEMONLY;
+ }
+
+ if (wd.flags & DWDESC_STACKING) {
+ if (voodoo_config->stacking_mask && !(voodoo_config->stacking_mask & (1 << wd.stacking))) {
+ D_ERROR( "Stacking class not permitted!\n" );
+ return DR_ACCESSDENIED;
+ }
+ }
+
+ ret = real->CreateWindow( real, &wd, &window );
+ }
+ else {
+ ret = real->CreateWindow( real, desc, &window );
+ }
+ if (ret)
+ return ret;
+
+ ret = voodoo_construct_dispatcher( manager, "IDirectFBWindow",
+ window, data->self, NULL, &instance, NULL );
+ if (ret) {
+ window->Release( window );
+ return ret;
+ }
+
+ return voodoo_manager_respond( manager, true, msg->header.serial,
+ DFB_OK, instance,
+ VMBT_NONE );
+}
+
+static DirectResult
+Dispatch_GetWindow( IDirectFBDisplayLayer *thiz, IDirectFBDisplayLayer *real,
+ VoodooManager *manager, VoodooRequestMessage *msg )
+{
+ DirectResult ret;
+ DFBWindowID id;
+ IDirectFBWindow *window;
+ VoodooInstanceID instance;
+ VoodooMessageParser parser;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Dispatcher)
+
+ VOODOO_PARSER_BEGIN( parser, msg );
+ VOODOO_PARSER_GET_ID( parser, id );
+ VOODOO_PARSER_END( parser );
+
+ ret = real->GetWindow( real, id, &window );
if (ret)
return ret;
@@ -566,12 +660,63 @@ Dispatch_CreateWindow( IDirectFBDisplayLayer *thiz, IDirectFBDisplayLayer *real,
return ret;
}
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, instance,
VMBT_NONE );
}
static DirectResult
+Dispatch_GetWindowByResourceID( IDirectFBDisplayLayer *thiz, IDirectFBDisplayLayer *real,
+ VoodooManager *manager, VoodooRequestMessage *msg )
+{
+ DirectResult ret;
+ DFBWindowID id;
+ IDirectFBWindow *window;
+ VoodooInstanceID instance;
+ VoodooMessageParser parser;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Dispatcher)
+
+ VOODOO_PARSER_BEGIN( parser, msg );
+ VOODOO_PARSER_GET_ID( parser, id );
+ VOODOO_PARSER_END( parser );
+
+ ret = real->GetWindowByResourceID( real, id, &window );
+ if (ret)
+ return ret;
+
+ ret = voodoo_construct_dispatcher( manager, "IDirectFBWindow",
+ window, data->self, NULL, &instance, NULL );
+ if (ret) {
+ window->Release( window );
+ return ret;
+ }
+
+ return voodoo_manager_respond( manager, true, msg->header.serial,
+ DFB_OK, instance,
+ VMBT_NONE );
+}
+
+static DirectResult
+Dispatch_GetRotation( IDirectFBDisplayLayer *thiz, IDirectFBDisplayLayer *real,
+ VoodooManager *manager, VoodooRequestMessage *msg )
+{
+ DirectResult ret;
+ int rotation;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Dispatcher)
+
+ ret = real->GetRotation( real, &rotation );
+ if (ret)
+ return ret;
+
+ return voodoo_manager_respond( manager, true, msg->header.serial,
+ DR_OK, VOODOO_INSTANCE_NONE,
+ VMBT_INT, rotation,
+ VMBT_NONE );
+}
+
+static DirectResult
Dispatch( void *dispatcher, void *real, VoodooManager *manager, VoodooRequestMessage *msg )
{
D_DEBUG( "IDirectFBDisplayLayer/Dispatcher: "
@@ -595,6 +740,15 @@ Dispatch( void *dispatcher, void *real, VoodooManager *manager, VoodooRequestMes
case IDIRECTFBDISPLAYLAYER_METHOD_ID_CreateWindow:
return Dispatch_CreateWindow( dispatcher, real, manager, msg );
+
+ case IDIRECTFBDISPLAYLAYER_METHOD_ID_GetWindow:
+ return Dispatch_GetWindow( dispatcher, real, manager, msg );
+
+ case IDIRECTFBDISPLAYLAYER_METHOD_ID_GetWindowByResourceID:
+ return Dispatch_GetWindowByResourceID( dispatcher, real, manager, msg );
+
+ case IDIRECTFBDISPLAYLAYER_METHOD_ID_GetRotation:
+ return Dispatch_GetRotation( dispatcher, real, manager, msg );
}
return DFB_NOSUCHMETHOD;
diff --git a/proxy/dispatcher/idirectfbdisplaylayer_dispatcher.h b/proxy/dispatcher/idirectfbdisplaylayer_dispatcher.h
index 7b0b0cb..6808a14 100644
--- a/proxy/dispatcher/idirectfbdisplaylayer_dispatcher.h
+++ b/proxy/dispatcher/idirectfbdisplaylayer_dispatcher.h
@@ -61,6 +61,8 @@
#define IDIRECTFBDISPLAYLAYER_METHOD_ID_SetCursorOpacity 30
#define IDIRECTFBDISPLAYLAYER_METHOD_ID_SetFieldParity 31
#define IDIRECTFBDISPLAYLAYER_METHOD_ID_WaitForSync 32
+#define IDIRECTFBDISPLAYLAYER_METHOD_ID_GetWindowByResourceID 33
+#define IDIRECTFBDISPLAYLAYER_METHOD_ID_GetRotation 34
/*
* private data struct of IDirectFBDisplayLayer_Dispatcher
diff --git a/proxy/dispatcher/idirectfbeventbuffer_dispatcher.c b/proxy/dispatcher/idirectfbeventbuffer_dispatcher.c
index 05d821f..06bb428 100644
--- a/proxy/dispatcher/idirectfbeventbuffer_dispatcher.c
+++ b/proxy/dispatcher/idirectfbeventbuffer_dispatcher.c
@@ -30,7 +30,6 @@
#include <stdio.h>
#include <stdlib.h>
-#include <unistd.h>
#include <string.h>
#include <errno.h>
@@ -47,7 +46,7 @@
#include "idirectfbeventbuffer_dispatcher.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBEventBuffer *thiz,
IDirectFBEventBuffer *real,
VoodooManager *manager,
diff --git a/proxy/dispatcher/idirectfbfont_dispatcher.c b/proxy/dispatcher/idirectfbfont_dispatcher.c
index 9178033..f0ef88f 100644
--- a/proxy/dispatcher/idirectfbfont_dispatcher.c
+++ b/proxy/dispatcher/idirectfbfont_dispatcher.c
@@ -43,7 +43,7 @@
#include "idirectfbfont_dispatcher.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBFont *thiz,
IDirectFBFont *real,
VoodooManager *manager,
@@ -253,7 +253,7 @@ Dispatch_GetAscender( IDirectFBFont *thiz, IDirectFBFont *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_INT, ascender,
VMBT_NONE );
@@ -272,7 +272,7 @@ Dispatch_GetDescender( IDirectFBFont *thiz, IDirectFBFont *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_INT, descender,
VMBT_NONE );
@@ -291,7 +291,7 @@ Dispatch_GetHeight( IDirectFBFont *thiz, IDirectFBFont *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_INT, height,
VMBT_NONE );
@@ -310,7 +310,7 @@ Dispatch_GetMaxAdvance( IDirectFBFont *thiz, IDirectFBFont *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_INT, max_advance,
VMBT_NONE );
@@ -338,7 +338,7 @@ Dispatch_GetKerning( IDirectFBFont *thiz, IDirectFBFont *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_INT, kern_x,
VMBT_INT, kern_y,
@@ -366,7 +366,7 @@ Dispatch_GetStringWidth( IDirectFBFont *thiz, IDirectFBFont *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_INT, width,
VMBT_NONE );
@@ -394,7 +394,7 @@ Dispatch_GetStringExtents( IDirectFBFont *thiz, IDirectFBFont *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_DATA, sizeof(DFBRectangle), &logical,
VMBT_DATA, sizeof(DFBRectangle), &ink,
@@ -421,7 +421,7 @@ Dispatch_GetGlyphExtents( IDirectFBFont *thiz, IDirectFBFont *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_DATA, sizeof(extents), &extents,
VMBT_INT, advance,
diff --git a/proxy/dispatcher/idirectfbimageprovider_dispatcher.c b/proxy/dispatcher/idirectfbimageprovider_dispatcher.c
index d0f05bd..c194f14 100644
--- a/proxy/dispatcher/idirectfbimageprovider_dispatcher.c
+++ b/proxy/dispatcher/idirectfbimageprovider_dispatcher.c
@@ -40,10 +40,12 @@
#include <voodoo/interface.h>
#include <voodoo/manager.h>
+#include <idirectfb_dispatcher.h>
+
#include "idirectfbimageprovider_dispatcher.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBImageProvider *thiz,
IDirectFBImageProvider *real,
VoodooManager *manager,
@@ -161,9 +163,9 @@ Dispatch_GetSurfaceDescription( IDirectFBImageProvider *thiz, IDirectFBImageProv
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
- VMBT_DATA, sizeof(DFBSurfaceDescription), &desc,
+ VMBT_DFBSurfaceDescription( desc ),
VMBT_NONE );
}
@@ -180,7 +182,7 @@ Dispatch_GetImageDescription( IDirectFBImageProvider *thiz, IDirectFBImageProvid
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_DATA, sizeof(DFBImageDescription), &desc,
VMBT_NONE );
@@ -209,7 +211,7 @@ Dispatch_RenderTo( IDirectFBImageProvider *thiz, IDirectFBImageProvider *real,
ret = real->RenderTo( real, surface, rect );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
diff --git a/proxy/dispatcher/idirectfbinputdevice_dispatcher.c b/proxy/dispatcher/idirectfbinputdevice_dispatcher.c
index 4b07de6..0d16fa9 100644
--- a/proxy/dispatcher/idirectfbinputdevice_dispatcher.c
+++ b/proxy/dispatcher/idirectfbinputdevice_dispatcher.c
@@ -44,7 +44,7 @@
#include <idirectfbeventbuffer_requestor.h>
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBInputDevice *thiz,
IDirectFBInputDevice *real,
VoodooManager *manager,
@@ -283,7 +283,7 @@ Dispatch_GetID( IDirectFBInputDevice *thiz, IDirectFBInputDevice *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_ID, id,
VMBT_NONE );
@@ -302,7 +302,7 @@ Dispatch_GetDescription( IDirectFBInputDevice *thiz, IDirectFBInputDevice *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_DATA, sizeof(desc), &desc,
VMBT_NONE );
@@ -327,7 +327,7 @@ Dispatch_GetKeymapEntry( IDirectFBInputDevice *thiz, IDirectFBInputDevice *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_DATA, sizeof(entry), &entry,
VMBT_NONE );
@@ -358,7 +358,7 @@ Dispatch_CreateEventBuffer( IDirectFBInputDevice *thiz, IDirectFBInputDevice *re
if (ret)
buffer->Release( buffer );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -390,7 +390,7 @@ Dispatch_AttachEventBuffer( IDirectFBInputDevice *thiz, IDirectFBInputDevice *re
ret = real->AttachEventBuffer( real, buffer_data->src );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -422,7 +422,7 @@ Dispatch_DetachEventBuffer( IDirectFBInputDevice *thiz, IDirectFBInputDevice *re
ret = real->DetachEventBuffer( real, buffer_data->src );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
diff --git a/proxy/dispatcher/idirectfbpalette_dispatcher.c b/proxy/dispatcher/idirectfbpalette_dispatcher.c
index 8805e97..41f1509 100644
--- a/proxy/dispatcher/idirectfbpalette_dispatcher.c
+++ b/proxy/dispatcher/idirectfbpalette_dispatcher.c
@@ -43,7 +43,7 @@
#include "idirectfbpalette_dispatcher.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBPalette *thiz,
IDirectFBPalette *real,
VoodooManager *manager,
@@ -167,7 +167,7 @@ IDirectFBPalette_Dispatcher_FindBestMatch( IDirectFBPalette *thiz,
static DFBResult
IDirectFBPalette_Dispatcher_CreateCopy( IDirectFBPalette *thiz,
- IDirectFBPalette **interface )
+ IDirectFBPalette **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBPalette_Dispatcher)
@@ -191,7 +191,7 @@ Dispatch_GetCapabilities( IDirectFBPalette *thiz, IDirectFBPalette *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_INT, caps,
VMBT_NONE );
@@ -210,7 +210,7 @@ Dispatch_GetSize( IDirectFBPalette *thiz, IDirectFBPalette *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_UINT, size,
VMBT_NONE );
@@ -236,7 +236,7 @@ Dispatch_SetEntries( IDirectFBPalette *thiz, IDirectFBPalette *real,
ret = real->SetEntries( real, entries, num_entries, offset );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -258,20 +258,26 @@ Dispatch_GetEntries( IDirectFBPalette *thiz, IDirectFBPalette *real,
VOODOO_PARSER_GET_UINT( parser, offset );
VOODOO_PARSER_END( parser );
- entries = alloca( num_entries * sizeof(DFBColor) );
+ entries = D_MALLOC( num_entries * sizeof(DFBColor) );
if (!entries) {
D_WARN( "out of memory" );
return DFB_NOSYSTEMMEMORY;
}
ret = real->GetEntries( real, entries, num_entries, offset );
- if (ret)
+ if (ret) {
+ D_FREE( entries );
return ret;
+ }
- return voodoo_manager_respond( manager, msg->header.serial,
- DFB_OK, VOODOO_INSTANCE_NONE,
- VMBT_DATA, num_entries * sizeof(DFBColor), entries,
- VMBT_NONE );
+ ret = voodoo_manager_respond( manager, true, msg->header.serial,
+ DFB_OK, VOODOO_INSTANCE_NONE,
+ VMBT_DATA, num_entries * sizeof(DFBColor), entries,
+ VMBT_NONE );
+
+ D_FREE( entries );
+
+ return ret;
}
static DirectResult
@@ -293,7 +299,7 @@ Dispatch_FindBestMatch( IDirectFBPalette *thiz, IDirectFBPalette *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_UINT, index,
VMBT_NONE );
diff --git a/proxy/dispatcher/idirectfbscreen_dispatcher.c b/proxy/dispatcher/idirectfbscreen_dispatcher.c
index f4ec3ce..582a8a8 100644
--- a/proxy/dispatcher/idirectfbscreen_dispatcher.c
+++ b/proxy/dispatcher/idirectfbscreen_dispatcher.c
@@ -30,26 +30,23 @@
#include <stdio.h>
#include <stdlib.h>
-#include <unistd.h>
#include <string.h>
#include <directfb.h>
-#include <core/coredefs.h>
-#include <core/layers.h>
-#include <core/screen.h>
-
#include <direct/debug.h>
#include <direct/interface.h>
#include <voodoo/manager.h>
#include <voodoo/message.h>
+#include <core/coredefs.h>
+
#include "idirectfbscreen_dispatcher.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBScreen *thiz,
IDirectFBScreen *real,
VoodooManager *manager,
@@ -343,7 +340,7 @@ Dispatch_GetID( IDirectFBScreen *thiz, IDirectFBScreen *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_ID, id,
VMBT_NONE );
@@ -362,7 +359,7 @@ Dispatch_GetDescription( IDirectFBScreen *thiz, IDirectFBScreen *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_DATA, sizeof(DFBScreenDescription), &desc,
VMBT_NONE );
@@ -381,7 +378,7 @@ Dispatch_GetSize( IDirectFBScreen *thiz, IDirectFBScreen *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_DATA, sizeof(DFBDimension), &size,
VMBT_NONE );
@@ -426,7 +423,7 @@ Dispatch_EnumDisplayLayers( IDirectFBScreen *thiz, IDirectFBScreen *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_INT, context.num,
VMBT_DATA, context.num * sizeof(IDirectFBScreen_Dispatcher_EnumDisplayLayers_Item), context.items,
diff --git a/proxy/dispatcher/idirectfbsurface_dispatcher.c b/proxy/dispatcher/idirectfbsurface_dispatcher.c
index bd58500..85dcce3 100644
--- a/proxy/dispatcher/idirectfbsurface_dispatcher.c
+++ b/proxy/dispatcher/idirectfbsurface_dispatcher.c
@@ -30,7 +30,6 @@
#include <stdio.h>
#include <stdlib.h>
-#include <unistd.h>
#include <string.h>
#include <math.h>
@@ -38,39 +37,19 @@
#include <directfb.h>
-#include <core/core.h>
-#include <core/coredefs.h>
-#include <core/coretypes.h>
-
-#include <core/gfxcard.h>
-#include <core/fonts.h>
-#include <core/state.h>
-#include <core/palette.h>
-#include <core/surface.h>
-
-#include <media/idirectfbfont.h>
-
-#include <display/idirectfbsurface.h>
-#include <display/idirectfbpalette.h>
-
-#include <misc/util.h>
-
#include <direct/interface.h>
#include <direct/mem.h>
#include <direct/memcpy.h>
#include <direct/messages.h>
#include <direct/util.h>
-#include <gfx/convert.h>
-#include <gfx/util.h>
-
#include <voodoo/interface.h>
#include <voodoo/manager.h>
#include <voodoo/message.h>
#include "idirectfbsurface_dispatcher.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBSurface *thiz,
IDirectFBSurface *real,
VoodooManager *manager,
@@ -93,6 +72,9 @@ typedef struct {
IDirectFBSurface *real;
VoodooInstanceID super;
+ VoodooInstanceID self;
+
+ VoodooManager *manager;
} IDirectFBSurface_Dispatcher_data;
/**************************************************************************************************/
@@ -100,8 +82,16 @@ typedef struct {
static void
IDirectFBSurface_Dispatcher_Destruct( IDirectFBSurface *thiz )
{
+ IDirectFBSurface_Dispatcher_data *data;
+
D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz );
+ data = thiz->priv;
+
+ voodoo_manager_unregister_local( data->manager, data->self );
+
+ data->real->Release( data->real );
+
DIRECT_DEALLOCATE_INTERFACE( thiz );
}
@@ -205,11 +195,11 @@ IDirectFBSurface_Dispatcher_GetAccelerationMask( IDirectFBSurface *thiz,
static DFBResult
IDirectFBSurface_Dispatcher_GetPalette( IDirectFBSurface *thiz,
- IDirectFBPalette **interface )
+ IDirectFBPalette **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Dispatcher)
- if (!interface)
+ if (!interface_ptr)
return DFB_INVARG;
return DFB_UNIMPLEMENTED;
@@ -230,7 +220,7 @@ IDirectFBSurface_Dispatcher_SetPalette( IDirectFBSurface *thiz,
static DFBResult
IDirectFBSurface_Dispatcher_SetAlphaRamp( IDirectFBSurface *thiz,
u8 a0, u8 a1, u8 a2, u8 a3 )
-
+
{
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Dispatcher)
@@ -263,6 +253,18 @@ IDirectFBSurface_Dispatcher_GetFramebufferOffset( IDirectFBSurface *thiz,
}
static DFBResult
+IDirectFBSurface_Dispatcher_GetPhysicalAddress( IDirectFBSurface *thiz,
+ unsigned long *addr )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Dispatcher)
+
+ if (!addr)
+ return DFB_INVARG;
+
+ return DFB_UNIMPLEMENTED;
+}
+
+static DFBResult
IDirectFBSurface_Dispatcher_Unlock( IDirectFBSurface *thiz )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Dispatcher)
@@ -302,7 +304,7 @@ IDirectFBSurface_Dispatcher_Clear( IDirectFBSurface *thiz,
}
static DFBResult
-IDirectFBSurface_Dispatcher_SetClip( IDirectFBSurface *thiz,
+IDirectFBSurface_Dispatcher_SetClip( IDirectFBSurface *thiz,
const DFBRegion *clip )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Dispatcher)
@@ -311,11 +313,11 @@ IDirectFBSurface_Dispatcher_SetClip( IDirectFBSurface *thiz,
}
static DFBResult
-IDirectFBSurface_Dispatcher_GetClip( IDirectFBSurface *thiz,
+IDirectFBSurface_Dispatcher_GetClip( IDirectFBSurface *thiz,
DFBRegion *clip )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Dispatcher)
-
+
if (!clip)
return DFB_INVARG;
@@ -454,6 +456,16 @@ IDirectFBSurface_Dispatcher_FillRectangles( IDirectFBSurface *thiz,
}
static DFBResult
+IDirectFBSurface_Dispatcher_FillTrapezoids( IDirectFBSurface *thiz,
+ const DFBTrapezoid *traps,
+ unsigned int num_traps )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Dispatcher)
+
+ return DFB_UNIMPLEMENTED;
+}
+
+static DFBResult
IDirectFBSurface_Dispatcher_FillSpans( IDirectFBSurface *thiz,
int y,
const DFBSpan *spans,
@@ -645,11 +657,11 @@ IDirectFBSurface_Dispatcher_GetSubSurface( IDirectFBSurface *thiz,
static DFBResult
IDirectFBSurface_Dispatcher_GetGL( IDirectFBSurface *thiz,
- IDirectFBGL **interface )
+ IDirectFBGL **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Dispatcher)
- if (!interface)
+ if (!interface_ptr)
return DFB_INVARG;
return DFB_UNIMPLEMENTED;
@@ -681,7 +693,7 @@ static DFBResult
IDirectFBSurface_Dispatcher_ReleaseSource( IDirectFBSurface *thiz )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Dispatcher)
-
+
return DFB_UNIMPLEMENTED;
}
@@ -691,13 +703,22 @@ IDirectFBSurface_Dispatcher_SetIndexTranslation( IDirectFBSurface *thiz,
int num_indices )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Dispatcher)
-
+
return DFB_UNIMPLEMENTED;
}
/**************************************************************************************************/
static DirectResult
+Dispatch_Release( IDirectFBSurface *thiz, IDirectFBSurface *real,
+ VoodooManager *manager, VoodooRequestMessage *msg )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Dispatcher)
+
+ return thiz->Release( thiz );
+}
+
+static DirectResult
Dispatch_GetPosition( IDirectFBSurface *thiz, IDirectFBSurface *real,
VoodooManager *manager, VoodooRequestMessage *msg )
{
@@ -710,7 +731,7 @@ Dispatch_GetPosition( IDirectFBSurface *thiz, IDirectFBSurface *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_DATA, sizeof(DFBPoint), &position,
VMBT_NONE );
@@ -729,7 +750,7 @@ Dispatch_GetSize( IDirectFBSurface *thiz, IDirectFBSurface *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_DATA, sizeof(DFBDimension), &dimension,
VMBT_NONE );
@@ -748,7 +769,7 @@ Dispatch_GetVisibleRectangle( IDirectFBSurface *thiz, IDirectFBSurface *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_DATA, sizeof(DFBRectangle), &rect,
VMBT_NONE );
@@ -767,7 +788,7 @@ Dispatch_GetPixelFormat( IDirectFBSurface *thiz, IDirectFBSurface *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_INT, format,
VMBT_NONE );
@@ -799,7 +820,7 @@ Dispatch_GetAccelerationMask( IDirectFBSurface *thiz, IDirectFBSurface *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_INT, mask,
VMBT_NONE );
@@ -826,7 +847,7 @@ Dispatch_GetPalette( IDirectFBSurface *thiz, IDirectFBSurface *real,
return ret;
}
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, instance,
VMBT_NONE );
}
@@ -874,7 +895,7 @@ Dispatch_Flip( IDirectFBSurface *thiz, IDirectFBSurface *real,
ret = real->Flip( real, region, flags );
if (flags & DSFLIP_WAIT)
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
@@ -1228,6 +1249,26 @@ Dispatch_FillRectangles( IDirectFBSurface *thiz, IDirectFBSurface *real,
}
static DirectResult
+Dispatch_FillTrapezoids( IDirectFBSurface *thiz, IDirectFBSurface *real,
+ VoodooManager *manager, VoodooRequestMessage *msg )
+{
+ VoodooMessageParser parser;
+ unsigned int num_traps;
+ const DFBTrapezoid *traps;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Dispatcher)
+
+ VOODOO_PARSER_BEGIN( parser, msg );
+ VOODOO_PARSER_GET_UINT( parser, num_traps );
+ VOODOO_PARSER_GET_DATA( parser, traps );
+ VOODOO_PARSER_END( parser );
+
+ real->FillTrapezoids( real, traps, num_traps );
+
+ return DFB_OK;
+}
+
+static DirectResult
Dispatch_FillSpans( IDirectFBSurface *thiz, IDirectFBSurface *real,
VoodooManager *manager, VoodooRequestMessage *msg )
{
@@ -1413,7 +1454,7 @@ Dispatch_SetEncoding( IDirectFBSurface *thiz, IDirectFBSurface *real,
VOODOO_PARSER_END( parser );
real->SetEncoding( real, encoding );
-
+
return DFB_OK;
}
@@ -1444,7 +1485,7 @@ Dispatch_GetSubSurface( IDirectFBSurface *thiz, IDirectFBSurface *real,
return ret;
}
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, instance,
VMBT_NONE );
}
@@ -1459,7 +1500,7 @@ Dispatch_DisableAcceleration( IDirectFBSurface *thiz, IDirectFBSurface *real,
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Dispatcher)
VOODOO_PARSER_BEGIN( parser, msg );
- VOODOO_PARSER_GET_UINT( parser, mask );
+ VOODOO_PARSER_GET_INT( parser, mask );
VOODOO_PARSER_END( parser );
real->DisableAcceleration( real, mask );
@@ -1478,11 +1519,112 @@ Dispatch_ReleaseSource( IDirectFBSurface *thiz, IDirectFBSurface *real,
return DFB_OK;
}
+#define RLE16_KEY 0xf001
+
+static void
+rle16_decode( const u16 *src,
+ u16 *dst,
+ unsigned int num )
+{
+ unsigned int n = 0, last, count, out = 0;
+
+ while (out < num) {
+ last = src[n++];
+
+ if (last == RLE16_KEY) {
+ count = src[n++];
+
+ if (count == RLE16_KEY) {
+ dst[out++] = RLE16_KEY;
+ }
+ else {
+ last = src[n++];
+
+ while (count >= 4) {
+ dst[out+0] =
+ dst[out+1] =
+ dst[out+2] =
+ dst[out+3] = last;
+
+ out += 4;
+ count -= 4;
+ }
+
+ while (count >= 2) {
+ dst[out+0] =
+ dst[out+1] = last;
+
+ out += 2;
+ count -= 2;
+ }
+
+ while (count--)
+ dst[out++] = last;
+ }
+ }
+ else
+ dst[out++] = last;
+ }
+
+ D_ASSERT( out == num );
+}
+
+#define RLE32_KEY 0xf0012345
+
+static void
+rle32_decode( const u32 *src,
+ u32 *dst,
+ unsigned int num )
+{
+ unsigned int n = 0, last, count, out = 0;
+
+ while (out < num) {
+ last = src[n++];
+
+ if (last == RLE32_KEY) {
+ count = src[n++];
+
+ if (count == RLE32_KEY) {
+ dst[out++] = RLE32_KEY;
+ }
+ else {
+ last = src[n++];
+
+ while (count >= 4) {
+ dst[out+0] =
+ dst[out+1] =
+ dst[out+2] =
+ dst[out+3] = last;
+
+ out += 4;
+ count -= 4;
+ }
+
+ while (count >= 2) {
+ dst[out+0] =
+ dst[out+1] = last;
+
+ out += 2;
+ count -= 2;
+ }
+
+ while (count--)
+ dst[out++] = last;
+ }
+ }
+ else
+ dst[out++] = last;
+ }
+
+ D_ASSERT( out == num );
+}
+
static DirectResult
Dispatch_Write( IDirectFBSurface *thiz, IDirectFBSurface *real,
VoodooManager *manager, VoodooRequestMessage *msg )
{
VoodooMessageParser parser;
+ unsigned int encoded;
const DFBRectangle *rect;
const void *ptr;
int pitch;
@@ -1490,12 +1632,256 @@ Dispatch_Write( IDirectFBSurface *thiz, IDirectFBSurface *real,
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Dispatcher)
VOODOO_PARSER_BEGIN( parser, msg );
+ VOODOO_PARSER_GET_UINT( parser, encoded );
VOODOO_PARSER_GET_DATA( parser, rect );
VOODOO_PARSER_GET_DATA( parser, ptr );
VOODOO_PARSER_GET_INT( parser, pitch );
VOODOO_PARSER_END( parser );
- real->Write( real, rect, ptr, pitch );
+ if (encoded) {
+ switch (encoded) {
+ case 2: {
+ if (rect->w > 2048) {
+ u16 *buf = D_MALLOC( rect->w * 2 );
+
+ if (buf) {
+ rle16_decode( ptr, buf, rect->w );
+
+ real->Write( real, rect, buf, pitch );
+
+ D_FREE( buf );
+ }
+ else
+ D_OOM();
+ }
+ else {
+ u16 buf[2048];
+
+ rle16_decode( ptr, buf, rect->w );
+
+ real->Write( real, rect, buf, pitch );
+ }
+ break;
+ }
+
+ case 4: {
+ if (rect->w > 1024) {
+ u32 *buf = D_MALLOC( rect->w * 4 );
+
+ if (buf) {
+ rle32_decode( ptr, buf, rect->w );
+
+ real->Write( real, rect, buf, pitch );
+
+ D_FREE( buf );
+ }
+ else
+ D_OOM();
+ }
+ else {
+ u32 buf[1024];
+
+ rle32_decode( ptr, buf, rect->w );
+
+ real->Write( real, rect, buf, pitch );
+ }
+ break;
+ }
+
+ default:
+ D_UNIMPLEMENTED();
+ break;
+ }
+ }
+ else
+ real->Write( real, rect, ptr, pitch );
+
+ return DFB_OK;
+}
+
+#define RLE16_KEY 0xf001
+
+static bool
+rle16_encode( const u16 *src,
+ u16 *dst,
+ unsigned int num,
+ unsigned int *ret_num )
+{
+ unsigned int n, last, count = 0, out = 0;
+
+ for (n=0; n<num; n++) {
+ if (out + 3 > num) {
+ *ret_num = num;
+ return false;
+ }
+
+ if (count > 0) {
+ D_ASSERT( src[n] == last );
+
+ count++;
+ }
+ else {
+ count = 1;
+ last = src[n];
+ }
+
+ if (n == num-1 || src[n+1] != last) {
+ if (count > 2 || (count > 1 && last == RLE16_KEY)) {
+ dst[out++] = RLE16_KEY;
+ dst[out++] = count;
+ dst[out++] = last;
+ }
+ else {
+ if (count > 1 || last == RLE16_KEY)
+ dst[out++] = last;
+
+ dst[out++] = last;
+ }
+
+ count = 0;
+ }
+ }
+
+ *ret_num = out;
+
+ return true;
+}
+
+#define RLE32_KEY 0xf0012345
+
+static bool
+rle32_encode( const u32 *src,
+ u32 *dst,
+ unsigned int num,
+ unsigned int *ret_num )
+{
+ unsigned int n, last, count = 0, out = 0;
+
+ for (n=0; n<num; n++) {
+ if (out + 3 > num) {
+ *ret_num = num;
+ return false;
+ }
+
+ if (count > 0) {
+ D_ASSERT( src[n] == last );
+
+ count++;
+ }
+ else {
+ count = 1;
+ last = src[n];
+ }
+
+ if (n == num-1 || src[n+1] != last) {
+ if (count > 2 || (count > 1 && last == RLE32_KEY)) {
+ dst[out++] = RLE32_KEY;
+ dst[out++] = count;
+ dst[out++] = last;
+ }
+ else {
+ if (count > 1 || last == RLE32_KEY)
+ dst[out++] = last;
+
+ dst[out++] = last;
+ }
+
+ count = 0;
+ }
+ }
+
+ *ret_num = out;
+
+ return true;
+}
+
+static DirectResult
+Dispatch_Read( IDirectFBSurface *thiz, IDirectFBSurface *real,
+ VoodooManager *manager, VoodooRequestMessage *msg )
+{
+ DirectResult ret;
+ VoodooMessageParser parser;
+ const DFBRectangle *rect;
+ int len;
+ int y;
+ void *buf;
+ DFBSurfacePixelFormat format;
+ unsigned int encoded;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Dispatcher)
+
+ VOODOO_PARSER_BEGIN( parser, msg );
+ VOODOO_PARSER_GET_DATA( parser, rect );
+ VOODOO_PARSER_END( parser );
+
+ real->GetPixelFormat( real, &format );
+
+ len = DFB_BYTES_PER_LINE( format, rect->w );
+ buf = alloca( len );
+
+
+ switch (format) {
+ case DSPF_RGB16: {
+ u16 tmp[rect->w];
+
+ for (y=0; y<rect->h; y++) {
+ unsigned int num;
+ DFBRectangle r = { rect->x, rect->y + y, rect->w, 1 };
+
+ real->Read( real, &r, buf, len );
+
+ encoded = rle16_encode( buf, tmp, rect->w, &num );
+
+ ret = voodoo_manager_respond( manager, y == rect->h - 1, msg->header.serial,
+ DFB_OK, VOODOO_INSTANCE_NONE,
+ VMBT_UINT, encoded ? 2 : 0,
+ VMBT_DATA, DFB_BYTES_PER_LINE( format, num ),
+ encoded ? tmp : buf,
+ VMBT_NONE );
+ if (ret)
+ break;
+ }
+ break;
+ }
+
+ case DSPF_RGB32:
+ case DSPF_ARGB: {
+ u32 tmp[rect->w];
+
+ for (y=0; y<rect->h; y++) {
+ unsigned int num;
+ DFBRectangle r = { rect->x, rect->y + y, rect->w, 1 };
+
+ real->Read( real, &r, buf, len );
+
+ encoded = rle32_encode( buf, tmp, rect->w, &num );
+
+ ret = voodoo_manager_respond( manager, y == rect->h - 1, msg->header.serial,
+ DFB_OK, VOODOO_INSTANCE_NONE,
+ VMBT_UINT, encoded ? 4 : 0,
+ VMBT_DATA, DFB_BYTES_PER_LINE( format, num ),
+ encoded ? tmp : buf,
+ VMBT_NONE );
+ if (ret)
+ break;
+ }
+ break;
+ }
+
+ default:
+ for (y=0; y<rect->h; y++) {
+ DFBRectangle r = { rect->x, rect->y + y, rect->w, 1 };
+
+ real->Read( real, &r, buf, len );
+
+ voodoo_manager_respond( manager, y == rect->h - 1, msg->header.serial,
+ DFB_OK, VOODOO_INSTANCE_NONE,
+ VMBT_UINT, 0,
+ VMBT_DATA, len, buf,
+ VMBT_NONE );
+ }
+ break;
+ }
return DFB_OK;
}
@@ -1543,9 +1929,12 @@ Dispatch( void *dispatcher, void *real, VoodooManager *manager, VoodooRequestMes
"Handling request for instance %u with method %u...\n", msg->instance, msg->method );
switch (msg->method) {
+ case IDIRECTFBSURFACE_METHOD_ID_Release:
+ return Dispatch_Release( dispatcher, real, manager, msg );
+
case IDIRECTFBSURFACE_METHOD_ID_GetPosition:
return Dispatch_GetPosition( dispatcher, real, manager, msg );
-
+
case IDIRECTFBSURFACE_METHOD_ID_GetSize:
return Dispatch_GetSize( dispatcher, real, manager, msg );
@@ -1632,7 +2021,7 @@ Dispatch( void *dispatcher, void *real, VoodooManager *manager, VoodooRequestMes
case IDIRECTFBSURFACE_METHOD_ID_DrawGlyph:
return Dispatch_DrawGlyph( dispatcher, real, manager, msg );
-
+
case IDIRECTFBSURFACE_METHOD_ID_SetEncoding:
return Dispatch_SetEncoding( dispatcher, real, manager, msg );
@@ -1642,18 +2031,24 @@ Dispatch( void *dispatcher, void *real, VoodooManager *manager, VoodooRequestMes
case IDIRECTFBSURFACE_METHOD_ID_FillRectangles:
return Dispatch_FillRectangles( dispatcher, real, manager, msg );
+ case IDIRECTFBSURFACE_METHOD_ID_FillTrapezoids:
+ return Dispatch_FillTrapezoids( dispatcher, real, manager, msg );
+
case IDIRECTFBSURFACE_METHOD_ID_FillSpans:
return Dispatch_FillSpans( dispatcher, real, manager, msg );
-
+
case IDIRECTFBSURFACE_METHOD_ID_DisableAcceleration:
return Dispatch_DisableAcceleration( dispatcher, real, manager, msg );
-
+
case IDIRECTFBSURFACE_METHOD_ID_ReleaseSource:
return Dispatch_ReleaseSource( dispatcher, real, manager, msg );
case IDIRECTFBSURFACE_METHOD_ID_Write:
return Dispatch_Write( dispatcher, real, manager, msg );
+ case IDIRECTFBSURFACE_METHOD_ID_Read:
+ return Dispatch_Read( dispatcher, real, manager, msg );
+
case IDIRECTFBSURFACE_METHOD_ID_SetRenderOptions:
return Dispatch_SetRenderOptions( dispatcher, real, manager, msg );
@@ -1694,6 +2089,8 @@ Construct( IDirectFBSurface *thiz,
data->ref = 1;
data->real = real;
data->super = super;
+ data->self = *ret_instance;
+ data->manager = manager;
thiz->AddRef = IDirectFBSurface_Dispatcher_AddRef;
thiz->Release = IDirectFBSurface_Dispatcher_Release;
@@ -1711,6 +2108,7 @@ Construct( IDirectFBSurface *thiz,
thiz->Lock = IDirectFBSurface_Dispatcher_Lock;
thiz->GetFramebufferOffset = IDirectFBSurface_Dispatcher_GetFramebufferOffset;
+ thiz->GetPhysicalAddress = IDirectFBSurface_Dispatcher_GetPhysicalAddress;
thiz->Unlock = IDirectFBSurface_Dispatcher_Unlock;
thiz->Flip = IDirectFBSurface_Dispatcher_Flip;
thiz->SetField = IDirectFBSurface_Dispatcher_SetField;
@@ -1738,6 +2136,7 @@ Construct( IDirectFBSurface *thiz,
thiz->SetDrawingFlags = IDirectFBSurface_Dispatcher_SetDrawingFlags;
thiz->FillRectangle = IDirectFBSurface_Dispatcher_FillRectangle;
thiz->FillRectangles = IDirectFBSurface_Dispatcher_FillRectangles;
+ thiz->FillTrapezoids = IDirectFBSurface_Dispatcher_FillTrapezoids;
thiz->FillSpans = IDirectFBSurface_Dispatcher_FillSpans;
thiz->DrawLine = IDirectFBSurface_Dispatcher_DrawLine;
thiz->DrawLines = IDirectFBSurface_Dispatcher_DrawLines;
@@ -1755,11 +2154,11 @@ Construct( IDirectFBSurface *thiz,
thiz->GetGL = IDirectFBSurface_Dispatcher_GetGL;
thiz->Dump = IDirectFBSurface_Dispatcher_Dump;
-
+
thiz->DisableAcceleration = IDirectFBSurface_Dispatcher_DisableAcceleration;
-
+
thiz->ReleaseSource = IDirectFBSurface_Dispatcher_ReleaseSource;
-
+
thiz->SetIndexTranslation = IDirectFBSurface_Dispatcher_SetIndexTranslation;
return DFB_OK;
diff --git a/proxy/dispatcher/idirectfbsurface_dispatcher.h b/proxy/dispatcher/idirectfbsurface_dispatcher.h
index a04b9d8..5b2c7dc 100644
--- a/proxy/dispatcher/idirectfbsurface_dispatcher.h
+++ b/proxy/dispatcher/idirectfbsurface_dispatcher.h
@@ -87,5 +87,7 @@
#define IDIRECTFBSURFACE_METHOD_ID_Read 56
#define IDIRECTFBSURFACE_METHOD_ID_SetColors 57
#define IDIRECTFBSURFACE_METHOD_ID_BatchBlit2 58
+#define IDIRECTFBSURFACE_METHOD_ID_SetRemoteInstance 59
+#define IDIRECTFBSURFACE_METHOD_ID_FillTrapezoids 60
#endif
diff --git a/proxy/dispatcher/idirectfbwindow_dispatcher.c b/proxy/dispatcher/idirectfbwindow_dispatcher.c
index 3998d14..26531ca 100644
--- a/proxy/dispatcher/idirectfbwindow_dispatcher.c
+++ b/proxy/dispatcher/idirectfbwindow_dispatcher.c
@@ -36,6 +36,7 @@
#include <direct/messages.h>
#include <direct/util.h>
+#include <voodoo/conf.h>
#include <voodoo/interface.h>
#include <voodoo/manager.h>
@@ -44,7 +45,7 @@
#include "idirectfbwindow_dispatcher.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBWindow *thiz,
IDirectFBWindow *real,
VoodooManager *manager,
@@ -62,8 +63,16 @@ DIRECT_INTERFACE_IMPLEMENTATION( IDirectFBWindow, Dispatcher )
static void
IDirectFBWindow_Dispatcher_Destruct( IDirectFBWindow *thiz )
{
+ IDirectFBWindow_Dispatcher_data *data;
+
D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz );
+ data = thiz->priv;
+
+ voodoo_manager_unregister_local( data->manager, data->self );
+
+ data->real->Release( data->real );
+
DIRECT_DEALLOCATE_INTERFACE( thiz );
}
@@ -117,7 +126,7 @@ IDirectFBWindow_Dispatcher_DetachEventBuffer( IDirectFBWindow *thiz,
IDirectFBEventBuffer *buffer )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBWindow_Dispatcher)
-
+
D_UNIMPLEMENTED();
return DFB_UNIMPLEMENTED;
@@ -549,6 +558,15 @@ IDirectFBWindow_Dispatcher_ResizeSurface( IDirectFBWindow *thiz,
/**************************************************************************************************/
static DirectResult
+Dispatch_Release( IDirectFBWindow *thiz, IDirectFBWindow *real,
+ VoodooManager *manager, VoodooRequestMessage *msg )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBWindow_Dispatcher)
+
+ return thiz->Release( thiz );
+}
+
+static DirectResult
Dispatch_CreateEventBuffer( IDirectFBWindow *thiz, IDirectFBWindow *real,
VoodooManager *manager, VoodooRequestMessage *msg )
{
@@ -573,7 +591,7 @@ Dispatch_CreateEventBuffer( IDirectFBWindow *thiz, IDirectFBWindow *real,
if (ret)
buffer->Release( buffer );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -605,12 +623,28 @@ Dispatch_AttachEventBuffer( IDirectFBWindow *thiz, IDirectFBWindow *real,
ret = real->AttachEventBuffer( real, buffer_data->src );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
static DirectResult
+Dispatch_EnableEvents( IDirectFBWindow *thiz, IDirectFBWindow *real,
+ VoodooManager *manager, VoodooRequestMessage *msg )
+{
+ VoodooMessageParser parser;
+ DFBWindowEventType mask;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBWindow_Dispatcher)
+
+ VOODOO_PARSER_BEGIN( parser, msg );
+ VOODOO_PARSER_GET_UINT( parser, mask );
+ VOODOO_PARSER_END( parser );
+
+ return real->EnableEvents( real, mask );
+}
+
+static DirectResult
Dispatch_DetachEventBuffer( IDirectFBWindow *thiz, IDirectFBWindow *real,
VoodooManager *manager, VoodooRequestMessage *msg )
{
@@ -637,7 +671,7 @@ Dispatch_DetachEventBuffer( IDirectFBWindow *thiz, IDirectFBWindow *real,
ret = real->DetachEventBuffer( real, buffer_data->src );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -655,7 +689,7 @@ Dispatch_GetID( IDirectFBWindow *thiz, IDirectFBWindow *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_ID, id,
VMBT_NONE );
@@ -674,7 +708,7 @@ Dispatch_GetPosition( IDirectFBWindow *thiz, IDirectFBWindow *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_DATA, sizeof(DFBPoint), &position,
VMBT_NONE );
@@ -693,7 +727,7 @@ Dispatch_GetSize( IDirectFBWindow *thiz, IDirectFBWindow *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_DATA, sizeof(DFBDimension), &size,
VMBT_NONE );
@@ -720,7 +754,7 @@ Dispatch_GetSurface( IDirectFBWindow *thiz, IDirectFBWindow *real,
return ret;
}
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, instance,
VMBT_NONE );
}
@@ -757,7 +791,7 @@ Dispatch_GetOptions( IDirectFBWindow *thiz, IDirectFBWindow *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_INT, options,
VMBT_NONE );
@@ -794,7 +828,7 @@ Dispatch_GetOpacity( IDirectFBWindow *thiz, IDirectFBWindow *real,
if (ret)
return ret;
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
DFB_OK, VOODOO_INSTANCE_NONE,
VMBT_UINT, opacity,
VMBT_NONE );
@@ -823,7 +857,7 @@ Dispatch_SetCursorShape( IDirectFBWindow *thiz, IDirectFBWindow *real,
ret = real->SetCursorShape( real, surface, hot->x, hot->y );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -838,7 +872,7 @@ Dispatch_RequestFocus( IDirectFBWindow *thiz, IDirectFBWindow *real,
ret = real->RequestFocus( real );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -853,7 +887,7 @@ Dispatch_GrabPointer( IDirectFBWindow *thiz, IDirectFBWindow *real,
ret = real->GrabPointer( real );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -868,7 +902,7 @@ Dispatch_UngrabPointer( IDirectFBWindow *thiz, IDirectFBWindow *real,
ret = real->UngrabPointer( real );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -925,7 +959,7 @@ Dispatch_Resize( IDirectFBWindow *thiz, IDirectFBWindow *real,
ret = real->Resize( real, size->w, size->h );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -944,6 +978,13 @@ Dispatch_SetStackingClass( IDirectFBWindow *thiz, IDirectFBWindow *real,
VOODOO_PARSER_GET_INT( parser, stacking_class );
VOODOO_PARSER_END( parser );
+ if (1) {
+ if (voodoo_config->stacking_mask && !(voodoo_config->stacking_mask & (1 << stacking_class))) {
+ D_ERROR( "Stacking class not permitted!\n" );
+ return DR_ACCESSDENIED;
+ }
+ }
+
ret = real->SetStackingClass( real, stacking_class );
return DFB_OK;
@@ -1014,7 +1055,7 @@ Dispatch_Destroy( IDirectFBWindow *thiz, IDirectFBWindow *real,
ret = real->Destroy( real );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -1035,7 +1076,7 @@ Dispatch_SetBounds( IDirectFBWindow *thiz, IDirectFBWindow *real,
ret = real->SetBounds( real, bounds->x, bounds->y, bounds->w, bounds->h );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
@@ -1056,11 +1097,97 @@ Dispatch_ResizeSurface( IDirectFBWindow *thiz, IDirectFBWindow *real,
ret = real->ResizeSurface( real, size->w, size->h );
- return voodoo_manager_respond( manager, msg->header.serial,
+ return voodoo_manager_respond( manager, true, msg->header.serial,
ret, VOODOO_INSTANCE_NONE,
VMBT_NONE );
}
+static DirectResult
+Dispatch_SetSrcGeometry( IDirectFBWindow *thiz, IDirectFBWindow *real,
+ VoodooManager *manager, VoodooRequestMessage *msg )
+{
+ DFBResult ret;
+ VoodooMessageParser parser;
+ const DFBWindowGeometry *geometry;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBWindow_Dispatcher)
+
+ VOODOO_PARSER_BEGIN( parser, msg );
+ VOODOO_PARSER_GET_DATA( parser, geometry );
+ VOODOO_PARSER_END( parser );
+
+ ret = real->SetSrcGeometry( real, geometry );
+
+ return voodoo_manager_respond( manager, true, msg->header.serial,
+ ret, VOODOO_INSTANCE_NONE,
+ VMBT_NONE );
+}
+
+static DirectResult
+Dispatch_SetDstGeometry( IDirectFBWindow *thiz, IDirectFBWindow *real,
+ VoodooManager *manager, VoodooRequestMessage *msg )
+{
+ DFBResult ret;
+ VoodooMessageParser parser;
+ const DFBWindowGeometry *geometry;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBWindow_Dispatcher)
+
+ VOODOO_PARSER_BEGIN( parser, msg );
+ VOODOO_PARSER_GET_DATA( parser, geometry );
+ VOODOO_PARSER_END( parser );
+
+ ret = real->SetDstGeometry( real, geometry );
+
+ return voodoo_manager_respond( manager, true, msg->header.serial,
+ ret, VOODOO_INSTANCE_NONE,
+ VMBT_NONE );
+}
+
+static DirectResult
+Dispatch_GetProperty( IDirectFBWindow *thiz, IDirectFBWindow *real,
+ VoodooManager *manager, VoodooRequestMessage *msg )
+{
+ DirectResult ret;
+ VoodooMessageParser parser;
+ const char *key;
+ void *value = NULL;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBWindow_Dispatcher)
+
+ VOODOO_PARSER_BEGIN( parser, msg );
+ VOODOO_PARSER_GET_STRING( parser, key );
+ VOODOO_PARSER_END( parser );
+
+ ret = real->GetProperty( real, key, &value );
+ if (ret)
+ return ret;
+
+ if (!value)
+ value = (void*) "";
+
+ return voodoo_manager_respond( manager, true, msg->header.serial,
+ DFB_OK, VOODOO_INSTANCE_NONE,
+ VMBT_STRING, value,
+ VMBT_NONE );
+}
+
+static DirectResult
+Dispatch_SendEvent( IDirectFBWindow *thiz, IDirectFBWindow *real,
+ VoodooManager *manager, VoodooRequestMessage *msg )
+{
+ VoodooMessageParser parser;
+ const DFBWindowEvent *event;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBWindow_Dispatcher)
+
+ VOODOO_PARSER_BEGIN( parser, msg );
+ VOODOO_PARSER_GET_DATA( parser, event );
+ VOODOO_PARSER_END( parser );
+
+ return real->SendEvent( real, event );
+}
+
static DirectResult
Dispatch( void *dispatcher, void *real, VoodooManager *manager, VoodooRequestMessage *msg )
@@ -1069,21 +1196,27 @@ Dispatch( void *dispatcher, void *real, VoodooManager *manager, VoodooRequestMes
"Handling request for instance %u with method %u...\n", msg->instance, msg->method );
switch (msg->method) {
+ case IDIRECTFBWINDOW_METHOD_ID_Release:
+ return Dispatch_Release( dispatcher, real, manager, msg );
+
case IDIRECTFBWINDOW_METHOD_ID_CreateEventBuffer:
return Dispatch_CreateEventBuffer( dispatcher, real, manager, msg );
case IDIRECTFBWINDOW_METHOD_ID_AttachEventBuffer:
return Dispatch_AttachEventBuffer( dispatcher, real, manager, msg );
-
+
+ case IDIRECTFBWINDOW_METHOD_ID_EnableEvents:
+ return Dispatch_EnableEvents( dispatcher, real, manager, msg );
+
case IDIRECTFBWINDOW_METHOD_ID_DetachEventBuffer:
return Dispatch_DetachEventBuffer( dispatcher, real, manager, msg );
case IDIRECTFBWINDOW_METHOD_ID_GetID:
return Dispatch_GetID( dispatcher, real, manager, msg );
-
+
case IDIRECTFBWINDOW_METHOD_ID_GetPosition:
return Dispatch_GetPosition( dispatcher, real, manager, msg );
-
+
case IDIRECTFBWINDOW_METHOD_ID_GetSize:
return Dispatch_GetSize( dispatcher, real, manager, msg );
@@ -1143,12 +1276,24 @@ Dispatch( void *dispatcher, void *real, VoodooManager *manager, VoodooRequestMes
case IDIRECTFBWINDOW_METHOD_ID_Destroy:
return Dispatch_Destroy( dispatcher, real, manager, msg );
-
+
case IDIRECTFBWINDOW_METHOD_ID_SetBounds:
return Dispatch_SetBounds( dispatcher, real, manager, msg );
-
+
case IDIRECTFBWINDOW_METHOD_ID_ResizeSurface:
return Dispatch_ResizeSurface( dispatcher, real, manager, msg );
+
+ case IDIRECTFBWINDOW_METHOD_ID_SetSrcGeometry:
+ return Dispatch_SetSrcGeometry( dispatcher, real, manager, msg );
+
+ case IDIRECTFBWINDOW_METHOD_ID_SetDstGeometry:
+ return Dispatch_SetDstGeometry( dispatcher, real, manager, msg );
+
+ case IDIRECTFBWINDOW_METHOD_ID_GetProperty:
+ return Dispatch_GetProperty( dispatcher, real, manager, msg );
+
+ case IDIRECTFBWINDOW_METHOD_ID_SendEvent:
+ return Dispatch_SendEvent( dispatcher, real, manager, msg );
}
return DFB_NOSUCHMETHOD;
@@ -1196,6 +1341,7 @@ Construct( IDirectFBWindow *thiz, /* Dispatcher interface */
data->real = real;
data->self = instance;
data->super = super;
+ data->manager = manager;
/* Initialize interface methods. */
thiz->AddRef = IDirectFBWindow_Dispatcher_AddRef;
diff --git a/proxy/dispatcher/idirectfbwindow_dispatcher.h b/proxy/dispatcher/idirectfbwindow_dispatcher.h
index ff4d18a..75a10c6 100644
--- a/proxy/dispatcher/idirectfbwindow_dispatcher.h
+++ b/proxy/dispatcher/idirectfbwindow_dispatcher.h
@@ -69,6 +69,23 @@
#define IDIRECTFBWINDOW_METHOD_ID_DetachEventBuffer 38
#define IDIRECTFBWINDOW_METHOD_ID_SetBounds 39
#define IDIRECTFBWINDOW_METHOD_ID_ResizeSurface 40
+#define IDIRECTFBWINDOW_METHOD_ID_Bind 41
+#define IDIRECTFBWINDOW_METHOD_ID_Unbind 42
+#define IDIRECTFBWINDOW_METHOD_ID_SetKeySelection 43
+#define IDIRECTFBWINDOW_METHOD_ID_GrabUnselectedKeys 44
+#define IDIRECTFBWINDOW_METHOD_ID_UngrabUnselectedKeys 45
+#define IDIRECTFBWINDOW_METHOD_ID_SetSrcGeometry 46
+#define IDIRECTFBWINDOW_METHOD_ID_SetDstGeometry 47
+#define IDIRECTFBWINDOW_METHOD_ID_SetProperty 48
+#define IDIRECTFBWINDOW_METHOD_ID_GetProperty 49
+#define IDIRECTFBWINDOW_METHOD_ID_RemoveProperty 50
+#define IDIRECTFBWINDOW_METHOD_ID_SetRotation 51
+#define IDIRECTFBWINDOW_METHOD_ID_SetAssociation 52
+#define IDIRECTFBWINDOW_METHOD_ID_BeginUpdates 53
+#define IDIRECTFBWINDOW_METHOD_ID_SetCursorFlags 54
+#define IDIRECTFBWINDOW_METHOD_ID_SetCursorResolution 55
+#define IDIRECTFBWINDOW_METHOD_ID_SetCursorPosition 56
+#define IDIRECTFBWINDOW_METHOD_ID_SendEvent 57
/*
* private data struct of IDirectFBWindow_Dispatcher
@@ -80,6 +97,8 @@ typedef struct {
VoodooInstanceID self;
VoodooInstanceID super;
+
+ VoodooManager *manager;
} IDirectFBWindow_Dispatcher_data;
#endif
diff --git a/proxy/requestor/Makefile.am b/proxy/requestor/Makefile.am
index e64f78d..a3688d5 100644
--- a/proxy/requestor/Makefile.am
+++ b/proxy/requestor/Makefile.am
@@ -17,9 +17,9 @@ idirectfbvideoproviderdir = $(INTERFACES_DIR)/IDirectFBVideoProvider
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
- -I$(top_srcdir)/lib \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/proxy/dispatcher \
-DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\"
diff --git a/proxy/requestor/Makefile.in b/proxy/requestor/Makefile.in
index 43fb833..70db915 100644
--- a/proxy/requestor/Makefile.in
+++ b/proxy/requestor/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,12 +47,34 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(idirectfbdir)" \
"$(DESTDIR)$(idirectfbdatabufferdir)" \
"$(DESTDIR)$(idirectfbdisplaylayerdir)" \
@@ -72,17 +96,6 @@ am__installdirs = "$(DESTDIR)$(idirectfbdir)" \
"$(DESTDIR)$(idirectfbscreendir)" \
"$(DESTDIR)$(idirectfbsurfacedir)" \
"$(DESTDIR)$(idirectfbwindowdir)"
-idirectfbLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbdatabufferLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbdisplaylayerLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbeventbufferLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbfontLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbimageproviderLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbinputdeviceLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbpaletteLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbscreenLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbsurfaceLTLIBRARIES_INSTALL = $(INSTALL)
-idirectfbwindowLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(idirectfb_LTLIBRARIES) \
$(idirectfbdatabuffer_LTLIBRARIES) \
$(idirectfbdisplaylayer_LTLIBRARIES) \
@@ -96,7 +109,10 @@ libidirectfb_requestor_la_DEPENDENCIES = $(LIBS)
am_libidirectfb_requestor_la_OBJECTS = idirectfb_requestor.lo
libidirectfb_requestor_la_OBJECTS = \
$(am_libidirectfb_requestor_la_OBJECTS)
-libidirectfb_requestor_la_LINK = $(LIBTOOL) --tag=CC \
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libidirectfb_requestor_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) $(libidirectfb_requestor_la_LDFLAGS) \
$(LDFLAGS) -o $@
@@ -105,9 +121,9 @@ am_libidirectfbdatabuffer_requestor_la_OBJECTS = \
idirectfbdatabuffer_requestor.lo
libidirectfbdatabuffer_requestor_la_OBJECTS = \
$(am_libidirectfbdatabuffer_requestor_la_OBJECTS)
-libidirectfbdatabuffer_requestor_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
+libidirectfbdatabuffer_requestor_la_LINK = $(LIBTOOL) $(AM_V_lt) \
+ --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbdatabuffer_requestor_la_LDFLAGS) $(LDFLAGS) -o \
$@
libidirectfbdisplaylayer_requestor_la_DEPENDENCIES = $(LIBS)
@@ -115,9 +131,9 @@ am_libidirectfbdisplaylayer_requestor_la_OBJECTS = \
idirectfbdisplaylayer_requestor.lo
libidirectfbdisplaylayer_requestor_la_OBJECTS = \
$(am_libidirectfbdisplaylayer_requestor_la_OBJECTS)
-libidirectfbdisplaylayer_requestor_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
+libidirectfbdisplaylayer_requestor_la_LINK = $(LIBTOOL) $(AM_V_lt) \
+ --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbdisplaylayer_requestor_la_LDFLAGS) $(LDFLAGS) -o \
$@
libidirectfbeventbuffer_requestor_la_DEPENDENCIES = $(LIBS)
@@ -125,16 +141,16 @@ am_libidirectfbeventbuffer_requestor_la_OBJECTS = \
idirectfbeventbuffer_requestor.lo
libidirectfbeventbuffer_requestor_la_OBJECTS = \
$(am_libidirectfbeventbuffer_requestor_la_OBJECTS)
-libidirectfbeventbuffer_requestor_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
+libidirectfbeventbuffer_requestor_la_LINK = $(LIBTOOL) $(AM_V_lt) \
+ --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbeventbuffer_requestor_la_LDFLAGS) $(LDFLAGS) -o \
$@
libidirectfbfont_requestor_la_DEPENDENCIES = $(LIBS)
am_libidirectfbfont_requestor_la_OBJECTS = idirectfbfont_requestor.lo
libidirectfbfont_requestor_la_OBJECTS = \
$(am_libidirectfbfont_requestor_la_OBJECTS)
-libidirectfbfont_requestor_la_LINK = $(LIBTOOL) --tag=CC \
+libidirectfbfont_requestor_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbfont_requestor_la_LDFLAGS) $(LDFLAGS) -o $@
@@ -143,9 +159,9 @@ am_libidirectfbimageprovider_requestor_la_OBJECTS = \
idirectfbimageprovider_requestor.lo
libidirectfbimageprovider_requestor_la_OBJECTS = \
$(am_libidirectfbimageprovider_requestor_la_OBJECTS)
-libidirectfbimageprovider_requestor_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
+libidirectfbimageprovider_requestor_la_LINK = $(LIBTOOL) $(AM_V_lt) \
+ --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbimageprovider_requestor_la_LDFLAGS) $(LDFLAGS) \
-o $@
libidirectfbinputdevice_requestor_la_DEPENDENCIES = $(LIBS)
@@ -153,9 +169,9 @@ am_libidirectfbinputdevice_requestor_la_OBJECTS = \
idirectfbinputdevice_requestor.lo
libidirectfbinputdevice_requestor_la_OBJECTS = \
$(am_libidirectfbinputdevice_requestor_la_OBJECTS)
-libidirectfbinputdevice_requestor_la_LINK = $(LIBTOOL) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) \
+libidirectfbinputdevice_requestor_la_LINK = $(LIBTOOL) $(AM_V_lt) \
+ --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbinputdevice_requestor_la_LDFLAGS) $(LDFLAGS) -o \
$@
libidirectfbpalette_requestor_la_DEPENDENCIES = $(LIBS)
@@ -163,7 +179,7 @@ am_libidirectfbpalette_requestor_la_OBJECTS = \
idirectfbpalette_requestor.lo
libidirectfbpalette_requestor_la_OBJECTS = \
$(am_libidirectfbpalette_requestor_la_OBJECTS)
-libidirectfbpalette_requestor_la_LINK = $(LIBTOOL) --tag=CC \
+libidirectfbpalette_requestor_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbpalette_requestor_la_LDFLAGS) $(LDFLAGS) -o $@
@@ -172,7 +188,7 @@ am_libidirectfbscreen_requestor_la_OBJECTS = \
idirectfbscreen_requestor.lo
libidirectfbscreen_requestor_la_OBJECTS = \
$(am_libidirectfbscreen_requestor_la_OBJECTS)
-libidirectfbscreen_requestor_la_LINK = $(LIBTOOL) --tag=CC \
+libidirectfbscreen_requestor_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbscreen_requestor_la_LDFLAGS) $(LDFLAGS) -o $@
@@ -181,7 +197,7 @@ am_libidirectfbsurface_requestor_la_OBJECTS = \
idirectfbsurface_requestor.lo
libidirectfbsurface_requestor_la_OBJECTS = \
$(am_libidirectfbsurface_requestor_la_OBJECTS)
-libidirectfbsurface_requestor_la_LINK = $(LIBTOOL) --tag=CC \
+libidirectfbsurface_requestor_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbsurface_requestor_la_LDFLAGS) $(LDFLAGS) -o $@
@@ -190,22 +206,36 @@ am_libidirectfbwindow_requestor_la_OBJECTS = \
idirectfbwindow_requestor.lo
libidirectfbwindow_requestor_la_OBJECTS = \
$(am_libidirectfbwindow_requestor_la_OBJECTS)
-libidirectfbwindow_requestor_la_LINK = $(LIBTOOL) --tag=CC \
+libidirectfbwindow_requestor_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
$(libidirectfbwindow_requestor_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libidirectfb_requestor_la_SOURCES) \
$(libidirectfbdatabuffer_requestor_la_SOURCES) \
$(libidirectfbdisplaylayer_requestor_la_SOURCES) \
@@ -228,17 +258,6 @@ DIST_SOURCES = $(libidirectfb_requestor_la_SOURCES) \
$(libidirectfbscreen_requestor_la_SOURCES) \
$(libidirectfbsurface_requestor_la_SOURCES) \
$(libidirectfbwindow_requestor_la_SOURCES)
-idirectfbDATA_INSTALL = $(INSTALL_DATA)
-idirectfbdatabufferDATA_INSTALL = $(INSTALL_DATA)
-idirectfbdisplaylayerDATA_INSTALL = $(INSTALL_DATA)
-idirectfbeventbufferDATA_INSTALL = $(INSTALL_DATA)
-idirectfbfontDATA_INSTALL = $(INSTALL_DATA)
-idirectfbimageproviderDATA_INSTALL = $(INSTALL_DATA)
-idirectfbinputdeviceDATA_INSTALL = $(INSTALL_DATA)
-idirectfbpaletteDATA_INSTALL = $(INSTALL_DATA)
-idirectfbscreenDATA_INSTALL = $(INSTALL_DATA)
-idirectfbsurfaceDATA_INSTALL = $(INSTALL_DATA)
-idirectfbwindowDATA_INSTALL = $(INSTALL_DATA)
DATA = $(idirectfb_DATA) $(idirectfbdatabuffer_DATA) \
$(idirectfbdisplaylayer_DATA) $(idirectfbeventbuffer_DATA) \
$(idirectfbfont_DATA) $(idirectfbimageprovider_DATA) \
@@ -250,6 +269,7 @@ CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -273,11 +293,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -291,16 +314,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -321,15 +345,18 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = \
$(top_builddir)/lib/voodoo/libvoodoo.la \
$(top_builddir)/lib/direct/libdirect.la
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -340,21 +367,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -362,6 +397,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -375,6 +414,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -382,9 +422,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -431,6 +472,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INTERFACES_DIR = $(MODULEDIR)/interfaces
@@ -448,9 +490,9 @@ idirectfbwindowdir = $(INTERFACES_DIR)/IDirectFBWindow
idirectfbvideoproviderdir = $(INTERFACES_DIR)/IDirectFBVideoProvider
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
- -I$(top_srcdir)/lib \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/proxy/dispatcher \
-DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\"
@@ -540,14 +582,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu proxy/requestor/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu proxy/requestor/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu proxy/requestor/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu proxy/requestor/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -557,6 +599,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -565,23 +608,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-idirectfbLTLIBRARIES: $(idirectfb_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbdir)"
- @list='$(idirectfb_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfb_LTLIBRARIES)'; test -n "$(idirectfbdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbdir)"; \
+ }
uninstall-idirectfbLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfb_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbdir)/$$p"; \
+ @list='$(idirectfb_LTLIBRARIES)'; test -n "$(idirectfbdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbdir)/$$f"; \
done
clean-idirectfbLTLIBRARIES:
@@ -595,20 +643,24 @@ clean-idirectfbLTLIBRARIES:
install-idirectfbdatabufferLTLIBRARIES: $(idirectfbdatabuffer_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbdatabufferdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbdatabufferdir)"
- @list='$(idirectfbdatabuffer_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbdatabuffer_LTLIBRARIES)'; test -n "$(idirectfbdatabufferdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbdatabufferLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbdatabufferdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbdatabufferLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbdatabufferdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbdatabufferdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbdatabufferdir)"; \
+ }
uninstall-idirectfbdatabufferLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbdatabuffer_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbdatabufferdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbdatabufferdir)/$$p"; \
+ @list='$(idirectfbdatabuffer_LTLIBRARIES)'; test -n "$(idirectfbdatabufferdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbdatabufferdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbdatabufferdir)/$$f"; \
done
clean-idirectfbdatabufferLTLIBRARIES:
@@ -622,20 +674,24 @@ clean-idirectfbdatabufferLTLIBRARIES:
install-idirectfbdisplaylayerLTLIBRARIES: $(idirectfbdisplaylayer_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbdisplaylayerdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbdisplaylayerdir)"
- @list='$(idirectfbdisplaylayer_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbdisplaylayer_LTLIBRARIES)'; test -n "$(idirectfbdisplaylayerdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbdisplaylayerLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbdisplaylayerLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbdisplaylayerdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbdisplaylayerdir)"; \
+ }
uninstall-idirectfbdisplaylayerLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbdisplaylayer_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbdisplaylayerdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbdisplaylayerdir)/$$p"; \
+ @list='$(idirectfbdisplaylayer_LTLIBRARIES)'; test -n "$(idirectfbdisplaylayerdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f"; \
done
clean-idirectfbdisplaylayerLTLIBRARIES:
@@ -649,20 +705,24 @@ clean-idirectfbdisplaylayerLTLIBRARIES:
install-idirectfbeventbufferLTLIBRARIES: $(idirectfbeventbuffer_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbeventbufferdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbeventbufferdir)"
- @list='$(idirectfbeventbuffer_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbeventbuffer_LTLIBRARIES)'; test -n "$(idirectfbeventbufferdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbeventbufferLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbeventbufferdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbeventbufferLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbeventbufferdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbeventbufferdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbeventbufferdir)"; \
+ }
uninstall-idirectfbeventbufferLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbeventbuffer_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbeventbufferdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbeventbufferdir)/$$p"; \
+ @list='$(idirectfbeventbuffer_LTLIBRARIES)'; test -n "$(idirectfbeventbufferdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbeventbufferdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbeventbufferdir)/$$f"; \
done
clean-idirectfbeventbufferLTLIBRARIES:
@@ -676,20 +736,24 @@ clean-idirectfbeventbufferLTLIBRARIES:
install-idirectfbfontLTLIBRARIES: $(idirectfbfont_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbfontdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbfontdir)"
- @list='$(idirectfbfont_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbfont_LTLIBRARIES)'; test -n "$(idirectfbfontdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbfontLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbfontdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbfontLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbfontdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbfontdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbfontdir)"; \
+ }
uninstall-idirectfbfontLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbfont_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbfontdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbfontdir)/$$p"; \
+ @list='$(idirectfbfont_LTLIBRARIES)'; test -n "$(idirectfbfontdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbfontdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbfontdir)/$$f"; \
done
clean-idirectfbfontLTLIBRARIES:
@@ -703,20 +767,24 @@ clean-idirectfbfontLTLIBRARIES:
install-idirectfbimageproviderLTLIBRARIES: $(idirectfbimageprovider_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbimageproviderdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbimageproviderdir)"
- @list='$(idirectfbimageprovider_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbimageprovider_LTLIBRARIES)'; test -n "$(idirectfbimageproviderdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbimageproviderLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbimageproviderdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbimageproviderLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbimageproviderdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbimageproviderdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbimageproviderdir)"; \
+ }
uninstall-idirectfbimageproviderLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbimageprovider_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbimageproviderdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbimageproviderdir)/$$p"; \
+ @list='$(idirectfbimageprovider_LTLIBRARIES)'; test -n "$(idirectfbimageproviderdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbimageproviderdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbimageproviderdir)/$$f"; \
done
clean-idirectfbimageproviderLTLIBRARIES:
@@ -730,20 +798,24 @@ clean-idirectfbimageproviderLTLIBRARIES:
install-idirectfbinputdeviceLTLIBRARIES: $(idirectfbinputdevice_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbinputdevicedir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbinputdevicedir)"
- @list='$(idirectfbinputdevice_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbinputdevice_LTLIBRARIES)'; test -n "$(idirectfbinputdevicedir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbinputdeviceLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbinputdevicedir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbinputdeviceLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbinputdevicedir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbinputdevicedir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbinputdevicedir)"; \
+ }
uninstall-idirectfbinputdeviceLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbinputdevice_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbinputdevicedir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbinputdevicedir)/$$p"; \
+ @list='$(idirectfbinputdevice_LTLIBRARIES)'; test -n "$(idirectfbinputdevicedir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbinputdevicedir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbinputdevicedir)/$$f"; \
done
clean-idirectfbinputdeviceLTLIBRARIES:
@@ -757,20 +829,24 @@ clean-idirectfbinputdeviceLTLIBRARIES:
install-idirectfbpaletteLTLIBRARIES: $(idirectfbpalette_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbpalettedir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbpalettedir)"
- @list='$(idirectfbpalette_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbpalette_LTLIBRARIES)'; test -n "$(idirectfbpalettedir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbpaletteLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbpalettedir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbpaletteLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbpalettedir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbpalettedir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbpalettedir)"; \
+ }
uninstall-idirectfbpaletteLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbpalette_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbpalettedir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbpalettedir)/$$p"; \
+ @list='$(idirectfbpalette_LTLIBRARIES)'; test -n "$(idirectfbpalettedir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbpalettedir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbpalettedir)/$$f"; \
done
clean-idirectfbpaletteLTLIBRARIES:
@@ -784,20 +860,24 @@ clean-idirectfbpaletteLTLIBRARIES:
install-idirectfbscreenLTLIBRARIES: $(idirectfbscreen_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbscreendir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbscreendir)"
- @list='$(idirectfbscreen_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbscreen_LTLIBRARIES)'; test -n "$(idirectfbscreendir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbscreenLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbscreendir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbscreenLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbscreendir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbscreendir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbscreendir)"; \
+ }
uninstall-idirectfbscreenLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbscreen_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbscreendir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbscreendir)/$$p"; \
+ @list='$(idirectfbscreen_LTLIBRARIES)'; test -n "$(idirectfbscreendir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbscreendir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbscreendir)/$$f"; \
done
clean-idirectfbscreenLTLIBRARIES:
@@ -811,20 +891,24 @@ clean-idirectfbscreenLTLIBRARIES:
install-idirectfbsurfaceLTLIBRARIES: $(idirectfbsurface_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbsurfacedir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbsurfacedir)"
- @list='$(idirectfbsurface_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbsurface_LTLIBRARIES)'; test -n "$(idirectfbsurfacedir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbsurfaceLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbsurfacedir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbsurfaceLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbsurfacedir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbsurfacedir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbsurfacedir)"; \
+ }
uninstall-idirectfbsurfaceLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbsurface_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbsurfacedir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbsurfacedir)/$$p"; \
+ @list='$(idirectfbsurface_LTLIBRARIES)'; test -n "$(idirectfbsurfacedir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbsurfacedir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbsurfacedir)/$$f"; \
done
clean-idirectfbsurfaceLTLIBRARIES:
@@ -838,20 +922,24 @@ clean-idirectfbsurfaceLTLIBRARIES:
install-idirectfbwindowLTLIBRARIES: $(idirectfbwindow_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idirectfbwindowdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbwindowdir)"
- @list='$(idirectfbwindow_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(idirectfbwindow_LTLIBRARIES)'; test -n "$(idirectfbwindowdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbwindowLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idirectfbwindowdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(idirectfbwindowLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idirectfbwindowdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(idirectfbwindowdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(idirectfbwindowdir)"; \
+ }
uninstall-idirectfbwindowLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbwindow_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbwindowdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbwindowdir)/$$p"; \
+ @list='$(idirectfbwindow_LTLIBRARIES)'; test -n "$(idirectfbwindowdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(idirectfbwindowdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(idirectfbwindowdir)/$$f"; \
done
clean-idirectfbwindowLTLIBRARIES:
@@ -862,28 +950,28 @@ clean-idirectfbwindowLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libidirectfb_requestor.la: $(libidirectfb_requestor_la_OBJECTS) $(libidirectfb_requestor_la_DEPENDENCIES)
- $(libidirectfb_requestor_la_LINK) -rpath $(idirectfbdir) $(libidirectfb_requestor_la_OBJECTS) $(libidirectfb_requestor_la_LIBADD) $(LIBS)
-libidirectfbdatabuffer_requestor.la: $(libidirectfbdatabuffer_requestor_la_OBJECTS) $(libidirectfbdatabuffer_requestor_la_DEPENDENCIES)
- $(libidirectfbdatabuffer_requestor_la_LINK) -rpath $(idirectfbdatabufferdir) $(libidirectfbdatabuffer_requestor_la_OBJECTS) $(libidirectfbdatabuffer_requestor_la_LIBADD) $(LIBS)
-libidirectfbdisplaylayer_requestor.la: $(libidirectfbdisplaylayer_requestor_la_OBJECTS) $(libidirectfbdisplaylayer_requestor_la_DEPENDENCIES)
- $(libidirectfbdisplaylayer_requestor_la_LINK) -rpath $(idirectfbdisplaylayerdir) $(libidirectfbdisplaylayer_requestor_la_OBJECTS) $(libidirectfbdisplaylayer_requestor_la_LIBADD) $(LIBS)
-libidirectfbeventbuffer_requestor.la: $(libidirectfbeventbuffer_requestor_la_OBJECTS) $(libidirectfbeventbuffer_requestor_la_DEPENDENCIES)
- $(libidirectfbeventbuffer_requestor_la_LINK) -rpath $(idirectfbeventbufferdir) $(libidirectfbeventbuffer_requestor_la_OBJECTS) $(libidirectfbeventbuffer_requestor_la_LIBADD) $(LIBS)
-libidirectfbfont_requestor.la: $(libidirectfbfont_requestor_la_OBJECTS) $(libidirectfbfont_requestor_la_DEPENDENCIES)
- $(libidirectfbfont_requestor_la_LINK) -rpath $(idirectfbfontdir) $(libidirectfbfont_requestor_la_OBJECTS) $(libidirectfbfont_requestor_la_LIBADD) $(LIBS)
-libidirectfbimageprovider_requestor.la: $(libidirectfbimageprovider_requestor_la_OBJECTS) $(libidirectfbimageprovider_requestor_la_DEPENDENCIES)
- $(libidirectfbimageprovider_requestor_la_LINK) -rpath $(idirectfbimageproviderdir) $(libidirectfbimageprovider_requestor_la_OBJECTS) $(libidirectfbimageprovider_requestor_la_LIBADD) $(LIBS)
-libidirectfbinputdevice_requestor.la: $(libidirectfbinputdevice_requestor_la_OBJECTS) $(libidirectfbinputdevice_requestor_la_DEPENDENCIES)
- $(libidirectfbinputdevice_requestor_la_LINK) -rpath $(idirectfbinputdevicedir) $(libidirectfbinputdevice_requestor_la_OBJECTS) $(libidirectfbinputdevice_requestor_la_LIBADD) $(LIBS)
-libidirectfbpalette_requestor.la: $(libidirectfbpalette_requestor_la_OBJECTS) $(libidirectfbpalette_requestor_la_DEPENDENCIES)
- $(libidirectfbpalette_requestor_la_LINK) -rpath $(idirectfbpalettedir) $(libidirectfbpalette_requestor_la_OBJECTS) $(libidirectfbpalette_requestor_la_LIBADD) $(LIBS)
-libidirectfbscreen_requestor.la: $(libidirectfbscreen_requestor_la_OBJECTS) $(libidirectfbscreen_requestor_la_DEPENDENCIES)
- $(libidirectfbscreen_requestor_la_LINK) -rpath $(idirectfbscreendir) $(libidirectfbscreen_requestor_la_OBJECTS) $(libidirectfbscreen_requestor_la_LIBADD) $(LIBS)
-libidirectfbsurface_requestor.la: $(libidirectfbsurface_requestor_la_OBJECTS) $(libidirectfbsurface_requestor_la_DEPENDENCIES)
- $(libidirectfbsurface_requestor_la_LINK) -rpath $(idirectfbsurfacedir) $(libidirectfbsurface_requestor_la_OBJECTS) $(libidirectfbsurface_requestor_la_LIBADD) $(LIBS)
-libidirectfbwindow_requestor.la: $(libidirectfbwindow_requestor_la_OBJECTS) $(libidirectfbwindow_requestor_la_DEPENDENCIES)
- $(libidirectfbwindow_requestor_la_LINK) -rpath $(idirectfbwindowdir) $(libidirectfbwindow_requestor_la_OBJECTS) $(libidirectfbwindow_requestor_la_LIBADD) $(LIBS)
+libidirectfb_requestor.la: $(libidirectfb_requestor_la_OBJECTS) $(libidirectfb_requestor_la_DEPENDENCIES) $(EXTRA_libidirectfb_requestor_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfb_requestor_la_LINK) -rpath $(idirectfbdir) $(libidirectfb_requestor_la_OBJECTS) $(libidirectfb_requestor_la_LIBADD) $(LIBS)
+libidirectfbdatabuffer_requestor.la: $(libidirectfbdatabuffer_requestor_la_OBJECTS) $(libidirectfbdatabuffer_requestor_la_DEPENDENCIES) $(EXTRA_libidirectfbdatabuffer_requestor_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbdatabuffer_requestor_la_LINK) -rpath $(idirectfbdatabufferdir) $(libidirectfbdatabuffer_requestor_la_OBJECTS) $(libidirectfbdatabuffer_requestor_la_LIBADD) $(LIBS)
+libidirectfbdisplaylayer_requestor.la: $(libidirectfbdisplaylayer_requestor_la_OBJECTS) $(libidirectfbdisplaylayer_requestor_la_DEPENDENCIES) $(EXTRA_libidirectfbdisplaylayer_requestor_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbdisplaylayer_requestor_la_LINK) -rpath $(idirectfbdisplaylayerdir) $(libidirectfbdisplaylayer_requestor_la_OBJECTS) $(libidirectfbdisplaylayer_requestor_la_LIBADD) $(LIBS)
+libidirectfbeventbuffer_requestor.la: $(libidirectfbeventbuffer_requestor_la_OBJECTS) $(libidirectfbeventbuffer_requestor_la_DEPENDENCIES) $(EXTRA_libidirectfbeventbuffer_requestor_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbeventbuffer_requestor_la_LINK) -rpath $(idirectfbeventbufferdir) $(libidirectfbeventbuffer_requestor_la_OBJECTS) $(libidirectfbeventbuffer_requestor_la_LIBADD) $(LIBS)
+libidirectfbfont_requestor.la: $(libidirectfbfont_requestor_la_OBJECTS) $(libidirectfbfont_requestor_la_DEPENDENCIES) $(EXTRA_libidirectfbfont_requestor_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbfont_requestor_la_LINK) -rpath $(idirectfbfontdir) $(libidirectfbfont_requestor_la_OBJECTS) $(libidirectfbfont_requestor_la_LIBADD) $(LIBS)
+libidirectfbimageprovider_requestor.la: $(libidirectfbimageprovider_requestor_la_OBJECTS) $(libidirectfbimageprovider_requestor_la_DEPENDENCIES) $(EXTRA_libidirectfbimageprovider_requestor_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbimageprovider_requestor_la_LINK) -rpath $(idirectfbimageproviderdir) $(libidirectfbimageprovider_requestor_la_OBJECTS) $(libidirectfbimageprovider_requestor_la_LIBADD) $(LIBS)
+libidirectfbinputdevice_requestor.la: $(libidirectfbinputdevice_requestor_la_OBJECTS) $(libidirectfbinputdevice_requestor_la_DEPENDENCIES) $(EXTRA_libidirectfbinputdevice_requestor_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbinputdevice_requestor_la_LINK) -rpath $(idirectfbinputdevicedir) $(libidirectfbinputdevice_requestor_la_OBJECTS) $(libidirectfbinputdevice_requestor_la_LIBADD) $(LIBS)
+libidirectfbpalette_requestor.la: $(libidirectfbpalette_requestor_la_OBJECTS) $(libidirectfbpalette_requestor_la_DEPENDENCIES) $(EXTRA_libidirectfbpalette_requestor_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbpalette_requestor_la_LINK) -rpath $(idirectfbpalettedir) $(libidirectfbpalette_requestor_la_OBJECTS) $(libidirectfbpalette_requestor_la_LIBADD) $(LIBS)
+libidirectfbscreen_requestor.la: $(libidirectfbscreen_requestor_la_OBJECTS) $(libidirectfbscreen_requestor_la_DEPENDENCIES) $(EXTRA_libidirectfbscreen_requestor_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbscreen_requestor_la_LINK) -rpath $(idirectfbscreendir) $(libidirectfbscreen_requestor_la_OBJECTS) $(libidirectfbscreen_requestor_la_LIBADD) $(LIBS)
+libidirectfbsurface_requestor.la: $(libidirectfbsurface_requestor_la_OBJECTS) $(libidirectfbsurface_requestor_la_DEPENDENCIES) $(EXTRA_libidirectfbsurface_requestor_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbsurface_requestor_la_LINK) -rpath $(idirectfbsurfacedir) $(libidirectfbsurface_requestor_la_OBJECTS) $(libidirectfbsurface_requestor_la_LIBADD) $(LIBS)
+libidirectfbwindow_requestor.la: $(libidirectfbwindow_requestor_la_OBJECTS) $(libidirectfbwindow_requestor_la_DEPENDENCIES) $(EXTRA_libidirectfbwindow_requestor_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libidirectfbwindow_requestor_la_LINK) -rpath $(idirectfbwindowdir) $(libidirectfbwindow_requestor_la_OBJECTS) $(libidirectfbwindow_requestor_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -904,25 +992,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbwindow_requestor.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -932,204 +1020,215 @@ clean-libtool:
install-idirectfbDATA: $(idirectfb_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbdir)"
- @list='$(idirectfb_DATA)'; for p in $$list; do \
+ @list='$(idirectfb_DATA)'; test -n "$(idirectfbdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbdir)/$$f'"; \
- $(idirectfbDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbdir)" || exit $$?; \
done
uninstall-idirectfbDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfb_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbdir)/$$f"; \
- done
+ @list='$(idirectfb_DATA)'; test -n "$(idirectfbdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbdir)'; $(am__uninstall_files_from_dir)
install-idirectfbdatabufferDATA: $(idirectfbdatabuffer_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbdatabufferdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbdatabufferdir)"
- @list='$(idirectfbdatabuffer_DATA)'; for p in $$list; do \
+ @list='$(idirectfbdatabuffer_DATA)'; test -n "$(idirectfbdatabufferdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbdatabufferDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbdatabufferdir)/$$f'"; \
- $(idirectfbdatabufferDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbdatabufferdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbdatabufferdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbdatabufferdir)" || exit $$?; \
done
uninstall-idirectfbdatabufferDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbdatabuffer_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbdatabufferdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbdatabufferdir)/$$f"; \
- done
+ @list='$(idirectfbdatabuffer_DATA)'; test -n "$(idirectfbdatabufferdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbdatabufferdir)'; $(am__uninstall_files_from_dir)
install-idirectfbdisplaylayerDATA: $(idirectfbdisplaylayer_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbdisplaylayerdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbdisplaylayerdir)"
- @list='$(idirectfbdisplaylayer_DATA)'; for p in $$list; do \
+ @list='$(idirectfbdisplaylayer_DATA)'; test -n "$(idirectfbdisplaylayerdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbdisplaylayerDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f'"; \
- $(idirectfbdisplaylayerDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbdisplaylayerdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbdisplaylayerdir)" || exit $$?; \
done
uninstall-idirectfbdisplaylayerDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbdisplaylayer_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbdisplaylayerdir)/$$f"; \
- done
+ @list='$(idirectfbdisplaylayer_DATA)'; test -n "$(idirectfbdisplaylayerdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbdisplaylayerdir)'; $(am__uninstall_files_from_dir)
install-idirectfbeventbufferDATA: $(idirectfbeventbuffer_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbeventbufferdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbeventbufferdir)"
- @list='$(idirectfbeventbuffer_DATA)'; for p in $$list; do \
+ @list='$(idirectfbeventbuffer_DATA)'; test -n "$(idirectfbeventbufferdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbeventbufferDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbeventbufferdir)/$$f'"; \
- $(idirectfbeventbufferDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbeventbufferdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbeventbufferdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbeventbufferdir)" || exit $$?; \
done
uninstall-idirectfbeventbufferDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbeventbuffer_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbeventbufferdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbeventbufferdir)/$$f"; \
- done
+ @list='$(idirectfbeventbuffer_DATA)'; test -n "$(idirectfbeventbufferdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbeventbufferdir)'; $(am__uninstall_files_from_dir)
install-idirectfbfontDATA: $(idirectfbfont_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbfontdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbfontdir)"
- @list='$(idirectfbfont_DATA)'; for p in $$list; do \
+ @list='$(idirectfbfont_DATA)'; test -n "$(idirectfbfontdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbfontDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbfontdir)/$$f'"; \
- $(idirectfbfontDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbfontdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbfontdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbfontdir)" || exit $$?; \
done
uninstall-idirectfbfontDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbfont_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbfontdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbfontdir)/$$f"; \
- done
+ @list='$(idirectfbfont_DATA)'; test -n "$(idirectfbfontdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbfontdir)'; $(am__uninstall_files_from_dir)
install-idirectfbimageproviderDATA: $(idirectfbimageprovider_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbimageproviderdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbimageproviderdir)"
- @list='$(idirectfbimageprovider_DATA)'; for p in $$list; do \
+ @list='$(idirectfbimageprovider_DATA)'; test -n "$(idirectfbimageproviderdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbimageproviderDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbimageproviderdir)/$$f'"; \
- $(idirectfbimageproviderDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbimageproviderdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbimageproviderdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbimageproviderdir)" || exit $$?; \
done
uninstall-idirectfbimageproviderDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbimageprovider_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbimageproviderdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbimageproviderdir)/$$f"; \
- done
+ @list='$(idirectfbimageprovider_DATA)'; test -n "$(idirectfbimageproviderdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbimageproviderdir)'; $(am__uninstall_files_from_dir)
install-idirectfbinputdeviceDATA: $(idirectfbinputdevice_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbinputdevicedir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbinputdevicedir)"
- @list='$(idirectfbinputdevice_DATA)'; for p in $$list; do \
+ @list='$(idirectfbinputdevice_DATA)'; test -n "$(idirectfbinputdevicedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbinputdeviceDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbinputdevicedir)/$$f'"; \
- $(idirectfbinputdeviceDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbinputdevicedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbinputdevicedir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbinputdevicedir)" || exit $$?; \
done
uninstall-idirectfbinputdeviceDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbinputdevice_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbinputdevicedir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbinputdevicedir)/$$f"; \
- done
+ @list='$(idirectfbinputdevice_DATA)'; test -n "$(idirectfbinputdevicedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbinputdevicedir)'; $(am__uninstall_files_from_dir)
install-idirectfbpaletteDATA: $(idirectfbpalette_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbpalettedir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbpalettedir)"
- @list='$(idirectfbpalette_DATA)'; for p in $$list; do \
+ @list='$(idirectfbpalette_DATA)'; test -n "$(idirectfbpalettedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbpaletteDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbpalettedir)/$$f'"; \
- $(idirectfbpaletteDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbpalettedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbpalettedir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbpalettedir)" || exit $$?; \
done
uninstall-idirectfbpaletteDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbpalette_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbpalettedir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbpalettedir)/$$f"; \
- done
+ @list='$(idirectfbpalette_DATA)'; test -n "$(idirectfbpalettedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbpalettedir)'; $(am__uninstall_files_from_dir)
install-idirectfbscreenDATA: $(idirectfbscreen_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbscreendir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbscreendir)"
- @list='$(idirectfbscreen_DATA)'; for p in $$list; do \
+ @list='$(idirectfbscreen_DATA)'; test -n "$(idirectfbscreendir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbscreenDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbscreendir)/$$f'"; \
- $(idirectfbscreenDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbscreendir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbscreendir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbscreendir)" || exit $$?; \
done
uninstall-idirectfbscreenDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbscreen_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbscreendir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbscreendir)/$$f"; \
- done
+ @list='$(idirectfbscreen_DATA)'; test -n "$(idirectfbscreendir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbscreendir)'; $(am__uninstall_files_from_dir)
install-idirectfbsurfaceDATA: $(idirectfbsurface_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbsurfacedir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbsurfacedir)"
- @list='$(idirectfbsurface_DATA)'; for p in $$list; do \
+ @list='$(idirectfbsurface_DATA)'; test -n "$(idirectfbsurfacedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbsurfaceDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbsurfacedir)/$$f'"; \
- $(idirectfbsurfaceDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbsurfacedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbsurfacedir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbsurfacedir)" || exit $$?; \
done
uninstall-idirectfbsurfaceDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbsurface_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbsurfacedir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbsurfacedir)/$$f"; \
- done
+ @list='$(idirectfbsurface_DATA)'; test -n "$(idirectfbsurfacedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbsurfacedir)'; $(am__uninstall_files_from_dir)
install-idirectfbwindowDATA: $(idirectfbwindow_DATA)
@$(NORMAL_INSTALL)
test -z "$(idirectfbwindowdir)" || $(MKDIR_P) "$(DESTDIR)$(idirectfbwindowdir)"
- @list='$(idirectfbwindow_DATA)'; for p in $$list; do \
+ @list='$(idirectfbwindow_DATA)'; test -n "$(idirectfbwindowdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(idirectfbwindowDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(idirectfbwindowdir)/$$f'"; \
- $(idirectfbwindowDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(idirectfbwindowdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(idirectfbwindowdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(idirectfbwindowdir)" || exit $$?; \
done
uninstall-idirectfbwindowDATA:
@$(NORMAL_UNINSTALL)
- @list='$(idirectfbwindow_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(idirectfbwindowdir)/$$f'"; \
- rm -f "$(DESTDIR)$(idirectfbwindowdir)/$$f"; \
- done
+ @list='$(idirectfbwindow_DATA)'; test -n "$(idirectfbwindowdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(idirectfbwindowdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -1137,29 +1236,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -1180,13 +1284,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -1207,16 +1315,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -1247,6 +1361,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -1272,18 +1388,28 @@ install-data-am: install-idirectfbDATA install-idirectfbLTLIBRARIES \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -1397,6 +1523,7 @@ uninstall-am: uninstall-idirectfbDATA uninstall-idirectfbLTLIBRARIES \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/proxy/requestor/idirectfb_requestor.c b/proxy/requestor/idirectfb_requestor.c
index 0e476b3..4067d3b 100644
--- a/proxy/requestor/idirectfb_requestor.c
+++ b/proxy/requestor/idirectfb_requestor.c
@@ -43,10 +43,11 @@
#include <input/idirectfbinputbuffer.h>
#include <media/idirectfbdatabuffer.h>
+#include <idirectfb.h>
#include <idirectfb_dispatcher.h>
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFB *thiz, const char *host, int session );
#include <direct/interface_implementation.h>
@@ -75,8 +76,14 @@ typedef struct {
static void
IDirectFB_Requestor_Destruct( IDirectFB *thiz )
{
+ IDirectFB_Requestor_data *data = thiz->priv;
+
D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz );
+ voodoo_client_destroy( data->client );
+
+ idirectfb_singleton = NULL;
+
DIRECT_DEALLOCATE_INTERFACE( thiz );
}
@@ -123,7 +130,7 @@ IDirectFB_Requestor_SetCooperativeLevel( IDirectFB *thiz,
return ret;
ret = response->result;
- if (ret == DFB_OK)
+ if (ret == DR_OK)
data->level = level;
voodoo_manager_finish_request( data->manager, response );
@@ -147,7 +154,7 @@ IDirectFB_Requestor_GetDeviceDescription( IDirectFB *thiz,
return ret;
ret = response->result;
- if (ret == DFB_OK) {
+ if (ret == DR_OK) {
VoodooMessageParser parser;
VOODOO_PARSER_BEGIN( parser, response );
@@ -190,17 +197,27 @@ IDirectFB_Requestor_EnumVideoModes( IDirectFB *thiz,
VOODOO_PARSER_BEGIN( parser, response );
VOODOO_PARSER_GET_INT( parser, num );
- VOODOO_PARSER_COPY_DATA( parser, items );
+
+ items = D_MALLOC( sizeof(*items) * num );
+ if (items)
+ VOODOO_PARSER_READ_DATA( parser, items, sizeof(*items) * num );
+ else
+ ret = D_OOM();
+
VOODOO_PARSER_END( parser );
voodoo_manager_finish_request( data->manager, response );
- for (i=0; i<num; i++) {
- if (callbackfunc( items[i].width, items[i].height, items[i].bpp, callbackdata ) == DFENUM_CANCEL)
- return DFB_OK;
+ if (items) {
+ for (i=0; i<num; i++) {
+ if (callbackfunc( items[i].width, items[i].height, items[i].bpp, callbackdata ) == DFENUM_CANCEL)
+ break;
+ }
+
+ D_FREE( items );
}
- return DFB_OK;
+ return ret;
}
static DFBResult
@@ -240,7 +257,7 @@ IDirectFB_Requestor_CreateSurface( IDirectFB *thiz,
{
DirectResult ret;
VoodooResponseMessage *response;
- void *interface = NULL;
+ void *interface_ptr = NULL;
DIRECT_INTERFACE_GET_DATA(IDirectFB_Requestor)
@@ -252,19 +269,19 @@ IDirectFB_Requestor_CreateSurface( IDirectFB *thiz,
ret = voodoo_manager_request( data->manager, data->instance,
IDIRECTFB_METHOD_ID_CreateSurface, VREQ_RESPOND, &response,
- VMBT_DATA, sizeof(DFBSurfaceDescription), desc,
+ VMBT_DFBSurfaceDescription( *desc ),
VMBT_NONE );
if (ret)
return ret;
ret = response->result;
- if (ret == DFB_OK)
+ if (ret == DR_OK)
ret = voodoo_construct_requestor( data->manager, "IDirectFBSurface",
- response->instance, NULL, &interface );
+ response->instance, NULL, &interface_ptr );
voodoo_manager_finish_request( data->manager, response );
- *ret_interface = interface;
+ *ret_interface = interface_ptr;
return ret;
}
@@ -272,11 +289,11 @@ IDirectFB_Requestor_CreateSurface( IDirectFB *thiz,
static DFBResult
IDirectFB_Requestor_CreatePalette( IDirectFB *thiz,
const DFBPaletteDescription *desc,
- IDirectFBPalette **interface )
+ IDirectFBPalette **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFB_Requestor)
- if (!interface)
+ if (!interface_ptr)
return DFB_INVARG;
D_UNIMPLEMENTED();
@@ -314,17 +331,27 @@ IDirectFB_Requestor_EnumScreens( IDirectFB *thiz,
VOODOO_PARSER_BEGIN( parser, response );
VOODOO_PARSER_GET_INT( parser, num );
- VOODOO_PARSER_COPY_DATA( parser, items );
+
+ items = D_MALLOC( sizeof(*items) * num );
+ if (items)
+ VOODOO_PARSER_READ_DATA( parser, items, sizeof(*items) * num );
+ else
+ ret = D_OOM();
+
VOODOO_PARSER_END( parser );
voodoo_manager_finish_request( data->manager, response );
- for (i=0; i<num; i++) {
- if (callbackfunc( items[i].screen_id, items[i].desc, callbackdata ) == DFENUM_CANCEL)
- return DFB_OK;
+ if (items) {
+ for (i=0; i<num; i++) {
+ if (callbackfunc( items[i].screen_id, items[i].desc, callbackdata ) == DFENUM_CANCEL)
+ break;
+ }
+
+ D_FREE( items );
}
- return DFB_OK;
+ return ret;
}
static DFBResult
@@ -334,13 +361,12 @@ IDirectFB_Requestor_GetScreen( IDirectFB *thiz,
{
DirectResult ret;
VoodooResponseMessage *response;
- void *interface = NULL;
+ void *interface_ptr = NULL;
DIRECT_INTERFACE_GET_DATA(IDirectFB_Requestor)
if (!ret_interface)
return DFB_INVARG;
-
ret = voodoo_manager_request( data->manager, data->instance,
IDIRECTFB_METHOD_ID_GetScreen, VREQ_RESPOND, &response,
VMBT_ID, id,
@@ -349,13 +375,13 @@ IDirectFB_Requestor_GetScreen( IDirectFB *thiz,
return ret;
ret = response->result;
- if (ret == DFB_OK)
+ if (ret == DR_OK)
ret = voodoo_construct_requestor( data->manager, "IDirectFBScreen",
- response->instance, NULL, &interface );
+ response->instance, NULL, &interface_ptr );
voodoo_manager_finish_request( data->manager, response );
- *ret_interface = interface;
+ *ret_interface = interface_ptr;
return ret;
}
@@ -382,7 +408,7 @@ IDirectFB_Requestor_GetDisplayLayer( IDirectFB *thiz,
{
DirectResult ret;
VoodooResponseMessage *response;
- void *interface = NULL;
+ void *interface_ptr = NULL;
DIRECT_INTERFACE_GET_DATA(IDirectFB_Requestor)
@@ -397,13 +423,13 @@ IDirectFB_Requestor_GetDisplayLayer( IDirectFB *thiz,
return ret;
ret = response->result;
- if (ret == DFB_OK)
+ if (ret == DR_OK)
ret = voodoo_construct_requestor( data->manager, "IDirectFBDisplayLayer",
- response->instance, NULL, &interface );
+ response->instance, NULL, &interface_ptr );
voodoo_manager_finish_request( data->manager, response );
- *ret_interface = interface;
+ *ret_interface = interface_ptr;
return ret;
}
@@ -437,14 +463,24 @@ IDirectFB_Requestor_EnumInputDevices( IDirectFB *thiz,
VOODOO_PARSER_BEGIN( parser, response );
VOODOO_PARSER_GET_INT( parser, num );
- VOODOO_PARSER_COPY_DATA( parser, items );
+
+ items = D_MALLOC( sizeof(*items) * num );
+ if (items)
+ VOODOO_PARSER_READ_DATA( parser, items, sizeof(*items) * num );
+ else
+ ret = D_OOM();
+
VOODOO_PARSER_END( parser );
voodoo_manager_finish_request( data->manager, response );
- for (i=0; i<num; i++) {
- if (callbackfunc( items[i].device_id, items[i].desc, callbackdata ) == DFENUM_CANCEL)
- return DFB_OK;
+ if (items) {
+ for (i=0; i<num; i++) {
+ if (callbackfunc( items[i].device_id, items[i].desc, callbackdata ) == DFENUM_CANCEL)
+ break;
+ }
+
+ D_FREE( items );
}
return ret;
@@ -457,7 +493,7 @@ IDirectFB_Requestor_GetInputDevice( IDirectFB *thiz,
{
DirectResult ret;
VoodooResponseMessage *response;
- void *interface = NULL;
+ void *interface_ptr = NULL;
DIRECT_INTERFACE_GET_DATA(IDirectFB_Requestor)
@@ -472,13 +508,13 @@ IDirectFB_Requestor_GetInputDevice( IDirectFB *thiz,
return ret;
ret = response->result;
- if (ret == DFB_OK)
+ if (ret == DR_OK)
ret = voodoo_construct_requestor( data->manager, "IDirectFBInputDevice",
- response->instance, NULL, &interface );
+ response->instance, NULL, &interface_ptr );
voodoo_manager_finish_request( data->manager, response );
- *ret_interface = interface;
+ *ret_interface = interface_ptr;
return ret;
}
@@ -622,12 +658,12 @@ IDirectFB_Requestor_CreateImageProvider( IDirectFB *thiz,
static DFBResult
IDirectFB_Requestor_CreateVideoProvider( IDirectFB *thiz,
const char *filename,
- IDirectFBVideoProvider **interface )
+ IDirectFBVideoProvider **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFB_Requestor)
/* Check arguments */
- if (!interface || !filename)
+ if (!interface_ptr || !filename)
return DFB_INVARG;
D_UNIMPLEMENTED();
@@ -641,36 +677,37 @@ IDirectFB_Requestor_CreateFont( IDirectFB *thiz,
const DFBFontDescription *desc,
IDirectFBFont **ret_interface )
{
- DirectResult ret;
- VoodooResponseMessage *response;
- void *interface = NULL;
+ DFBResult ret;
+ DFBDataBufferDescription bdesc;
+ IDirectFBDataBuffer *buffer;
+ IDirectFBFont *font;
DIRECT_INTERFACE_GET_DATA(IDirectFB_Requestor)
- if (!ret_interface)
+ /* Check arguments */
+ if (!filename || !ret_interface)
return DFB_INVARG;
- if (!filename || !desc) {
- D_ONCE( "unimplemented" );
- return DFB_UNSUPPORTED;
- }
+ /* Create a data buffer. */
+ bdesc.flags = DBDESC_FILE;
+ bdesc.file = filename;
- ret = voodoo_manager_request( data->manager, data->instance,
- IDIRECTFB_METHOD_ID_CreateFont, VREQ_RESPOND, &response,
- VMBT_STRING, filename,
- VMBT_DATA, sizeof(DFBFontDescription), desc,
- VMBT_NONE );
+ ret = thiz->CreateDataBuffer( thiz, &bdesc, &buffer );
if (ret)
return ret;
- ret = response->result;
- if (ret == DFB_OK)
- ret = voodoo_construct_requestor( data->manager, "IDirectFBFont",
- response->instance, NULL, &interface );
+ /* Create (probing) the font. */
+ ret = buffer->CreateFont( buffer, desc, &font );
+ if (ret) {
+ buffer->Release( buffer );
+ return ret;
+ }
- voodoo_manager_finish_request( data->manager, response );
+ /* We don't need it anymore, font has its own reference. */
+ buffer->Release( buffer );
- *ret_interface = interface;
+ /* Return the new font. */
+ *ret_interface = font;
return ret;
}
@@ -849,7 +886,7 @@ IDirectFB_Requestor_GetInterface( IDirectFB *thiz,
const char *type,
const char *implementation,
void *arg,
- void **interface )
+ void **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFB_Requestor)
@@ -873,7 +910,7 @@ Probe()
* Fills in function pointers and intializes data structure.
*/
static DFBResult
-Construct( IDirectFB *thiz, const char *host, int session )
+Construct( IDirectFB *thiz, const char *host, int port )
{
DFBResult ret;
@@ -882,7 +919,7 @@ Construct( IDirectFB *thiz, const char *host, int session )
data->ref = 1;
data->level = DFSCL_NORMAL;
- ret = voodoo_client_create( host, session, &data->client );
+ ret = voodoo_client_create( host, port, &data->client );
if (ret) {
DIRECT_DEALLOCATE_INTERFACE( thiz );
return ret;
diff --git a/proxy/requestor/idirectfbdatabuffer_requestor.c b/proxy/requestor/idirectfbdatabuffer_requestor.c
index bcc624c..b83ad85 100644
--- a/proxy/requestor/idirectfbdatabuffer_requestor.c
+++ b/proxy/requestor/idirectfbdatabuffer_requestor.c
@@ -30,7 +30,6 @@
#include <stdio.h>
#include <stdlib.h>
-#include <unistd.h>
#include <string.h>
@@ -47,7 +46,7 @@
#include <idirectfbdatabuffer_dispatcher.h>
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBDataBuffer *thiz,
VoodooManager *manager,
VoodooInstanceID instance,
@@ -459,13 +458,15 @@ Construct( IDirectFBDataBuffer *thiz,
DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IDirectFBDataBuffer_Requestor)
- ret = IDirectFBDataBuffer_Construct( thiz, NULL, NULL );
+ ret = IDirectFBDataBuffer_Construct( thiz, NULL, arg );
if (ret)
return ret;
data->manager = manager;
data->instance = instance;
+ data->base.filename = "";
+
thiz->AddRef = IDirectFBDataBuffer_Requestor_AddRef;
thiz->Release = IDirectFBDataBuffer_Requestor_Release;
thiz->Flush = IDirectFBDataBuffer_Requestor_Flush;
diff --git a/proxy/requestor/idirectfbdisplaylayer_requestor.c b/proxy/requestor/idirectfbdisplaylayer_requestor.c
index 1e63527..e9f2bfa 100644
--- a/proxy/requestor/idirectfbdisplaylayer_requestor.c
+++ b/proxy/requestor/idirectfbdisplaylayer_requestor.c
@@ -45,7 +45,7 @@
#include "idirectfbdisplaylayer_requestor.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBDisplayLayer *thiz,
VoodooManager *manager,
VoodooInstanceID instance,
@@ -139,7 +139,7 @@ IDirectFBDisplayLayer_Requestor_GetDescription( IDirectFBDisplayLayer *thiz
static DFBResult
IDirectFBDisplayLayer_Requestor_GetSurface( IDirectFBDisplayLayer *thiz,
- IDirectFBSurface **interface )
+ IDirectFBSurface **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor)
@@ -154,7 +154,7 @@ IDirectFBDisplayLayer_Requestor_GetScreen( IDirectFBDisplayLayer *thiz,
{
DirectResult ret;
VoodooResponseMessage *response;
- void *interface = NULL;
+ void *interface_ptr = NULL;
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor)
@@ -168,13 +168,13 @@ IDirectFBDisplayLayer_Requestor_GetScreen( IDirectFBDisplayLayer *thiz,
return ret;
ret = response->result;
- if (ret == DFB_OK)
+ if (ret == DR_OK)
ret = voodoo_construct_requestor( data->manager, "IDirectFBScreen",
- response->instance, NULL, &interface );
+ response->instance, NULL, &interface_ptr );
voodoo_manager_finish_request( data->manager, response );
- *ret_interface = interface;
+ *ret_interface = interface_ptr;
return ret;
}
@@ -311,7 +311,7 @@ IDirectFBDisplayLayer_Requestor_GetConfiguration( IDirectFBDisplayLayer *thiz,
return ret;
ret = response->result;
- if (ret == DFB_OK) {
+ if (ret == DR_OK) {
VoodooMessageParser parser;
VOODOO_PARSER_BEGIN( parser, response );
@@ -329,10 +329,9 @@ IDirectFBDisplayLayer_Requestor_TestConfiguration( IDirectFBDisplayLayer *
const DFBDisplayLayerConfig *config,
DFBDisplayLayerConfigFlags *ret_failed )
{
- DirectResult ret;
- VoodooResponseMessage *response;
- DFBDisplayLayerConfigFlags failed;
- VoodooMessageParser parser;
+ DirectResult ret;
+ VoodooResponseMessage *response;
+ VoodooMessageParser parser;
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor)
@@ -410,7 +409,7 @@ IDirectFBDisplayLayer_Requestor_CreateWindow( IDirectFBDisplayLayer *thiz,
{
DirectResult ret;
VoodooResponseMessage *response;
- void *interface = NULL;
+ void *interface_ptr = NULL;
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor)
@@ -425,13 +424,13 @@ IDirectFBDisplayLayer_Requestor_CreateWindow( IDirectFBDisplayLayer *thiz,
return ret;
ret = response->result;
- if (ret == DFB_OK)
+ if (ret == DR_OK)
ret = voodoo_construct_requestor( data->manager, "IDirectFBWindow",
- response->instance, NULL, &interface );
+ response->instance, NULL, &interface_ptr );
voodoo_manager_finish_request( data->manager, response );
- *ret_interface = interface;
+ *ret_interface = interface_ptr;
return ret;
}
@@ -439,13 +438,34 @@ IDirectFBDisplayLayer_Requestor_CreateWindow( IDirectFBDisplayLayer *thiz,
static DFBResult
IDirectFBDisplayLayer_Requestor_GetWindow( IDirectFBDisplayLayer *thiz,
DFBWindowID id,
- IDirectFBWindow **window )
+ IDirectFBWindow **ret_interface )
{
+ DirectResult ret;
+ VoodooResponseMessage *response;
+ void *interface_ptr = NULL;
+
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor)
- D_UNIMPLEMENTED();
+ if (!ret_interface)
+ return DFB_INVARG;
- return DFB_UNIMPLEMENTED;
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBDISPLAYLAYER_METHOD_ID_GetWindow, VREQ_RESPOND, &response,
+ VMBT_ID, id,
+ VMBT_NONE );
+ if (ret)
+ return ret;
+
+ ret = response->result;
+ if (ret == DR_OK)
+ ret = voodoo_construct_requestor( data->manager, "IDirectFBWindow",
+ response->instance, NULL, &interface_ptr );
+
+ voodoo_manager_finish_request( data->manager, response );
+
+ *ret_interface = interface_ptr;
+
+ return ret;
}
static DFBResult
@@ -548,6 +568,71 @@ IDirectFBDisplayLayer_Requestor_WaitForSync( IDirectFBDisplayLayer *thiz )
return DFB_UNIMPLEMENTED;
}
+static DFBResult
+IDirectFBDisplayLayer_Requestor_GetWindowByResourceID( IDirectFBDisplayLayer *thiz,
+ unsigned long resource_id,
+ IDirectFBWindow **ret_interface )
+{
+ DirectResult ret;
+ VoodooResponseMessage *response;
+ void *interface_ptr = NULL;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor)
+
+ if (!ret_interface)
+ return DFB_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBDISPLAYLAYER_METHOD_ID_GetWindowByResourceID, VREQ_RESPOND, &response,
+ VMBT_ID, resource_id,
+ VMBT_NONE );
+ if (ret)
+ return ret;
+
+ ret = response->result;
+ if (ret == DR_OK)
+ ret = voodoo_construct_requestor( data->manager, "IDirectFBWindow",
+ response->instance, NULL, &interface_ptr );
+
+ voodoo_manager_finish_request( data->manager, response );
+
+ *ret_interface = interface_ptr;
+
+ return ret;
+}
+
+static DFBResult
+IDirectFBDisplayLayer_Requestor_GetRotation( IDirectFBDisplayLayer *thiz,
+ int *ret_rotation )
+{
+ DirectResult ret;
+ VoodooResponseMessage *response;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor)
+
+ if (!ret_rotation)
+ return DFB_INVARG;
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBDISPLAYLAYER_METHOD_ID_GetRotation, VREQ_RESPOND, &response,
+ VMBT_NONE );
+ if (ret)
+ return ret;
+
+ ret = response->result;
+ if (ret == DR_OK) {
+ VoodooMessageParser parser;
+
+ VOODOO_PARSER_BEGIN( parser, response );
+ VOODOO_PARSER_GET_INT( parser, *ret_rotation );
+ VOODOO_PARSER_END( parser );
+ }
+
+ voodoo_manager_finish_request( data->manager, response );
+
+ return ret;
+}
+
/**************************************************************************************************/
static DFBResult
@@ -601,6 +686,8 @@ Construct( IDirectFBDisplayLayer *thiz,
thiz->SetCursorOpacity = IDirectFBDisplayLayer_Requestor_SetCursorOpacity;
thiz->SetFieldParity = IDirectFBDisplayLayer_Requestor_SetFieldParity;
thiz->WaitForSync = IDirectFBDisplayLayer_Requestor_WaitForSync;
+ thiz->GetWindowByResourceID = IDirectFBDisplayLayer_Requestor_GetWindowByResourceID;
+ thiz->GetRotation = IDirectFBDisplayLayer_Requestor_GetRotation;
return DFB_OK;
}
diff --git a/proxy/requestor/idirectfbeventbuffer_requestor.c b/proxy/requestor/idirectfbeventbuffer_requestor.c
index d2c64a2..b2987fe 100644
--- a/proxy/requestor/idirectfbeventbuffer_requestor.c
+++ b/proxy/requestor/idirectfbeventbuffer_requestor.c
@@ -30,7 +30,6 @@
#include <stdio.h>
#include <stdlib.h>
-#include <unistd.h>
#include <string.h>
#include <errno.h>
@@ -51,7 +50,7 @@
#include "idirectfbeventbuffer_requestor.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBEventBuffer *thiz,
VoodooManager *manager,
VoodooInstanceID instance,
diff --git a/proxy/requestor/idirectfbfont_requestor.c b/proxy/requestor/idirectfbfont_requestor.c
index 768a344..938670f 100644
--- a/proxy/requestor/idirectfbfont_requestor.c
+++ b/proxy/requestor/idirectfbfont_requestor.c
@@ -45,7 +45,7 @@
#include "idirectfbfont_requestor.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBFont *thiz,
VoodooManager *manager,
VoodooInstanceID instance,
diff --git a/proxy/requestor/idirectfbimageprovider_requestor.c b/proxy/requestor/idirectfbimageprovider_requestor.c
index c6a9372..7e1f91e 100644
--- a/proxy/requestor/idirectfbimageprovider_requestor.c
+++ b/proxy/requestor/idirectfbimageprovider_requestor.c
@@ -40,12 +40,13 @@
#include <voodoo/interface.h>
#include <voodoo/manager.h>
+#include <idirectfb_dispatcher.h>
#include <idirectfbimageprovider_dispatcher.h>
#include "idirectfbsurface_requestor.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBImageProvider *thiz,
VoodooManager *manager,
VoodooInstanceID instance,
@@ -128,7 +129,7 @@ IDirectFBImageProvider_Requestor_GetSurfaceDescription( IDirectFBImageProvider *
}
VOODOO_PARSER_BEGIN( parser, response );
- VOODOO_PARSER_READ_DATA( parser, desc, sizeof(DFBSurfaceDescription) );
+ VOODOO_PARSER_READ_DFBSurfaceDescription( parser, *desc );
VOODOO_PARSER_END( parser );
voodoo_manager_finish_request( data->manager, response );
diff --git a/proxy/requestor/idirectfbinputdevice_requestor.c b/proxy/requestor/idirectfbinputdevice_requestor.c
index 1092f74..c34af01 100644
--- a/proxy/requestor/idirectfbinputdevice_requestor.c
+++ b/proxy/requestor/idirectfbinputdevice_requestor.c
@@ -48,7 +48,7 @@
#include "idirectfbinputdevice_requestor.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBInputDevice *thiz,
VoodooManager *manager,
VoodooInstanceID instance,
diff --git a/proxy/requestor/idirectfbpalette_requestor.c b/proxy/requestor/idirectfbpalette_requestor.c
index 0bb08ca..3953fcf 100644
--- a/proxy/requestor/idirectfbpalette_requestor.c
+++ b/proxy/requestor/idirectfbpalette_requestor.c
@@ -45,7 +45,7 @@
#include "idirectfbpalette_requestor.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBPalette *thiz,
VoodooManager *manager,
VoodooInstanceID instance,
diff --git a/proxy/requestor/idirectfbscreen_requestor.c b/proxy/requestor/idirectfbscreen_requestor.c
index 1759fed..096683d 100644
--- a/proxy/requestor/idirectfbscreen_requestor.c
+++ b/proxy/requestor/idirectfbscreen_requestor.c
@@ -30,7 +30,6 @@
#include <stdio.h>
#include <stdlib.h>
-#include <unistd.h>
#include <string.h>
@@ -46,7 +45,7 @@
#include <idirectfbscreen_dispatcher.h>
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBScreen *thiz,
VoodooManager *manager,
VoodooInstanceID instance,
@@ -247,17 +246,27 @@ IDirectFBScreen_Requestor_EnumDisplayLayers( IDirectFBScreen *thiz,
VOODOO_PARSER_BEGIN( parser, response );
VOODOO_PARSER_GET_INT( parser, num );
- VOODOO_PARSER_COPY_DATA( parser, items );
+
+ items = D_MALLOC( sizeof(*items) * num );
+ if (items)
+ VOODOO_PARSER_READ_DATA( parser, items, sizeof(*items) * num );
+ else
+ ret = D_OOM();
+
VOODOO_PARSER_END( parser );
voodoo_manager_finish_request( data->manager, response );
- for (i=0; i<num; i++) {
- if (callbackfunc( items[i].layer_id, items[i].desc, callbackdata ) == DFENUM_CANCEL)
- return DFB_OK;
+ if (items) {
+ for (i=0; i<num; i++) {
+ if (callbackfunc( items[i].layer_id, items[i].desc, callbackdata ) == DFENUM_CANCEL)
+ break;
+ }
+
+ D_FREE( items );
}
- return DFB_OK;
+ return ret;
}
static DFBResult
diff --git a/proxy/requestor/idirectfbsurface_requestor.c b/proxy/requestor/idirectfbsurface_requestor.c
index 105f542..4935394 100644
--- a/proxy/requestor/idirectfbsurface_requestor.c
+++ b/proxy/requestor/idirectfbsurface_requestor.c
@@ -30,30 +30,13 @@
#include <stdio.h>
#include <stdlib.h>
-#include <unistd.h>
#include <string.h>
#include <math.h>
#include <directfb.h>
-
-#include <core/core.h>
-#include <core/coredefs.h>
-#include <core/coretypes.h>
-
-#include <core/gfxcard.h>
-#include <core/fonts.h>
-#include <core/state.h>
-#include <core/palette.h>
-#include <core/surface.h>
-
-#include <media/idirectfbfont.h>
-
-#include <display/idirectfbsurface.h>
-#include <display/idirectfbpalette.h>
-
-#include <misc/util.h>
+#include <directfb_util.h>
#include <direct/interface.h>
#include <direct/mem.h>
@@ -61,9 +44,6 @@
#include <direct/messages.h>
#include <direct/util.h>
-#include <gfx/convert.h>
-#include <gfx/util.h>
-
#include <voodoo/interface.h>
#include <voodoo/manager.h>
#include <voodoo/message.h>
@@ -75,7 +55,9 @@
#include "idirectfbsurface_requestor.h"
-static DFBResult Probe();
+D_DEBUG_DOMAIN( IDirectFBSurface_Requestor_, "IDirectFBSurface/Requestor", "IDirectFBSurface Requestor" );
+
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBSurface *thiz,
VoodooManager *manager,
VoodooInstanceID instance,
@@ -90,8 +72,14 @@ DIRECT_INTERFACE_IMPLEMENTATION( IDirectFBSurface, Requestor )
static void
IDirectFBSurface_Requestor_Destruct( IDirectFBSurface *thiz )
{
+ IDirectFBSurface_Requestor_data *data = thiz->priv;
+
D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz );
+ voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBSURFACE_METHOD_ID_Release, VREQ_NONE, NULL,
+ VMBT_NONE );
+
DIRECT_DEALLOCATE_INTERFACE( thiz );
}
@@ -123,37 +111,38 @@ static DFBResult
IDirectFBSurface_Requestor_GetPixelFormat( IDirectFBSurface *thiz,
DFBSurfacePixelFormat *ret_format )
{
- DFBResult ret;
- VoodooResponseMessage *response;
- VoodooMessageParser parser;
- DFBSurfacePixelFormat format;
-
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Requestor)
if (!ret_format)
return DFB_INVARG;
- ret = voodoo_manager_request( data->manager, data->instance,
- IDIRECTFBSURFACE_METHOD_ID_GetPixelFormat, VREQ_RESPOND, &response,
- VMBT_NONE );
- if (ret)
- return ret;
+ if (!data->format) {
+ DFBResult ret;
+ VoodooResponseMessage *response;
+ VoodooMessageParser parser;
- ret = response->result;
- if (ret) {
- voodoo_manager_finish_request( data->manager, response );
- return ret;
- }
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBSURFACE_METHOD_ID_GetPixelFormat, VREQ_RESPOND, &response,
+ VMBT_NONE );
+ if (ret)
+ return ret;
- VOODOO_PARSER_BEGIN( parser, response );
- VOODOO_PARSER_GET_INT( parser, format );
- VOODOO_PARSER_END( parser );
+ ret = response->result;
+ if (ret) {
+ voodoo_manager_finish_request( data->manager, response );
+ return ret;
+ }
- voodoo_manager_finish_request( data->manager, response );
+ VOODOO_PARSER_BEGIN( parser, response );
+ VOODOO_PARSER_GET_INT( parser, data->format );
+ VOODOO_PARSER_END( parser );
- *ret_format = format;
+ voodoo_manager_finish_request( data->manager, response );
+ }
- return ret;
+ *ret_format = data->format;
+
+ return DFB_OK;
}
static DFBResult
@@ -213,7 +202,7 @@ IDirectFBSurface_Requestor_GetPosition( IDirectFBSurface *thiz,
return DFB_INVARG;
ret = voodoo_manager_request( data->manager, data->instance,
- IDIRECTFBSURFACE_METHOD_ID_GetPosition,
+ IDIRECTFBSURFACE_METHOD_ID_GetPosition,
VREQ_RESPOND, &response,
VMBT_NONE );
if (ret)
@@ -337,7 +326,7 @@ IDirectFBSurface_Requestor_GetPalette( IDirectFBSurface *thiz,
{
DirectResult ret;
VoodooResponseMessage *response;
- void *interface = NULL;
+ void *interface_ptr = NULL;
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Requestor)
@@ -351,13 +340,13 @@ IDirectFBSurface_Requestor_GetPalette( IDirectFBSurface *thiz,
return ret;
ret = response->result;
- if (ret == DFB_OK)
+ if (ret == DR_OK)
ret = voodoo_construct_requestor( data->manager, "IDirectFBPalette",
- response->instance, NULL, &interface );
+ response->instance, NULL, &interface_ptr );
voodoo_manager_finish_request( data->manager, response );
- *ret_interface = interface;
+ *ret_interface = interface_ptr;
return ret;
}
@@ -386,11 +375,11 @@ IDirectFBSurface_Requestor_SetAlphaRamp( IDirectFBSurface *thiz,
u8 a0, u8 a1, u8 a2, u8 a3 )
{
DIRECT_INTERFACE_GET_DATA( IDirectFBSurface_Requestor )
-
+
D_UNIMPLEMENTED();
-
+
return DFB_UNIMPLEMENTED;
-}
+}
static DFBResult
IDirectFBSurface_Requestor_Lock( IDirectFBSurface *thiz,
@@ -422,6 +411,20 @@ IDirectFBSurface_Requestor_GetFramebufferOffset( IDirectFBSurface *thiz,
}
static DFBResult
+IDirectFBSurface_Requestor_GetPhysicalAddress( IDirectFBSurface *thiz,
+ unsigned long *addr )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Requestor)
+
+ if (!addr)
+ return DFB_INVARG;
+
+ D_UNIMPLEMENTED();
+
+ return DFB_UNIMPLEMENTED;
+}
+
+static DFBResult
IDirectFBSurface_Requestor_Unlock( IDirectFBSurface *thiz )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Requestor)
@@ -706,6 +709,23 @@ IDirectFBSurface_Requestor_FillRectangles( IDirectFBSurface *thiz,
}
static DFBResult
+IDirectFBSurface_Requestor_FillTrapezoids( IDirectFBSurface *thiz,
+ const DFBTrapezoid *traps,
+ unsigned int num_traps )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Requestor)
+
+ if (!traps || !num_traps)
+ return DFB_INVARG;
+
+ return voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBSURFACE_METHOD_ID_FillTrapezoids, VREQ_QUEUE, NULL,
+ VMBT_UINT, num_traps,
+ VMBT_DATA, num_traps * sizeof(DFBTrapezoid), traps,
+ VMBT_NONE );
+}
+
+static DFBResult
IDirectFBSurface_Requestor_FillSpans( IDirectFBSurface *thiz,
int y,
const DFBSpan *spans,
@@ -1011,7 +1031,8 @@ IDirectFBSurface_Requestor_GetSubSurface( IDirectFBSurface *thiz,
{
DirectResult ret;
VoodooResponseMessage *response;
- void *interface = NULL;
+ VoodooInstanceID instance_id;
+ void *interface_ptr = NULL;
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Requestor)
@@ -1025,25 +1046,27 @@ IDirectFBSurface_Requestor_GetSubSurface( IDirectFBSurface *thiz,
if (ret)
return ret;
- ret = response->result;
- if (ret == DFB_OK)
- ret = voodoo_construct_requestor( data->manager, "IDirectFBSurface",
- response->instance, NULL, &interface );
+ instance_id = response->instance;
voodoo_manager_finish_request( data->manager, response );
- *ret_interface = interface;
+ ret = response->result;
+ if (ret == DR_OK)
+ ret = voodoo_construct_requestor( data->manager, "IDirectFBSurface",
+ instance_id, NULL, &interface_ptr );
+
+ *ret_interface = interface_ptr;
return ret;
}
static DFBResult
IDirectFBSurface_Requestor_GetGL( IDirectFBSurface *thiz,
- IDirectFBGL **interface )
+ IDirectFBGL **interface_ptr )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Requestor)
- if (!interface)
+ if (!interface_ptr)
return DFB_INVARG;
D_UNIMPLEMENTED();
@@ -1071,7 +1094,7 @@ IDirectFBSurface_Requestor_DisableAcceleration( IDirectFBSurface *thiz,
DFBAccelerationMask mask )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Requestor)
-
+
return voodoo_manager_request( data->manager, data->instance,
IDIRECTFBSURFACE_METHOD_ID_DisableAcceleration,
VREQ_QUEUE, NULL,
@@ -1083,7 +1106,7 @@ static DFBResult
IDirectFBSurface_Requestor_ReleaseSource( IDirectFBSurface *thiz )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Requestor)
-
+
return voodoo_manager_request( data->manager, data->instance,
IDIRECTFBSURFACE_METHOD_ID_ReleaseSource, VREQ_QUEUE, NULL,
VMBT_NONE );
@@ -1095,13 +1118,133 @@ IDirectFBSurface_Requestor_SetIndexTranslation( IDirectFBSurface *thiz,
int num_indices )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Requestor)
-
+
D_UNIMPLEMENTED();
-
+
return DFB_UNIMPLEMENTED;
}
static DFBResult
+IDirectFBSurface_Requestor_SetRenderOptions( IDirectFBSurface *thiz,
+ DFBSurfaceRenderOptions options )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Requestor)
+
+ return voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBSURFACE_METHOD_ID_SetRenderOptions, VREQ_QUEUE, NULL,
+ VMBT_INT, options,
+ VMBT_NONE );
+}
+
+static DFBResult
+IDirectFBSurface_Requestor_SetMatrix( IDirectFBSurface *thiz,
+ const s32 *matrix )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Requestor)
+
+ return voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBSURFACE_METHOD_ID_SetMatrix, VREQ_QUEUE, NULL,
+ VMBT_DATA, sizeof(s32) * 9, matrix,
+ VMBT_NONE );
+}
+
+#define RLE16_KEY 0xf001
+
+static bool
+rle16_encode( const u16 *src,
+ u16 *dst,
+ unsigned int num,
+ unsigned int *ret_num )
+{
+ unsigned int n, last, count = 0, out = 0;
+
+ for (n=0; n<num; n++) {
+ if (out + 3 > num) {
+ *ret_num = num;
+ return false;
+ }
+
+ if (count > 0) {
+ D_ASSERT( src[n] == last );
+
+ count++;
+ }
+ else {
+ count = 1;
+ last = src[n];
+ }
+
+ if (n == num-1 || src[n+1] != last) {
+ if (count > 2 || (count > 1 && last == RLE16_KEY)) {
+ dst[out++] = RLE16_KEY;
+ dst[out++] = count;
+ dst[out++] = last;
+ }
+ else {
+ if (count > 1 || last == RLE16_KEY)
+ dst[out++] = last;
+
+ dst[out++] = last;
+ }
+
+ count = 0;
+ }
+ }
+
+ *ret_num = out;
+
+ return true;
+}
+
+#define RLE32_KEY 0xf0012345
+
+static bool
+rle32_encode( const u32 *src,
+ u32 *dst,
+ unsigned int num,
+ unsigned int *ret_num )
+{
+ unsigned int n, last, count = 0, out = 0;
+
+ for (n=0; n<num; n++) {
+ if (out + 3 > num) {
+ *ret_num = num;
+ return false;
+ }
+
+ if (count > 0) {
+ D_ASSERT( src[n] == last );
+
+ count++;
+ }
+ else {
+ count = 1;
+ last = src[n];
+ }
+
+ if (n == num-1 || src[n+1] != last) {
+ if (count > 2 || (count > 1 && last == RLE32_KEY)) {
+ dst[out++] = RLE32_KEY;
+ dst[out++] = count;
+ dst[out++] = last;
+ }
+ else {
+ if (count > 1 || last == RLE32_KEY)
+ dst[out++] = last;
+
+ dst[out++] = last;
+ }
+
+ count = 0;
+ }
+ }
+
+ *ret_num = out;
+
+ return true;
+}
+
+static DFBResult
IDirectFBSurface_Requestor_Write( IDirectFBSurface *thiz,
const DFBRectangle *rect,
const void *ptr,
@@ -1110,55 +1253,280 @@ IDirectFBSurface_Requestor_Write( IDirectFBSurface *thiz,
DFBResult ret = DFB_OK;
int y;
DFBRectangle r;
+ DFBSurfacePixelFormat format;
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Requestor)
- if (!rect || !ptr || pitch < 1)
+ if (!rect || !ptr)
return DFB_INVARG;
+ thiz->GetPixelFormat( thiz, &format );
+
r.x = rect->x;
r.y = rect->y;
r.w = rect->w;
r.h = 1;
- for (y=0; y<rect->h; y++) {
- ret = voodoo_manager_request( data->manager, data->instance,
- IDIRECTFBSURFACE_METHOD_ID_Write, VREQ_QUEUE, NULL,
- VMBT_DATA, sizeof(DFBRectangle), &r,
- VMBT_DATA, pitch /* FIXME */, ptr + y * pitch,
- VMBT_INT, pitch,
- VMBT_NONE );
- if (ret)
+ switch (format) {
+ case DSPF_RGB16:
+ case DSPF_ARGB1555: {
+ unsigned int num;
+ u16 *buf = (u16*) D_MALLOC( rect->w * 2 );
+
+ if (buf) {
+ for (y=0; y<rect->h; y++) {
+ bool encoded = rle16_encode( (u16*)((char*) ptr + y * pitch), buf, rect->w, &num );
+
+ //D_INFO( "%3d: %u -> %u\n", r.y, rect->w, num );
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBSURFACE_METHOD_ID_Write, VREQ_QUEUE, NULL,
+ VMBT_UINT, encoded ? 2 : 0,
+ VMBT_DATA, sizeof(DFBRectangle), &r,
+ VMBT_DATA, DFB_BYTES_PER_LINE( format, num ),
+ encoded ? buf : (u16*)((char*) ptr + y * pitch),
+ VMBT_INT, ABS(pitch),
+ VMBT_NONE );
+ if (ret)
+ break;
+
+ r.y++;
+ }
+
+ D_FREE( buf );
+ }
+ else
+ D_OOM();
+
+ break;
+ }
+
+ case DSPF_RGB32:
+ case DSPF_ARGB: {
+ unsigned int num;
+ u32 *buf = (u32*) D_MALLOC( rect->w * 4 );
+
+ if (buf) {
+ for (y=0; y<rect->h; y++) {
+ bool encoded = rle32_encode( (u32*)((char*) ptr + y * pitch), buf, rect->w, &num );
+
+ //D_INFO( "%3d: %u -> %u\n", r.y, rect->w, num );
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBSURFACE_METHOD_ID_Write, VREQ_QUEUE, NULL,
+ VMBT_UINT, encoded ? 4 : 0,
+ VMBT_DATA, sizeof(DFBRectangle), &r,
+ VMBT_DATA, DFB_BYTES_PER_LINE( format, num ),
+ encoded ? buf : (u32*)((char*) ptr + y * pitch),
+ VMBT_INT, ABS(pitch),
+ VMBT_NONE );
+ if (ret)
+ break;
+
+ r.y++;
+ }
+
+ D_FREE( buf );
+ }
+ else
+ D_OOM();
+
break;
+ }
- r.y++;
+ default:
+ for (y=0; y<rect->h; y++) {
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBSURFACE_METHOD_ID_Write, VREQ_QUEUE, NULL,
+ VMBT_UINT, false,
+ VMBT_DATA, sizeof(DFBRectangle), &r,
+ VMBT_DATA, DFB_BYTES_PER_LINE( format, rect->w ), (char*) ptr + y * pitch,
+ VMBT_INT, ABS(pitch),
+ VMBT_NONE );
+ if (ret)
+ break;
+
+ r.y++;
+ }
+ break;
}
return ret;
}
-static DFBResult
-IDirectFBSurface_Requestor_SetRenderOptions( IDirectFBSurface *thiz,
- DFBSurfaceRenderOptions options )
+
+#define RLE16_KEY 0xf001
+
+static void
+rle16_decode( const u16 *src,
+ u16 *dst,
+ unsigned int num )
{
- DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Requestor)
+ unsigned int n = 0, last, count, out = 0;
- return voodoo_manager_request( data->manager, data->instance,
- IDIRECTFBSURFACE_METHOD_ID_SetRenderOptions, VREQ_QUEUE, NULL,
- VMBT_INT, options,
- VMBT_NONE );
+ while (out < num) {
+ last = src[n++];
+
+ if (last == RLE16_KEY) {
+ count = src[n++];
+
+ if (count == RLE16_KEY) {
+ dst[out++] = RLE16_KEY;
+ }
+ else {
+ last = src[n++];
+
+ while (count >= 4) {
+ dst[out+0] =
+ dst[out+1] =
+ dst[out+2] =
+ dst[out+3] = last;
+
+ out += 4;
+ count -= 4;
+ }
+
+ while (count >= 2) {
+ dst[out+0] =
+ dst[out+1] = last;
+
+ out += 2;
+ count -= 2;
+ }
+
+ while (count--)
+ dst[out++] = last;
+ }
+ }
+ else
+ dst[out++] = last;
+ }
+
+ D_ASSERT( out == num );
+}
+
+#define RLE32_KEY 0xf0012345
+
+static void
+rle32_decode( const u32 *src,
+ u32 *dst,
+ unsigned int num )
+{
+ unsigned int n = 0, last, count, out = 0;
+
+ while (out < num) {
+ last = src[n++];
+
+ if (last == RLE32_KEY) {
+ count = src[n++];
+
+ if (count == RLE32_KEY) {
+ dst[out++] = RLE32_KEY;
+ }
+ else {
+ last = src[n++];
+
+ while (count >= 4) {
+ dst[out+0] =
+ dst[out+1] =
+ dst[out+2] =
+ dst[out+3] = last;
+
+ out += 4;
+ count -= 4;
+ }
+
+ while (count >= 2) {
+ dst[out+0] =
+ dst[out+1] = last;
+
+ out += 2;
+ count -= 2;
+ }
+
+ while (count--)
+ dst[out++] = last;
+ }
+ }
+ else
+ dst[out++] = last;
+ }
+
+ D_ASSERT( out == num );
}
static DFBResult
-IDirectFBSurface_Requestor_SetMatrix( IDirectFBSurface *thiz,
- const s32 *matrix )
+IDirectFBSurface_Requestor_Read( IDirectFBSurface *thiz,
+ const DFBRectangle *rect,
+ void *ptr,
+ int pitch )
{
+ DFBResult ret = DFB_OK;
+ int y;
+ DFBSurfacePixelFormat format;
+ VoodooMessageParser parser;
+ VoodooResponseMessage *response;
+
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Requestor)
- return voodoo_manager_request( data->manager, data->instance,
- IDIRECTFBSURFACE_METHOD_ID_SetMatrix, VREQ_QUEUE, NULL,
- VMBT_DATA, sizeof(s32) * 9, matrix,
- VMBT_NONE );
+ D_DEBUG_AT( IDirectFBSurface_Requestor_, "%s( %p, %p, %d )\n", __FUNCTION__, rect, ptr, pitch );
+
+ if (!rect || !ptr)
+ return DFB_INVARG;
+
+ D_DEBUG_AT( IDirectFBSurface_Requestor_, " -> %4d,%4d-%4dx%4d\n", DFB_RECTANGLE_VALS(rect) );
+
+ thiz->GetPixelFormat( thiz, &format );
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBSURFACE_METHOD_ID_Read, VREQ_RESPOND, &response,
+ VMBT_DATA, sizeof(DFBRectangle), rect,
+ VMBT_NONE );
+ if (ret)
+ return ret;
+
+ for (y=0; y<rect->h; y++) {
+ unsigned int encoded;
+ const void *buf;
+
+ D_DEBUG_AT( IDirectFBSurface_Requestor_, " -> [%d]\n", y );
+
+ VOODOO_PARSER_BEGIN( parser, response );
+ VOODOO_PARSER_GET_UINT( parser, encoded );
+ VOODOO_PARSER_GET_DATA( parser, buf );
+ VOODOO_PARSER_END( parser );
+
+ ret = response->result;
+ if (ret)
+ break;
+
+
+ if (encoded) {
+ switch (encoded) {
+ case 2:
+ rle16_decode( buf, (u16*)((char*) ptr + pitch * y), rect->w );
+ break;
+
+ case 4:
+ rle32_decode( buf, (u32*)((char*) ptr + pitch * y), rect->w );
+ break;
+
+ default:
+ D_UNIMPLEMENTED();
+ break;
+ }
+ }
+ else
+ direct_memcpy( (char*) ptr + pitch * y, buf, DFB_BYTES_PER_LINE(format, rect->w) );
+
+
+ if (y < rect->h - 1)
+ voodoo_manager_next_response( data->manager, response, &response );
+ }
+
+ voodoo_manager_finish_request( data->manager, response );
+
+ return ret;
}
@@ -1199,6 +1567,7 @@ Construct( IDirectFBSurface *thiz,
thiz->Lock = IDirectFBSurface_Requestor_Lock;
thiz->GetFramebufferOffset = IDirectFBSurface_Requestor_GetFramebufferOffset;
+ thiz->GetPhysicalAddress = IDirectFBSurface_Requestor_GetPhysicalAddress;
thiz->Unlock = IDirectFBSurface_Requestor_Unlock;
thiz->Flip = IDirectFBSurface_Requestor_Flip;
thiz->SetField = IDirectFBSurface_Requestor_SetField;
@@ -1225,6 +1594,7 @@ Construct( IDirectFBSurface *thiz,
thiz->SetDrawingFlags = IDirectFBSurface_Requestor_SetDrawingFlags;
thiz->FillRectangle = IDirectFBSurface_Requestor_FillRectangle;
thiz->FillRectangles = IDirectFBSurface_Requestor_FillRectangles;
+ thiz->FillTrapezoids = IDirectFBSurface_Requestor_FillTrapezoids;
thiz->FillSpans = IDirectFBSurface_Requestor_FillSpans;
thiz->DrawLine = IDirectFBSurface_Requestor_DrawLine;
thiz->DrawLines = IDirectFBSurface_Requestor_DrawLines;
@@ -1242,18 +1612,19 @@ Construct( IDirectFBSurface *thiz,
thiz->GetGL = IDirectFBSurface_Requestor_GetGL;
thiz->Dump = IDirectFBSurface_Requestor_Dump;
-
+
thiz->DisableAcceleration = IDirectFBSurface_Requestor_DisableAcceleration;
-
+
thiz->ReleaseSource = IDirectFBSurface_Requestor_ReleaseSource;
-
- thiz->SetIndexTranslation = IDirectFBSurface_Requestor_SetIndexTranslation;
- thiz->Write = IDirectFBSurface_Requestor_Write;
+ thiz->SetIndexTranslation = IDirectFBSurface_Requestor_SetIndexTranslation;
thiz->SetRenderOptions = IDirectFBSurface_Requestor_SetRenderOptions;
thiz->SetMatrix = IDirectFBSurface_Requestor_SetMatrix;
+ thiz->Read = IDirectFBSurface_Requestor_Read;
+ thiz->Write = IDirectFBSurface_Requestor_Write;
+
return DFB_OK;
}
diff --git a/proxy/requestor/idirectfbsurface_requestor.h b/proxy/requestor/idirectfbsurface_requestor.h
index 56dff10..c61b0d3 100644
--- a/proxy/requestor/idirectfbsurface_requestor.h
+++ b/proxy/requestor/idirectfbsurface_requestor.h
@@ -43,6 +43,8 @@ typedef struct {
VoodooInstanceID instance;
IDirectFBFont *font;
+
+ DFBSurfacePixelFormat format;
} IDirectFBSurface_Requestor_data;
#endif
diff --git a/proxy/requestor/idirectfbwindow_requestor.c b/proxy/requestor/idirectfbwindow_requestor.c
index e8b4012..832cc99 100644
--- a/proxy/requestor/idirectfbwindow_requestor.c
+++ b/proxy/requestor/idirectfbwindow_requestor.c
@@ -49,7 +49,7 @@
#include "idirectfbwindow_requestor.h"
-static DFBResult Probe();
+static DFBResult Probe( void );
static DFBResult Construct( IDirectFBWindow *thiz,
VoodooManager *manager,
VoodooInstanceID instance,
@@ -65,8 +65,14 @@ DIRECT_INTERFACE_IMPLEMENTATION( IDirectFBWindow, Requestor )
static void
IDirectFBWindow_Requestor_Destruct( IDirectFBWindow *thiz )
{
+ IDirectFBWindow_Requestor_data *data = thiz->priv;
+
D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz );
+ voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBWINDOW_METHOD_ID_Release, VREQ_NONE, NULL,
+ VMBT_NONE );
+
DIRECT_DEALLOCATE_INTERFACE( thiz );
}
@@ -214,9 +220,10 @@ IDirectFBWindow_Requestor_EnableEvents( IDirectFBWindow *thiz,
{
DIRECT_INTERFACE_GET_DATA(IDirectFBWindow_Requestor)
- D_UNIMPLEMENTED();
-
- return DFB_UNIMPLEMENTED;
+ return voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBWINDOW_METHOD_ID_EnableEvents, VREQ_NONE, NULL,
+ VMBT_UINT, mask,
+ VMBT_NONE );
}
static DFBResult
@@ -357,7 +364,7 @@ IDirectFBWindow_Requestor_GetSurface( IDirectFBWindow *thiz,
{
DirectResult ret;
VoodooResponseMessage *response;
- void *interface = NULL;
+ void *interface_ptr = NULL;
DIRECT_INTERFACE_GET_DATA(IDirectFBWindow_Requestor)
@@ -371,13 +378,13 @@ IDirectFBWindow_Requestor_GetSurface( IDirectFBWindow *thiz,
return ret;
ret = response->result;
- if (ret == DFB_OK)
+ if (ret == DR_OK)
ret = voodoo_construct_requestor( data->manager, "IDirectFBSurface",
- response->instance, NULL, &interface );
+ response->instance, NULL, &interface_ptr );
voodoo_manager_finish_request( data->manager, response );
- *ret_interface = interface;
+ *ret_interface = interface_ptr;
return ret;
}
@@ -398,13 +405,40 @@ IDirectFBWindow_Requestor_SetProperty( IDirectFBWindow *thiz,
static DFBResult
IDirectFBWindow_Requestor_GetProperty( IDirectFBWindow *thiz,
const char *key,
- void **value )
+ void **ret_value )
{
+ DirectResult ret;
+ VoodooResponseMessage *response;
+ VoodooMessageParser parser;
+ const char *value;
+
DIRECT_INTERFACE_GET_DATA(IDirectFBWindow_Requestor)
- D_UNIMPLEMENTED();
+ if (!ret_value)
+ return DFB_INVARG;
- return DFB_UNIMPLEMENTED;
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBWINDOW_METHOD_ID_GetProperty, VREQ_RESPOND, &response,
+ VMBT_STRING, key,
+ VMBT_NONE );
+ if (ret)
+ return ret;
+
+ ret = response->result;
+ if (ret) {
+ voodoo_manager_finish_request( data->manager, response );
+ return ret;
+ }
+
+ VOODOO_PARSER_BEGIN( parser, response );
+ VOODOO_PARSER_GET_STRING( parser, value );
+ VOODOO_PARSER_END( parser );
+
+ *ret_value = D_STRDUP( value ); // FIXME: LEAK
+
+ voodoo_manager_finish_request( data->manager, response );
+
+ return DFB_OK;
}
static DFBResult
@@ -419,7 +453,6 @@ IDirectFBWindow_Requestor_RemoveProperty( IDirectFBWindow *thiz,
return DFB_UNIMPLEMENTED;
}
-
static DFBResult
IDirectFBWindow_Requestor_SetOptions( IDirectFBWindow *thiz,
DFBWindowOptions options )
@@ -904,6 +937,106 @@ IDirectFBWindow_Requestor_ResizeSurface( IDirectFBWindow *thiz,
return ret;
}
+static DFBResult
+IDirectFBWindow_Requestor_Bind( IDirectFBWindow *thiz,
+ IDirectFBWindow *source,
+ int x,
+ int y )
+{
+ D_UNIMPLEMENTED();
+ return DFB_UNIMPLEMENTED;
+}
+
+static DFBResult
+IDirectFBWindow_Requestor_Unbind( IDirectFBWindow *thiz,
+ IDirectFBWindow *source )
+{
+ D_UNIMPLEMENTED();
+ return DFB_UNIMPLEMENTED;
+}
+
+static DFBResult
+IDirectFBWindow_Requestor_SetKeySelection( IDirectFBWindow *thiz,
+ DFBWindowKeySelection selection,
+ const DFBInputDeviceKeySymbol *keys,
+ unsigned int num_keys )
+{
+ D_UNIMPLEMENTED();
+ return DFB_UNIMPLEMENTED;
+}
+
+static DFBResult
+IDirectFBWindow_Requestor_GrabUnselectedKeys( IDirectFBWindow *thiz )
+{
+ D_UNIMPLEMENTED();
+ return DFB_UNIMPLEMENTED;
+}
+
+static DFBResult
+IDirectFBWindow_Requestor_UngrabUnselectedKeys( IDirectFBWindow *thiz )
+{
+ D_UNIMPLEMENTED();
+ return DFB_UNIMPLEMENTED;
+}
+
+static DFBResult
+IDirectFBWindow_Requestor_SetSrcGeometry( IDirectFBWindow *thiz,
+ const DFBWindowGeometry *geometry )
+{
+ DirectResult ret;
+ VoodooResponseMessage *response;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBWindow_Requestor)
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBWINDOW_METHOD_ID_SetSrcGeometry, VREQ_RESPOND, &response,
+ VMBT_DATA, sizeof(DFBWindowGeometry), geometry,
+ VMBT_NONE );
+ if (ret)
+ return ret;
+
+ ret = response->result;
+
+ voodoo_manager_finish_request( data->manager, response );
+
+ return ret;
+}
+
+static DFBResult
+IDirectFBWindow_Requestor_SetDstGeometry( IDirectFBWindow *thiz,
+ const DFBWindowGeometry *geometry )
+{
+ DirectResult ret;
+ VoodooResponseMessage *response;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBWindow_Requestor)
+
+ ret = voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBWINDOW_METHOD_ID_SetDstGeometry, VREQ_RESPOND, &response,
+ VMBT_DATA, sizeof(DFBWindowGeometry), geometry,
+ VMBT_NONE );
+ if (ret)
+ return ret;
+
+ ret = response->result;
+
+ voodoo_manager_finish_request( data->manager, response );
+
+ return ret;
+}
+
+static DFBResult
+IDirectFBWindow_Requestor_SendEvent( IDirectFBWindow *thiz,
+ const DFBWindowEvent *event )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBWindow_Requestor)
+
+ return voodoo_manager_request( data->manager, data->instance,
+ IDIRECTFBWINDOW_METHOD_ID_SendEvent, VREQ_NONE, NULL,
+ VMBT_DATA, sizeof(DFBWindowEvent), event,
+ VMBT_NONE );
+}
+
/**************************************************************************************************/
static DFBResult
@@ -968,6 +1101,14 @@ Construct( IDirectFBWindow *thiz,
thiz->Destroy = IDirectFBWindow_Requestor_Destroy;
thiz->SetBounds = IDirectFBWindow_Requestor_SetBounds;
thiz->ResizeSurface = IDirectFBWindow_Requestor_ResizeSurface;
+ thiz->Bind = IDirectFBWindow_Requestor_Bind;
+ thiz->Unbind = IDirectFBWindow_Requestor_Unbind;
+ thiz->SetKeySelection = IDirectFBWindow_Requestor_SetKeySelection;
+ thiz->GrabUnselectedKeys = IDirectFBWindow_Requestor_GrabUnselectedKeys;
+ thiz->UngrabUnselectedKeys = IDirectFBWindow_Requestor_UngrabUnselectedKeys;
+ thiz->SetSrcGeometry = IDirectFBWindow_Requestor_SetSrcGeometry;
+ thiz->SetDstGeometry = IDirectFBWindow_Requestor_SetDstGeometry;
+ thiz->SendEvent = IDirectFBWindow_Requestor_SendEvent;
return DFB_OK;
}
diff --git a/rules/Makefile.am b/rules/Makefile.am
index 55e6061..6c6674d 100644
--- a/rules/Makefile.am
+++ b/rules/Makefile.am
@@ -1 +1,2 @@
-EXTRA_DIST = libobject.make
+EXTRA_DIST = flux_comp.make libobject.make nmfile.make
+
diff --git a/rules/Makefile.in b/rules/Makefile.in
index 411d389..1382dec 100644
--- a/rules/Makefile.in
+++ b/rules/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -42,11 +44,19 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -70,11 +80,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -88,16 +101,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -118,12 +132,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -134,21 +151,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -156,6 +181,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -169,6 +198,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -176,9 +206,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -225,9 +256,10 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-EXTRA_DIST = libobject.make
+EXTRA_DIST = flux_comp.make libobject.make nmfile.make
all: all-am
.SUFFIXES:
@@ -235,14 +267,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu rules/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu rules/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu rules/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu rules/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -260,6 +292,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -289,13 +322,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -313,16 +350,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -341,6 +384,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -349,18 +394,28 @@ install-data-am:
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -394,6 +449,7 @@ uninstall-am:
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/rules/flux_comp.make b/rules/flux_comp.make
new file mode 100644
index 0000000..b56b9bd
--- /dev/null
+++ b/rules/flux_comp.make
@@ -0,0 +1,4 @@
+FLUX_ARGS ?= -c -i --include-prefix=core --call-mode
+
+$(builddir)/%.c $(builddir)/%.h: $(srcdir)/%.flux
+ $(FLUXCOMP) $(FLUX_ARGS) $<
diff --git a/src/Makefile.am b/src/Makefile.am
index 8f506e6..255eede 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,10 +1,22 @@
## Makefile.am for DirectFB/src
-SUBDIRS = core display gfx input media misc windows
+
+if DIRECTFB_BUILD_PURE_VOODOO
+NON_PURE_VOODOO_SUBDIRS =
+else
+NON_PURE_VOODOO_SUBDIRS = \
+ core display windows
+endif
+
+SUBDIRS = \
+ $(NON_PURE_VOODOO_SUBDIRS) \
+ gfx input media misc
+
INCLUDES = \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -22,25 +34,48 @@ internalinclude_HEADERS = \
lib_LTLIBRARIES = libdirectfb.la
-libdirectfb_la_SOURCES = \
- directfb.c \
+if DIRECTFB_BUILD_PURE_VOODOO
+NON_PURE_VOODOO_SOURCES =
+else
+NON_PURE_VOODOO_SOURCES = \
idirectfb.c
+endif
+
+libdirectfb_la_SOURCES = \
+ $(NON_PURE_VOODOO_SOURCES) \
+ directfb.c
libdirectfb_la_LDFLAGS = \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-release $(LT_RELEASE) \
$(DFB_LDFLAGS)
-libdirectfb_la_LIBADD = \
+
+if DIRECTFB_BUILD_PURE_VOODOO
+NON_PURE_VOODOO_LIBS =
+else
+NON_PURE_VOODOO_LIBS = \
+ core/libdirectfb_core.la \
display/libdirectfb_display.la \
+ windows/libdirectfb_windows.la
+endif
+
+if DIRECTFB_BUILD_VOODOO
+VOODOO_LIB = \
+ ../lib/voodoo/libvoodoo.la
+else
+VOODOO_LIB =
+endif
+
+libdirectfb_la_LIBADD = \
+ $(NON_PURE_VOODOO_LIBS) \
media/libdirectfb_media.la \
- windows/libdirectfb_windows.la \
input/libdirectfb_input.la \
misc/libdirectfb_misc.la \
gfx/libdirectfb_gfx.la \
- core/libdirectfb_core.la \
../lib/direct/libdirect.la \
- ../lib/fusion/libfusion.la
+ ../lib/fusion/libfusion.la \
+ $(VOODOO_LIB)
#
diff --git a/src/Makefile.in b/src/Makefile.in
index 14c2c43..d1f6f81 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,40 +47,87 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(libdir)" \
"$(DESTDIR)$(internalincludedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
-libdirectfb_la_DEPENDENCIES = display/libdirectfb_display.la \
- media/libdirectfb_media.la windows/libdirectfb_windows.la \
- input/libdirectfb_input.la misc/libdirectfb_misc.la \
- gfx/libdirectfb_gfx.la core/libdirectfb_core.la \
- ../lib/direct/libdirect.la ../lib/fusion/libfusion.la
-am_libdirectfb_la_OBJECTS = directfb.lo idirectfb.lo
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@am__DEPENDENCIES_1 = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ core/libdirectfb_core.la \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ display/libdirectfb_display.la \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ windows/libdirectfb_windows.la
+ at DIRECTFB_BUILD_VOODOO_TRUE@am__DEPENDENCIES_2 = \
+ at DIRECTFB_BUILD_VOODOO_TRUE@ ../lib/voodoo/libvoodoo.la
+libdirectfb_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ media/libdirectfb_media.la input/libdirectfb_input.la \
+ misc/libdirectfb_misc.la gfx/libdirectfb_gfx.la \
+ ../lib/direct/libdirect.la ../lib/fusion/libfusion.la \
+ $(am__DEPENDENCIES_2)
+am__libdirectfb_la_SOURCES_DIST = idirectfb.c directfb.c
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@am__objects_1 = idirectfb.lo
+am_libdirectfb_la_OBJECTS = $(am__objects_1) directfb.lo
libdirectfb_la_OBJECTS = $(am_libdirectfb_la_OBJECTS)
-libdirectfb_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_la_LDFLAGS) $(LDFLAGS) -o \
+ $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_la_SOURCES)
-DIST_SOURCES = $(libdirectfb_la_SOURCES)
+DIST_SOURCES = $(am__libdirectfb_la_SOURCES_DIST)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
@@ -86,16 +135,44 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
-internalincludeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(internalinclude_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
+DIST_SUBDIRS = core display windows gfx input media misc
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -119,11 +196,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -137,16 +217,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -167,12 +248,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -183,21 +267,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -205,6 +297,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -218,6 +314,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -225,9 +322,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -274,12 +372,21 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-SUBDIRS = core display gfx input media misc windows
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@NON_PURE_VOODOO_SUBDIRS = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ core display windows
+
+ at DIRECTFB_BUILD_PURE_VOODOO_TRUE@NON_PURE_VOODOO_SUBDIRS =
+SUBDIRS = \
+ $(NON_PURE_VOODOO_SUBDIRS) \
+ gfx input media misc
+
INCLUDES = \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -293,25 +400,38 @@ internalinclude_HEADERS = \
idirectfb.h
lib_LTLIBRARIES = libdirectfb.la
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@NON_PURE_VOODOO_SOURCES = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ idirectfb.c
+
+ at DIRECTFB_BUILD_PURE_VOODOO_TRUE@NON_PURE_VOODOO_SOURCES =
libdirectfb_la_SOURCES = \
- directfb.c \
- idirectfb.c
+ $(NON_PURE_VOODOO_SOURCES) \
+ directfb.c
libdirectfb_la_LDFLAGS = \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-release $(LT_RELEASE) \
$(DFB_LDFLAGS)
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@NON_PURE_VOODOO_LIBS = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ core/libdirectfb_core.la \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ display/libdirectfb_display.la \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ windows/libdirectfb_windows.la
+
+ at DIRECTFB_BUILD_PURE_VOODOO_TRUE@NON_PURE_VOODOO_LIBS =
+ at DIRECTFB_BUILD_VOODOO_FALSE@VOODOO_LIB =
+ at DIRECTFB_BUILD_VOODOO_TRUE@VOODOO_LIB = \
+ at DIRECTFB_BUILD_VOODOO_TRUE@ ../lib/voodoo/libvoodoo.la
+
libdirectfb_la_LIBADD = \
- display/libdirectfb_display.la \
+ $(NON_PURE_VOODOO_LIBS) \
media/libdirectfb_media.la \
- windows/libdirectfb_windows.la \
input/libdirectfb_input.la \
misc/libdirectfb_misc.la \
gfx/libdirectfb_gfx.la \
- core/libdirectfb_core.la \
../lib/direct/libdirect.la \
- ../lib/fusion/libfusion.la
+ ../lib/fusion/libfusion.la \
+ $(VOODOO_LIB)
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE at LIBTONM = $(LTLIBRARIES:.la=-$(LT_RELEASE).so.$(LT_BINARY))
all: all-recursive
@@ -322,14 +442,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -339,6 +459,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/nmfile.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -347,23 +468,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
@@ -374,8 +500,8 @@ clean-libLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb.la: $(libdirectfb_la_OBJECTS) $(libdirectfb_la_DEPENDENCIES)
- $(libdirectfb_la_LINK) -rpath $(libdir) $(libdirectfb_la_OBJECTS) $(libdirectfb_la_LIBADD) $(LIBS)
+libdirectfb.la: $(libdirectfb_la_OBJECTS) $(libdirectfb_la_DEPENDENCIES) $(EXTRA_libdirectfb_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_la_LINK) -rpath $(libdir) $(libdirectfb_la_OBJECTS) $(libdirectfb_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -387,25 +513,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfb.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -415,20 +541,21 @@ clean-libtool:
install-internalincludeHEADERS: $(internalinclude_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(internalincludedir)" || $(MKDIR_P) "$(DESTDIR)$(internalincludedir)"
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(internalincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(internalincludedir)/$$f'"; \
- $(internalincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(internalincludedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(internalincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(internalincludedir)" || exit $$?; \
done
uninstall-internalincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(internalincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(internalincludedir)/$$f"; \
- done
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(internalincludedir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@@ -437,7 +564,7 @@ uninstall-internalincludeHEADERS:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -454,7 +581,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -462,7 +589,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -488,16 +615,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -505,14 +632,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -524,7 +651,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -533,29 +660,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -576,29 +708,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -621,16 +768,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -654,6 +807,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -662,18 +817,28 @@ install-data-am: install-data-local install-internalincludeHEADERS
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am: install-libLTLIBRARIES
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -697,8 +862,8 @@ ps-am:
uninstall-am: uninstall-internalincludeHEADERS \
uninstall-libLTLIBRARIES
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am all-local check check-am clean clean-generic \
@@ -741,6 +906,7 @@ uninstall-am: uninstall-internalincludeHEADERS \
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE at install-data-local: install-libLTLIBRARIES
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE@ mkdir -p -- "$(DESTDIR)$(libdir)"
@BUILD_SHARED_TRUE@@ENABLE_TRACE_TRUE@ nm -n "$(DESTDIR)$(libdir)/$(LIBTONM)" > "$(DESTDIR)$(libdir)/nm-n.$(LIBTONM)"
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/core/CoreDFB.c b/src/core/CoreDFB.c
new file mode 100644
index 0000000..84dc86c
--- /dev/null
+++ b/src/core/CoreDFB.c
@@ -0,0 +1,662 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreDFB.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+#include <core/CoreDFB_CallMode.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreDFB, "DirectFB/CoreDFB", "DirectFB CoreDFB" );
+
+/*********************************************************************************************************************/
+
+DFBResult
+CoreDFB_Register(
+ CoreDFB *obj,
+ u32 slave_call
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ICore_Real__Register( obj, slave_call );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ICore_Requestor__Register( obj, slave_call );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreDFB_CreateSurface(
+ CoreDFB *obj,
+ const CoreSurfaceConfig *config,
+ CoreSurfaceTypeFlags type,
+ u64 resource_id,
+ CorePalette *palette,
+ CoreSurface **ret_surface
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ICore_Real__CreateSurface( obj, config, type, resource_id, palette, ret_surface );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ICore_Requestor__CreateSurface( obj, config, type, resource_id, palette, ret_surface );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreDFB_CreatePalette(
+ CoreDFB *obj,
+ u32 size,
+ CorePalette **ret_palette
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ICore_Real__CreatePalette( obj, size, ret_palette );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ICore_Requestor__CreatePalette( obj, size, ret_palette );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreDFB_CreateState(
+ CoreDFB *obj,
+ CoreGraphicsState **ret_state
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ICore_Real__CreateState( obj, ret_state );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ICore_Requestor__CreateState( obj, ret_state );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreDFB_WaitIdle(
+ CoreDFB *obj
+
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ICore_Real__WaitIdle( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ICore_Requestor__WaitIdle( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreDFB_CreateImageProvider(
+ CoreDFB *obj,
+ u32 buffer_call,
+ u32 *ret_call
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ICore_Real__CreateImageProvider( obj, buffer_call, ret_call );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ICore_Requestor__CreateImageProvider( obj, buffer_call, ret_call );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+/*********************************************************************************************************************/
+
+static FusionCallHandlerResult
+CoreDFB_Dispatch( int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *ptr, /* optional call parameter */
+ unsigned int length,
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ CoreDFB *obj = (CoreDFB*) ctx;
+ CoreDFBDispatch__Dispatch( obj, caller, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+
+ return FCHR_RETURN;
+}
+
+void CoreDFB_Init_Dispatch(
+ CoreDFB *core,
+ CoreDFB *obj,
+ FusionCall *call
+)
+{
+ fusion_call_init3( call, CoreDFB_Dispatch, obj, core->world );
+}
+
+void CoreDFB_Deinit_Dispatch(
+ FusionCall *call
+)
+{
+ fusion_call_destroy( call );
+}
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+ICore_Requestor__Register( CoreDFB *obj,
+ u32 slave_call
+)
+{
+ DFBResult ret;
+ CoreDFBRegister *args = (CoreDFBRegister*) alloca( sizeof(CoreDFBRegister) );
+ CoreDFBRegisterReturn *return_args = (CoreDFBRegisterReturn*) alloca( sizeof(CoreDFBRegisterReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreDFB, "ICore_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->slave_call = slave_call;
+
+ ret = (DFBResult) CoreDFB_Call( obj, FCEF_NONE, _CoreDFB_Register, args, sizeof(CoreDFBRegister), return_args, sizeof(CoreDFBRegisterReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreDFB_Call( CoreDFB_Register ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreDFB_Register failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ICore_Requestor__CreateSurface( CoreDFB *obj,
+ const CoreSurfaceConfig *config,
+ CoreSurfaceTypeFlags type,
+ u64 resource_id,
+ CorePalette *palette,
+ CoreSurface **ret_surface
+)
+{
+ DFBResult ret;
+ CoreSurface *surface = NULL;
+ CoreDFBCreateSurface *args = (CoreDFBCreateSurface*) alloca( sizeof(CoreDFBCreateSurface) );
+ CoreDFBCreateSurfaceReturn *return_args = (CoreDFBCreateSurfaceReturn*) alloca( sizeof(CoreDFBCreateSurfaceReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreDFB, "ICore_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+ D_ASSERT( ret_surface != NULL );
+
+ args->config = *config;
+ args->type = type;
+ args->resource_id = resource_id;
+ if (palette) {
+ args->palette_id = CorePalette_GetID( palette );
+ args->palette_set = true;
+ }
+ else
+ args->palette_set = false;
+
+ ret = (DFBResult) CoreDFB_Call( obj, FCEF_NONE, _CoreDFB_CreateSurface, args, sizeof(CoreDFBCreateSurface), return_args, sizeof(CoreDFBCreateSurfaceReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreDFB_Call( CoreDFB_CreateSurface ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreDFB_CreateSurface failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CoreSurface_Catch( core_dfb, return_args->surface_id, &surface );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching surface by ID %u failed!\n", __FUNCTION__, return_args->surface_id );
+ return ret;
+ }
+
+ *ret_surface = surface;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ICore_Requestor__CreatePalette( CoreDFB *obj,
+ u32 size,
+ CorePalette **ret_palette
+)
+{
+ DFBResult ret;
+ CorePalette *palette = NULL;
+ CoreDFBCreatePalette *args = (CoreDFBCreatePalette*) alloca( sizeof(CoreDFBCreatePalette) );
+ CoreDFBCreatePaletteReturn *return_args = (CoreDFBCreatePaletteReturn*) alloca( sizeof(CoreDFBCreatePaletteReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreDFB, "ICore_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_palette != NULL );
+
+ args->size = size;
+
+ ret = (DFBResult) CoreDFB_Call( obj, FCEF_NONE, _CoreDFB_CreatePalette, args, sizeof(CoreDFBCreatePalette), return_args, sizeof(CoreDFBCreatePaletteReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreDFB_Call( CoreDFB_CreatePalette ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreDFB_CreatePalette failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CorePalette_Catch( core_dfb, return_args->palette_id, &palette );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching palette by ID %u failed!\n", __FUNCTION__, return_args->palette_id );
+ return ret;
+ }
+
+ *ret_palette = palette;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ICore_Requestor__CreateState( CoreDFB *obj,
+ CoreGraphicsState **ret_state
+)
+{
+ DFBResult ret;
+ CoreGraphicsState *state = NULL;
+ CoreDFBCreateState *args = (CoreDFBCreateState*) alloca( sizeof(CoreDFBCreateState) );
+ CoreDFBCreateStateReturn *return_args = (CoreDFBCreateStateReturn*) alloca( sizeof(CoreDFBCreateStateReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreDFB, "ICore_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_state != NULL );
+
+
+ ret = (DFBResult) CoreDFB_Call( obj, FCEF_NONE, _CoreDFB_CreateState, args, sizeof(CoreDFBCreateState), return_args, sizeof(CoreDFBCreateStateReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreDFB_Call( CoreDFB_CreateState ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreDFB_CreateState failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CoreGraphicsState_Catch( core_dfb, return_args->state_id, &state );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching state by ID %u failed!\n", __FUNCTION__, return_args->state_id );
+ return ret;
+ }
+
+ *ret_state = state;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ICore_Requestor__WaitIdle( CoreDFB *obj
+
+)
+{
+ DFBResult ret;
+ CoreDFBWaitIdle *args = (CoreDFBWaitIdle*) alloca( sizeof(CoreDFBWaitIdle) );
+ CoreDFBWaitIdleReturn *return_args = (CoreDFBWaitIdleReturn*) alloca( sizeof(CoreDFBWaitIdleReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreDFB, "ICore_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) CoreDFB_Call( obj, FCEF_NONE, _CoreDFB_WaitIdle, args, sizeof(CoreDFBWaitIdle), return_args, sizeof(CoreDFBWaitIdleReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreDFB_Call( CoreDFB_WaitIdle ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreDFB_WaitIdle failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ICore_Requestor__CreateImageProvider( CoreDFB *obj,
+ u32 buffer_call,
+ u32 *ret_call
+)
+{
+ DFBResult ret;
+ CoreDFBCreateImageProvider *args = (CoreDFBCreateImageProvider*) alloca( sizeof(CoreDFBCreateImageProvider) );
+ CoreDFBCreateImageProviderReturn *return_args = (CoreDFBCreateImageProviderReturn*) alloca( sizeof(CoreDFBCreateImageProviderReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreDFB, "ICore_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->buffer_call = buffer_call;
+
+ ret = (DFBResult) CoreDFB_Call( obj, FCEF_NONE, _CoreDFB_CreateImageProvider, args, sizeof(CoreDFBCreateImageProvider), return_args, sizeof(CoreDFBCreateImageProviderReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreDFB_Call( CoreDFB_CreateImageProvider ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreDFB_CreateImageProvider failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ *ret_call = return_args->call;
+
+ return DFB_OK;
+}
+
+/*********************************************************************************************************************/
+
+static DFBResult
+__CoreDFBDispatch__Dispatch( CoreDFB *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_UNUSED
+ DFBResult ret;
+
+
+ switch (method) {
+ case _CoreDFB_Register: {
+ D_UNUSED
+ CoreDFBRegister *args = (CoreDFBRegister *) ptr;
+ CoreDFBRegisterReturn *return_args = (CoreDFBRegisterReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreDFB, "=-> CoreDFB_Register\n" );
+
+ return_args->result = ICore_Real__Register( obj, args->slave_call );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreDFBRegisterReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreDFB_CreateSurface: {
+ CorePalette *palette = NULL;
+ CoreSurface *surface = NULL;
+ D_UNUSED
+ CoreDFBCreateSurface *args = (CoreDFBCreateSurface *) ptr;
+ CoreDFBCreateSurfaceReturn *return_args = (CoreDFBCreateSurfaceReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreDFB, "=-> CoreDFB_CreateSurface\n" );
+
+ if (args->palette_set) {
+ ret = (DFBResult) CorePalette_Lookup( core_dfb, args->palette_id, caller, &palette );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up palette by ID %u failed!\n", __FUNCTION__, args->palette_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+ }
+
+ return_args->result = ICore_Real__CreateSurface( obj, &args->config, args->type, args->resource_id, args->palette_set ? palette : NULL, &surface );
+ if (return_args->result == DFB_OK) {
+ CoreSurface_Throw( surface, caller, &return_args->surface_id );
+ }
+
+ *ret_length = sizeof(CoreDFBCreateSurfaceReturn);
+
+ if (palette)
+ CorePalette_Unref( palette );
+
+ return DFB_OK;
+ }
+
+ case _CoreDFB_CreatePalette: {
+ CorePalette *palette = NULL;
+ D_UNUSED
+ CoreDFBCreatePalette *args = (CoreDFBCreatePalette *) ptr;
+ CoreDFBCreatePaletteReturn *return_args = (CoreDFBCreatePaletteReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreDFB, "=-> CoreDFB_CreatePalette\n" );
+
+ return_args->result = ICore_Real__CreatePalette( obj, args->size, &palette );
+ if (return_args->result == DFB_OK) {
+ CorePalette_Throw( palette, caller, &return_args->palette_id );
+ }
+
+ *ret_length = sizeof(CoreDFBCreatePaletteReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreDFB_CreateState: {
+ CoreGraphicsState *state = NULL;
+ D_UNUSED
+ CoreDFBCreateState *args = (CoreDFBCreateState *) ptr;
+ CoreDFBCreateStateReturn *return_args = (CoreDFBCreateStateReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreDFB, "=-> CoreDFB_CreateState\n" );
+
+ return_args->result = ICore_Real__CreateState( obj, &state );
+ if (return_args->result == DFB_OK) {
+ CoreGraphicsState_Throw( state, caller, &return_args->state_id );
+ }
+
+ *ret_length = sizeof(CoreDFBCreateStateReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreDFB_WaitIdle: {
+ D_UNUSED
+ CoreDFBWaitIdle *args = (CoreDFBWaitIdle *) ptr;
+ CoreDFBWaitIdleReturn *return_args = (CoreDFBWaitIdleReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreDFB, "=-> CoreDFB_WaitIdle\n" );
+
+ return_args->result = ICore_Real__WaitIdle( obj );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreDFBWaitIdleReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreDFB_CreateImageProvider: {
+ D_UNUSED
+ CoreDFBCreateImageProvider *args = (CoreDFBCreateImageProvider *) ptr;
+ CoreDFBCreateImageProviderReturn *return_args = (CoreDFBCreateImageProviderReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreDFB, "=-> CoreDFB_CreateImageProvider\n" );
+
+ return_args->result = ICore_Real__CreateImageProvider( obj, args->buffer_call, &return_args->call );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreDFBCreateImageProviderReturn);
+
+ return DFB_OK;
+ }
+
+ }
+
+ return DFB_NOSUCHMETHOD;
+}
+/*********************************************************************************************************************/
+
+DFBResult
+CoreDFBDispatch__Dispatch( CoreDFB *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreDFB, "CoreDFBDispatch::%s( %p )\n", __FUNCTION__, obj );
+
+ Core_PushIdentity( caller );
+
+ ret = __CoreDFBDispatch__Dispatch( obj, caller, method, ptr, length, ret_ptr, ret_size, ret_length );
+
+ Core_PopIdentity();
+
+ return ret;
+}
diff --git a/src/core/CoreDFB.h b/src/core/CoreDFB.h
new file mode 100644
index 0000000..e6e99e9
--- /dev/null
+++ b/src/core/CoreDFB.h
@@ -0,0 +1,243 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef ___CoreDFB__H___
+#define ___CoreDFB__H___
+
+#include <core/CoreDFB_includes.h>
+
+/**********************************************************************************************************************
+ * CoreDFB
+ */
+
+#ifdef __cplusplus
+#include <core/Interface.h>
+
+extern "C" {
+#endif
+
+
+DFBResult CoreDFB_Register(
+ CoreDFB *obj,
+ u32 slave_call);
+
+DFBResult CoreDFB_CreateSurface(
+ CoreDFB *obj,
+ const CoreSurfaceConfig *config,
+ CoreSurfaceTypeFlags type,
+ u64 resource_id,
+ CorePalette *palette,
+ CoreSurface **ret_surface);
+
+DFBResult CoreDFB_CreatePalette(
+ CoreDFB *obj,
+ u32 size,
+ CorePalette **ret_palette);
+
+DFBResult CoreDFB_CreateState(
+ CoreDFB *obj,
+ CoreGraphicsState **ret_state);
+
+DFBResult CoreDFB_WaitIdle(
+ CoreDFB *obj
+);
+
+DFBResult CoreDFB_CreateImageProvider(
+ CoreDFB *obj,
+ u32 buffer_call,
+ u32 *ret_call);
+
+
+void CoreDFB_Init_Dispatch(
+ CoreDFB *core,
+ CoreDFB *obj,
+ FusionCall *call
+);
+
+void CoreDFB_Deinit_Dispatch(
+ FusionCall *call
+);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+/*
+ * CoreDFB Calls
+ */
+typedef enum {
+ _CoreDFB_Register = 1,
+ _CoreDFB_CreateSurface = 2,
+ _CoreDFB_CreatePalette = 3,
+ _CoreDFB_CreateState = 4,
+ _CoreDFB_WaitIdle = 5,
+ _CoreDFB_CreateImageProvider = 6,
+} CoreDFBCall;
+
+/*
+ * CoreDFB_Register
+ */
+typedef struct {
+ u32 slave_call;
+} CoreDFBRegister;
+
+typedef struct {
+ DFBResult result;
+} CoreDFBRegisterReturn;
+
+
+/*
+ * CoreDFB_CreateSurface
+ */
+typedef struct {
+ CoreSurfaceConfig config;
+ CoreSurfaceTypeFlags type;
+ u64 resource_id;
+ bool palette_set;
+ u32 palette_id;
+} CoreDFBCreateSurface;
+
+typedef struct {
+ DFBResult result;
+ u32 surface_id;
+} CoreDFBCreateSurfaceReturn;
+
+
+/*
+ * CoreDFB_CreatePalette
+ */
+typedef struct {
+ u32 size;
+} CoreDFBCreatePalette;
+
+typedef struct {
+ DFBResult result;
+ u32 palette_id;
+} CoreDFBCreatePaletteReturn;
+
+
+/*
+ * CoreDFB_CreateState
+ */
+typedef struct {
+} CoreDFBCreateState;
+
+typedef struct {
+ DFBResult result;
+ u32 state_id;
+} CoreDFBCreateStateReturn;
+
+
+/*
+ * CoreDFB_WaitIdle
+ */
+typedef struct {
+} CoreDFBWaitIdle;
+
+typedef struct {
+ DFBResult result;
+} CoreDFBWaitIdleReturn;
+
+
+/*
+ * CoreDFB_CreateImageProvider
+ */
+typedef struct {
+ u32 buffer_call;
+} CoreDFBCreateImageProvider;
+
+typedef struct {
+ DFBResult result;
+ u32 call;
+} CoreDFBCreateImageProviderReturn;
+
+
+DFBResult ICore_Real__Register( CoreDFB *obj,
+ u32 slave_call );
+
+DFBResult ICore_Real__CreateSurface( CoreDFB *obj,
+ const CoreSurfaceConfig *config,
+ CoreSurfaceTypeFlags type,
+ u64 resource_id,
+ CorePalette *palette,
+ CoreSurface **ret_surface );
+
+DFBResult ICore_Real__CreatePalette( CoreDFB *obj,
+ u32 size,
+ CorePalette **ret_palette );
+
+DFBResult ICore_Real__CreateState( CoreDFB *obj,
+ CoreGraphicsState **ret_state );
+
+DFBResult ICore_Real__WaitIdle( CoreDFB *obj
+ );
+
+DFBResult ICore_Real__CreateImageProvider( CoreDFB *obj,
+ u32 buffer_call,
+ u32 *ret_call );
+
+DFBResult ICore_Requestor__Register( CoreDFB *obj,
+ u32 slave_call );
+
+DFBResult ICore_Requestor__CreateSurface( CoreDFB *obj,
+ const CoreSurfaceConfig *config,
+ CoreSurfaceTypeFlags type,
+ u64 resource_id,
+ CorePalette *palette,
+ CoreSurface **ret_surface );
+
+DFBResult ICore_Requestor__CreatePalette( CoreDFB *obj,
+ u32 size,
+ CorePalette **ret_palette );
+
+DFBResult ICore_Requestor__CreateState( CoreDFB *obj,
+ CoreGraphicsState **ret_state );
+
+DFBResult ICore_Requestor__WaitIdle( CoreDFB *obj
+ );
+
+DFBResult ICore_Requestor__CreateImageProvider( CoreDFB *obj,
+ u32 buffer_call,
+ u32 *ret_call );
+
+
+DFBResult CoreDFBDispatch__Dispatch( CoreDFB *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
+
+#endif
diff --git a/gfxdrivers/sis315/sis315_mmio.c b/src/core/CoreDFB_CallMode.h
similarity index 59%
copy from gfxdrivers/sis315/sis315_mmio.c
copy to src/core/CoreDFB_CallMode.h
index 415ea0b..729267b 100644
--- a/gfxdrivers/sis315/sis315_mmio.c
+++ b/src/core/CoreDFB_CallMode.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2012 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -26,26 +26,33 @@
Boston, MA 02111-1307, USA.
*/
-#include "config.h"
-#include "sis315_mmio.h"
-#include "direct/util.h"
+#include <core/core.h>
+#include <fusion/conf.h>
+#include <fusion/fusion.h>
-u32 sis_rl(volatile u8 *mmio, unsigned int offset)
-{
-#ifdef WORDS_BIGENDIAN
- u32 r = *(volatile u32 *)(mmio + offset);
- return BSWAP32(r);
-#else
- return *(volatile u32 *)(mmio + offset);
-#endif
-}
+typedef enum {
+ COREDFB_CALL_DENY,
+ COREDFB_CALL_DIRECT,
+ COREDFB_CALL_INDIRECT
+} CoreDFBCallMode;
-void sis_wl(volatile u8 *mmio, unsigned int offset, u32 value)
+static __inline__ CoreDFBCallMode
+CoreDFB_CallMode( CoreDFB *core )
{
-#ifdef WORDS_BIGENDIAN
- *(volatile u32 *)(mmio + offset) = BSWAP32(value);
+#if FUSION_BUILD_MULTI
+ if (core->shutdown_tid && core->shutdown_tid != direct_gettid() && direct_gettid() != fusion_dispatcher_tid(core->world) && !Core_GetCalling()) {
+ while (core_dfb)
+ usleep(10000);
+
+ return COREDFB_CALL_DENY;
+ }
+
+ if (dfb_core_is_master( core ) || !fusion_config->secure_fusion)
+ return COREDFB_CALL_DIRECT;
+
+ return COREDFB_CALL_INDIRECT;
#else
- *(volatile u32 *)(mmio + offset) = value;
+ return COREDFB_CALL_DIRECT;
#endif
}
diff --git a/src/core/CoreDFB_includes.h b/src/core/CoreDFB_includes.h
new file mode 100644
index 0000000..9ba8433
--- /dev/null
+++ b/src/core/CoreDFB_includes.h
@@ -0,0 +1,771 @@
+/*
+ (c) Copyright 2001-2012 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef __CoreDFB_includes_h__
+#define __CoreDFB_includes_h__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include <fusion/types.h>
+#include <fusion/lock.h>
+#include <fusion/object.h>
+
+#include <directfb.h>
+
+#include <core/core.h>
+#include <core/graphics_state.h>
+#include <core/layer_context.h>
+#include <core/layer_control.h>
+#include <core/layers_internal.h>
+#include <core/palette.h>
+#include <core/screens.h>
+#include <core/state.h>
+#include <core/surface.h>
+#include <core/windows.h>
+#include <core/windows_internal.h>
+
+
+static __inline__ DirectResult
+CoreDFB_Call( CoreDFB *core,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ return fusion_call_execute3( &core->shared->call, flags, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+}
+
+
+
+static __inline__ u32
+CoreGraphicsState_GetID( const CoreGraphicsState *state )
+{
+ return state->object.id;
+}
+
+static __inline__ DirectResult
+CoreGraphicsState_Lookup( CoreDFB *core,
+ u32 object_id,
+ FusionID caller,
+ CoreGraphicsState **ret_state )
+{
+ DFBResult ret;
+ CoreGraphicsState *state;
+
+ ret = dfb_core_get_graphics_state( core, object_id, &state );
+ if (ret)
+ return (DirectResult) ret;
+
+ if (state->object.owner && state->object.owner != caller) {
+ dfb_graphics_state_unref( state );
+ return DR_ACCESSDENIED;
+ }
+
+ *ret_state = state;
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreGraphicsState_Unref( CoreGraphicsState *state )
+{
+ return (DirectResult) dfb_graphics_state_unref( state );
+}
+
+static __inline__ DirectResult
+CoreGraphicsState_Catch( CoreDFB *core,
+ u32 object_id,
+ CoreGraphicsState **ret_state )
+{
+ DirectResult ret;
+
+ ret = (DirectResult) dfb_core_get_graphics_state( core, object_id, ret_state );
+ if (ret)
+ return ret;
+
+ fusion_ref_catch( &(*ret_state)->object.ref );
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreGraphicsState_Throw( CoreGraphicsState *state,
+ FusionID catcher,
+ u32 *ret_object_id )
+{
+ *ret_object_id = state->object.id;
+
+ fusion_reactor_add_permissions( state->object.reactor, catcher,
+ (FusionReactorPermissions)(FUSION_REACTOR_PERMIT_ATTACH_DETACH) );
+ fusion_ref_add_permissions( &state->object.ref, catcher,
+ (FusionRefPermissions)(FUSION_REF_PERMIT_REF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) );
+ fusion_call_add_permissions( &state->call, catcher, FUSION_CALL_PERMIT_EXECUTE );
+
+ if (!state->object.owner)
+ state->object.owner = catcher;
+
+ return fusion_ref_throw( &state->object.ref, catcher );
+}
+
+
+
+static __inline__ u32
+CoreLayer_GetID( const CoreLayer *layer )
+{
+ return dfb_layer_id( layer );
+}
+
+static __inline__ DirectResult
+CoreLayer_Lookup( CoreDFB *core,
+ u32 object_id,
+ FusionID caller,
+ CoreLayer **ret_layer )
+{
+ D_UNUSED_P( core );
+ D_UNUSED_P( caller );
+
+ if (object_id >= (u32) dfb_layer_num())
+ return DR_IDNOTFOUND;
+
+ *ret_layer = dfb_layer_at( object_id );
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreLayer_Unref( CoreLayer *layer )
+{
+ D_UNUSED_P( layer );
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreLayer_Catch( CoreDFB *core,
+ u32 object_id,
+ CoreLayer **ret_layer )
+{
+ D_UNUSED_P( core );
+
+ if (object_id >= (u32) dfb_layer_num())
+ return DR_IDNOTFOUND;
+
+ *ret_layer = dfb_layer_at( object_id );
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreLayer_Throw( CoreLayer *layer,
+ FusionID catcher,
+ u32 *ret_object_id )
+{
+
+ D_UNUSED_P( catcher );
+
+ *ret_object_id = layer->shared->layer_id;
+
+ return DR_OK;
+}
+
+
+
+static __inline__ u32
+CoreLayerContext_GetID( const CoreLayerContext *context )
+{
+ return context->object.id;
+}
+
+static __inline__ DirectResult
+CoreLayerContext_Lookup( CoreDFB *core,
+ u32 object_id,
+ FusionID caller,
+ CoreLayerContext **ret_context )
+{
+ DFBResult ret;
+ CoreLayerContext *context;
+
+ ret = dfb_core_get_layer_context( core, object_id, &context );
+ if (ret)
+ return (DirectResult) ret;
+
+ if (context->object.owner && context->object.owner != caller) {
+ dfb_layer_context_unref( context );
+ return DR_ACCESSDENIED;
+ }
+
+ *ret_context = context;
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreLayerContext_Unref( CoreLayerContext *context )
+{
+ return (DirectResult) dfb_layer_context_unref( context );
+}
+
+static __inline__ DirectResult
+CoreLayerContext_Catch( CoreDFB *core,
+ u32 object_id,
+ CoreLayerContext **ret_context )
+{
+ DirectResult ret;
+
+ ret = (DirectResult) dfb_core_get_layer_context( core, object_id, ret_context );
+ if (ret)
+ return ret;
+
+ fusion_ref_catch( &(*ret_context)->object.ref );
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreLayerContext_Throw( CoreLayerContext *context,
+ FusionID catcher,
+ u32 *ret_object_id )
+{
+ *ret_object_id = context->object.id;
+
+ fusion_reactor_add_permissions( context->object.reactor, catcher,
+ (FusionReactorPermissions)(FUSION_REACTOR_PERMIT_ATTACH_DETACH) );
+ fusion_ref_add_permissions( &context->object.ref, catcher,
+ (FusionRefPermissions)(FUSION_REF_PERMIT_REF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) );
+ fusion_call_add_permissions( &context->call, catcher, FUSION_CALL_PERMIT_EXECUTE );
+
+ if (context->stack)
+ fusion_call_add_permissions( &context->stack->call, catcher, FUSION_CALL_PERMIT_EXECUTE );
+
+ return fusion_ref_throw( &context->object.ref, catcher );
+}
+
+
+static __inline__ u32
+CoreLayerRegion_GetID( const CoreLayerRegion *region )
+{
+ return region->object.id;
+}
+
+static __inline__ DirectResult
+CoreLayerRegion_Lookup( CoreDFB *core,
+ u32 object_id,
+ FusionID caller,
+ CoreLayerRegion **ret_region )
+{
+ DFBResult ret;
+ CoreLayerRegion *region;
+
+ ret = dfb_core_get_layer_region( core, object_id, ®ion );
+ if (ret)
+ return (DirectResult) ret;
+
+ if (region->object.owner && region->object.owner != caller) {
+ dfb_layer_region_unref( region );
+ return DR_ACCESSDENIED;
+ }
+
+ *ret_region = region;
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreLayerRegion_Unref( CoreLayerRegion *region )
+{
+ return (DirectResult) dfb_layer_region_unref( region );
+}
+
+static __inline__ DirectResult
+CoreLayerRegion_Catch( CoreDFB *core,
+ u32 object_id,
+ CoreLayerRegion **ret_region )
+{
+ DirectResult ret;
+
+ ret = (DirectResult) dfb_core_get_layer_region( core, object_id, ret_region );
+ if (ret)
+ return ret;
+
+ fusion_ref_catch( &(*ret_region)->object.ref );
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreLayerRegion_Throw( CoreLayerRegion *region,
+ FusionID catcher,
+ u32 *ret_object_id )
+{
+ *ret_object_id = region->object.id;
+
+ fusion_reactor_add_permissions( region->object.reactor, catcher,
+ (FusionReactorPermissions)(FUSION_REACTOR_PERMIT_ATTACH_DETACH) );
+ fusion_ref_add_permissions( ®ion->object.ref, catcher,
+ (FusionRefPermissions)(FUSION_REF_PERMIT_REF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) );
+ fusion_call_add_permissions( ®ion->call, catcher, FUSION_CALL_PERMIT_EXECUTE );
+
+ return fusion_ref_throw( ®ion->object.ref, catcher );
+}
+
+
+
+static __inline__ u32
+CorePalette_GetID( const CorePalette *palette )
+{
+ return palette->object.id;
+}
+
+static __inline__ DirectResult
+CorePalette_Lookup( CoreDFB *core,
+ u32 object_id,
+ FusionID caller,
+ CorePalette **ret_palette )
+{
+ DFBResult ret;
+ CorePalette *palette;
+
+ ret = dfb_core_get_palette( core, object_id, &palette );
+ if (ret)
+ return (DirectResult) ret;
+
+ if (palette->object.owner && palette->object.owner != caller) {
+ dfb_palette_unref( palette );
+ return DR_ACCESSDENIED;
+ }
+
+ *ret_palette = palette;
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CorePalette_Unref( CorePalette *palette )
+{
+ return (DirectResult) dfb_palette_unref( palette );
+}
+
+static __inline__ DirectResult
+CorePalette_Catch( CoreDFB *core,
+ u32 object_id,
+ CorePalette **ret_palette )
+{
+ DirectResult ret;
+
+ ret = (DirectResult) dfb_core_get_palette( core, object_id, ret_palette );
+ if (ret)
+ return ret;
+
+ fusion_ref_catch( &(*ret_palette)->object.ref );
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CorePalette_Throw( CorePalette *palette,
+ FusionID catcher,
+ u32 *ret_object_id )
+{
+ *ret_object_id = palette->object.id;
+
+ fusion_reactor_add_permissions( palette->object.reactor, catcher,
+ (FusionReactorPermissions)(FUSION_REACTOR_PERMIT_ATTACH_DETACH) );
+ fusion_ref_add_permissions( &palette->object.ref, catcher,
+ (FusionRefPermissions)(FUSION_REF_PERMIT_REF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) );
+ fusion_call_add_permissions( &palette->call, catcher, FUSION_CALL_PERMIT_EXECUTE );
+
+ if (!palette->object.owner)
+ palette->object.owner = catcher;
+
+ return fusion_ref_throw( &palette->object.ref, catcher );
+}
+
+
+
+static __inline__ u32
+CoreScreen_GetID( const CoreScreen *screen )
+{
+ return dfb_screen_id( screen );
+}
+
+static __inline__ DirectResult
+CoreScreen_Lookup( CoreDFB *core,
+ u32 object_id,
+ FusionID caller,
+ CoreScreen **ret_screen )
+{
+
+ D_UNUSED_P( core );
+ D_UNUSED_P( caller );
+
+ if (object_id >= (u32) dfb_screens_num())
+ return DR_IDNOTFOUND;
+
+ *ret_screen = dfb_screens_at( object_id );
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreScreen_Unref( CoreScreen *screen )
+{
+ D_UNUSED_P( screen );
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreScreen_Catch( CoreDFB *core,
+ u32 object_id,
+ CoreScreen **ret_screen )
+{
+
+ D_UNUSED_P( core );
+
+ if (object_id >= (u32) dfb_screens_num())
+ return DR_IDNOTFOUND;
+
+ *ret_screen = dfb_screens_at( object_id );
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreScreen_Throw( CoreScreen *screen,
+ FusionID catcher,
+ u32 *ret_object_id )
+{
+ D_UNUSED_P( catcher );
+
+ *ret_object_id = dfb_screen_id( screen );
+
+ return DR_OK;
+}
+
+
+
+static __inline__ u32
+CoreSurface_GetID( const CoreSurface *surface )
+{
+ return surface->object.id;
+}
+
+static __inline__ DirectResult
+CoreSurface_Lookup( CoreDFB *core,
+ u32 object_id,
+ FusionID caller,
+ CoreSurface **ret_surface )
+{
+ DFBResult ret;
+ CoreSurface *surface;
+
+ ret = dfb_core_get_surface( core, object_id, &surface );
+ if (ret)
+ return (DirectResult) ret;
+
+ if (surface->object.owner && surface->object.owner != caller) {
+ dfb_surface_unref( surface );
+ return DR_ACCESSDENIED;
+ }
+
+ *ret_surface = surface;
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreSurface_Unref( CoreSurface *surface )
+{
+ return (DirectResult) dfb_surface_unref( surface );
+}
+
+static __inline__ DirectResult
+CoreSurface_Catch( CoreDFB *core,
+ u32 object_id,
+ CoreSurface **ret_surface )
+{
+ DirectResult ret;
+
+ ret = (DirectResult) dfb_core_get_surface( core, object_id, ret_surface );
+ if (ret)
+ return ret;
+
+ fusion_ref_catch( &(*ret_surface)->object.ref );
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreSurface_Throw( CoreSurface *surface,
+ FusionID catcher,
+ u32 *ret_object_id )
+{
+ *ret_object_id = surface->object.id;
+
+ fusion_reactor_add_permissions( surface->object.reactor, catcher,
+ (FusionReactorPermissions)(FUSION_REACTOR_PERMIT_ATTACH_DETACH) );
+ fusion_ref_add_permissions( &surface->object.ref, catcher,
+ (FusionRefPermissions)(FUSION_REF_PERMIT_REF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) );
+ fusion_call_add_permissions( &surface->call, catcher, FUSION_CALL_PERMIT_EXECUTE );
+
+ if (!surface->object.owner && !(surface->type & CSTF_LAYER))
+ surface->object.owner = catcher;
+
+ return fusion_ref_throw( &surface->object.ref, catcher );
+}
+
+
+
+static __inline__ u32
+CoreSurfaceAllocation_GetID( const CoreSurfaceAllocation *allocation )
+{
+ return allocation->object.id;
+}
+
+static __inline__ DirectResult
+CoreSurfaceAllocation_Lookup( CoreDFB *core,
+ u32 object_id,
+ FusionID caller,
+ CoreSurfaceAllocation **ret_allocation )
+{
+ DFBResult ret;
+ CoreSurfaceAllocation *allocation;
+
+ ret = dfb_core_get_surface_allocation( core, object_id, &allocation );
+ if (ret)
+ return (DirectResult) ret;
+
+ if (allocation->object.owner && allocation->object.owner != caller) {
+ dfb_surface_allocation_unref( allocation );
+ return DR_ACCESSDENIED;
+ }
+
+ *ret_allocation = allocation;
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreSurfaceAllocation_Unref( CoreSurfaceAllocation *allocation )
+{
+ return (DirectResult) dfb_surface_allocation_unref( allocation );
+}
+
+static __inline__ DirectResult
+CoreSurfaceAllocation_Catch( CoreDFB *core,
+ u32 object_id,
+ CoreSurfaceAllocation **ret_allocation )
+{
+ DirectResult ret;
+
+ ret = (DirectResult) dfb_core_get_surface_allocation( core, object_id, ret_allocation );
+ if (ret)
+ return ret;
+
+ fusion_ref_catch( &(*ret_allocation)->object.ref );
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreSurfaceAllocation_Throw( CoreSurfaceAllocation *allocation,
+ FusionID catcher,
+ u32 *ret_object_id )
+{
+ *ret_object_id = allocation->object.id;
+
+ fusion_reactor_add_permissions( allocation->object.reactor, catcher,
+ (FusionReactorPermissions)(FUSION_REACTOR_PERMIT_ATTACH_DETACH) );
+ fusion_ref_add_permissions( &allocation->object.ref, catcher,
+ (FusionRefPermissions)(FUSION_REF_PERMIT_REF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) );
+ //fusion_call_add_permissions( &allocation->call, catcher, FUSION_CALL_PERMIT_EXECUTE );
+
+ if (!allocation->object.owner)
+ allocation->object.owner = catcher;
+
+ return fusion_ref_throw( &allocation->object.ref, catcher );
+}
+
+
+
+static __inline__ u32
+CoreSurfaceBuffer_GetID( const CoreSurfaceBuffer *buffer )
+{
+ return buffer->object.id;
+}
+
+static __inline__ DirectResult
+CoreSurfaceBuffer_Lookup( CoreDFB *core,
+ u32 object_id,
+ FusionID caller,
+ CoreSurfaceBuffer **ret_buffer )
+{
+ DFBResult ret;
+ CoreSurfaceBuffer *buffer;
+
+ ret = dfb_core_get_surface_buffer( core, object_id, &buffer );
+ if (ret)
+ return (DirectResult) ret;
+
+ if (buffer->object.owner && buffer->object.owner != caller) {
+ dfb_surface_buffer_unref( buffer );
+ return DR_ACCESSDENIED;
+ }
+
+ *ret_buffer = buffer;
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreSurfaceBuffer_Unref( CoreSurfaceBuffer *buffer )
+{
+ return (DirectResult) dfb_surface_buffer_unref( buffer );
+}
+
+static __inline__ DirectResult
+CoreSurfaceBuffer_Catch( CoreDFB *core,
+ u32 object_id,
+ CoreSurfaceBuffer **ret_buffer )
+{
+ DirectResult ret;
+
+ ret = (DirectResult) dfb_core_get_surface_buffer( core, object_id, ret_buffer );
+ if (ret)
+ return ret;
+
+ fusion_ref_catch( &(*ret_buffer)->object.ref );
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreSurfaceBuffer_Throw( CoreSurfaceBuffer *buffer,
+ FusionID catcher,
+ u32 *ret_object_id )
+{
+ *ret_object_id = buffer->object.id;
+
+ fusion_reactor_add_permissions( buffer->object.reactor, catcher,
+ (FusionReactorPermissions)(FUSION_REACTOR_PERMIT_ATTACH_DETACH) );
+ fusion_ref_add_permissions( &buffer->object.ref, catcher,
+ (FusionRefPermissions)(FUSION_REF_PERMIT_REF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) );
+ //fusion_call_add_permissions( &buffer->call, catcher, FUSION_CALL_PERMIT_EXECUTE );
+
+ if (!buffer->object.owner)
+ buffer->object.owner = catcher;
+
+ return fusion_ref_throw( &buffer->object.ref, catcher );
+}
+
+
+
+static __inline__ u32
+CoreWindow_GetID( const CoreWindow *window )
+{
+ return window->object.id;
+}
+
+static __inline__ DirectResult
+CoreWindow_Lookup( CoreDFB *core,
+ u32 object_id,
+ FusionID caller,
+ CoreWindow **ret_window )
+{
+ DFBResult ret;
+ CoreWindow *window;
+
+ ret = dfb_core_get_window( core, object_id, &window );
+ if (ret)
+ return (DirectResult) ret;
+
+ if (window->object.owner && window->object.owner != caller) {
+ dfb_window_unref( window );
+ return DR_ACCESSDENIED;
+ }
+
+ *ret_window = window;
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreWindow_Unref( CoreWindow *window )
+{
+ return (DirectResult) dfb_window_unref( window );
+}
+
+static __inline__ DirectResult
+CoreWindow_Catch( CoreDFB *core,
+ u32 object_id,
+ CoreWindow **ret_window )
+{
+ DirectResult ret;
+
+ ret = (DirectResult) dfb_core_get_window( core, object_id, ret_window );
+ if (ret)
+ return ret;
+
+ fusion_ref_catch( &(*ret_window)->object.ref );
+
+ return DR_OK;
+}
+
+static __inline__ DirectResult
+CoreWindow_Throw( CoreWindow *window,
+ FusionID catcher,
+ u32 *ret_object_id )
+{
+ *ret_object_id = window->object.id;
+
+ fusion_reactor_add_permissions( window->object.reactor, catcher,
+ (FusionReactorPermissions)(FUSION_REACTOR_PERMIT_ATTACH_DETACH | FUSION_REACTOR_PERMIT_DISPATCH) );
+ fusion_ref_add_permissions( &window->object.ref, catcher,
+ (FusionRefPermissions)(FUSION_REF_PERMIT_REF_UNREF_LOCAL | FUSION_REF_PERMIT_CATCH) );
+ fusion_call_add_permissions( &window->call, catcher, FUSION_CALL_PERMIT_EXECUTE );
+
+ if (!window->object.owner)
+ window->object.owner = catcher;
+
+ return fusion_ref_throw( &window->object.ref, catcher );
+}
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif
+
diff --git a/src/core/CoreDFB_real.c b/src/core/CoreDFB_real.c
new file mode 100644
index 0000000..f2211e5
--- /dev/null
+++ b/src/core/CoreDFB_real.c
@@ -0,0 +1,179 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <core/CoreDFB.h>
+#include <core/CoreGraphicsState.h>
+
+#include <media/ImageProvider_includes.h>
+
+#include <directfb.h>
+
+#include <direct/debug.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+#include <media/idirectfbdatabuffer_client.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreDFB, "DirectFB/Core", "DirectFB Core" );
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+ICore_Real__Register( CoreDFB *obj,
+ u32 slave_call
+)
+{
+ D_DEBUG_AT( DirectFB_CoreDFB, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( obj, CoreDFB );
+
+ return Core_Resource_AddIdentity( Core_GetIdentity(), slave_call );
+}
+
+DFBResult
+ICore_Real__CreateSurface( CoreDFB *obj,
+ const CoreSurfaceConfig *config,
+ CoreSurfaceTypeFlags type,
+ u64 resource_id,
+ CorePalette *palette,
+ CoreSurface **ret_surface )
+{
+ DFBResult ret;
+ CoreSurface *surface;
+
+ D_DEBUG_AT( DirectFB_CoreDFB, "%s( %p )\n", __FUNCTION__, core_dfb );
+
+ D_MAGIC_ASSERT( obj, CoreDFB );
+ D_ASSERT( config != NULL );
+ D_ASSERT( ret_surface != NULL );
+
+ ret = Core_Resource_CheckSurface( config, type, resource_id, palette );
+ if (ret)
+ return ret;
+
+ ret = dfb_surface_create( obj, config, type, resource_id, palette, &surface );
+ if (ret)
+ return ret;
+
+ Core_Resource_AddSurface( surface );
+
+ *ret_surface = surface;
+
+ return DFB_OK;
+}
+
+DFBResult
+ICore_Real__CreatePalette( CoreDFB *obj,
+ u32 size,
+ CorePalette **ret_palette )
+{
+ D_DEBUG_AT( DirectFB_CoreDFB, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( obj, CoreDFB );
+ D_ASSERT( ret_palette != NULL );
+
+ return dfb_palette_create( obj, size, ret_palette );
+}
+
+DFBResult
+ICore_Real__CreateState( CoreDFB *obj,
+ CoreGraphicsState **ret_state
+)
+{
+ D_DEBUG_AT( DirectFB_CoreDFB, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( obj, CoreDFB );
+ D_ASSERT( ret_state != NULL );
+
+ return dfb_graphics_state_create( core_dfb, ret_state );
+}
+
+DFBResult
+ICore_Real__WaitIdle( CoreDFB *obj
+
+)
+{
+ D_DEBUG_AT( DirectFB_CoreDFB, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( obj, CoreDFB );
+
+ return dfb_gfxcard_sync();
+}
+
+DFBResult
+ICore_Real__CreateImageProvider( CoreDFB *obj,
+ u32 buffer_call,
+ u32 *ret_call
+)
+{
+ DFBResult ret;
+ IDirectFBDataBuffer *buffer;
+ IDirectFBImageProvider *provider;
+ ImageProviderDispatch *dispatch;
+
+ D_DEBUG_AT( DirectFB_CoreDFB, "ICore_Real::%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( obj, CoreDFB );
+ D_ASSERT( ret_call != NULL );
+
+ DIRECT_ALLOCATE_INTERFACE( buffer, IDirectFBDataBuffer );
+ if (!buffer)
+ return (DFBResult) D_OOM();
+
+ /* Construct data buffer client */
+ ret = IDirectFBDataBuffer_Client_Construct( buffer, core_dfb, buffer_call );
+ if (ret)
+ return ret;
+
+ /* Create image provider */
+ ret = buffer->CreateImageProvider( buffer, &provider );
+ if (ret) {
+ buffer->Release( buffer );
+ return ret;
+ }
+
+ /* Create dispatch object */
+ ret = ImageProviderDispatch_Create( buffer, provider, &dispatch );
+ if (ret) {
+ provider->Release( provider );
+ buffer->Release( buffer );
+ return ret;
+ }
+
+ *ret_call = dispatch->call.call_id;
+
+ return DFB_OK;
+}
+
+
diff --git a/src/core/CoreGraphicsState.c b/src/core/CoreGraphicsState.c
new file mode 100644
index 0000000..8c60bd6
--- /dev/null
+++ b/src/core/CoreGraphicsState.c
@@ -0,0 +1,2306 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreGraphicsState.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+#include <core/CoreDFB_CallMode.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreGraphicsState, "DirectFB/CoreGraphicsState", "DirectFB CoreGraphicsState" );
+
+/*********************************************************************************************************************/
+
+DFBResult
+CoreGraphicsState_SetDrawingFlags(
+ CoreGraphicsState *obj,
+ DFBSurfaceDrawingFlags flags
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetDrawingFlags( obj, flags );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetDrawingFlags( obj, flags );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetBlittingFlags(
+ CoreGraphicsState *obj,
+ DFBSurfaceBlittingFlags flags
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetBlittingFlags( obj, flags );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetBlittingFlags( obj, flags );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetClip(
+ CoreGraphicsState *obj,
+ const DFBRegion *region
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetClip( obj, region );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetClip( obj, region );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetColor(
+ CoreGraphicsState *obj,
+ const DFBColor *color
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetColor( obj, color );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetColor( obj, color );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetColorAndIndex(
+ CoreGraphicsState *obj,
+ const DFBColor *color,
+ u32 index
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetColorAndIndex( obj, color, index );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetColorAndIndex( obj, color, index );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetSrcBlend(
+ CoreGraphicsState *obj,
+ DFBSurfaceBlendFunction function
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetSrcBlend( obj, function );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetSrcBlend( obj, function );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetDstBlend(
+ CoreGraphicsState *obj,
+ DFBSurfaceBlendFunction function
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetDstBlend( obj, function );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetDstBlend( obj, function );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetSrcColorKey(
+ CoreGraphicsState *obj,
+ u32 key
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetSrcColorKey( obj, key );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetSrcColorKey( obj, key );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetDstColorKey(
+ CoreGraphicsState *obj,
+ u32 key
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetDstColorKey( obj, key );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetDstColorKey( obj, key );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetDestination(
+ CoreGraphicsState *obj,
+ CoreSurface *surface
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetDestination( obj, surface );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetDestination( obj, surface );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetSource(
+ CoreGraphicsState *obj,
+ CoreSurface *surface
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetSource( obj, surface );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetSource( obj, surface );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetSourceMask(
+ CoreGraphicsState *obj,
+ CoreSurface *surface
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetSourceMask( obj, surface );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetSourceMask( obj, surface );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetSourceMaskVals(
+ CoreGraphicsState *obj,
+ const DFBPoint *offset,
+ DFBSurfaceMaskFlags flags
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetSourceMaskVals( obj, offset, flags );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetSourceMaskVals( obj, offset, flags );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetIndexTranslation(
+ CoreGraphicsState *obj,
+ const s32 *indices,
+ u32 num
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetIndexTranslation( obj, indices, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetIndexTranslation( obj, indices, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetColorKey(
+ CoreGraphicsState *obj,
+ const DFBColorKey *key
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetColorKey( obj, key );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetColorKey( obj, key );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetRenderOptions(
+ CoreGraphicsState *obj,
+ DFBSurfaceRenderOptions options
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetRenderOptions( obj, options );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetRenderOptions( obj, options );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetMatrix(
+ CoreGraphicsState *obj,
+ const s32 *values
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetMatrix( obj, values );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetMatrix( obj, values );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_SetSource2(
+ CoreGraphicsState *obj,
+ CoreSurface *surface
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__SetSource2( obj, surface );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__SetSource2( obj, surface );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_DrawRectangles(
+ CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ u32 num
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__DrawRectangles( obj, rects, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__DrawRectangles( obj, rects, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_DrawLines(
+ CoreGraphicsState *obj,
+ const DFBRegion *lines,
+ u32 num
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__DrawLines( obj, lines, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__DrawLines( obj, lines, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_FillRectangles(
+ CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ u32 num
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__FillRectangles( obj, rects, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__FillRectangles( obj, rects, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_FillTriangles(
+ CoreGraphicsState *obj,
+ const DFBTriangle *triangles,
+ u32 num
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__FillTriangles( obj, triangles, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__FillTriangles( obj, triangles, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_FillTrapezoids(
+ CoreGraphicsState *obj,
+ const DFBTrapezoid *trapezoids,
+ u32 num
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__FillTrapezoids( obj, trapezoids, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__FillTrapezoids( obj, trapezoids, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_FillSpans(
+ CoreGraphicsState *obj,
+ s32 y,
+ const DFBSpan *spans,
+ u32 num
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__FillSpans( obj, y, spans, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__FillSpans( obj, y, spans, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_Blit(
+ CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points,
+ u32 num
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__Blit( obj, rects, points, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__Blit( obj, rects, points, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_Blit2(
+ CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ u32 num
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__Blit2( obj, rects, points1, points2, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__Blit2( obj, rects, points1, points2, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_StretchBlit(
+ CoreGraphicsState *obj,
+ const DFBRectangle *srects,
+ const DFBRectangle *drects,
+ u32 num
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__StretchBlit( obj, srects, drects, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__StretchBlit( obj, srects, drects, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_TileBlit(
+ CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ u32 num
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__TileBlit( obj, rects, points1, points2, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__TileBlit( obj, rects, points1, points2, num );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_TextureTriangles(
+ CoreGraphicsState *obj,
+ const DFBVertex *vertices,
+ u32 num,
+ DFBTriangleFormation formation
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__TextureTriangles( obj, vertices, num, formation );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__TextureTriangles( obj, vertices, num, formation );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreGraphicsState_ReleaseSource(
+ CoreGraphicsState *obj
+
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IGraphicsState_Real__ReleaseSource( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IGraphicsState_Requestor__ReleaseSource( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+/*********************************************************************************************************************/
+
+static FusionCallHandlerResult
+CoreGraphicsState_Dispatch( int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *ptr, /* optional call parameter */
+ unsigned int length,
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ CoreGraphicsState *obj = (CoreGraphicsState*) ctx;
+ CoreGraphicsStateDispatch__Dispatch( obj, caller, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+
+ return FCHR_RETURN;
+}
+
+void CoreGraphicsState_Init_Dispatch(
+ CoreDFB *core,
+ CoreGraphicsState *obj,
+ FusionCall *call
+)
+{
+ fusion_call_init3( call, CoreGraphicsState_Dispatch, obj, core->world );
+}
+
+void CoreGraphicsState_Deinit_Dispatch(
+ FusionCall *call
+)
+{
+ fusion_call_destroy( call );
+}
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+IGraphicsState_Requestor__SetDrawingFlags( CoreGraphicsState *obj,
+ DFBSurfaceDrawingFlags flags
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetDrawingFlags *args = (CoreGraphicsStateSetDrawingFlags*) alloca( sizeof(CoreGraphicsStateSetDrawingFlags) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->flags = flags;
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_SetDrawingFlags, args, sizeof(CoreGraphicsStateSetDrawingFlags), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetDrawingFlags ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetBlittingFlags( CoreGraphicsState *obj,
+ DFBSurfaceBlittingFlags flags
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetBlittingFlags *args = (CoreGraphicsStateSetBlittingFlags*) alloca( sizeof(CoreGraphicsStateSetBlittingFlags) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->flags = flags;
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_SetBlittingFlags, args, sizeof(CoreGraphicsStateSetBlittingFlags), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetBlittingFlags ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetClip( CoreGraphicsState *obj,
+ const DFBRegion *region
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetClip *args = (CoreGraphicsStateSetClip*) alloca( sizeof(CoreGraphicsStateSetClip) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( region != NULL );
+
+ args->region = *region;
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_SetClip, args, sizeof(CoreGraphicsStateSetClip), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetClip ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetColor( CoreGraphicsState *obj,
+ const DFBColor *color
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetColor *args = (CoreGraphicsStateSetColor*) alloca( sizeof(CoreGraphicsStateSetColor) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( color != NULL );
+
+ args->color = *color;
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_SetColor, args, sizeof(CoreGraphicsStateSetColor), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetColor ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetColorAndIndex( CoreGraphicsState *obj,
+ const DFBColor *color,
+ u32 index
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetColorAndIndex *args = (CoreGraphicsStateSetColorAndIndex*) alloca( sizeof(CoreGraphicsStateSetColorAndIndex) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( color != NULL );
+
+ args->color = *color;
+ args->index = index;
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_SetColorAndIndex, args, sizeof(CoreGraphicsStateSetColorAndIndex), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetColorAndIndex ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetSrcBlend( CoreGraphicsState *obj,
+ DFBSurfaceBlendFunction function
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetSrcBlend *args = (CoreGraphicsStateSetSrcBlend*) alloca( sizeof(CoreGraphicsStateSetSrcBlend) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->function = function;
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_SetSrcBlend, args, sizeof(CoreGraphicsStateSetSrcBlend), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetSrcBlend ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetDstBlend( CoreGraphicsState *obj,
+ DFBSurfaceBlendFunction function
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetDstBlend *args = (CoreGraphicsStateSetDstBlend*) alloca( sizeof(CoreGraphicsStateSetDstBlend) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->function = function;
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_SetDstBlend, args, sizeof(CoreGraphicsStateSetDstBlend), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetDstBlend ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetSrcColorKey( CoreGraphicsState *obj,
+ u32 key
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetSrcColorKey *args = (CoreGraphicsStateSetSrcColorKey*) alloca( sizeof(CoreGraphicsStateSetSrcColorKey) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->key = key;
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_SetSrcColorKey, args, sizeof(CoreGraphicsStateSetSrcColorKey), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetSrcColorKey ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetDstColorKey( CoreGraphicsState *obj,
+ u32 key
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetDstColorKey *args = (CoreGraphicsStateSetDstColorKey*) alloca( sizeof(CoreGraphicsStateSetDstColorKey) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->key = key;
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_SetDstColorKey, args, sizeof(CoreGraphicsStateSetDstColorKey), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetDstColorKey ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetDestination( CoreGraphicsState *obj,
+ CoreSurface *surface
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetDestination *args = (CoreGraphicsStateSetDestination*) alloca( sizeof(CoreGraphicsStateSetDestination) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( surface != NULL );
+
+ args->surface_id = CoreSurface_GetID( surface );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY), _CoreGraphicsState_SetDestination, args, sizeof(CoreGraphicsStateSetDestination), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetDestination ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetSource( CoreGraphicsState *obj,
+ CoreSurface *surface
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetSource *args = (CoreGraphicsStateSetSource*) alloca( sizeof(CoreGraphicsStateSetSource) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( surface != NULL );
+
+ args->surface_id = CoreSurface_GetID( surface );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY), _CoreGraphicsState_SetSource, args, sizeof(CoreGraphicsStateSetSource), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetSource ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetSourceMask( CoreGraphicsState *obj,
+ CoreSurface *surface
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetSourceMask *args = (CoreGraphicsStateSetSourceMask*) alloca( sizeof(CoreGraphicsStateSetSourceMask) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( surface != NULL );
+
+ args->surface_id = CoreSurface_GetID( surface );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY), _CoreGraphicsState_SetSourceMask, args, sizeof(CoreGraphicsStateSetSourceMask), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetSourceMask ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetSourceMaskVals( CoreGraphicsState *obj,
+ const DFBPoint *offset,
+ DFBSurfaceMaskFlags flags
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetSourceMaskVals *args = (CoreGraphicsStateSetSourceMaskVals*) alloca( sizeof(CoreGraphicsStateSetSourceMaskVals) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( offset != NULL );
+
+ args->offset = *offset;
+ args->flags = flags;
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_SetSourceMaskVals, args, sizeof(CoreGraphicsStateSetSourceMaskVals), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetSourceMaskVals ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetIndexTranslation( CoreGraphicsState *obj,
+ const s32 *indices,
+ u32 num
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetIndexTranslation *args = (CoreGraphicsStateSetIndexTranslation*) alloca( sizeof(CoreGraphicsStateSetIndexTranslation) + num * sizeof(s32) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( indices != NULL );
+
+ args->num = num;
+ direct_memcpy( (char*) (args + 1), indices, num * sizeof(s32) );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_SetIndexTranslation, args, sizeof(CoreGraphicsStateSetIndexTranslation) + num * sizeof(s32), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetIndexTranslation ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetColorKey( CoreGraphicsState *obj,
+ const DFBColorKey *key
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetColorKey *args = (CoreGraphicsStateSetColorKey*) alloca( sizeof(CoreGraphicsStateSetColorKey) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( key != NULL );
+
+ args->key = *key;
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_SetColorKey, args, sizeof(CoreGraphicsStateSetColorKey), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetColorKey ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetRenderOptions( CoreGraphicsState *obj,
+ DFBSurfaceRenderOptions options
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetRenderOptions *args = (CoreGraphicsStateSetRenderOptions*) alloca( sizeof(CoreGraphicsStateSetRenderOptions) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->options = options;
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_SetRenderOptions, args, sizeof(CoreGraphicsStateSetRenderOptions), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetRenderOptions ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetMatrix( CoreGraphicsState *obj,
+ const s32 *values
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetMatrix *args = (CoreGraphicsStateSetMatrix*) alloca( sizeof(CoreGraphicsStateSetMatrix) + 9 * sizeof(s32) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( values != NULL );
+
+ direct_memcpy( (char*) (args + 1), values, 9 * sizeof(s32) );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_SetMatrix, args, sizeof(CoreGraphicsStateSetMatrix) + 9 * sizeof(s32), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetMatrix ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__SetSource2( CoreGraphicsState *obj,
+ CoreSurface *surface
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateSetSource2 *args = (CoreGraphicsStateSetSource2*) alloca( sizeof(CoreGraphicsStateSetSource2) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( surface != NULL );
+
+ args->surface_id = CoreSurface_GetID( surface );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY), _CoreGraphicsState_SetSource2, args, sizeof(CoreGraphicsStateSetSource2), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_SetSource2 ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__DrawRectangles( CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ u32 num
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateDrawRectangles *args = (CoreGraphicsStateDrawRectangles*) alloca( sizeof(CoreGraphicsStateDrawRectangles) + num * sizeof(DFBRectangle) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( rects != NULL );
+
+ args->num = num;
+ direct_memcpy( (char*) (args + 1), rects, num * sizeof(DFBRectangle) );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_DrawRectangles, args, sizeof(CoreGraphicsStateDrawRectangles) + num * sizeof(DFBRectangle), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_DrawRectangles ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__DrawLines( CoreGraphicsState *obj,
+ const DFBRegion *lines,
+ u32 num
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateDrawLines *args = (CoreGraphicsStateDrawLines*) alloca( sizeof(CoreGraphicsStateDrawLines) + num * sizeof(DFBRegion) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( lines != NULL );
+
+ args->num = num;
+ direct_memcpy( (char*) (args + 1), lines, num * sizeof(DFBRegion) );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_DrawLines, args, sizeof(CoreGraphicsStateDrawLines) + num * sizeof(DFBRegion), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_DrawLines ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__FillRectangles( CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ u32 num
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateFillRectangles *args = (CoreGraphicsStateFillRectangles*) alloca( sizeof(CoreGraphicsStateFillRectangles) + num * sizeof(DFBRectangle) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( rects != NULL );
+
+ args->num = num;
+ direct_memcpy( (char*) (args + 1), rects, num * sizeof(DFBRectangle) );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_FillRectangles, args, sizeof(CoreGraphicsStateFillRectangles) + num * sizeof(DFBRectangle), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_FillRectangles ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__FillTriangles( CoreGraphicsState *obj,
+ const DFBTriangle *triangles,
+ u32 num
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateFillTriangles *args = (CoreGraphicsStateFillTriangles*) alloca( sizeof(CoreGraphicsStateFillTriangles) + num * sizeof(DFBTriangle) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( triangles != NULL );
+
+ args->num = num;
+ direct_memcpy( (char*) (args + 1), triangles, num * sizeof(DFBTriangle) );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_FillTriangles, args, sizeof(CoreGraphicsStateFillTriangles) + num * sizeof(DFBTriangle), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_FillTriangles ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__FillTrapezoids( CoreGraphicsState *obj,
+ const DFBTrapezoid *trapezoids,
+ u32 num
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateFillTrapezoids *args = (CoreGraphicsStateFillTrapezoids*) alloca( sizeof(CoreGraphicsStateFillTrapezoids) + num * sizeof(DFBTrapezoid) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( trapezoids != NULL );
+
+ args->num = num;
+ direct_memcpy( (char*) (args + 1), trapezoids, num * sizeof(DFBTrapezoid) );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_FillTrapezoids, args, sizeof(CoreGraphicsStateFillTrapezoids) + num * sizeof(DFBTrapezoid), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_FillTrapezoids ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__FillSpans( CoreGraphicsState *obj,
+ s32 y,
+ const DFBSpan *spans,
+ u32 num
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateFillSpans *args = (CoreGraphicsStateFillSpans*) alloca( sizeof(CoreGraphicsStateFillSpans) + num * sizeof(DFBSpan) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( spans != NULL );
+
+ args->y = y;
+ args->num = num;
+ direct_memcpy( (char*) (args + 1), spans, num * sizeof(DFBSpan) );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_FillSpans, args, sizeof(CoreGraphicsStateFillSpans) + num * sizeof(DFBSpan), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_FillSpans ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__Blit( CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points,
+ u32 num
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateBlit *args = (CoreGraphicsStateBlit*) alloca( sizeof(CoreGraphicsStateBlit) + num * sizeof(DFBRectangle) + num * sizeof(DFBPoint) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( rects != NULL );
+ D_ASSERT( points != NULL );
+
+ args->num = num;
+ direct_memcpy( (char*) (args + 1), rects, num * sizeof(DFBRectangle) );
+ direct_memcpy( (char*) (args + 1) + num * sizeof(DFBRectangle), points, num * sizeof(DFBPoint) );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_Blit, args, sizeof(CoreGraphicsStateBlit) + num * sizeof(DFBRectangle) + num * sizeof(DFBPoint), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_Blit ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__Blit2( CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ u32 num
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateBlit2 *args = (CoreGraphicsStateBlit2*) alloca( sizeof(CoreGraphicsStateBlit2) + num * sizeof(DFBRectangle) + num * sizeof(DFBPoint) + num * sizeof(DFBPoint) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( rects != NULL );
+ D_ASSERT( points1 != NULL );
+ D_ASSERT( points2 != NULL );
+
+ args->num = num;
+ direct_memcpy( (char*) (args + 1), rects, num * sizeof(DFBRectangle) );
+ direct_memcpy( (char*) (args + 1) + num * sizeof(DFBRectangle), points1, num * sizeof(DFBPoint) );
+ direct_memcpy( (char*) (args + 1) + num * sizeof(DFBRectangle) + num * sizeof(DFBPoint), points2, num * sizeof(DFBPoint) );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_Blit2, args, sizeof(CoreGraphicsStateBlit2) + num * sizeof(DFBRectangle) + num * sizeof(DFBPoint) + num * sizeof(DFBPoint), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_Blit2 ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__StretchBlit( CoreGraphicsState *obj,
+ const DFBRectangle *srects,
+ const DFBRectangle *drects,
+ u32 num
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateStretchBlit *args = (CoreGraphicsStateStretchBlit*) alloca( sizeof(CoreGraphicsStateStretchBlit) + num * sizeof(DFBRectangle) + num * sizeof(DFBRectangle) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( srects != NULL );
+ D_ASSERT( drects != NULL );
+
+ args->num = num;
+ direct_memcpy( (char*) (args + 1), srects, num * sizeof(DFBRectangle) );
+ direct_memcpy( (char*) (args + 1) + num * sizeof(DFBRectangle), drects, num * sizeof(DFBRectangle) );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_StretchBlit, args, sizeof(CoreGraphicsStateStretchBlit) + num * sizeof(DFBRectangle) + num * sizeof(DFBRectangle), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_StretchBlit ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__TileBlit( CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ u32 num
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateTileBlit *args = (CoreGraphicsStateTileBlit*) alloca( sizeof(CoreGraphicsStateTileBlit) + num * sizeof(DFBRectangle) + num * sizeof(DFBPoint) + num * sizeof(DFBPoint) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( rects != NULL );
+ D_ASSERT( points1 != NULL );
+ D_ASSERT( points2 != NULL );
+
+ args->num = num;
+ direct_memcpy( (char*) (args + 1), rects, num * sizeof(DFBRectangle) );
+ direct_memcpy( (char*) (args + 1) + num * sizeof(DFBRectangle), points1, num * sizeof(DFBPoint) );
+ direct_memcpy( (char*) (args + 1) + num * sizeof(DFBRectangle) + num * sizeof(DFBPoint), points2, num * sizeof(DFBPoint) );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_TileBlit, args, sizeof(CoreGraphicsStateTileBlit) + num * sizeof(DFBRectangle) + num * sizeof(DFBPoint) + num * sizeof(DFBPoint), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_TileBlit ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__TextureTriangles( CoreGraphicsState *obj,
+ const DFBVertex *vertices,
+ u32 num,
+ DFBTriangleFormation formation
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateTextureTriangles *args = (CoreGraphicsStateTextureTriangles*) alloca( sizeof(CoreGraphicsStateTextureTriangles) + num * sizeof(DFBVertex) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( vertices != NULL );
+
+ args->num = num;
+ args->formation = formation;
+ direct_memcpy( (char*) (args + 1), vertices, num * sizeof(DFBVertex) );
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_TextureTriangles, args, sizeof(CoreGraphicsStateTextureTriangles) + num * sizeof(DFBVertex), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_TextureTriangles ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Requestor__ReleaseSource( CoreGraphicsState *obj
+
+)
+{
+ DFBResult ret;
+ CoreGraphicsStateReleaseSource *args = (CoreGraphicsStateReleaseSource*) alloca( sizeof(CoreGraphicsStateReleaseSource) );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) CoreGraphicsState_Call( obj, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_QUEUE), _CoreGraphicsState_ReleaseSource, args, sizeof(CoreGraphicsStateReleaseSource), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreGraphicsState_Call( CoreGraphicsState_ReleaseSource ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+
+ return DFB_OK;
+}
+
+/*********************************************************************************************************************/
+
+static DFBResult
+__CoreGraphicsStateDispatch__Dispatch( CoreGraphicsState *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_UNUSED
+ DFBResult ret;
+
+
+ switch (method) {
+ case _CoreGraphicsState_SetDrawingFlags: {
+ D_UNUSED
+ CoreGraphicsStateSetDrawingFlags *args = (CoreGraphicsStateSetDrawingFlags *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetDrawingFlags\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> flags = %x\n", args->flags );
+
+ IGraphicsState_Real__SetDrawingFlags( obj, args->flags );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetBlittingFlags: {
+ D_UNUSED
+ CoreGraphicsStateSetBlittingFlags *args = (CoreGraphicsStateSetBlittingFlags *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetBlittingFlags\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> flags = %x\n", args->flags );
+
+ IGraphicsState_Real__SetBlittingFlags( obj, args->flags );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetClip: {
+ D_UNUSED
+ CoreGraphicsStateSetClip *args = (CoreGraphicsStateSetClip *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetClip\n" );
+
+ ; // TODO: DFBRegion_debug args->region;
+
+ IGraphicsState_Real__SetClip( obj, &args->region );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetColor: {
+ D_UNUSED
+ CoreGraphicsStateSetColor *args = (CoreGraphicsStateSetColor *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetColor\n" );
+
+ ; // TODO: DFBColor_debug args->color;
+
+ IGraphicsState_Real__SetColor( obj, &args->color );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetColorAndIndex: {
+ D_UNUSED
+ CoreGraphicsStateSetColorAndIndex *args = (CoreGraphicsStateSetColorAndIndex *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetColorAndIndex\n" );
+
+ ; // TODO: DFBColor_debug args->color;
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> index = %u\n", args->index );
+
+ IGraphicsState_Real__SetColorAndIndex( obj, &args->color, args->index );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetSrcBlend: {
+ D_UNUSED
+ CoreGraphicsStateSetSrcBlend *args = (CoreGraphicsStateSetSrcBlend *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetSrcBlend\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> function = %x\n", args->function );
+
+ IGraphicsState_Real__SetSrcBlend( obj, args->function );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetDstBlend: {
+ D_UNUSED
+ CoreGraphicsStateSetDstBlend *args = (CoreGraphicsStateSetDstBlend *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetDstBlend\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> function = %x\n", args->function );
+
+ IGraphicsState_Real__SetDstBlend( obj, args->function );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetSrcColorKey: {
+ D_UNUSED
+ CoreGraphicsStateSetSrcColorKey *args = (CoreGraphicsStateSetSrcColorKey *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetSrcColorKey\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> key = %u\n", args->key );
+
+ IGraphicsState_Real__SetSrcColorKey( obj, args->key );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetDstColorKey: {
+ D_UNUSED
+ CoreGraphicsStateSetDstColorKey *args = (CoreGraphicsStateSetDstColorKey *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetDstColorKey\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> key = %u\n", args->key );
+
+ IGraphicsState_Real__SetDstColorKey( obj, args->key );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetDestination: {
+ CoreSurface *surface = NULL;
+ D_UNUSED
+ CoreGraphicsStateSetDestination *args = (CoreGraphicsStateSetDestination *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetDestination\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> surface = %d\n", args->surface_id );
+
+ ret = (DFBResult) CoreSurface_Lookup( core_dfb, args->surface_id, caller, &surface );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up surface by ID %u failed!\n", __FUNCTION__, args->surface_id );
+ return DFB_OK;
+ }
+
+ IGraphicsState_Real__SetDestination( obj, surface );
+
+ if (surface)
+ CoreSurface_Unref( surface );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetSource: {
+ CoreSurface *surface = NULL;
+ D_UNUSED
+ CoreGraphicsStateSetSource *args = (CoreGraphicsStateSetSource *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetSource\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> surface = %d\n", args->surface_id );
+
+ ret = (DFBResult) CoreSurface_Lookup( core_dfb, args->surface_id, caller, &surface );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up surface by ID %u failed!\n", __FUNCTION__, args->surface_id );
+ return DFB_OK;
+ }
+
+ IGraphicsState_Real__SetSource( obj, surface );
+
+ if (surface)
+ CoreSurface_Unref( surface );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetSourceMask: {
+ CoreSurface *surface = NULL;
+ D_UNUSED
+ CoreGraphicsStateSetSourceMask *args = (CoreGraphicsStateSetSourceMask *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetSourceMask\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> surface = %d\n", args->surface_id );
+
+ ret = (DFBResult) CoreSurface_Lookup( core_dfb, args->surface_id, caller, &surface );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up surface by ID %u failed!\n", __FUNCTION__, args->surface_id );
+ return DFB_OK;
+ }
+
+ IGraphicsState_Real__SetSourceMask( obj, surface );
+
+ if (surface)
+ CoreSurface_Unref( surface );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetSourceMaskVals: {
+ D_UNUSED
+ CoreGraphicsStateSetSourceMaskVals *args = (CoreGraphicsStateSetSourceMaskVals *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetSourceMaskVals\n" );
+
+ ; // TODO: DFBPoint_debug args->offset;
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> flags = %x\n", args->flags );
+
+ IGraphicsState_Real__SetSourceMaskVals( obj, &args->offset, args->flags );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetIndexTranslation: {
+ D_UNUSED
+ CoreGraphicsStateSetIndexTranslation *args = (CoreGraphicsStateSetIndexTranslation *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetIndexTranslation\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> num = %u\n", args->num );
+
+ IGraphicsState_Real__SetIndexTranslation( obj, (s32*) ((char*)(args + 1)), args->num );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetColorKey: {
+ D_UNUSED
+ CoreGraphicsStateSetColorKey *args = (CoreGraphicsStateSetColorKey *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetColorKey\n" );
+
+ ; // TODO: DFBColorKey_debug args->key;
+
+ IGraphicsState_Real__SetColorKey( obj, &args->key );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetRenderOptions: {
+ D_UNUSED
+ CoreGraphicsStateSetRenderOptions *args = (CoreGraphicsStateSetRenderOptions *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetRenderOptions\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> options = %x\n", args->options );
+
+ IGraphicsState_Real__SetRenderOptions( obj, args->options );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetMatrix: {
+ D_UNUSED
+ CoreGraphicsStateSetMatrix *args = (CoreGraphicsStateSetMatrix *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetMatrix\n" );
+
+
+ IGraphicsState_Real__SetMatrix( obj, (s32*) ((char*)(args + 1)) );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_SetSource2: {
+ CoreSurface *surface = NULL;
+ D_UNUSED
+ CoreGraphicsStateSetSource2 *args = (CoreGraphicsStateSetSource2 *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_SetSource2\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> surface = %d\n", args->surface_id );
+
+ ret = (DFBResult) CoreSurface_Lookup( core_dfb, args->surface_id, caller, &surface );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up surface by ID %u failed!\n", __FUNCTION__, args->surface_id );
+ return DFB_OK;
+ }
+
+ IGraphicsState_Real__SetSource2( obj, surface );
+
+ if (surface)
+ CoreSurface_Unref( surface );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_DrawRectangles: {
+ D_UNUSED
+ CoreGraphicsStateDrawRectangles *args = (CoreGraphicsStateDrawRectangles *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_DrawRectangles\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> num = %u\n", args->num );
+
+ IGraphicsState_Real__DrawRectangles( obj, (DFBRectangle*) ((char*)(args + 1)), args->num );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_DrawLines: {
+ D_UNUSED
+ CoreGraphicsStateDrawLines *args = (CoreGraphicsStateDrawLines *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_DrawLines\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> num = %u\n", args->num );
+
+ IGraphicsState_Real__DrawLines( obj, (DFBRegion*) ((char*)(args + 1)), args->num );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_FillRectangles: {
+ D_UNUSED
+ CoreGraphicsStateFillRectangles *args = (CoreGraphicsStateFillRectangles *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_FillRectangles\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> num = %u\n", args->num );
+
+ IGraphicsState_Real__FillRectangles( obj, (DFBRectangle*) ((char*)(args + 1)), args->num );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_FillTriangles: {
+ D_UNUSED
+ CoreGraphicsStateFillTriangles *args = (CoreGraphicsStateFillTriangles *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_FillTriangles\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> num = %u\n", args->num );
+
+ IGraphicsState_Real__FillTriangles( obj, (DFBTriangle*) ((char*)(args + 1)), args->num );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_FillTrapezoids: {
+ D_UNUSED
+ CoreGraphicsStateFillTrapezoids *args = (CoreGraphicsStateFillTrapezoids *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_FillTrapezoids\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> num = %u\n", args->num );
+
+ IGraphicsState_Real__FillTrapezoids( obj, (DFBTrapezoid*) ((char*)(args + 1)), args->num );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_FillSpans: {
+ D_UNUSED
+ CoreGraphicsStateFillSpans *args = (CoreGraphicsStateFillSpans *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_FillSpans\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> y = %d\n", args->y );
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> num = %u\n", args->num );
+
+ IGraphicsState_Real__FillSpans( obj, args->y, (DFBSpan*) ((char*)(args + 1)), args->num );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_Blit: {
+ D_UNUSED
+ CoreGraphicsStateBlit *args = (CoreGraphicsStateBlit *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_Blit\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> num = %u\n", args->num );
+
+ IGraphicsState_Real__Blit( obj, (DFBRectangle*) ((char*)(args + 1)), (DFBPoint*) ((char*)(args + 1) + args->num * sizeof(DFBRectangle)), args->num );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_Blit2: {
+ D_UNUSED
+ CoreGraphicsStateBlit2 *args = (CoreGraphicsStateBlit2 *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_Blit2\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> num = %u\n", args->num );
+
+ IGraphicsState_Real__Blit2( obj, (DFBRectangle*) ((char*)(args + 1)), (DFBPoint*) ((char*)(args + 1) + args->num * sizeof(DFBRectangle)), (DFBPoint*) ((char*)(args + 1) + args->num * sizeof(DFBRectangle) + args->num * sizeof(DFBPoint)), args->num );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_StretchBlit: {
+ D_UNUSED
+ CoreGraphicsStateStretchBlit *args = (CoreGraphicsStateStretchBlit *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_StretchBlit\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> num = %u\n", args->num );
+
+ IGraphicsState_Real__StretchBlit( obj, (DFBRectangle*) ((char*)(args + 1)), (DFBRectangle*) ((char*)(args + 1) + args->num * sizeof(DFBRectangle)), args->num );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_TileBlit: {
+ D_UNUSED
+ CoreGraphicsStateTileBlit *args = (CoreGraphicsStateTileBlit *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_TileBlit\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> num = %u\n", args->num );
+
+ IGraphicsState_Real__TileBlit( obj, (DFBRectangle*) ((char*)(args + 1)), (DFBPoint*) ((char*)(args + 1) + args->num * sizeof(DFBRectangle)), (DFBPoint*) ((char*)(args + 1) + args->num * sizeof(DFBRectangle) + args->num * sizeof(DFBPoint)), args->num );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_TextureTriangles: {
+ D_UNUSED
+ CoreGraphicsStateTextureTriangles *args = (CoreGraphicsStateTextureTriangles *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_TextureTriangles\n" );
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> num = %u\n", args->num );
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, " -> formation = %x\n", args->formation );
+
+ IGraphicsState_Real__TextureTriangles( obj, (DFBVertex*) ((char*)(args + 1)), args->num, args->formation );
+
+ return DFB_OK;
+ }
+
+ case _CoreGraphicsState_ReleaseSource: {
+ D_UNUSED
+ CoreGraphicsStateReleaseSource *args = (CoreGraphicsStateReleaseSource *) ptr;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "=-> CoreGraphicsState_ReleaseSource\n" );
+
+
+ IGraphicsState_Real__ReleaseSource( obj );
+
+ return DFB_OK;
+ }
+
+ }
+
+ return DFB_NOSUCHMETHOD;
+}
+/*********************************************************************************************************************/
+
+DFBResult
+CoreGraphicsStateDispatch__Dispatch( CoreGraphicsState *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "CoreGraphicsStateDispatch::%s( %p )\n", __FUNCTION__, obj );
+
+ Core_PushIdentity( caller );
+
+ ret = __CoreGraphicsStateDispatch__Dispatch( obj, caller, method, ptr, length, ret_ptr, ret_size, ret_length );
+
+ Core_PopIdentity();
+
+ return ret;
+}
diff --git a/src/core/CoreGraphicsState.h b/src/core/CoreGraphicsState.h
new file mode 100644
index 0000000..f9f2388
--- /dev/null
+++ b/src/core/CoreGraphicsState.h
@@ -0,0 +1,858 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef ___CoreGraphicsState__H___
+#define ___CoreGraphicsState__H___
+
+#include <core/CoreGraphicsState_includes.h>
+
+/**********************************************************************************************************************
+ * CoreGraphicsState
+ */
+
+#ifdef __cplusplus
+#include <core/Interface.h>
+
+extern "C" {
+#endif
+
+
+DFBResult CoreGraphicsState_SetDrawingFlags(
+ CoreGraphicsState *obj,
+ DFBSurfaceDrawingFlags flags);
+
+DFBResult CoreGraphicsState_SetBlittingFlags(
+ CoreGraphicsState *obj,
+ DFBSurfaceBlittingFlags flags);
+
+DFBResult CoreGraphicsState_SetClip(
+ CoreGraphicsState *obj,
+ const DFBRegion *region);
+
+DFBResult CoreGraphicsState_SetColor(
+ CoreGraphicsState *obj,
+ const DFBColor *color);
+
+DFBResult CoreGraphicsState_SetColorAndIndex(
+ CoreGraphicsState *obj,
+ const DFBColor *color,
+ u32 index);
+
+DFBResult CoreGraphicsState_SetSrcBlend(
+ CoreGraphicsState *obj,
+ DFBSurfaceBlendFunction function);
+
+DFBResult CoreGraphicsState_SetDstBlend(
+ CoreGraphicsState *obj,
+ DFBSurfaceBlendFunction function);
+
+DFBResult CoreGraphicsState_SetSrcColorKey(
+ CoreGraphicsState *obj,
+ u32 key);
+
+DFBResult CoreGraphicsState_SetDstColorKey(
+ CoreGraphicsState *obj,
+ u32 key);
+
+DFBResult CoreGraphicsState_SetDestination(
+ CoreGraphicsState *obj,
+ CoreSurface *surface);
+
+DFBResult CoreGraphicsState_SetSource(
+ CoreGraphicsState *obj,
+ CoreSurface *surface);
+
+DFBResult CoreGraphicsState_SetSourceMask(
+ CoreGraphicsState *obj,
+ CoreSurface *surface);
+
+DFBResult CoreGraphicsState_SetSourceMaskVals(
+ CoreGraphicsState *obj,
+ const DFBPoint *offset,
+ DFBSurfaceMaskFlags flags);
+
+DFBResult CoreGraphicsState_SetIndexTranslation(
+ CoreGraphicsState *obj,
+ const s32 *indices,
+ u32 num);
+
+DFBResult CoreGraphicsState_SetColorKey(
+ CoreGraphicsState *obj,
+ const DFBColorKey *key);
+
+DFBResult CoreGraphicsState_SetRenderOptions(
+ CoreGraphicsState *obj,
+ DFBSurfaceRenderOptions options);
+
+DFBResult CoreGraphicsState_SetMatrix(
+ CoreGraphicsState *obj,
+ const s32 *values);
+
+DFBResult CoreGraphicsState_SetSource2(
+ CoreGraphicsState *obj,
+ CoreSurface *surface);
+
+DFBResult CoreGraphicsState_DrawRectangles(
+ CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ u32 num);
+
+DFBResult CoreGraphicsState_DrawLines(
+ CoreGraphicsState *obj,
+ const DFBRegion *lines,
+ u32 num);
+
+DFBResult CoreGraphicsState_FillRectangles(
+ CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ u32 num);
+
+DFBResult CoreGraphicsState_FillTriangles(
+ CoreGraphicsState *obj,
+ const DFBTriangle *triangles,
+ u32 num);
+
+DFBResult CoreGraphicsState_FillTrapezoids(
+ CoreGraphicsState *obj,
+ const DFBTrapezoid *trapezoids,
+ u32 num);
+
+DFBResult CoreGraphicsState_FillSpans(
+ CoreGraphicsState *obj,
+ s32 y,
+ const DFBSpan *spans,
+ u32 num);
+
+DFBResult CoreGraphicsState_Blit(
+ CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points,
+ u32 num);
+
+DFBResult CoreGraphicsState_Blit2(
+ CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ u32 num);
+
+DFBResult CoreGraphicsState_StretchBlit(
+ CoreGraphicsState *obj,
+ const DFBRectangle *srects,
+ const DFBRectangle *drects,
+ u32 num);
+
+DFBResult CoreGraphicsState_TileBlit(
+ CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ u32 num);
+
+DFBResult CoreGraphicsState_TextureTriangles(
+ CoreGraphicsState *obj,
+ const DFBVertex *vertices,
+ u32 num,
+ DFBTriangleFormation formation);
+
+DFBResult CoreGraphicsState_ReleaseSource(
+ CoreGraphicsState *obj
+);
+
+
+void CoreGraphicsState_Init_Dispatch(
+ CoreDFB *core,
+ CoreGraphicsState *obj,
+ FusionCall *call
+);
+
+void CoreGraphicsState_Deinit_Dispatch(
+ FusionCall *call
+);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+/*
+ * CoreGraphicsState Calls
+ */
+typedef enum {
+ _CoreGraphicsState_SetDrawingFlags = 1,
+ _CoreGraphicsState_SetBlittingFlags = 2,
+ _CoreGraphicsState_SetClip = 3,
+ _CoreGraphicsState_SetColor = 4,
+ _CoreGraphicsState_SetColorAndIndex = 5,
+ _CoreGraphicsState_SetSrcBlend = 6,
+ _CoreGraphicsState_SetDstBlend = 7,
+ _CoreGraphicsState_SetSrcColorKey = 8,
+ _CoreGraphicsState_SetDstColorKey = 9,
+ _CoreGraphicsState_SetDestination = 10,
+ _CoreGraphicsState_SetSource = 11,
+ _CoreGraphicsState_SetSourceMask = 12,
+ _CoreGraphicsState_SetSourceMaskVals = 13,
+ _CoreGraphicsState_SetIndexTranslation = 14,
+ _CoreGraphicsState_SetColorKey = 15,
+ _CoreGraphicsState_SetRenderOptions = 16,
+ _CoreGraphicsState_SetMatrix = 17,
+ _CoreGraphicsState_SetSource2 = 18,
+ _CoreGraphicsState_DrawRectangles = 19,
+ _CoreGraphicsState_DrawLines = 20,
+ _CoreGraphicsState_FillRectangles = 21,
+ _CoreGraphicsState_FillTriangles = 22,
+ _CoreGraphicsState_FillTrapezoids = 23,
+ _CoreGraphicsState_FillSpans = 24,
+ _CoreGraphicsState_Blit = 25,
+ _CoreGraphicsState_Blit2 = 26,
+ _CoreGraphicsState_StretchBlit = 27,
+ _CoreGraphicsState_TileBlit = 28,
+ _CoreGraphicsState_TextureTriangles = 29,
+ _CoreGraphicsState_ReleaseSource = 30,
+} CoreGraphicsStateCall;
+
+/*
+ * CoreGraphicsState_SetDrawingFlags
+ */
+typedef struct {
+ DFBSurfaceDrawingFlags flags;
+} CoreGraphicsStateSetDrawingFlags;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetDrawingFlagsReturn;
+
+
+/*
+ * CoreGraphicsState_SetBlittingFlags
+ */
+typedef struct {
+ DFBSurfaceBlittingFlags flags;
+} CoreGraphicsStateSetBlittingFlags;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetBlittingFlagsReturn;
+
+
+/*
+ * CoreGraphicsState_SetClip
+ */
+typedef struct {
+ DFBRegion region;
+} CoreGraphicsStateSetClip;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetClipReturn;
+
+
+/*
+ * CoreGraphicsState_SetColor
+ */
+typedef struct {
+ DFBColor color;
+} CoreGraphicsStateSetColor;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetColorReturn;
+
+
+/*
+ * CoreGraphicsState_SetColorAndIndex
+ */
+typedef struct {
+ DFBColor color;
+ u32 index;
+} CoreGraphicsStateSetColorAndIndex;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetColorAndIndexReturn;
+
+
+/*
+ * CoreGraphicsState_SetSrcBlend
+ */
+typedef struct {
+ DFBSurfaceBlendFunction function;
+} CoreGraphicsStateSetSrcBlend;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetSrcBlendReturn;
+
+
+/*
+ * CoreGraphicsState_SetDstBlend
+ */
+typedef struct {
+ DFBSurfaceBlendFunction function;
+} CoreGraphicsStateSetDstBlend;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetDstBlendReturn;
+
+
+/*
+ * CoreGraphicsState_SetSrcColorKey
+ */
+typedef struct {
+ u32 key;
+} CoreGraphicsStateSetSrcColorKey;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetSrcColorKeyReturn;
+
+
+/*
+ * CoreGraphicsState_SetDstColorKey
+ */
+typedef struct {
+ u32 key;
+} CoreGraphicsStateSetDstColorKey;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetDstColorKeyReturn;
+
+
+/*
+ * CoreGraphicsState_SetDestination
+ */
+typedef struct {
+ u32 surface_id;
+} CoreGraphicsStateSetDestination;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetDestinationReturn;
+
+
+/*
+ * CoreGraphicsState_SetSource
+ */
+typedef struct {
+ u32 surface_id;
+} CoreGraphicsStateSetSource;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetSourceReturn;
+
+
+/*
+ * CoreGraphicsState_SetSourceMask
+ */
+typedef struct {
+ u32 surface_id;
+} CoreGraphicsStateSetSourceMask;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetSourceMaskReturn;
+
+
+/*
+ * CoreGraphicsState_SetSourceMaskVals
+ */
+typedef struct {
+ DFBPoint offset;
+ DFBSurfaceMaskFlags flags;
+} CoreGraphicsStateSetSourceMaskVals;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetSourceMaskValsReturn;
+
+
+/*
+ * CoreGraphicsState_SetIndexTranslation
+ */
+typedef struct {
+ u32 num;
+ /* 'num' s32 follow (indices) */
+} CoreGraphicsStateSetIndexTranslation;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetIndexTranslationReturn;
+
+
+/*
+ * CoreGraphicsState_SetColorKey
+ */
+typedef struct {
+ DFBColorKey key;
+} CoreGraphicsStateSetColorKey;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetColorKeyReturn;
+
+
+/*
+ * CoreGraphicsState_SetRenderOptions
+ */
+typedef struct {
+ DFBSurfaceRenderOptions options;
+} CoreGraphicsStateSetRenderOptions;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetRenderOptionsReturn;
+
+
+/*
+ * CoreGraphicsState_SetMatrix
+ */
+typedef struct {
+ /* '9' s32 follow (values) */
+} CoreGraphicsStateSetMatrix;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetMatrixReturn;
+
+
+/*
+ * CoreGraphicsState_SetSource2
+ */
+typedef struct {
+ u32 surface_id;
+} CoreGraphicsStateSetSource2;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateSetSource2Return;
+
+
+/*
+ * CoreGraphicsState_DrawRectangles
+ */
+typedef struct {
+ u32 num;
+ /* 'num' DFBRectangle follow (rects) */
+} CoreGraphicsStateDrawRectangles;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateDrawRectanglesReturn;
+
+
+/*
+ * CoreGraphicsState_DrawLines
+ */
+typedef struct {
+ u32 num;
+ /* 'num' DFBRegion follow (lines) */
+} CoreGraphicsStateDrawLines;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateDrawLinesReturn;
+
+
+/*
+ * CoreGraphicsState_FillRectangles
+ */
+typedef struct {
+ u32 num;
+ /* 'num' DFBRectangle follow (rects) */
+} CoreGraphicsStateFillRectangles;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateFillRectanglesReturn;
+
+
+/*
+ * CoreGraphicsState_FillTriangles
+ */
+typedef struct {
+ u32 num;
+ /* 'num' DFBTriangle follow (triangles) */
+} CoreGraphicsStateFillTriangles;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateFillTrianglesReturn;
+
+
+/*
+ * CoreGraphicsState_FillTrapezoids
+ */
+typedef struct {
+ u32 num;
+ /* 'num' DFBTrapezoid follow (trapezoids) */
+} CoreGraphicsStateFillTrapezoids;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateFillTrapezoidsReturn;
+
+
+/*
+ * CoreGraphicsState_FillSpans
+ */
+typedef struct {
+ s32 y;
+ u32 num;
+ /* 'num' DFBSpan follow (spans) */
+} CoreGraphicsStateFillSpans;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateFillSpansReturn;
+
+
+/*
+ * CoreGraphicsState_Blit
+ */
+typedef struct {
+ u32 num;
+ /* 'num' DFBRectangle follow (rects) */
+ /* 'num' DFBPoint follow (points) */
+} CoreGraphicsStateBlit;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateBlitReturn;
+
+
+/*
+ * CoreGraphicsState_Blit2
+ */
+typedef struct {
+ u32 num;
+ /* 'num' DFBRectangle follow (rects) */
+ /* 'num' DFBPoint follow (points1) */
+ /* 'num' DFBPoint follow (points2) */
+} CoreGraphicsStateBlit2;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateBlit2Return;
+
+
+/*
+ * CoreGraphicsState_StretchBlit
+ */
+typedef struct {
+ u32 num;
+ /* 'num' DFBRectangle follow (srects) */
+ /* 'num' DFBRectangle follow (drects) */
+} CoreGraphicsStateStretchBlit;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateStretchBlitReturn;
+
+
+/*
+ * CoreGraphicsState_TileBlit
+ */
+typedef struct {
+ u32 num;
+ /* 'num' DFBRectangle follow (rects) */
+ /* 'num' DFBPoint follow (points1) */
+ /* 'num' DFBPoint follow (points2) */
+} CoreGraphicsStateTileBlit;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateTileBlitReturn;
+
+
+/*
+ * CoreGraphicsState_TextureTriangles
+ */
+typedef struct {
+ u32 num;
+ DFBTriangleFormation formation;
+ /* 'num' DFBVertex follow (vertices) */
+} CoreGraphicsStateTextureTriangles;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateTextureTrianglesReturn;
+
+
+/*
+ * CoreGraphicsState_ReleaseSource
+ */
+typedef struct {
+} CoreGraphicsStateReleaseSource;
+
+typedef struct {
+ DFBResult result;
+} CoreGraphicsStateReleaseSourceReturn;
+
+
+DFBResult IGraphicsState_Real__SetDrawingFlags( CoreGraphicsState *obj,
+ DFBSurfaceDrawingFlags flags );
+
+DFBResult IGraphicsState_Real__SetBlittingFlags( CoreGraphicsState *obj,
+ DFBSurfaceBlittingFlags flags );
+
+DFBResult IGraphicsState_Real__SetClip( CoreGraphicsState *obj,
+ const DFBRegion *region );
+
+DFBResult IGraphicsState_Real__SetColor( CoreGraphicsState *obj,
+ const DFBColor *color );
+
+DFBResult IGraphicsState_Real__SetColorAndIndex( CoreGraphicsState *obj,
+ const DFBColor *color,
+ u32 index );
+
+DFBResult IGraphicsState_Real__SetSrcBlend( CoreGraphicsState *obj,
+ DFBSurfaceBlendFunction function );
+
+DFBResult IGraphicsState_Real__SetDstBlend( CoreGraphicsState *obj,
+ DFBSurfaceBlendFunction function );
+
+DFBResult IGraphicsState_Real__SetSrcColorKey( CoreGraphicsState *obj,
+ u32 key );
+
+DFBResult IGraphicsState_Real__SetDstColorKey( CoreGraphicsState *obj,
+ u32 key );
+
+DFBResult IGraphicsState_Real__SetDestination( CoreGraphicsState *obj,
+ CoreSurface *surface );
+
+DFBResult IGraphicsState_Real__SetSource( CoreGraphicsState *obj,
+ CoreSurface *surface );
+
+DFBResult IGraphicsState_Real__SetSourceMask( CoreGraphicsState *obj,
+ CoreSurface *surface );
+
+DFBResult IGraphicsState_Real__SetSourceMaskVals( CoreGraphicsState *obj,
+ const DFBPoint *offset,
+ DFBSurfaceMaskFlags flags );
+
+DFBResult IGraphicsState_Real__SetIndexTranslation( CoreGraphicsState *obj,
+ const s32 *indices,
+ u32 num );
+
+DFBResult IGraphicsState_Real__SetColorKey( CoreGraphicsState *obj,
+ const DFBColorKey *key );
+
+DFBResult IGraphicsState_Real__SetRenderOptions( CoreGraphicsState *obj,
+ DFBSurfaceRenderOptions options );
+
+DFBResult IGraphicsState_Real__SetMatrix( CoreGraphicsState *obj,
+ const s32 *values );
+
+DFBResult IGraphicsState_Real__SetSource2( CoreGraphicsState *obj,
+ CoreSurface *surface );
+
+DFBResult IGraphicsState_Real__DrawRectangles( CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ u32 num );
+
+DFBResult IGraphicsState_Real__DrawLines( CoreGraphicsState *obj,
+ const DFBRegion *lines,
+ u32 num );
+
+DFBResult IGraphicsState_Real__FillRectangles( CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ u32 num );
+
+DFBResult IGraphicsState_Real__FillTriangles( CoreGraphicsState *obj,
+ const DFBTriangle *triangles,
+ u32 num );
+
+DFBResult IGraphicsState_Real__FillTrapezoids( CoreGraphicsState *obj,
+ const DFBTrapezoid *trapezoids,
+ u32 num );
+
+DFBResult IGraphicsState_Real__FillSpans( CoreGraphicsState *obj,
+ s32 y,
+ const DFBSpan *spans,
+ u32 num );
+
+DFBResult IGraphicsState_Real__Blit( CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points,
+ u32 num );
+
+DFBResult IGraphicsState_Real__Blit2( CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ u32 num );
+
+DFBResult IGraphicsState_Real__StretchBlit( CoreGraphicsState *obj,
+ const DFBRectangle *srects,
+ const DFBRectangle *drects,
+ u32 num );
+
+DFBResult IGraphicsState_Real__TileBlit( CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ u32 num );
+
+DFBResult IGraphicsState_Real__TextureTriangles( CoreGraphicsState *obj,
+ const DFBVertex *vertices,
+ u32 num,
+ DFBTriangleFormation formation );
+
+DFBResult IGraphicsState_Real__ReleaseSource( CoreGraphicsState *obj
+ );
+
+DFBResult IGraphicsState_Requestor__SetDrawingFlags( CoreGraphicsState *obj,
+ DFBSurfaceDrawingFlags flags );
+
+DFBResult IGraphicsState_Requestor__SetBlittingFlags( CoreGraphicsState *obj,
+ DFBSurfaceBlittingFlags flags );
+
+DFBResult IGraphicsState_Requestor__SetClip( CoreGraphicsState *obj,
+ const DFBRegion *region );
+
+DFBResult IGraphicsState_Requestor__SetColor( CoreGraphicsState *obj,
+ const DFBColor *color );
+
+DFBResult IGraphicsState_Requestor__SetColorAndIndex( CoreGraphicsState *obj,
+ const DFBColor *color,
+ u32 index );
+
+DFBResult IGraphicsState_Requestor__SetSrcBlend( CoreGraphicsState *obj,
+ DFBSurfaceBlendFunction function );
+
+DFBResult IGraphicsState_Requestor__SetDstBlend( CoreGraphicsState *obj,
+ DFBSurfaceBlendFunction function );
+
+DFBResult IGraphicsState_Requestor__SetSrcColorKey( CoreGraphicsState *obj,
+ u32 key );
+
+DFBResult IGraphicsState_Requestor__SetDstColorKey( CoreGraphicsState *obj,
+ u32 key );
+
+DFBResult IGraphicsState_Requestor__SetDestination( CoreGraphicsState *obj,
+ CoreSurface *surface );
+
+DFBResult IGraphicsState_Requestor__SetSource( CoreGraphicsState *obj,
+ CoreSurface *surface );
+
+DFBResult IGraphicsState_Requestor__SetSourceMask( CoreGraphicsState *obj,
+ CoreSurface *surface );
+
+DFBResult IGraphicsState_Requestor__SetSourceMaskVals( CoreGraphicsState *obj,
+ const DFBPoint *offset,
+ DFBSurfaceMaskFlags flags );
+
+DFBResult IGraphicsState_Requestor__SetIndexTranslation( CoreGraphicsState *obj,
+ const s32 *indices,
+ u32 num );
+
+DFBResult IGraphicsState_Requestor__SetColorKey( CoreGraphicsState *obj,
+ const DFBColorKey *key );
+
+DFBResult IGraphicsState_Requestor__SetRenderOptions( CoreGraphicsState *obj,
+ DFBSurfaceRenderOptions options );
+
+DFBResult IGraphicsState_Requestor__SetMatrix( CoreGraphicsState *obj,
+ const s32 *values );
+
+DFBResult IGraphicsState_Requestor__SetSource2( CoreGraphicsState *obj,
+ CoreSurface *surface );
+
+DFBResult IGraphicsState_Requestor__DrawRectangles( CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ u32 num );
+
+DFBResult IGraphicsState_Requestor__DrawLines( CoreGraphicsState *obj,
+ const DFBRegion *lines,
+ u32 num );
+
+DFBResult IGraphicsState_Requestor__FillRectangles( CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ u32 num );
+
+DFBResult IGraphicsState_Requestor__FillTriangles( CoreGraphicsState *obj,
+ const DFBTriangle *triangles,
+ u32 num );
+
+DFBResult IGraphicsState_Requestor__FillTrapezoids( CoreGraphicsState *obj,
+ const DFBTrapezoid *trapezoids,
+ u32 num );
+
+DFBResult IGraphicsState_Requestor__FillSpans( CoreGraphicsState *obj,
+ s32 y,
+ const DFBSpan *spans,
+ u32 num );
+
+DFBResult IGraphicsState_Requestor__Blit( CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points,
+ u32 num );
+
+DFBResult IGraphicsState_Requestor__Blit2( CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ u32 num );
+
+DFBResult IGraphicsState_Requestor__StretchBlit( CoreGraphicsState *obj,
+ const DFBRectangle *srects,
+ const DFBRectangle *drects,
+ u32 num );
+
+DFBResult IGraphicsState_Requestor__TileBlit( CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ u32 num );
+
+DFBResult IGraphicsState_Requestor__TextureTriangles( CoreGraphicsState *obj,
+ const DFBVertex *vertices,
+ u32 num,
+ DFBTriangleFormation formation );
+
+DFBResult IGraphicsState_Requestor__ReleaseSource( CoreGraphicsState *obj
+ );
+
+
+DFBResult CoreGraphicsStateDispatch__Dispatch( CoreGraphicsState *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
+
+#endif
diff --git a/src/core/CoreGraphicsStateClient.c b/src/core/CoreGraphicsStateClient.c
new file mode 100644
index 0000000..6389dfe
--- /dev/null
+++ b/src/core/CoreGraphicsStateClient.c
@@ -0,0 +1,603 @@
+/*
+ (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <core/core.h>
+#include <core/graphics_state.h>
+#include <core/state.h>
+#include <core/surface.h>
+
+#include <core/CoreDFB.h>
+#include <core/CoreGraphicsState.h>
+#include <core/CoreGraphicsStateClient.h>
+
+#include <fusion/conf.h>
+
+D_DEBUG_DOMAIN( Core_GraphicsStateClient, "Core/GfxState/Client", "DirectFB Core Graphics State Client" );
+
+/**********************************************************************************************************************/
+
+DFBResult
+CoreGraphicsStateClient_Init( CoreGraphicsStateClient *client,
+ CardState *state )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p, state %p )\n", __FUNCTION__, client, state );
+
+ D_ASSERT( client != NULL );
+ D_MAGIC_ASSERT( state, CardState );
+ D_MAGIC_ASSERT( state->core, CoreDFB );
+
+ client->core = state->core;
+ client->state = state;
+
+ ret = CoreDFB_CreateState( state->core, &client->gfx_state );
+ if (ret)
+ return ret;
+
+ D_MAGIC_SET( client, CoreGraphicsStateClient );
+
+ return DFB_OK;
+}
+
+void
+CoreGraphicsStateClient_Deinit( CoreGraphicsStateClient *client )
+{
+ D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p )\n", __FUNCTION__, client );
+
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
+
+ dfb_graphics_state_unref( client->gfx_state );
+
+ D_MAGIC_CLEAR( client );
+}
+
+DFBResult
+CoreGraphicsStateClient_SetState( CoreGraphicsStateClient *client,
+ CardState *state,
+ StateModificationFlags flags )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p, state %p, flags 0x%08x )\n", __FUNCTION__, client, state, flags );
+
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
+ D_MAGIC_ASSERT( state, CardState );
+
+ if (flags & SMF_DRAWING_FLAGS) {
+ ret = CoreGraphicsState_SetDrawingFlags( client->gfx_state, state->drawingflags );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_BLITTING_FLAGS) {
+ ret = CoreGraphicsState_SetBlittingFlags( client->gfx_state, state->blittingflags );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_CLIP) {
+ ret = CoreGraphicsState_SetClip( client->gfx_state, &state->clip );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_COLOR) {
+ ret = CoreGraphicsState_SetColor( client->gfx_state, &state->color );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_SRC_BLEND) {
+ ret = CoreGraphicsState_SetSrcBlend( client->gfx_state, state->src_blend );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_DST_BLEND) {
+ ret = CoreGraphicsState_SetDstBlend( client->gfx_state, state->dst_blend );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_SRC_COLORKEY) {
+ ret = CoreGraphicsState_SetSrcColorKey( client->gfx_state, state->src_colorkey );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_DST_COLORKEY) {
+ ret = CoreGraphicsState_SetDstColorKey( client->gfx_state, state->dst_colorkey );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_DESTINATION) {
+ D_DEBUG_AT( Core_GraphicsStateClient, " -> DESTINATION %p [%d]\n", state->destination, state->destination->object.id );
+
+ ret = CoreGraphicsState_SetDestination( client->gfx_state, state->destination );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_SOURCE) {
+ ret = CoreGraphicsState_SetSource( client->gfx_state, state->source );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_SOURCE_MASK) {
+ ret = CoreGraphicsState_SetSourceMask( client->gfx_state, state->source_mask );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_SOURCE_MASK_VALS) {
+ ret = CoreGraphicsState_SetSourceMaskVals( client->gfx_state, &state->src_mask_offset, state->src_mask_flags );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_INDEX_TRANSLATION) {
+ ret = CoreGraphicsState_SetIndexTranslation( client->gfx_state, state->index_translation, state->num_translation );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_COLORKEY) {
+ ret = CoreGraphicsState_SetColorKey( client->gfx_state, &state->colorkey );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_RENDER_OPTIONS) {
+ ret = CoreGraphicsState_SetRenderOptions( client->gfx_state, state->render_options );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_MATRIX) {
+ ret = CoreGraphicsState_SetMatrix( client->gfx_state, state->matrix );
+ if (ret)
+ return ret;
+ }
+
+ if (flags & SMF_SOURCE2) {
+ ret = CoreGraphicsState_SetSource2( client->gfx_state, state->source2 );
+ if (ret)
+ return ret;
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+CoreGraphicsStateClient_Update( CoreGraphicsStateClient *client,
+ DFBAccelerationMask accel,
+ CardState *state )
+{
+ DFBResult ret;
+ StateModificationFlags flags = SMF_DESTINATION | SMF_CLIP | SMF_RENDER_OPTIONS;
+
+ D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p )\n", __FUNCTION__, client );
+
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
+ D_MAGIC_ASSERT( state, CardState );
+
+ /*
+ * dfb_gfxcard_state_check() moves flags to mod_hw,
+ * called from IDirectFBSurface::GetAccelerationMask().
+ *
+ * FIXME: Add GetAccelerationMask() to CoreGraphicsState flux
+ * and do not load the graphics driver at slaves anymore.
+ */
+ state->modified |= state->mod_hw;
+ state->mod_hw = 0;
+
+ if (state->render_options & DSRO_MATRIX)
+ flags |= SMF_MATRIX;
+
+ if (DFB_DRAWING_FUNCTION( accel )) {
+ flags |= SMF_DRAWING_FLAGS | SMF_COLOR;
+
+ if (state->drawingflags & DSDRAW_BLEND)
+ flags |= SMF_SRC_BLEND | SMF_DST_BLEND;
+
+ if (state->drawingflags & DSDRAW_DST_COLORKEY)
+ flags |= SMF_DST_COLORKEY;
+ }
+ else {
+ flags |= SMF_BLITTING_FLAGS | SMF_SOURCE;
+
+ if (accel == DFXL_BLIT2)
+ flags |= SMF_SOURCE2;
+
+ if (state->blittingflags & (DSBLIT_BLEND_COLORALPHA |
+ DSBLIT_COLORIZE |
+ DSBLIT_SRC_PREMULTCOLOR))
+ flags |= SMF_COLOR;
+
+ if (state->blittingflags & (DSBLIT_BLEND_ALPHACHANNEL |
+ DSBLIT_BLEND_COLORALPHA))
+ flags |= SMF_SRC_BLEND | SMF_DST_BLEND;
+
+ if (state->blittingflags & DSBLIT_SRC_COLORKEY)
+ flags |= SMF_SRC_COLORKEY;
+
+ if (state->blittingflags & DSBLIT_DST_COLORKEY)
+ flags |= SMF_DST_COLORKEY;
+
+ if (state->blittingflags & (DSBLIT_SRC_MASK_ALPHA | DSBLIT_SRC_MASK_COLOR))
+ flags |= SMF_SOURCE_MASK | SMF_SOURCE_MASK_VALS;
+
+ if (state->blittingflags & DSBLIT_INDEX_TRANSLATION)
+ flags |= SMF_INDEX_TRANSLATION;
+
+ if (state->blittingflags & DSBLIT_COLORKEY_PROTECT)
+ flags |= SMF_COLORKEY;
+ }
+
+ ret = CoreGraphicsStateClient_SetState( client, state, state->modified & flags );
+ if (ret)
+ return ret;
+
+ state->modified &= ~flags;
+
+ return DFB_OK;
+}
+
+DFBResult
+CoreGraphicsStateClient_DrawRectangles( CoreGraphicsStateClient *client,
+ const DFBRectangle *rects,
+ unsigned int num )
+{
+ D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p )\n", __FUNCTION__, client );
+
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
+ D_ASSERT( rects != NULL );
+
+ if (dfb_core_is_master( client->core ) || !fusion_config->secure_fusion) {
+ unsigned int i;
+
+ for (i=0; i<num; i++)
+ // FIXME: will overwrite rects
+ dfb_gfxcard_drawrectangle( (DFBRectangle*) &rects[i], client->state );
+ }
+ else {
+ DFBResult ret;
+
+ CoreGraphicsStateClient_Update( client, DFXL_DRAWRECTANGLE, client->state );
+
+ ret = CoreGraphicsState_DrawRectangles( client->gfx_state, rects, num );
+ if (ret)
+ return ret;
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+CoreGraphicsStateClient_DrawLines( CoreGraphicsStateClient *client,
+ const DFBRegion *lines,
+ unsigned int num )
+{
+ D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p )\n", __FUNCTION__, client );
+
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
+ D_ASSERT( lines != NULL );
+
+ if (dfb_core_is_master( client->core ) || !fusion_config->secure_fusion) {
+ // FIXME: will overwrite lines
+ dfb_gfxcard_drawlines( (DFBRegion*) lines, num, client->state );
+ }
+ else {
+ DFBResult ret;
+
+ CoreGraphicsStateClient_Update( client, DFXL_DRAWLINE, client->state );
+
+ ret = CoreGraphicsState_DrawLines( client->gfx_state, lines, num );
+ if (ret)
+ return ret;
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+CoreGraphicsStateClient_FillRectangles( CoreGraphicsStateClient *client,
+ const DFBRectangle *rects,
+ unsigned int num )
+{
+ D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p )\n", __FUNCTION__, client );
+
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
+ D_ASSERT( rects != NULL );
+
+ if (dfb_core_is_master( client->core ) || !fusion_config->secure_fusion) {
+ dfb_gfxcard_fillrectangles( rects, num, client->state );
+ }
+ else {
+ DFBResult ret;
+
+ CoreGraphicsStateClient_Update( client, DFXL_FILLRECTANGLE, client->state );
+
+ ret = CoreGraphicsState_FillRectangles( client->gfx_state, rects, num );
+ if (ret)
+ return ret;
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+CoreGraphicsStateClient_FillTriangles( CoreGraphicsStateClient *client,
+ const DFBTriangle *triangles,
+ unsigned int num )
+{
+ D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p )\n", __FUNCTION__, client );
+
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
+ D_ASSERT( triangles != NULL );
+
+ if (dfb_core_is_master( client->core ) || !fusion_config->secure_fusion) {
+ dfb_gfxcard_filltriangles( triangles, num, client->state );
+ }
+ else {
+ DFBResult ret;
+
+ CoreGraphicsStateClient_Update( client, DFXL_FILLTRIANGLE, client->state );
+
+ ret = CoreGraphicsState_FillTriangles( client->gfx_state, triangles, num );
+ if (ret)
+ return ret;
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+CoreGraphicsStateClient_FillTrapezoids( CoreGraphicsStateClient *client,
+ const DFBTrapezoid *trapezoids,
+ unsigned int num )
+{
+ D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p )\n", __FUNCTION__, client );
+
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
+ D_ASSERT( trapezoids != NULL );
+
+ if (dfb_core_is_master( client->core ) || !fusion_config->secure_fusion) {
+ dfb_gfxcard_filltrapezoids( trapezoids, num, client->state );
+ }
+ else {
+ DFBResult ret;
+
+ CoreGraphicsStateClient_Update( client, DFXL_FILLTRAPEZOID, client->state );
+
+ ret = CoreGraphicsState_FillTrapezoids( client->gfx_state, trapezoids, num );
+ if (ret)
+ return ret;
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+CoreGraphicsStateClient_FillSpans( CoreGraphicsStateClient *client,
+ int y,
+ const DFBSpan *spans,
+ unsigned int num )
+{
+ D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p )\n", __FUNCTION__, client );
+
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
+ D_ASSERT( spans != NULL );
+
+ if (dfb_core_is_master( client->core ) || !fusion_config->secure_fusion) {
+ // FIXME: may overwrite spans
+ dfb_gfxcard_fillspans( y, (DFBSpan*) spans, num, client->state );
+ }
+ else {
+ DFBResult ret;
+
+ CoreGraphicsStateClient_Update( client, DFXL_FILLRECTANGLE, client->state );
+
+ ret = CoreGraphicsState_FillSpans( client->gfx_state, y, spans, num );
+ if (ret)
+ return ret;
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+CoreGraphicsStateClient_Blit( CoreGraphicsStateClient *client,
+ const DFBRectangle *rects,
+ const DFBPoint *points,
+ unsigned int num )
+{
+ D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p )\n", __FUNCTION__, client );
+
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
+ D_ASSERT( rects != NULL );
+ D_ASSERT( points != NULL );
+
+ if (dfb_core_is_master( client->core ) || !fusion_config->secure_fusion) {
+ // FIXME: will overwrite rects, points
+ if (num > 1)
+ dfb_gfxcard_batchblit( (DFBRectangle*) rects, (DFBPoint*) points, num, client->state );
+ else
+ dfb_gfxcard_blit( (DFBRectangle*) rects, ((DFBPoint*)points)->x, ((DFBPoint*)points)->y, client->state );
+ }
+ else {
+ DFBResult ret;
+
+ CoreGraphicsStateClient_Update( client, DFXL_BLIT, client->state );
+
+ ret = CoreGraphicsState_Blit( client->gfx_state, rects, points, num );
+ if (ret)
+ return ret;
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+CoreGraphicsStateClient_Blit2( CoreGraphicsStateClient *client,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ unsigned int num )
+{
+ D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p )\n", __FUNCTION__, client );
+
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
+ D_ASSERT( rects != NULL );
+ D_ASSERT( points1 != NULL );
+ D_ASSERT( points2 != NULL );
+
+ if (dfb_core_is_master( client->core ) || !fusion_config->secure_fusion) {
+ // FIXME: will overwrite rects, points
+ dfb_gfxcard_batchblit2( (DFBRectangle*) rects, (DFBPoint*) points1, (DFBPoint*) points2, num, client->state );
+ }
+ else {
+ DFBResult ret;
+
+ CoreGraphicsStateClient_Update( client, DFXL_BLIT2, client->state );
+
+ ret = CoreGraphicsState_Blit2( client->gfx_state, rects, points1, points2, num );
+ if (ret)
+ return ret;
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+CoreGraphicsStateClient_StretchBlit( CoreGraphicsStateClient *client,
+ const DFBRectangle *srects,
+ const DFBRectangle *drects,
+ unsigned int num )
+{
+ D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p )\n", __FUNCTION__, client );
+
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
+ D_ASSERT( srects != NULL );
+ D_ASSERT( drects != NULL );
+
+ if (num == 0)
+ return DFB_OK;
+
+ if (num != 1)
+ D_UNIMPLEMENTED();
+
+ if (dfb_core_is_master( client->core ) || !fusion_config->secure_fusion) {
+ // FIXME: will overwrite rects
+ dfb_gfxcard_stretchblit( (DFBRectangle*) srects, (DFBRectangle*) drects, client->state );
+ }
+ else {
+ DFBResult ret;
+
+ CoreGraphicsStateClient_Update( client, DFXL_STRETCHBLIT, client->state );
+
+ ret = CoreGraphicsState_StretchBlit( client->gfx_state, srects, drects, num );
+ if (ret)
+ return ret;
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+CoreGraphicsStateClient_TileBlit( CoreGraphicsStateClient *client,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ unsigned int num )
+{
+ D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p )\n", __FUNCTION__, client );
+
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
+ D_ASSERT( rects != NULL );
+ D_ASSERT( points1 != NULL );
+ D_ASSERT( points2 != NULL );
+
+ if (dfb_core_is_master( client->core ) || !fusion_config->secure_fusion) {
+ u32 i;
+
+ // FIXME: will overwrite rects, points
+ for (i=0; i<num; i++)
+ dfb_gfxcard_tileblit( (DFBRectangle*) &rects[i], points1[i].x, points1[i].y, points2[i].x, points2[i].y, client->state );
+ }
+ else {
+ DFBResult ret;
+
+ CoreGraphicsStateClient_Update( client, DFXL_BLIT, client->state );
+
+ ret = CoreGraphicsState_TileBlit( client->gfx_state, rects, points1, points2, num );
+ if (ret)
+ return ret;
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+CoreGraphicsStateClient_TextureTriangles( CoreGraphicsStateClient *client,
+ const DFBVertex *vertices,
+ int num,
+ DFBTriangleFormation formation )
+{
+ D_DEBUG_AT( Core_GraphicsStateClient, "%s( client %p )\n", __FUNCTION__, client );
+
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
+ D_ASSERT( vertices != NULL );
+
+ if (dfb_core_is_master( client->core ) || !fusion_config->secure_fusion) {
+ // FIXME: may overwrite vertices
+ dfb_gfxcard_texture_triangles( (DFBVertex*) vertices, num, formation, client->state );
+ }
+ else {
+ DFBResult ret;
+
+ CoreGraphicsStateClient_Update( client, DFXL_TEXTRIANGLES, client->state );
+
+ ret = CoreGraphicsState_TextureTriangles( client->gfx_state, vertices, num, formation );
+ if (ret)
+ return ret;
+ }
+
+ return DFB_OK;
+}
+
diff --git a/src/core/CoreGraphicsStateClient.h b/src/core/CoreGraphicsStateClient.h
new file mode 100644
index 0000000..f16a991
--- /dev/null
+++ b/src/core/CoreGraphicsStateClient.h
@@ -0,0 +1,117 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef __CORE__CORE_GRAPHICS_STATE_H__
+#define __CORE__CORE_GRAPHICS_STATE_H__
+
+
+#include <directfb.h>
+
+#include <core/state.h>
+
+
+/**********************************************************************************************************************
+ * CoreGraphicsStateClient
+ */
+
+struct __DFB_CoreGraphicsStateClient {
+ int magic;
+
+ CoreDFB *core;
+ CardState *state;
+
+ CoreGraphicsState *gfx_state;
+};
+
+
+DFBResult CoreGraphicsStateClient_Init ( CoreGraphicsStateClient *client,
+ CardState *state );
+
+void CoreGraphicsStateClient_Deinit ( CoreGraphicsStateClient *client );
+
+DFBResult CoreGraphicsStateClient_SetState ( CoreGraphicsStateClient *client,
+ CardState *state,
+ StateModificationFlags flags );
+DFBResult CoreGraphicsStateClient_Update ( CoreGraphicsStateClient *client,
+ DFBAccelerationMask accel,
+ CardState *state );
+
+DFBResult CoreGraphicsStateClient_DrawRectangles ( CoreGraphicsStateClient *client,
+ const DFBRectangle *rects,
+ unsigned int num );
+
+DFBResult CoreGraphicsStateClient_DrawLines ( CoreGraphicsStateClient *client,
+ const DFBRegion *lines,
+ unsigned int num );
+
+DFBResult CoreGraphicsStateClient_FillRectangles ( CoreGraphicsStateClient *client,
+ const DFBRectangle *rects,
+ unsigned int num );
+
+DFBResult CoreGraphicsStateClient_FillTriangles ( CoreGraphicsStateClient *client,
+ const DFBTriangle *triangles,
+ unsigned int num );
+
+DFBResult CoreGraphicsStateClient_FillTrapezoids ( CoreGraphicsStateClient *client,
+ const DFBTrapezoid *trapezoids,
+ unsigned int num );
+
+DFBResult CoreGraphicsStateClient_FillSpans ( CoreGraphicsStateClient *client,
+ int y,
+ const DFBSpan *spans,
+ unsigned int num );
+
+DFBResult CoreGraphicsStateClient_Blit ( CoreGraphicsStateClient *client,
+ const DFBRectangle *rects,
+ const DFBPoint *points,
+ unsigned int num );
+
+DFBResult CoreGraphicsStateClient_Blit2 ( CoreGraphicsStateClient *client,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ unsigned int num );
+
+DFBResult CoreGraphicsStateClient_StretchBlit ( CoreGraphicsStateClient *client,
+ const DFBRectangle *srects,
+ const DFBRectangle *drects,
+ unsigned int num );
+
+DFBResult CoreGraphicsStateClient_TileBlit ( CoreGraphicsStateClient *client,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ unsigned int num );
+
+DFBResult CoreGraphicsStateClient_TextureTriangles( CoreGraphicsStateClient *client,
+ const DFBVertex *vertices,
+ int num,
+ DFBTriangleFormation formation );
+
+#endif
+
diff --git a/src/core/CoreGraphicsState_includes.h b/src/core/CoreGraphicsState_includes.h
new file mode 100644
index 0000000..b3c0e52
--- /dev/null
+++ b/src/core/CoreGraphicsState_includes.h
@@ -0,0 +1,27 @@
+#include "CoreDFB_includes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include <core/state.h>
+
+
+static __inline__ DirectResult
+CoreGraphicsState_Call( CoreGraphicsState *state,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ return fusion_call_execute3( &state->call, flags, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/core/CoreGraphicsState_real.c b/src/core/CoreGraphicsState_real.c
new file mode 100644
index 0000000..a83ba0a
--- /dev/null
+++ b/src/core/CoreGraphicsState_real.c
@@ -0,0 +1,583 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreGraphicsState.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/messages.h>
+
+#include <core/core.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreGraphicsState, "DirectFB/CoreGraphicsState", "DirectFB CoreGraphicsState" );
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+IGraphicsState_Real__SetDrawingFlags(
+ CoreGraphicsState *obj,
+ DFBSurfaceDrawingFlags flags
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ dfb_state_set_drawing_flags( &obj->state, flags );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetBlittingFlags(
+ CoreGraphicsState *obj,
+ DFBSurfaceBlittingFlags flags
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ dfb_state_set_blitting_flags( &obj->state, flags );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetClip(
+ CoreGraphicsState *obj,
+ const DFBRegion *region
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( region != NULL );
+
+ dfb_state_set_clip( &obj->state, region );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetColor(
+ CoreGraphicsState *obj,
+ const DFBColor *color
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( color != NULL );
+
+ dfb_state_set_color( &obj->state, color );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetColorAndIndex(
+ CoreGraphicsState *obj,
+ const DFBColor *color,
+ u32 index
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( color != NULL );
+
+ dfb_state_set_color( &obj->state, color );
+ dfb_state_set_color_index( &obj->state, index );
+
+ obj->state.colors[0] = *color;
+ obj->state.color_indices[0] = index;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetSrcBlend(
+ CoreGraphicsState *obj,
+ DFBSurfaceBlendFunction function
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ dfb_state_set_src_blend( &obj->state, function );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetDstBlend(
+ CoreGraphicsState *obj,
+ DFBSurfaceBlendFunction function
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ dfb_state_set_dst_blend( &obj->state, function );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetSrcColorKey(
+ CoreGraphicsState *obj,
+ u32 key
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ dfb_state_set_src_colorkey( &obj->state, key );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetDstColorKey(
+ CoreGraphicsState *obj,
+ u32 key
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ dfb_state_set_dst_colorkey( &obj->state, key );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetDestination(
+ CoreGraphicsState *obj,
+ CoreSurface *surface
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( surface != NULL );
+
+ dfb_state_set_destination( &obj->state, surface );
+
+ obj->state.modified |= SMF_DESTINATION;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetSource(
+ CoreGraphicsState *obj,
+ CoreSurface *surface
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( surface != NULL );
+
+ dfb_state_set_source( &obj->state, surface );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetSourceMask(
+ CoreGraphicsState *obj,
+ CoreSurface *surface
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( surface != NULL );
+
+ dfb_state_set_source_mask( &obj->state, surface );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetSourceMaskVals(
+ CoreGraphicsState *obj,
+ const DFBPoint *offset,
+ DFBSurfaceMaskFlags flags
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( offset != NULL );
+
+ dfb_state_set_source_mask_vals( &obj->state, offset, flags );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetIndexTranslation(
+ CoreGraphicsState *obj,
+ const s32 *indices,
+ u32 num
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ dfb_state_set_index_translation( &obj->state, (const s32*) indices, num );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetColorKey(
+ CoreGraphicsState *obj,
+ const DFBColorKey *key
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( key != NULL );
+
+ dfb_state_set_colorkey( &obj->state, key );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetRenderOptions(
+ CoreGraphicsState *obj,
+ DFBSurfaceRenderOptions options
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ dfb_state_set_render_options( &obj->state, options );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetMatrix(
+ CoreGraphicsState *obj,
+ const s32 *values
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ dfb_state_set_matrix( &obj->state, (const s32*) values );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__SetSource2(
+ CoreGraphicsState *obj,
+ CoreSurface *surface
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( surface != NULL );
+
+ dfb_state_set_source2( &obj->state, surface );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__DrawRectangles(
+ CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ u32 num
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ if (!obj->state.destination)
+ return DFB_NOCONTEXT;
+
+ for (u32 i=0; i<num; i++)
+ dfb_gfxcard_drawrectangle( (DFBRectangle*) &rects[i], &obj->state );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__DrawLines(
+ CoreGraphicsState *obj,
+ const DFBRegion *lines,
+ u32 num
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ if (!obj->state.destination)
+ return DFB_NOCONTEXT;
+
+ dfb_gfxcard_drawlines( (DFBRegion*) lines, num, &obj->state );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__FillRectangles(
+ CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ u32 num
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ if (!obj->state.destination)
+ return DFB_NOCONTEXT;
+
+ dfb_gfxcard_fillrectangles( rects, num, &obj->state );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__FillTriangles(
+ CoreGraphicsState *obj,
+ const DFBTriangle *triangles,
+ u32 num
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ if (!obj->state.destination)
+ return DFB_NOCONTEXT;
+
+ dfb_gfxcard_filltriangles( triangles, num, &obj->state );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__FillTrapezoids(
+ CoreGraphicsState *obj,
+ const DFBTrapezoid *trapezoids,
+ u32 num
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ if (!obj->state.destination)
+ return DFB_NOCONTEXT;
+
+ dfb_gfxcard_filltrapezoids( trapezoids, num, &obj->state );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__FillSpans(
+ CoreGraphicsState *obj,
+ s32 y,
+ const DFBSpan *spans,
+ u32 num
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ if (!obj->state.destination)
+ return DFB_NOCONTEXT;
+
+ dfb_gfxcard_fillspans( y, (DFBSpan*) spans, num, &obj->state );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__Blit(
+ CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points,
+ u32 num
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( rects != NULL );
+ D_ASSERT( points != NULL );
+
+ if (!obj->state.destination || !obj->state.source)
+ return DFB_NOCONTEXT;
+
+ if ((obj->state.blittingflags & (DSBLIT_SRC_MASK_ALPHA | DSBLIT_SRC_MASK_COLOR)) && !obj->state.source_mask)
+ return DFB_NOCONTEXT;
+
+ // FIXME: remove casts
+ if (num > 1)
+ dfb_gfxcard_batchblit( (DFBRectangle*) rects, (DFBPoint*) points, num, &obj->state );
+ else
+ dfb_gfxcard_blit( (DFBRectangle*) rects, ((DFBPoint*)points)->x, ((DFBPoint*)points)->y, &obj->state );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__Blit2(
+ CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ u32 num
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( rects != NULL );
+ D_ASSERT( points1 != NULL );
+ D_ASSERT( points2 != NULL );
+
+ if (!obj->state.destination || !obj->state.source || !obj->state.source2)
+ return DFB_NOCONTEXT;
+
+ if ((obj->state.blittingflags & (DSBLIT_SRC_MASK_ALPHA | DSBLIT_SRC_MASK_COLOR)) && !obj->state.source_mask)
+ return DFB_NOCONTEXT;
+
+ // FIXME: remove casts
+ dfb_gfxcard_batchblit2( (DFBRectangle*) rects, (DFBPoint*) points1, (DFBPoint*) points2, num, &obj->state );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__StretchBlit(
+ CoreGraphicsState *obj,
+ const DFBRectangle *srects,
+ const DFBRectangle *drects,
+ u32 num
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( srects != NULL );
+ D_ASSERT( drects != NULL );
+
+ if (!obj->state.destination || !obj->state.source)
+ return DFB_NOCONTEXT;
+
+ if ((obj->state.blittingflags & (DSBLIT_SRC_MASK_ALPHA | DSBLIT_SRC_MASK_COLOR)) && !obj->state.source_mask)
+ return DFB_NOCONTEXT;
+
+ for (u32 i=0; i<num; i++)
+ dfb_gfxcard_stretchblit( (DFBRectangle*) &srects[i], (DFBRectangle*) &drects[i], &obj->state );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__TileBlit(
+ CoreGraphicsState *obj,
+ const DFBRectangle *rects,
+ const DFBPoint *points1,
+ const DFBPoint *points2,
+ u32 num
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ if (!obj->state.destination || !obj->state.source)
+ return DFB_NOCONTEXT;
+
+ if ((obj->state.blittingflags & (DSBLIT_SRC_MASK_ALPHA | DSBLIT_SRC_MASK_COLOR)) && !obj->state.source_mask)
+ return DFB_NOCONTEXT;
+
+ D_ASSERT( rects != NULL );
+ D_ASSERT( points1 != NULL );
+ D_ASSERT( points2 != NULL );
+
+ // FIXME: remove casts
+ for (u32 i=0; i<num; i++)
+ dfb_gfxcard_tileblit( (DFBRectangle*) &rects[i], points1[i].x, points1[i].y, points2[i].x, points2[i].y, &obj->state );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IGraphicsState_Real__TextureTriangles(
+ CoreGraphicsState *obj,
+ const DFBVertex *vertices,
+ u32 num,
+ DFBTriangleFormation formation
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "%s()\n", __FUNCTION__ );
+
+ if (!obj->state.destination || !obj->state.source)
+ return DFB_NOCONTEXT;
+
+ if ((obj->state.blittingflags & (DSBLIT_SRC_MASK_ALPHA | DSBLIT_SRC_MASK_COLOR)) && !obj->state.source_mask)
+ return DFB_NOCONTEXT;
+
+ D_ASSERT( vertices != NULL );
+
+ // FIXME: remove casts
+ dfb_gfxcard_texture_triangles( (DFBVertex*) vertices, num, formation, &obj->state );
+
+ return DFB_OK;
+}
+
+DFBResult
+IGraphicsState_Real__ReleaseSource(
+ CoreGraphicsState *obj
+)
+{
+ D_DEBUG_AT( DirectFB_CoreGraphicsState, "IGraphicsState_Real::%s()\n", __FUNCTION__ );
+
+ dfb_state_set_source( &obj->state, NULL );
+ dfb_state_set_source_mask( &obj->state, NULL );
+ dfb_state_set_source2( &obj->state, NULL );
+
+ return DFB_OK;
+}
diff --git a/src/core/CoreInputDevice.c b/src/core/CoreInputDevice.c
new file mode 100644
index 0000000..4d1b49e
--- /dev/null
+++ b/src/core/CoreInputDevice.c
@@ -0,0 +1,288 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreInputDevice.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+#include <core/CoreDFB_CallMode.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreInputDevice, "DirectFB/CoreInputDevice", "DirectFB CoreInputDevice" );
+
+/*********************************************************************************************************************/
+
+DFBResult
+CoreInputDevice_SetKeymapEntry(
+ CoreInputDevice *obj,
+ s32 key_code,
+ const DFBInputDeviceKeymapEntry *entry
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IInputDevice_Real__SetKeymapEntry( obj, key_code, entry );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IInputDevice_Requestor__SetKeymapEntry( obj, key_code, entry );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreInputDevice_ReloadKeymap(
+ CoreInputDevice *obj
+
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IInputDevice_Real__ReloadKeymap( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IInputDevice_Requestor__ReloadKeymap( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+/*********************************************************************************************************************/
+
+static FusionCallHandlerResult
+CoreInputDevice_Dispatch( int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *ptr, /* optional call parameter */
+ unsigned int length,
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ CoreInputDevice *obj = (CoreInputDevice*) ctx;
+ CoreInputDeviceDispatch__Dispatch( obj, caller, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+
+ return FCHR_RETURN;
+}
+
+void CoreInputDevice_Init_Dispatch(
+ CoreDFB *core,
+ CoreInputDevice *obj,
+ FusionCall *call
+)
+{
+ fusion_call_init3( call, CoreInputDevice_Dispatch, obj, core->world );
+}
+
+void CoreInputDevice_Deinit_Dispatch(
+ FusionCall *call
+)
+{
+ fusion_call_destroy( call );
+}
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+IInputDevice_Requestor__SetKeymapEntry( CoreInputDevice *obj,
+ s32 key_code,
+ const DFBInputDeviceKeymapEntry *entry
+)
+{
+ DFBResult ret;
+ CoreInputDeviceSetKeymapEntry *args = (CoreInputDeviceSetKeymapEntry*) alloca( sizeof(CoreInputDeviceSetKeymapEntry) );
+ CoreInputDeviceSetKeymapEntryReturn *return_args = (CoreInputDeviceSetKeymapEntryReturn*) alloca( sizeof(CoreInputDeviceSetKeymapEntryReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreInputDevice, "IInputDevice_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( entry != NULL );
+
+ args->key_code = key_code;
+ args->entry = *entry;
+
+ ret = (DFBResult) CoreInputDevice_Call( obj, FCEF_NONE, _CoreInputDevice_SetKeymapEntry, args, sizeof(CoreInputDeviceSetKeymapEntry), return_args, sizeof(CoreInputDeviceSetKeymapEntryReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreInputDevice_Call( CoreInputDevice_SetKeymapEntry ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreInputDevice_SetKeymapEntry failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IInputDevice_Requestor__ReloadKeymap( CoreInputDevice *obj
+
+)
+{
+ DFBResult ret;
+ CoreInputDeviceReloadKeymap *args = (CoreInputDeviceReloadKeymap*) alloca( sizeof(CoreInputDeviceReloadKeymap) );
+ CoreInputDeviceReloadKeymapReturn *return_args = (CoreInputDeviceReloadKeymapReturn*) alloca( sizeof(CoreInputDeviceReloadKeymapReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreInputDevice, "IInputDevice_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) CoreInputDevice_Call( obj, FCEF_NONE, _CoreInputDevice_ReloadKeymap, args, sizeof(CoreInputDeviceReloadKeymap), return_args, sizeof(CoreInputDeviceReloadKeymapReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreInputDevice_Call( CoreInputDevice_ReloadKeymap ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreInputDevice_ReloadKeymap failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+/*********************************************************************************************************************/
+
+static DFBResult
+__CoreInputDeviceDispatch__Dispatch( CoreInputDevice *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_UNUSED
+ DFBResult ret;
+
+
+ switch (method) {
+ case _CoreInputDevice_SetKeymapEntry: {
+ D_UNUSED
+ CoreInputDeviceSetKeymapEntry *args = (CoreInputDeviceSetKeymapEntry *) ptr;
+ CoreInputDeviceSetKeymapEntryReturn *return_args = (CoreInputDeviceSetKeymapEntryReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreInputDevice, "=-> CoreInputDevice_SetKeymapEntry\n" );
+
+ return_args->result = IInputDevice_Real__SetKeymapEntry( obj, args->key_code, &args->entry );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreInputDeviceSetKeymapEntryReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreInputDevice_ReloadKeymap: {
+ D_UNUSED
+ CoreInputDeviceReloadKeymap *args = (CoreInputDeviceReloadKeymap *) ptr;
+ CoreInputDeviceReloadKeymapReturn *return_args = (CoreInputDeviceReloadKeymapReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreInputDevice, "=-> CoreInputDevice_ReloadKeymap\n" );
+
+ return_args->result = IInputDevice_Real__ReloadKeymap( obj );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreInputDeviceReloadKeymapReturn);
+
+ return DFB_OK;
+ }
+
+ }
+
+ return DFB_NOSUCHMETHOD;
+}
+/*********************************************************************************************************************/
+
+DFBResult
+CoreInputDeviceDispatch__Dispatch( CoreInputDevice *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreInputDevice, "CoreInputDeviceDispatch::%s( %p )\n", __FUNCTION__, obj );
+
+ Core_PushIdentity( caller );
+
+ ret = __CoreInputDeviceDispatch__Dispatch( obj, caller, method, ptr, length, ret_ptr, ret_size, ret_length );
+
+ Core_PopIdentity();
+
+ return ret;
+}
diff --git a/src/core/CoreInputDevice.h b/src/core/CoreInputDevice.h
new file mode 100644
index 0000000..08a29f9
--- /dev/null
+++ b/src/core/CoreInputDevice.h
@@ -0,0 +1,130 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef ___CoreInputDevice__H___
+#define ___CoreInputDevice__H___
+
+#include <core/CoreInputDevice_includes.h>
+
+/**********************************************************************************************************************
+ * CoreInputDevice
+ */
+
+#ifdef __cplusplus
+#include <core/Interface.h>
+
+extern "C" {
+#endif
+
+
+DFBResult CoreInputDevice_SetKeymapEntry(
+ CoreInputDevice *obj,
+ s32 key_code,
+ const DFBInputDeviceKeymapEntry *entry);
+
+DFBResult CoreInputDevice_ReloadKeymap(
+ CoreInputDevice *obj
+);
+
+
+void CoreInputDevice_Init_Dispatch(
+ CoreDFB *core,
+ CoreInputDevice *obj,
+ FusionCall *call
+);
+
+void CoreInputDevice_Deinit_Dispatch(
+ FusionCall *call
+);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+/*
+ * CoreInputDevice Calls
+ */
+typedef enum {
+ _CoreInputDevice_SetKeymapEntry = 1,
+ _CoreInputDevice_ReloadKeymap = 2,
+} CoreInputDeviceCall;
+
+/*
+ * CoreInputDevice_SetKeymapEntry
+ */
+typedef struct {
+ s32 key_code;
+ DFBInputDeviceKeymapEntry entry;
+} CoreInputDeviceSetKeymapEntry;
+
+typedef struct {
+ DFBResult result;
+} CoreInputDeviceSetKeymapEntryReturn;
+
+
+/*
+ * CoreInputDevice_ReloadKeymap
+ */
+typedef struct {
+} CoreInputDeviceReloadKeymap;
+
+typedef struct {
+ DFBResult result;
+} CoreInputDeviceReloadKeymapReturn;
+
+
+DFBResult IInputDevice_Real__SetKeymapEntry( CoreInputDevice *obj,
+ s32 key_code,
+ const DFBInputDeviceKeymapEntry *entry );
+
+DFBResult IInputDevice_Real__ReloadKeymap( CoreInputDevice *obj
+ );
+
+DFBResult IInputDevice_Requestor__SetKeymapEntry( CoreInputDevice *obj,
+ s32 key_code,
+ const DFBInputDeviceKeymapEntry *entry );
+
+DFBResult IInputDevice_Requestor__ReloadKeymap( CoreInputDevice *obj
+ );
+
+
+DFBResult CoreInputDeviceDispatch__Dispatch( CoreInputDevice *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
+
+#endif
diff --git a/src/core/CoreInputDevice_includes.h b/src/core/CoreInputDevice_includes.h
new file mode 100644
index 0000000..36b56de
--- /dev/null
+++ b/src/core/CoreInputDevice_includes.h
@@ -0,0 +1,14 @@
+#include "CoreDFB_includes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include <core/input.h>
+
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/wm/unique/classes/frame.c b/src/core/CoreInputDevice_real.c
similarity index 53%
copy from wm/unique/classes/frame.c
copy to src/core/CoreInputDevice_real.c
index a07ad03..9bc2ffe 100644
--- a/wm/unique/classes/frame.c
+++ b/src/core/CoreInputDevice_real.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -28,26 +28,41 @@
#include <config.h>
-#include <directfb.h>
+#include "CoreInputDevice.h"
+
+#include <directfb_util.h>
#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
#include <direct/messages.h>
-#include <direct/util.h>
-#include <core/gfxcard.h>
-#include <core/state.h>
-#include <core/windows_internal.h>
+#include <core/input.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreInputDevice, "DirectFB/CoreInputDevice", "DirectFB CoreInputDevice" );
+
+/*********************************************************************************************************************/
-#include <misc/util.h>
-#include <unique/context.h>
-#include <unique/stret.h>
-#include <unique/internal.h>
+DFBResult
+IInputDevice_Real__SetKeymapEntry(
+ CoreInputDevice *obj,
+ s32 key_code,
+ const DFBInputDeviceKeymapEntry *entry
+)
+{
+ D_DEBUG_AT( DirectFB_CoreInputDevice, "%s()\n", __FUNCTION__ );
+ return dfb_input_device_set_keymap_entry( obj, key_code, entry );
+}
-//D_DEBUG_DOMAIN( UniQuE_Frame, "UniQuE/Frame", "UniQuE's Frame Region Class" );
+DFBResult
+IInputDevice_Real__ReloadKeymap(
+ CoreInputDevice *obj
+)
+{
+ D_DEBUG_AT( DirectFB_CoreInputDevice, "%s()\n", __FUNCTION__ );
-const StretRegionClass unique_frame_region_class = {
- .GetInput = NULL,
-};
+ return dfb_input_device_reload_keymap( obj );
+}
diff --git a/src/core/CoreLayer.c b/src/core/CoreLayer.c
new file mode 100644
index 0000000..bfbad4f
--- /dev/null
+++ b/src/core/CoreLayer.c
@@ -0,0 +1,629 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreLayer.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+#include <core/CoreDFB_CallMode.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreLayer, "DirectFB/CoreLayer", "DirectFB CoreLayer" );
+
+/*********************************************************************************************************************/
+
+DFBResult
+CoreLayer_CreateContext(
+ CoreLayer *obj,
+ CoreLayerContext **ret_context
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayer_Real__CreateContext( obj, ret_context );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayer_Requestor__CreateContext( obj, ret_context );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayer_GetPrimaryContext(
+ CoreLayer *obj,
+ bool activate,
+ CoreLayerContext **ret_context
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayer_Real__GetPrimaryContext( obj, activate, ret_context );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayer_Requestor__GetPrimaryContext( obj, activate, ret_context );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayer_ActivateContext(
+ CoreLayer *obj,
+ CoreLayerContext *context
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayer_Real__ActivateContext( obj, context );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayer_Requestor__ActivateContext( obj, context );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayer_GetCurrentOutputField(
+ CoreLayer *obj,
+ s32 *ret_field
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayer_Real__GetCurrentOutputField( obj, ret_field );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayer_Requestor__GetCurrentOutputField( obj, ret_field );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayer_SetLevel(
+ CoreLayer *obj,
+ s32 level
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayer_Real__SetLevel( obj, level );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayer_Requestor__SetLevel( obj, level );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayer_WaitVSync(
+ CoreLayer *obj
+
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayer_Real__WaitVSync( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayer_Requestor__WaitVSync( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+/*********************************************************************************************************************/
+
+static FusionCallHandlerResult
+CoreLayer_Dispatch( int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *ptr, /* optional call parameter */
+ unsigned int length,
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ CoreLayer *obj = (CoreLayer*) ctx;
+ CoreLayerDispatch__Dispatch( obj, caller, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+
+ return FCHR_RETURN;
+}
+
+void CoreLayer_Init_Dispatch(
+ CoreDFB *core,
+ CoreLayer *obj,
+ FusionCall *call
+)
+{
+ fusion_call_init3( call, CoreLayer_Dispatch, obj, core->world );
+}
+
+void CoreLayer_Deinit_Dispatch(
+ FusionCall *call
+)
+{
+ fusion_call_destroy( call );
+}
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+ILayer_Requestor__CreateContext( CoreLayer *obj,
+ CoreLayerContext **ret_context
+)
+{
+ DFBResult ret;
+ CoreLayerContext *context = NULL;
+ CoreLayerCreateContext *args = (CoreLayerCreateContext*) alloca( sizeof(CoreLayerCreateContext) );
+ CoreLayerCreateContextReturn *return_args = (CoreLayerCreateContextReturn*) alloca( sizeof(CoreLayerCreateContextReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayer, "ILayer_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_context != NULL );
+
+
+ ret = (DFBResult) CoreLayer_Call( obj, FCEF_NONE, _CoreLayer_CreateContext, args, sizeof(CoreLayerCreateContext), return_args, sizeof(CoreLayerCreateContextReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayer_Call( CoreLayer_CreateContext ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayer_CreateContext failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CoreLayerContext_Catch( core_dfb, return_args->context_id, &context );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching context by ID %u failed!\n", __FUNCTION__, return_args->context_id );
+ return ret;
+ }
+
+ *ret_context = context;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayer_Requestor__GetPrimaryContext( CoreLayer *obj,
+ bool activate,
+ CoreLayerContext **ret_context
+)
+{
+ DFBResult ret;
+ CoreLayerContext *context = NULL;
+ CoreLayerGetPrimaryContext *args = (CoreLayerGetPrimaryContext*) alloca( sizeof(CoreLayerGetPrimaryContext) );
+ CoreLayerGetPrimaryContextReturn *return_args = (CoreLayerGetPrimaryContextReturn*) alloca( sizeof(CoreLayerGetPrimaryContextReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayer, "ILayer_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_context != NULL );
+
+ args->activate = activate;
+
+ ret = (DFBResult) CoreLayer_Call( obj, FCEF_NONE, _CoreLayer_GetPrimaryContext, args, sizeof(CoreLayerGetPrimaryContext), return_args, sizeof(CoreLayerGetPrimaryContextReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayer_Call( CoreLayer_GetPrimaryContext ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayer_GetPrimaryContext failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CoreLayerContext_Catch( core_dfb, return_args->context_id, &context );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching context by ID %u failed!\n", __FUNCTION__, return_args->context_id );
+ return ret;
+ }
+
+ *ret_context = context;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayer_Requestor__ActivateContext( CoreLayer *obj,
+ CoreLayerContext *context
+)
+{
+ DFBResult ret;
+ CoreLayerActivateContext *args = (CoreLayerActivateContext*) alloca( sizeof(CoreLayerActivateContext) );
+ CoreLayerActivateContextReturn *return_args = (CoreLayerActivateContextReturn*) alloca( sizeof(CoreLayerActivateContextReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayer, "ILayer_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( context != NULL );
+
+ args->context_id = CoreLayerContext_GetID( context );
+
+ ret = (DFBResult) CoreLayer_Call( obj, FCEF_NONE, _CoreLayer_ActivateContext, args, sizeof(CoreLayerActivateContext), return_args, sizeof(CoreLayerActivateContextReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayer_Call( CoreLayer_ActivateContext ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayer_ActivateContext failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayer_Requestor__GetCurrentOutputField( CoreLayer *obj,
+ s32 *ret_field
+)
+{
+ DFBResult ret;
+ CoreLayerGetCurrentOutputField *args = (CoreLayerGetCurrentOutputField*) alloca( sizeof(CoreLayerGetCurrentOutputField) );
+ CoreLayerGetCurrentOutputFieldReturn *return_args = (CoreLayerGetCurrentOutputFieldReturn*) alloca( sizeof(CoreLayerGetCurrentOutputFieldReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayer, "ILayer_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) CoreLayer_Call( obj, FCEF_NONE, _CoreLayer_GetCurrentOutputField, args, sizeof(CoreLayerGetCurrentOutputField), return_args, sizeof(CoreLayerGetCurrentOutputFieldReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayer_Call( CoreLayer_GetCurrentOutputField ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayer_GetCurrentOutputField failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ *ret_field = return_args->field;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayer_Requestor__SetLevel( CoreLayer *obj,
+ s32 level
+)
+{
+ DFBResult ret;
+ CoreLayerSetLevel *args = (CoreLayerSetLevel*) alloca( sizeof(CoreLayerSetLevel) );
+ CoreLayerSetLevelReturn *return_args = (CoreLayerSetLevelReturn*) alloca( sizeof(CoreLayerSetLevelReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayer, "ILayer_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->level = level;
+
+ ret = (DFBResult) CoreLayer_Call( obj, FCEF_NONE, _CoreLayer_SetLevel, args, sizeof(CoreLayerSetLevel), return_args, sizeof(CoreLayerSetLevelReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayer_Call( CoreLayer_SetLevel ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayer_SetLevel failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayer_Requestor__WaitVSync( CoreLayer *obj
+
+)
+{
+ DFBResult ret;
+ CoreLayerWaitVSync *args = (CoreLayerWaitVSync*) alloca( sizeof(CoreLayerWaitVSync) );
+ CoreLayerWaitVSyncReturn *return_args = (CoreLayerWaitVSyncReturn*) alloca( sizeof(CoreLayerWaitVSyncReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayer, "ILayer_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) CoreLayer_Call( obj, FCEF_NONE, _CoreLayer_WaitVSync, args, sizeof(CoreLayerWaitVSync), return_args, sizeof(CoreLayerWaitVSyncReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayer_Call( CoreLayer_WaitVSync ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayer_WaitVSync failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+/*********************************************************************************************************************/
+
+static DFBResult
+__CoreLayerDispatch__Dispatch( CoreLayer *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_UNUSED
+ DFBResult ret;
+
+
+ switch (method) {
+ case _CoreLayer_CreateContext: {
+ CoreLayerContext *context = NULL;
+ D_UNUSED
+ CoreLayerCreateContext *args = (CoreLayerCreateContext *) ptr;
+ CoreLayerCreateContextReturn *return_args = (CoreLayerCreateContextReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayer, "=-> CoreLayer_CreateContext\n" );
+
+ return_args->result = ILayer_Real__CreateContext( obj, &context );
+ if (return_args->result == DFB_OK) {
+ CoreLayerContext_Throw( context, caller, &return_args->context_id );
+ }
+
+ *ret_length = sizeof(CoreLayerCreateContextReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayer_GetPrimaryContext: {
+ CoreLayerContext *context = NULL;
+ D_UNUSED
+ CoreLayerGetPrimaryContext *args = (CoreLayerGetPrimaryContext *) ptr;
+ CoreLayerGetPrimaryContextReturn *return_args = (CoreLayerGetPrimaryContextReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayer, "=-> CoreLayer_GetPrimaryContext\n" );
+
+ return_args->result = ILayer_Real__GetPrimaryContext( obj, args->activate, &context );
+ if (return_args->result == DFB_OK) {
+ CoreLayerContext_Throw( context, caller, &return_args->context_id );
+ }
+
+ *ret_length = sizeof(CoreLayerGetPrimaryContextReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayer_ActivateContext: {
+ CoreLayerContext *context = NULL;
+ D_UNUSED
+ CoreLayerActivateContext *args = (CoreLayerActivateContext *) ptr;
+ CoreLayerActivateContextReturn *return_args = (CoreLayerActivateContextReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayer, "=-> CoreLayer_ActivateContext\n" );
+
+ ret = (DFBResult) CoreLayerContext_Lookup( core_dfb, args->context_id, caller, &context );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up context by ID %u failed!\n", __FUNCTION__, args->context_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+
+ return_args->result = ILayer_Real__ActivateContext( obj, context );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerActivateContextReturn);
+
+ if (context)
+ CoreLayerContext_Unref( context );
+
+ return DFB_OK;
+ }
+
+ case _CoreLayer_GetCurrentOutputField: {
+ D_UNUSED
+ CoreLayerGetCurrentOutputField *args = (CoreLayerGetCurrentOutputField *) ptr;
+ CoreLayerGetCurrentOutputFieldReturn *return_args = (CoreLayerGetCurrentOutputFieldReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayer, "=-> CoreLayer_GetCurrentOutputField\n" );
+
+ return_args->result = ILayer_Real__GetCurrentOutputField( obj, &return_args->field );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerGetCurrentOutputFieldReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayer_SetLevel: {
+ D_UNUSED
+ CoreLayerSetLevel *args = (CoreLayerSetLevel *) ptr;
+ CoreLayerSetLevelReturn *return_args = (CoreLayerSetLevelReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayer, "=-> CoreLayer_SetLevel\n" );
+
+ return_args->result = ILayer_Real__SetLevel( obj, args->level );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerSetLevelReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayer_WaitVSync: {
+ D_UNUSED
+ CoreLayerWaitVSync *args = (CoreLayerWaitVSync *) ptr;
+ CoreLayerWaitVSyncReturn *return_args = (CoreLayerWaitVSyncReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayer, "=-> CoreLayer_WaitVSync\n" );
+
+ return_args->result = ILayer_Real__WaitVSync( obj );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerWaitVSyncReturn);
+
+ return DFB_OK;
+ }
+
+ }
+
+ return DFB_NOSUCHMETHOD;
+}
+/*********************************************************************************************************************/
+
+DFBResult
+CoreLayerDispatch__Dispatch( CoreLayer *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreLayer, "CoreLayerDispatch::%s( %p )\n", __FUNCTION__, obj );
+
+ Core_PushIdentity( caller );
+
+ ret = __CoreLayerDispatch__Dispatch( obj, caller, method, ptr, length, ret_ptr, ret_size, ret_length );
+
+ Core_PopIdentity();
+
+ return ret;
+}
diff --git a/src/core/CoreLayer.h b/src/core/CoreLayer.h
new file mode 100644
index 0000000..08d4ed0
--- /dev/null
+++ b/src/core/CoreLayer.h
@@ -0,0 +1,222 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef ___CoreLayer__H___
+#define ___CoreLayer__H___
+
+#include <core/CoreLayer_includes.h>
+
+/**********************************************************************************************************************
+ * CoreLayer
+ */
+
+#ifdef __cplusplus
+#include <core/Interface.h>
+
+extern "C" {
+#endif
+
+
+DFBResult CoreLayer_CreateContext(
+ CoreLayer *obj,
+ CoreLayerContext **ret_context);
+
+DFBResult CoreLayer_GetPrimaryContext(
+ CoreLayer *obj,
+ bool activate,
+ CoreLayerContext **ret_context);
+
+DFBResult CoreLayer_ActivateContext(
+ CoreLayer *obj,
+ CoreLayerContext *context);
+
+DFBResult CoreLayer_GetCurrentOutputField(
+ CoreLayer *obj,
+ s32 *ret_field);
+
+DFBResult CoreLayer_SetLevel(
+ CoreLayer *obj,
+ s32 level);
+
+DFBResult CoreLayer_WaitVSync(
+ CoreLayer *obj
+);
+
+
+void CoreLayer_Init_Dispatch(
+ CoreDFB *core,
+ CoreLayer *obj,
+ FusionCall *call
+);
+
+void CoreLayer_Deinit_Dispatch(
+ FusionCall *call
+);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+/*
+ * CoreLayer Calls
+ */
+typedef enum {
+ _CoreLayer_CreateContext = 1,
+ _CoreLayer_GetPrimaryContext = 2,
+ _CoreLayer_ActivateContext = 3,
+ _CoreLayer_GetCurrentOutputField = 4,
+ _CoreLayer_SetLevel = 5,
+ _CoreLayer_WaitVSync = 6,
+} CoreLayerCall;
+
+/*
+ * CoreLayer_CreateContext
+ */
+typedef struct {
+} CoreLayerCreateContext;
+
+typedef struct {
+ DFBResult result;
+ u32 context_id;
+} CoreLayerCreateContextReturn;
+
+
+/*
+ * CoreLayer_GetPrimaryContext
+ */
+typedef struct {
+ bool activate;
+} CoreLayerGetPrimaryContext;
+
+typedef struct {
+ DFBResult result;
+ u32 context_id;
+} CoreLayerGetPrimaryContextReturn;
+
+
+/*
+ * CoreLayer_ActivateContext
+ */
+typedef struct {
+ u32 context_id;
+} CoreLayerActivateContext;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerActivateContextReturn;
+
+
+/*
+ * CoreLayer_GetCurrentOutputField
+ */
+typedef struct {
+} CoreLayerGetCurrentOutputField;
+
+typedef struct {
+ DFBResult result;
+ s32 field;
+} CoreLayerGetCurrentOutputFieldReturn;
+
+
+/*
+ * CoreLayer_SetLevel
+ */
+typedef struct {
+ s32 level;
+} CoreLayerSetLevel;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerSetLevelReturn;
+
+
+/*
+ * CoreLayer_WaitVSync
+ */
+typedef struct {
+} CoreLayerWaitVSync;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerWaitVSyncReturn;
+
+
+DFBResult ILayer_Real__CreateContext( CoreLayer *obj,
+ CoreLayerContext **ret_context );
+
+DFBResult ILayer_Real__GetPrimaryContext( CoreLayer *obj,
+ bool activate,
+ CoreLayerContext **ret_context );
+
+DFBResult ILayer_Real__ActivateContext( CoreLayer *obj,
+ CoreLayerContext *context );
+
+DFBResult ILayer_Real__GetCurrentOutputField( CoreLayer *obj,
+ s32 *ret_field );
+
+DFBResult ILayer_Real__SetLevel( CoreLayer *obj,
+ s32 level );
+
+DFBResult ILayer_Real__WaitVSync( CoreLayer *obj
+ );
+
+DFBResult ILayer_Requestor__CreateContext( CoreLayer *obj,
+ CoreLayerContext **ret_context );
+
+DFBResult ILayer_Requestor__GetPrimaryContext( CoreLayer *obj,
+ bool activate,
+ CoreLayerContext **ret_context );
+
+DFBResult ILayer_Requestor__ActivateContext( CoreLayer *obj,
+ CoreLayerContext *context );
+
+DFBResult ILayer_Requestor__GetCurrentOutputField( CoreLayer *obj,
+ s32 *ret_field );
+
+DFBResult ILayer_Requestor__SetLevel( CoreLayer *obj,
+ s32 level );
+
+DFBResult ILayer_Requestor__WaitVSync( CoreLayer *obj
+ );
+
+
+DFBResult CoreLayerDispatch__Dispatch( CoreLayer *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
+
+#endif
diff --git a/src/core/CoreLayerContext.c b/src/core/CoreLayerContext.c
new file mode 100644
index 0000000..94cc6d3
--- /dev/null
+++ b/src/core/CoreLayerContext.c
@@ -0,0 +1,1559 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreLayerContext.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+#include <core/CoreDFB_CallMode.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreLayerContext, "DirectFB/CoreLayerContext", "DirectFB CoreLayerContext" );
+
+/*********************************************************************************************************************/
+
+DFBResult
+CoreLayerContext_GetPrimaryRegion(
+ CoreLayerContext *obj,
+ bool create,
+ CoreLayerRegion **ret_region
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__GetPrimaryRegion( obj, create, ret_region );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__GetPrimaryRegion( obj, create, ret_region );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_TestConfiguration(
+ CoreLayerContext *obj,
+ const DFBDisplayLayerConfig *config,
+ DFBDisplayLayerConfigFlags *ret_failed
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__TestConfiguration( obj, config, ret_failed );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__TestConfiguration( obj, config, ret_failed );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_SetConfiguration(
+ CoreLayerContext *obj,
+ const DFBDisplayLayerConfig *config
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__SetConfiguration( obj, config );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__SetConfiguration( obj, config );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_SetSrcColorKey(
+ CoreLayerContext *obj,
+ const DFBColorKey *key
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__SetSrcColorKey( obj, key );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__SetSrcColorKey( obj, key );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_SetDstColorKey(
+ CoreLayerContext *obj,
+ const DFBColorKey *key
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__SetDstColorKey( obj, key );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__SetDstColorKey( obj, key );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_SetSourceRectangle(
+ CoreLayerContext *obj,
+ const DFBRectangle *rectangle
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__SetSourceRectangle( obj, rectangle );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__SetSourceRectangle( obj, rectangle );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_SetScreenLocation(
+ CoreLayerContext *obj,
+ const DFBLocation *location
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__SetScreenLocation( obj, location );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__SetScreenLocation( obj, location );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_SetScreenRectangle(
+ CoreLayerContext *obj,
+ const DFBRectangle *rectangle
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__SetScreenRectangle( obj, rectangle );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__SetScreenRectangle( obj, rectangle );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_SetScreenPosition(
+ CoreLayerContext *obj,
+ const DFBPoint *position
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__SetScreenPosition( obj, position );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__SetScreenPosition( obj, position );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_SetOpacity(
+ CoreLayerContext *obj,
+ u8 opacity
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__SetOpacity( obj, opacity );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__SetOpacity( obj, opacity );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_SetRotation(
+ CoreLayerContext *obj,
+ s32 rotation
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__SetRotation( obj, rotation );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__SetRotation( obj, rotation );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_SetColorAdjustment(
+ CoreLayerContext *obj,
+ const DFBColorAdjustment *adjustment
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__SetColorAdjustment( obj, adjustment );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__SetColorAdjustment( obj, adjustment );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_SetFieldParity(
+ CoreLayerContext *obj,
+ u32 field
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__SetFieldParity( obj, field );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__SetFieldParity( obj, field );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_SetClipRegions(
+ CoreLayerContext *obj,
+ const DFBRegion *regions,
+ u32 num,
+ bool positive
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__SetClipRegions( obj, regions, num, positive );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__SetClipRegions( obj, regions, num, positive );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_CreateWindow(
+ CoreLayerContext *obj,
+ const DFBWindowDescription *description,
+ CoreWindow *parent,
+ CoreWindow *toplevel,
+ CoreWindow **ret_window
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__CreateWindow( obj, description, parent, toplevel, ret_window );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__CreateWindow( obj, description, parent, toplevel, ret_window );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_FindWindow(
+ CoreLayerContext *obj,
+ DFBWindowID window_id,
+ CoreWindow **ret_window
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__FindWindow( obj, window_id, ret_window );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__FindWindow( obj, window_id, ret_window );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerContext_FindWindowByResourceID(
+ CoreLayerContext *obj,
+ u64 resource_id,
+ CoreWindow **ret_window
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerContext_Real__FindWindowByResourceID( obj, resource_id, ret_window );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerContext_Requestor__FindWindowByResourceID( obj, resource_id, ret_window );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+/*********************************************************************************************************************/
+
+static FusionCallHandlerResult
+CoreLayerContext_Dispatch( int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *ptr, /* optional call parameter */
+ unsigned int length,
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ CoreLayerContext *obj = (CoreLayerContext*) ctx;
+ CoreLayerContextDispatch__Dispatch( obj, caller, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+
+ return FCHR_RETURN;
+}
+
+void CoreLayerContext_Init_Dispatch(
+ CoreDFB *core,
+ CoreLayerContext *obj,
+ FusionCall *call
+)
+{
+ fusion_call_init3( call, CoreLayerContext_Dispatch, obj, core->world );
+}
+
+void CoreLayerContext_Deinit_Dispatch(
+ FusionCall *call
+)
+{
+ fusion_call_destroy( call );
+}
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+ILayerContext_Requestor__GetPrimaryRegion( CoreLayerContext *obj,
+ bool create,
+ CoreLayerRegion **ret_region
+)
+{
+ DFBResult ret;
+ CoreLayerRegion *region = NULL;
+ CoreLayerContextGetPrimaryRegion *args = (CoreLayerContextGetPrimaryRegion*) alloca( sizeof(CoreLayerContextGetPrimaryRegion) );
+ CoreLayerContextGetPrimaryRegionReturn *return_args = (CoreLayerContextGetPrimaryRegionReturn*) alloca( sizeof(CoreLayerContextGetPrimaryRegionReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_region != NULL );
+
+ args->create = create;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_GetPrimaryRegion, args, sizeof(CoreLayerContextGetPrimaryRegion), return_args, sizeof(CoreLayerContextGetPrimaryRegionReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_GetPrimaryRegion ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_GetPrimaryRegion failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CoreLayerRegion_Catch( core_dfb, return_args->region_id, ®ion );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching region by ID %u failed!\n", __FUNCTION__, return_args->region_id );
+ return ret;
+ }
+
+ *ret_region = region;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__TestConfiguration( CoreLayerContext *obj,
+ const DFBDisplayLayerConfig *config,
+ DFBDisplayLayerConfigFlags *ret_failed
+)
+{
+ DFBResult ret;
+ CoreLayerContextTestConfiguration *args = (CoreLayerContextTestConfiguration*) alloca( sizeof(CoreLayerContextTestConfiguration) );
+ CoreLayerContextTestConfigurationReturn *return_args = (CoreLayerContextTestConfigurationReturn*) alloca( sizeof(CoreLayerContextTestConfigurationReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ args->config = *config;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_TestConfiguration, args, sizeof(CoreLayerContextTestConfiguration), return_args, sizeof(CoreLayerContextTestConfigurationReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_TestConfiguration ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_TestConfiguration failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ if (ret_failed)
+ *ret_failed = return_args->failed;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__SetConfiguration( CoreLayerContext *obj,
+ const DFBDisplayLayerConfig *config
+)
+{
+ DFBResult ret;
+ CoreLayerContextSetConfiguration *args = (CoreLayerContextSetConfiguration*) alloca( sizeof(CoreLayerContextSetConfiguration) );
+ CoreLayerContextSetConfigurationReturn *return_args = (CoreLayerContextSetConfigurationReturn*) alloca( sizeof(CoreLayerContextSetConfigurationReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ args->config = *config;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_SetConfiguration, args, sizeof(CoreLayerContextSetConfiguration), return_args, sizeof(CoreLayerContextSetConfigurationReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_SetConfiguration ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_SetConfiguration failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__SetSrcColorKey( CoreLayerContext *obj,
+ const DFBColorKey *key
+)
+{
+ DFBResult ret;
+ CoreLayerContextSetSrcColorKey *args = (CoreLayerContextSetSrcColorKey*) alloca( sizeof(CoreLayerContextSetSrcColorKey) );
+ CoreLayerContextSetSrcColorKeyReturn *return_args = (CoreLayerContextSetSrcColorKeyReturn*) alloca( sizeof(CoreLayerContextSetSrcColorKeyReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( key != NULL );
+
+ args->key = *key;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_SetSrcColorKey, args, sizeof(CoreLayerContextSetSrcColorKey), return_args, sizeof(CoreLayerContextSetSrcColorKeyReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_SetSrcColorKey ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_SetSrcColorKey failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__SetDstColorKey( CoreLayerContext *obj,
+ const DFBColorKey *key
+)
+{
+ DFBResult ret;
+ CoreLayerContextSetDstColorKey *args = (CoreLayerContextSetDstColorKey*) alloca( sizeof(CoreLayerContextSetDstColorKey) );
+ CoreLayerContextSetDstColorKeyReturn *return_args = (CoreLayerContextSetDstColorKeyReturn*) alloca( sizeof(CoreLayerContextSetDstColorKeyReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( key != NULL );
+
+ args->key = *key;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_SetDstColorKey, args, sizeof(CoreLayerContextSetDstColorKey), return_args, sizeof(CoreLayerContextSetDstColorKeyReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_SetDstColorKey ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_SetDstColorKey failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__SetSourceRectangle( CoreLayerContext *obj,
+ const DFBRectangle *rectangle
+)
+{
+ DFBResult ret;
+ CoreLayerContextSetSourceRectangle *args = (CoreLayerContextSetSourceRectangle*) alloca( sizeof(CoreLayerContextSetSourceRectangle) );
+ CoreLayerContextSetSourceRectangleReturn *return_args = (CoreLayerContextSetSourceRectangleReturn*) alloca( sizeof(CoreLayerContextSetSourceRectangleReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( rectangle != NULL );
+
+ args->rectangle = *rectangle;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_SetSourceRectangle, args, sizeof(CoreLayerContextSetSourceRectangle), return_args, sizeof(CoreLayerContextSetSourceRectangleReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_SetSourceRectangle ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_SetSourceRectangle failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__SetScreenLocation( CoreLayerContext *obj,
+ const DFBLocation *location
+)
+{
+ DFBResult ret;
+ CoreLayerContextSetScreenLocation *args = (CoreLayerContextSetScreenLocation*) alloca( sizeof(CoreLayerContextSetScreenLocation) );
+ CoreLayerContextSetScreenLocationReturn *return_args = (CoreLayerContextSetScreenLocationReturn*) alloca( sizeof(CoreLayerContextSetScreenLocationReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( location != NULL );
+
+ args->location = *location;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_SetScreenLocation, args, sizeof(CoreLayerContextSetScreenLocation), return_args, sizeof(CoreLayerContextSetScreenLocationReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_SetScreenLocation ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_SetScreenLocation failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__SetScreenRectangle( CoreLayerContext *obj,
+ const DFBRectangle *rectangle
+)
+{
+ DFBResult ret;
+ CoreLayerContextSetScreenRectangle *args = (CoreLayerContextSetScreenRectangle*) alloca( sizeof(CoreLayerContextSetScreenRectangle) );
+ CoreLayerContextSetScreenRectangleReturn *return_args = (CoreLayerContextSetScreenRectangleReturn*) alloca( sizeof(CoreLayerContextSetScreenRectangleReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( rectangle != NULL );
+
+ args->rectangle = *rectangle;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_SetScreenRectangle, args, sizeof(CoreLayerContextSetScreenRectangle), return_args, sizeof(CoreLayerContextSetScreenRectangleReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_SetScreenRectangle ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_SetScreenRectangle failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__SetScreenPosition( CoreLayerContext *obj,
+ const DFBPoint *position
+)
+{
+ DFBResult ret;
+ CoreLayerContextSetScreenPosition *args = (CoreLayerContextSetScreenPosition*) alloca( sizeof(CoreLayerContextSetScreenPosition) );
+ CoreLayerContextSetScreenPositionReturn *return_args = (CoreLayerContextSetScreenPositionReturn*) alloca( sizeof(CoreLayerContextSetScreenPositionReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( position != NULL );
+
+ args->position = *position;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_SetScreenPosition, args, sizeof(CoreLayerContextSetScreenPosition), return_args, sizeof(CoreLayerContextSetScreenPositionReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_SetScreenPosition ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_SetScreenPosition failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__SetOpacity( CoreLayerContext *obj,
+ u8 opacity
+)
+{
+ DFBResult ret;
+ CoreLayerContextSetOpacity *args = (CoreLayerContextSetOpacity*) alloca( sizeof(CoreLayerContextSetOpacity) );
+ CoreLayerContextSetOpacityReturn *return_args = (CoreLayerContextSetOpacityReturn*) alloca( sizeof(CoreLayerContextSetOpacityReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->opacity = opacity;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_SetOpacity, args, sizeof(CoreLayerContextSetOpacity), return_args, sizeof(CoreLayerContextSetOpacityReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_SetOpacity ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_SetOpacity failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__SetRotation( CoreLayerContext *obj,
+ s32 rotation
+)
+{
+ DFBResult ret;
+ CoreLayerContextSetRotation *args = (CoreLayerContextSetRotation*) alloca( sizeof(CoreLayerContextSetRotation) );
+ CoreLayerContextSetRotationReturn *return_args = (CoreLayerContextSetRotationReturn*) alloca( sizeof(CoreLayerContextSetRotationReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->rotation = rotation;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_SetRotation, args, sizeof(CoreLayerContextSetRotation), return_args, sizeof(CoreLayerContextSetRotationReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_SetRotation ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_SetRotation failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__SetColorAdjustment( CoreLayerContext *obj,
+ const DFBColorAdjustment *adjustment
+)
+{
+ DFBResult ret;
+ CoreLayerContextSetColorAdjustment *args = (CoreLayerContextSetColorAdjustment*) alloca( sizeof(CoreLayerContextSetColorAdjustment) );
+ CoreLayerContextSetColorAdjustmentReturn *return_args = (CoreLayerContextSetColorAdjustmentReturn*) alloca( sizeof(CoreLayerContextSetColorAdjustmentReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( adjustment != NULL );
+
+ args->adjustment = *adjustment;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_SetColorAdjustment, args, sizeof(CoreLayerContextSetColorAdjustment), return_args, sizeof(CoreLayerContextSetColorAdjustmentReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_SetColorAdjustment ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_SetColorAdjustment failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__SetFieldParity( CoreLayerContext *obj,
+ u32 field
+)
+{
+ DFBResult ret;
+ CoreLayerContextSetFieldParity *args = (CoreLayerContextSetFieldParity*) alloca( sizeof(CoreLayerContextSetFieldParity) );
+ CoreLayerContextSetFieldParityReturn *return_args = (CoreLayerContextSetFieldParityReturn*) alloca( sizeof(CoreLayerContextSetFieldParityReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->field = field;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_SetFieldParity, args, sizeof(CoreLayerContextSetFieldParity), return_args, sizeof(CoreLayerContextSetFieldParityReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_SetFieldParity ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_SetFieldParity failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__SetClipRegions( CoreLayerContext *obj,
+ const DFBRegion *regions,
+ u32 num,
+ bool positive
+)
+{
+ DFBResult ret;
+ CoreLayerContextSetClipRegions *args = (CoreLayerContextSetClipRegions*) alloca( sizeof(CoreLayerContextSetClipRegions) + num * sizeof(DFBRegion) );
+ CoreLayerContextSetClipRegionsReturn *return_args = (CoreLayerContextSetClipRegionsReturn*) alloca( sizeof(CoreLayerContextSetClipRegionsReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( regions != NULL );
+
+ args->num = num;
+ args->positive = positive;
+ direct_memcpy( (char*) (args + 1), regions, num * sizeof(DFBRegion) );
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_SetClipRegions, args, sizeof(CoreLayerContextSetClipRegions) + num * sizeof(DFBRegion), return_args, sizeof(CoreLayerContextSetClipRegionsReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_SetClipRegions ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_SetClipRegions failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__CreateWindow( CoreLayerContext *obj,
+ const DFBWindowDescription *description,
+ CoreWindow *parent,
+ CoreWindow *toplevel,
+ CoreWindow **ret_window
+)
+{
+ DFBResult ret;
+ CoreWindow *window = NULL;
+ CoreLayerContextCreateWindow *args = (CoreLayerContextCreateWindow*) alloca( sizeof(CoreLayerContextCreateWindow) );
+ CoreLayerContextCreateWindowReturn *return_args = (CoreLayerContextCreateWindowReturn*) alloca( sizeof(CoreLayerContextCreateWindowReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( description != NULL );
+ D_ASSERT( ret_window != NULL );
+
+ args->description = *description;
+ if (parent) {
+ args->parent_id = CoreWindow_GetID( parent );
+ args->parent_set = true;
+ }
+ else
+ args->parent_set = false;
+ if (toplevel) {
+ args->toplevel_id = CoreWindow_GetID( toplevel );
+ args->toplevel_set = true;
+ }
+ else
+ args->toplevel_set = false;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_CreateWindow, args, sizeof(CoreLayerContextCreateWindow), return_args, sizeof(CoreLayerContextCreateWindowReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_CreateWindow ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_CreateWindow failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CoreWindow_Catch( core_dfb, return_args->window_id, &window );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching window by ID %u failed!\n", __FUNCTION__, return_args->window_id );
+ return ret;
+ }
+
+ *ret_window = window;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__FindWindow( CoreLayerContext *obj,
+ DFBWindowID window_id,
+ CoreWindow **ret_window
+)
+{
+ DFBResult ret;
+ CoreWindow *window = NULL;
+ CoreLayerContextFindWindow *args = (CoreLayerContextFindWindow*) alloca( sizeof(CoreLayerContextFindWindow) );
+ CoreLayerContextFindWindowReturn *return_args = (CoreLayerContextFindWindowReturn*) alloca( sizeof(CoreLayerContextFindWindowReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_window != NULL );
+
+ args->window_id = window_id;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_FindWindow, args, sizeof(CoreLayerContextFindWindow), return_args, sizeof(CoreLayerContextFindWindowReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_FindWindow ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_FindWindow failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CoreWindow_Catch( core_dfb, return_args->window_id, &window );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching window by ID %u failed!\n", __FUNCTION__, return_args->window_id );
+ return ret;
+ }
+
+ *ret_window = window;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerContext_Requestor__FindWindowByResourceID( CoreLayerContext *obj,
+ u64 resource_id,
+ CoreWindow **ret_window
+)
+{
+ DFBResult ret;
+ CoreWindow *window = NULL;
+ CoreLayerContextFindWindowByResourceID *args = (CoreLayerContextFindWindowByResourceID*) alloca( sizeof(CoreLayerContextFindWindowByResourceID) );
+ CoreLayerContextFindWindowByResourceIDReturn *return_args = (CoreLayerContextFindWindowByResourceIDReturn*) alloca( sizeof(CoreLayerContextFindWindowByResourceIDReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_window != NULL );
+
+ args->resource_id = resource_id;
+
+ ret = (DFBResult) CoreLayerContext_Call( obj, FCEF_NONE, _CoreLayerContext_FindWindowByResourceID, args, sizeof(CoreLayerContextFindWindowByResourceID), return_args, sizeof(CoreLayerContextFindWindowByResourceIDReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerContext_Call( CoreLayerContext_FindWindowByResourceID ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerContext_FindWindowByResourceID failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CoreWindow_Catch( core_dfb, return_args->window_id, &window );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching window by ID %u failed!\n", __FUNCTION__, return_args->window_id );
+ return ret;
+ }
+
+ *ret_window = window;
+
+ return DFB_OK;
+}
+
+/*********************************************************************************************************************/
+
+static DFBResult
+__CoreLayerContextDispatch__Dispatch( CoreLayerContext *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_UNUSED
+ DFBResult ret;
+
+
+ switch (method) {
+ case _CoreLayerContext_GetPrimaryRegion: {
+ CoreLayerRegion *region = NULL;
+ D_UNUSED
+ CoreLayerContextGetPrimaryRegion *args = (CoreLayerContextGetPrimaryRegion *) ptr;
+ CoreLayerContextGetPrimaryRegionReturn *return_args = (CoreLayerContextGetPrimaryRegionReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_GetPrimaryRegion\n" );
+
+ return_args->result = ILayerContext_Real__GetPrimaryRegion( obj, args->create, ®ion );
+ if (return_args->result == DFB_OK) {
+ CoreLayerRegion_Throw( region, caller, &return_args->region_id );
+ }
+
+ *ret_length = sizeof(CoreLayerContextGetPrimaryRegionReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_TestConfiguration: {
+ D_UNUSED
+ CoreLayerContextTestConfiguration *args = (CoreLayerContextTestConfiguration *) ptr;
+ CoreLayerContextTestConfigurationReturn *return_args = (CoreLayerContextTestConfigurationReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_TestConfiguration\n" );
+
+ return_args->result = ILayerContext_Real__TestConfiguration( obj, &args->config, &return_args->failed );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerContextTestConfigurationReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_SetConfiguration: {
+ D_UNUSED
+ CoreLayerContextSetConfiguration *args = (CoreLayerContextSetConfiguration *) ptr;
+ CoreLayerContextSetConfigurationReturn *return_args = (CoreLayerContextSetConfigurationReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_SetConfiguration\n" );
+
+ return_args->result = ILayerContext_Real__SetConfiguration( obj, &args->config );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerContextSetConfigurationReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_SetSrcColorKey: {
+ D_UNUSED
+ CoreLayerContextSetSrcColorKey *args = (CoreLayerContextSetSrcColorKey *) ptr;
+ CoreLayerContextSetSrcColorKeyReturn *return_args = (CoreLayerContextSetSrcColorKeyReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_SetSrcColorKey\n" );
+
+ return_args->result = ILayerContext_Real__SetSrcColorKey( obj, &args->key );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerContextSetSrcColorKeyReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_SetDstColorKey: {
+ D_UNUSED
+ CoreLayerContextSetDstColorKey *args = (CoreLayerContextSetDstColorKey *) ptr;
+ CoreLayerContextSetDstColorKeyReturn *return_args = (CoreLayerContextSetDstColorKeyReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_SetDstColorKey\n" );
+
+ return_args->result = ILayerContext_Real__SetDstColorKey( obj, &args->key );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerContextSetDstColorKeyReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_SetSourceRectangle: {
+ D_UNUSED
+ CoreLayerContextSetSourceRectangle *args = (CoreLayerContextSetSourceRectangle *) ptr;
+ CoreLayerContextSetSourceRectangleReturn *return_args = (CoreLayerContextSetSourceRectangleReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_SetSourceRectangle\n" );
+
+ return_args->result = ILayerContext_Real__SetSourceRectangle( obj, &args->rectangle );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerContextSetSourceRectangleReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_SetScreenLocation: {
+ D_UNUSED
+ CoreLayerContextSetScreenLocation *args = (CoreLayerContextSetScreenLocation *) ptr;
+ CoreLayerContextSetScreenLocationReturn *return_args = (CoreLayerContextSetScreenLocationReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_SetScreenLocation\n" );
+
+ return_args->result = ILayerContext_Real__SetScreenLocation( obj, &args->location );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerContextSetScreenLocationReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_SetScreenRectangle: {
+ D_UNUSED
+ CoreLayerContextSetScreenRectangle *args = (CoreLayerContextSetScreenRectangle *) ptr;
+ CoreLayerContextSetScreenRectangleReturn *return_args = (CoreLayerContextSetScreenRectangleReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_SetScreenRectangle\n" );
+
+ return_args->result = ILayerContext_Real__SetScreenRectangle( obj, &args->rectangle );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerContextSetScreenRectangleReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_SetScreenPosition: {
+ D_UNUSED
+ CoreLayerContextSetScreenPosition *args = (CoreLayerContextSetScreenPosition *) ptr;
+ CoreLayerContextSetScreenPositionReturn *return_args = (CoreLayerContextSetScreenPositionReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_SetScreenPosition\n" );
+
+ return_args->result = ILayerContext_Real__SetScreenPosition( obj, &args->position );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerContextSetScreenPositionReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_SetOpacity: {
+ D_UNUSED
+ CoreLayerContextSetOpacity *args = (CoreLayerContextSetOpacity *) ptr;
+ CoreLayerContextSetOpacityReturn *return_args = (CoreLayerContextSetOpacityReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_SetOpacity\n" );
+
+ return_args->result = ILayerContext_Real__SetOpacity( obj, args->opacity );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerContextSetOpacityReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_SetRotation: {
+ D_UNUSED
+ CoreLayerContextSetRotation *args = (CoreLayerContextSetRotation *) ptr;
+ CoreLayerContextSetRotationReturn *return_args = (CoreLayerContextSetRotationReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_SetRotation\n" );
+
+ return_args->result = ILayerContext_Real__SetRotation( obj, args->rotation );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerContextSetRotationReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_SetColorAdjustment: {
+ D_UNUSED
+ CoreLayerContextSetColorAdjustment *args = (CoreLayerContextSetColorAdjustment *) ptr;
+ CoreLayerContextSetColorAdjustmentReturn *return_args = (CoreLayerContextSetColorAdjustmentReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_SetColorAdjustment\n" );
+
+ return_args->result = ILayerContext_Real__SetColorAdjustment( obj, &args->adjustment );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerContextSetColorAdjustmentReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_SetFieldParity: {
+ D_UNUSED
+ CoreLayerContextSetFieldParity *args = (CoreLayerContextSetFieldParity *) ptr;
+ CoreLayerContextSetFieldParityReturn *return_args = (CoreLayerContextSetFieldParityReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_SetFieldParity\n" );
+
+ return_args->result = ILayerContext_Real__SetFieldParity( obj, args->field );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerContextSetFieldParityReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_SetClipRegions: {
+ D_UNUSED
+ CoreLayerContextSetClipRegions *args = (CoreLayerContextSetClipRegions *) ptr;
+ CoreLayerContextSetClipRegionsReturn *return_args = (CoreLayerContextSetClipRegionsReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_SetClipRegions\n" );
+
+ return_args->result = ILayerContext_Real__SetClipRegions( obj, (DFBRegion*) ((char*)(args + 1)), args->num, args->positive );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerContextSetClipRegionsReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_CreateWindow: {
+ CoreWindow *parent = NULL;
+ CoreWindow *toplevel = NULL;
+ CoreWindow *window = NULL;
+ D_UNUSED
+ CoreLayerContextCreateWindow *args = (CoreLayerContextCreateWindow *) ptr;
+ CoreLayerContextCreateWindowReturn *return_args = (CoreLayerContextCreateWindowReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_CreateWindow\n" );
+
+ if (args->parent_set) {
+ ret = (DFBResult) CoreWindow_Lookup( core_dfb, args->parent_id, caller, &parent );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up parent by ID %u failed!\n", __FUNCTION__, args->parent_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+ }
+
+ if (args->toplevel_set) {
+ ret = (DFBResult) CoreWindow_Lookup( core_dfb, args->toplevel_id, caller, &toplevel );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up toplevel by ID %u failed!\n", __FUNCTION__, args->toplevel_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+ }
+
+ return_args->result = ILayerContext_Real__CreateWindow( obj, &args->description, args->parent_set ? parent : NULL, args->toplevel_set ? toplevel : NULL, &window );
+ if (return_args->result == DFB_OK) {
+ CoreWindow_Throw( window, caller, &return_args->window_id );
+ }
+
+ *ret_length = sizeof(CoreLayerContextCreateWindowReturn);
+
+ if (parent)
+ CoreWindow_Unref( parent );
+
+ if (toplevel)
+ CoreWindow_Unref( toplevel );
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_FindWindow: {
+ CoreWindow *window = NULL;
+ D_UNUSED
+ CoreLayerContextFindWindow *args = (CoreLayerContextFindWindow *) ptr;
+ CoreLayerContextFindWindowReturn *return_args = (CoreLayerContextFindWindowReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_FindWindow\n" );
+
+ return_args->result = ILayerContext_Real__FindWindow( obj, args->window_id, &window );
+ if (return_args->result == DFB_OK) {
+ CoreWindow_Throw( window, caller, &return_args->window_id );
+ }
+
+ *ret_length = sizeof(CoreLayerContextFindWindowReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerContext_FindWindowByResourceID: {
+ CoreWindow *window = NULL;
+ D_UNUSED
+ CoreLayerContextFindWindowByResourceID *args = (CoreLayerContextFindWindowByResourceID *) ptr;
+ CoreLayerContextFindWindowByResourceIDReturn *return_args = (CoreLayerContextFindWindowByResourceIDReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "=-> CoreLayerContext_FindWindowByResourceID\n" );
+
+ return_args->result = ILayerContext_Real__FindWindowByResourceID( obj, args->resource_id, &window );
+ if (return_args->result == DFB_OK) {
+ CoreWindow_Throw( window, caller, &return_args->window_id );
+ }
+
+ *ret_length = sizeof(CoreLayerContextFindWindowByResourceIDReturn);
+
+ return DFB_OK;
+ }
+
+ }
+
+ return DFB_NOSUCHMETHOD;
+}
+/*********************************************************************************************************************/
+
+DFBResult
+CoreLayerContextDispatch__Dispatch( CoreLayerContext *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "CoreLayerContextDispatch::%s( %p )\n", __FUNCTION__, obj );
+
+ Core_PushIdentity( caller );
+
+ ret = __CoreLayerContextDispatch__Dispatch( obj, caller, method, ptr, length, ret_ptr, ret_size, ret_length );
+
+ Core_PopIdentity();
+
+ return ret;
+}
diff --git a/src/core/CoreLayerContext.h b/src/core/CoreLayerContext.h
new file mode 100644
index 0000000..d10334a
--- /dev/null
+++ b/src/core/CoreLayerContext.h
@@ -0,0 +1,510 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef ___CoreLayerContext__H___
+#define ___CoreLayerContext__H___
+
+#include <core/CoreLayerContext_includes.h>
+
+/**********************************************************************************************************************
+ * CoreLayerContext
+ */
+
+#ifdef __cplusplus
+#include <core/Interface.h>
+
+extern "C" {
+#endif
+
+
+DFBResult CoreLayerContext_GetPrimaryRegion(
+ CoreLayerContext *obj,
+ bool create,
+ CoreLayerRegion **ret_region);
+
+DFBResult CoreLayerContext_TestConfiguration(
+ CoreLayerContext *obj,
+ const DFBDisplayLayerConfig *config,
+ DFBDisplayLayerConfigFlags *ret_failed);
+
+DFBResult CoreLayerContext_SetConfiguration(
+ CoreLayerContext *obj,
+ const DFBDisplayLayerConfig *config);
+
+DFBResult CoreLayerContext_SetSrcColorKey(
+ CoreLayerContext *obj,
+ const DFBColorKey *key);
+
+DFBResult CoreLayerContext_SetDstColorKey(
+ CoreLayerContext *obj,
+ const DFBColorKey *key);
+
+DFBResult CoreLayerContext_SetSourceRectangle(
+ CoreLayerContext *obj,
+ const DFBRectangle *rectangle);
+
+DFBResult CoreLayerContext_SetScreenLocation(
+ CoreLayerContext *obj,
+ const DFBLocation *location);
+
+DFBResult CoreLayerContext_SetScreenRectangle(
+ CoreLayerContext *obj,
+ const DFBRectangle *rectangle);
+
+DFBResult CoreLayerContext_SetScreenPosition(
+ CoreLayerContext *obj,
+ const DFBPoint *position);
+
+DFBResult CoreLayerContext_SetOpacity(
+ CoreLayerContext *obj,
+ u8 opacity);
+
+DFBResult CoreLayerContext_SetRotation(
+ CoreLayerContext *obj,
+ s32 rotation);
+
+DFBResult CoreLayerContext_SetColorAdjustment(
+ CoreLayerContext *obj,
+ const DFBColorAdjustment *adjustment);
+
+DFBResult CoreLayerContext_SetFieldParity(
+ CoreLayerContext *obj,
+ u32 field);
+
+DFBResult CoreLayerContext_SetClipRegions(
+ CoreLayerContext *obj,
+ const DFBRegion *regions,
+ u32 num,
+ bool positive);
+
+DFBResult CoreLayerContext_CreateWindow(
+ CoreLayerContext *obj,
+ const DFBWindowDescription *description,
+ CoreWindow *parent,
+ CoreWindow *toplevel,
+ CoreWindow **ret_window);
+
+DFBResult CoreLayerContext_FindWindow(
+ CoreLayerContext *obj,
+ DFBWindowID window_id,
+ CoreWindow **ret_window);
+
+DFBResult CoreLayerContext_FindWindowByResourceID(
+ CoreLayerContext *obj,
+ u64 resource_id,
+ CoreWindow **ret_window);
+
+
+void CoreLayerContext_Init_Dispatch(
+ CoreDFB *core,
+ CoreLayerContext *obj,
+ FusionCall *call
+);
+
+void CoreLayerContext_Deinit_Dispatch(
+ FusionCall *call
+);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+/*
+ * CoreLayerContext Calls
+ */
+typedef enum {
+ _CoreLayerContext_GetPrimaryRegion = 1,
+ _CoreLayerContext_TestConfiguration = 2,
+ _CoreLayerContext_SetConfiguration = 3,
+ _CoreLayerContext_SetSrcColorKey = 4,
+ _CoreLayerContext_SetDstColorKey = 5,
+ _CoreLayerContext_SetSourceRectangle = 6,
+ _CoreLayerContext_SetScreenLocation = 7,
+ _CoreLayerContext_SetScreenRectangle = 8,
+ _CoreLayerContext_SetScreenPosition = 9,
+ _CoreLayerContext_SetOpacity = 10,
+ _CoreLayerContext_SetRotation = 11,
+ _CoreLayerContext_SetColorAdjustment = 12,
+ _CoreLayerContext_SetFieldParity = 13,
+ _CoreLayerContext_SetClipRegions = 14,
+ _CoreLayerContext_CreateWindow = 15,
+ _CoreLayerContext_FindWindow = 16,
+ _CoreLayerContext_FindWindowByResourceID = 17,
+} CoreLayerContextCall;
+
+/*
+ * CoreLayerContext_GetPrimaryRegion
+ */
+typedef struct {
+ bool create;
+} CoreLayerContextGetPrimaryRegion;
+
+typedef struct {
+ DFBResult result;
+ u32 region_id;
+} CoreLayerContextGetPrimaryRegionReturn;
+
+
+/*
+ * CoreLayerContext_TestConfiguration
+ */
+typedef struct {
+ DFBDisplayLayerConfig config;
+} CoreLayerContextTestConfiguration;
+
+typedef struct {
+ DFBResult result;
+ DFBDisplayLayerConfigFlags failed;
+} CoreLayerContextTestConfigurationReturn;
+
+
+/*
+ * CoreLayerContext_SetConfiguration
+ */
+typedef struct {
+ DFBDisplayLayerConfig config;
+} CoreLayerContextSetConfiguration;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerContextSetConfigurationReturn;
+
+
+/*
+ * CoreLayerContext_SetSrcColorKey
+ */
+typedef struct {
+ DFBColorKey key;
+} CoreLayerContextSetSrcColorKey;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerContextSetSrcColorKeyReturn;
+
+
+/*
+ * CoreLayerContext_SetDstColorKey
+ */
+typedef struct {
+ DFBColorKey key;
+} CoreLayerContextSetDstColorKey;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerContextSetDstColorKeyReturn;
+
+
+/*
+ * CoreLayerContext_SetSourceRectangle
+ */
+typedef struct {
+ DFBRectangle rectangle;
+} CoreLayerContextSetSourceRectangle;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerContextSetSourceRectangleReturn;
+
+
+/*
+ * CoreLayerContext_SetScreenLocation
+ */
+typedef struct {
+ DFBLocation location;
+} CoreLayerContextSetScreenLocation;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerContextSetScreenLocationReturn;
+
+
+/*
+ * CoreLayerContext_SetScreenRectangle
+ */
+typedef struct {
+ DFBRectangle rectangle;
+} CoreLayerContextSetScreenRectangle;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerContextSetScreenRectangleReturn;
+
+
+/*
+ * CoreLayerContext_SetScreenPosition
+ */
+typedef struct {
+ DFBPoint position;
+} CoreLayerContextSetScreenPosition;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerContextSetScreenPositionReturn;
+
+
+/*
+ * CoreLayerContext_SetOpacity
+ */
+typedef struct {
+ u8 opacity;
+} CoreLayerContextSetOpacity;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerContextSetOpacityReturn;
+
+
+/*
+ * CoreLayerContext_SetRotation
+ */
+typedef struct {
+ s32 rotation;
+} CoreLayerContextSetRotation;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerContextSetRotationReturn;
+
+
+/*
+ * CoreLayerContext_SetColorAdjustment
+ */
+typedef struct {
+ DFBColorAdjustment adjustment;
+} CoreLayerContextSetColorAdjustment;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerContextSetColorAdjustmentReturn;
+
+
+/*
+ * CoreLayerContext_SetFieldParity
+ */
+typedef struct {
+ u32 field;
+} CoreLayerContextSetFieldParity;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerContextSetFieldParityReturn;
+
+
+/*
+ * CoreLayerContext_SetClipRegions
+ */
+typedef struct {
+ u32 num;
+ bool positive;
+ /* 'num' DFBRegion follow (regions) */
+} CoreLayerContextSetClipRegions;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerContextSetClipRegionsReturn;
+
+
+/*
+ * CoreLayerContext_CreateWindow
+ */
+typedef struct {
+ DFBWindowDescription description;
+ bool parent_set;
+ u32 parent_id;
+ bool toplevel_set;
+ u32 toplevel_id;
+} CoreLayerContextCreateWindow;
+
+typedef struct {
+ DFBResult result;
+ u32 window_id;
+} CoreLayerContextCreateWindowReturn;
+
+
+/*
+ * CoreLayerContext_FindWindow
+ */
+typedef struct {
+ DFBWindowID window_id;
+} CoreLayerContextFindWindow;
+
+typedef struct {
+ DFBResult result;
+ u32 window_id;
+} CoreLayerContextFindWindowReturn;
+
+
+/*
+ * CoreLayerContext_FindWindowByResourceID
+ */
+typedef struct {
+ u64 resource_id;
+} CoreLayerContextFindWindowByResourceID;
+
+typedef struct {
+ DFBResult result;
+ u32 window_id;
+} CoreLayerContextFindWindowByResourceIDReturn;
+
+
+DFBResult ILayerContext_Real__GetPrimaryRegion( CoreLayerContext *obj,
+ bool create,
+ CoreLayerRegion **ret_region );
+
+DFBResult ILayerContext_Real__TestConfiguration( CoreLayerContext *obj,
+ const DFBDisplayLayerConfig *config,
+ DFBDisplayLayerConfigFlags *ret_failed );
+
+DFBResult ILayerContext_Real__SetConfiguration( CoreLayerContext *obj,
+ const DFBDisplayLayerConfig *config );
+
+DFBResult ILayerContext_Real__SetSrcColorKey( CoreLayerContext *obj,
+ const DFBColorKey *key );
+
+DFBResult ILayerContext_Real__SetDstColorKey( CoreLayerContext *obj,
+ const DFBColorKey *key );
+
+DFBResult ILayerContext_Real__SetSourceRectangle( CoreLayerContext *obj,
+ const DFBRectangle *rectangle );
+
+DFBResult ILayerContext_Real__SetScreenLocation( CoreLayerContext *obj,
+ const DFBLocation *location );
+
+DFBResult ILayerContext_Real__SetScreenRectangle( CoreLayerContext *obj,
+ const DFBRectangle *rectangle );
+
+DFBResult ILayerContext_Real__SetScreenPosition( CoreLayerContext *obj,
+ const DFBPoint *position );
+
+DFBResult ILayerContext_Real__SetOpacity( CoreLayerContext *obj,
+ u8 opacity );
+
+DFBResult ILayerContext_Real__SetRotation( CoreLayerContext *obj,
+ s32 rotation );
+
+DFBResult ILayerContext_Real__SetColorAdjustment( CoreLayerContext *obj,
+ const DFBColorAdjustment *adjustment );
+
+DFBResult ILayerContext_Real__SetFieldParity( CoreLayerContext *obj,
+ u32 field );
+
+DFBResult ILayerContext_Real__SetClipRegions( CoreLayerContext *obj,
+ const DFBRegion *regions,
+ u32 num,
+ bool positive );
+
+DFBResult ILayerContext_Real__CreateWindow( CoreLayerContext *obj,
+ const DFBWindowDescription *description,
+ CoreWindow *parent,
+ CoreWindow *toplevel,
+ CoreWindow **ret_window );
+
+DFBResult ILayerContext_Real__FindWindow( CoreLayerContext *obj,
+ DFBWindowID window_id,
+ CoreWindow **ret_window );
+
+DFBResult ILayerContext_Real__FindWindowByResourceID( CoreLayerContext *obj,
+ u64 resource_id,
+ CoreWindow **ret_window );
+
+DFBResult ILayerContext_Requestor__GetPrimaryRegion( CoreLayerContext *obj,
+ bool create,
+ CoreLayerRegion **ret_region );
+
+DFBResult ILayerContext_Requestor__TestConfiguration( CoreLayerContext *obj,
+ const DFBDisplayLayerConfig *config,
+ DFBDisplayLayerConfigFlags *ret_failed );
+
+DFBResult ILayerContext_Requestor__SetConfiguration( CoreLayerContext *obj,
+ const DFBDisplayLayerConfig *config );
+
+DFBResult ILayerContext_Requestor__SetSrcColorKey( CoreLayerContext *obj,
+ const DFBColorKey *key );
+
+DFBResult ILayerContext_Requestor__SetDstColorKey( CoreLayerContext *obj,
+ const DFBColorKey *key );
+
+DFBResult ILayerContext_Requestor__SetSourceRectangle( CoreLayerContext *obj,
+ const DFBRectangle *rectangle );
+
+DFBResult ILayerContext_Requestor__SetScreenLocation( CoreLayerContext *obj,
+ const DFBLocation *location );
+
+DFBResult ILayerContext_Requestor__SetScreenRectangle( CoreLayerContext *obj,
+ const DFBRectangle *rectangle );
+
+DFBResult ILayerContext_Requestor__SetScreenPosition( CoreLayerContext *obj,
+ const DFBPoint *position );
+
+DFBResult ILayerContext_Requestor__SetOpacity( CoreLayerContext *obj,
+ u8 opacity );
+
+DFBResult ILayerContext_Requestor__SetRotation( CoreLayerContext *obj,
+ s32 rotation );
+
+DFBResult ILayerContext_Requestor__SetColorAdjustment( CoreLayerContext *obj,
+ const DFBColorAdjustment *adjustment );
+
+DFBResult ILayerContext_Requestor__SetFieldParity( CoreLayerContext *obj,
+ u32 field );
+
+DFBResult ILayerContext_Requestor__SetClipRegions( CoreLayerContext *obj,
+ const DFBRegion *regions,
+ u32 num,
+ bool positive );
+
+DFBResult ILayerContext_Requestor__CreateWindow( CoreLayerContext *obj,
+ const DFBWindowDescription *description,
+ CoreWindow *parent,
+ CoreWindow *toplevel,
+ CoreWindow **ret_window );
+
+DFBResult ILayerContext_Requestor__FindWindow( CoreLayerContext *obj,
+ DFBWindowID window_id,
+ CoreWindow **ret_window );
+
+DFBResult ILayerContext_Requestor__FindWindowByResourceID( CoreLayerContext *obj,
+ u64 resource_id,
+ CoreWindow **ret_window );
+
+
+DFBResult CoreLayerContextDispatch__Dispatch( CoreLayerContext *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
+
+#endif
diff --git a/src/core/CoreLayerContext_includes.h b/src/core/CoreLayerContext_includes.h
new file mode 100644
index 0000000..5a0f5af
--- /dev/null
+++ b/src/core/CoreLayerContext_includes.h
@@ -0,0 +1,30 @@
+#include "CoreDFB_includes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include <core/layer_context.h>
+#include <core/layers_internal.h>
+#include <core/windows.h>
+#include <core/windows_internal.h>
+
+
+static __inline__ DirectResult
+CoreLayerContext_Call( CoreLayerContext *context,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ return fusion_call_execute3( &context->call, flags, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/core/CoreLayerContext_real.c b/src/core/CoreLayerContext_real.c
new file mode 100644
index 0000000..d7fc0a1
--- /dev/null
+++ b/src/core/CoreLayerContext_real.c
@@ -0,0 +1,347 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreLayerContext.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/messages.h>
+
+#include <core/core.h>
+#include <core/wm.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreLayerContext, "DirectFB/CoreLayerContext", "DirectFB CoreLayerContext" );
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+ILayerContext_Real__GetPrimaryRegion(
+ CoreLayerContext *obj,
+ bool create,
+ CoreLayerRegion **ret_region
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_region != NULL );
+
+ return dfb_layer_context_get_primary_region( obj, create, ret_region );
+}
+
+DFBResult
+ILayerContext_Real__TestConfiguration(
+ CoreLayerContext *obj,
+ const DFBDisplayLayerConfig *config,
+ DFBDisplayLayerConfigFlags *ret_failed
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ return dfb_layer_context_test_configuration( obj, config, ret_failed );
+}
+
+DFBResult
+ILayerContext_Real__SetConfiguration(
+ CoreLayerContext *obj,
+ const DFBDisplayLayerConfig *config
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ return dfb_layer_context_set_configuration( obj, config );
+}
+
+DFBResult
+ILayerContext_Real__SetSrcColorKey(
+ CoreLayerContext *obj,
+ const DFBColorKey *key
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( key != NULL );
+
+ return dfb_layer_context_set_src_colorkey( obj, key->r, key->g, key->b, key->index );
+}
+
+
+DFBResult
+ILayerContext_Real__SetDstColorKey(
+ CoreLayerContext *obj,
+ const DFBColorKey *key
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( key != NULL );
+
+ return dfb_layer_context_set_dst_colorkey( obj, key->r, key->g, key->b, key->index );
+}
+
+
+DFBResult
+ILayerContext_Real__SetSourceRectangle(
+ CoreLayerContext *obj,
+ const DFBRectangle *rectangle
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( rectangle != NULL );
+
+ return dfb_layer_context_set_sourcerectangle( obj, rectangle );
+}
+
+
+DFBResult
+ILayerContext_Real__SetScreenLocation(
+ CoreLayerContext *obj,
+ const DFBLocation *location
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( location != NULL );
+
+ return dfb_layer_context_set_screenlocation( obj, location );
+}
+
+
+DFBResult
+ILayerContext_Real__SetScreenRectangle(
+ CoreLayerContext *obj,
+ const DFBRectangle *rectangle
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( rectangle != NULL );
+
+ return dfb_layer_context_set_screenrectangle( obj, rectangle );
+}
+
+
+DFBResult
+ILayerContext_Real__SetScreenPosition(
+ CoreLayerContext *obj,
+ const DFBPoint *position
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( position != NULL );
+
+ return dfb_layer_context_set_screenposition( obj, position->x, position->y );
+}
+
+
+DFBResult
+ILayerContext_Real__SetOpacity(
+ CoreLayerContext *obj,
+ u8 opacity
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ return dfb_layer_context_set_opacity( obj, opacity );
+}
+
+
+DFBResult
+ILayerContext_Real__SetRotation(
+ CoreLayerContext *obj,
+ s32 rotation
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ return dfb_layer_context_set_rotation( obj, rotation );
+}
+
+
+DFBResult
+ILayerContext_Real__SetColorAdjustment(
+ CoreLayerContext *obj,
+ const DFBColorAdjustment *adjustment
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( adjustment != NULL );
+
+ return dfb_layer_context_set_coloradjustment( obj, adjustment );
+}
+
+
+DFBResult
+ILayerContext_Real__SetFieldParity(
+ CoreLayerContext *obj,
+ u32 field
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ return dfb_layer_context_set_field_parity( obj, field );
+}
+
+
+DFBResult
+ILayerContext_Real__SetClipRegions(
+ CoreLayerContext *obj,
+ const DFBRegion *regions,
+ u32 num,
+ bool positive
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( regions != NULL );
+
+ return dfb_layer_context_set_clip_regions( obj, regions, num, positive ? DFB_TRUE : DFB_FALSE );
+}
+
+DFBResult
+ILayerContext_Real__CreateWindow(
+ CoreLayerContext *obj,
+ const DFBWindowDescription *description,
+ CoreWindow *parent,
+ CoreWindow *toplevel,
+ CoreWindow **ret_window
+)
+{
+ DFBWindowDescription description_copy;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( description != NULL );
+ D_ASSERT( ret_window != NULL );
+
+ description_copy = *description;
+
+ description_copy.parent_id = parent ? parent->object.id : 0;
+ description_copy.toplevel_id = toplevel ? toplevel->object.id : 0;
+
+ return dfb_layer_context_create_window( core_dfb, obj, &description_copy, ret_window );
+}
+
+DFBResult
+ILayerContext_Real__FindWindow(
+ CoreLayerContext *obj,
+ DFBWindowID window_id,
+ CoreWindow **ret_window
+)
+{
+ CoreWindow *window;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_window != NULL );
+
+ window = dfb_layer_context_find_window( obj, window_id );
+ if (!window)
+ return DFB_IDNOTFOUND;
+
+ *ret_window = window;
+
+ return DFB_OK;
+}
+
+typedef struct {
+ unsigned long resource_id;
+ CoreWindow *window;
+} FindWindowByResourceID_Context;
+
+static DFBEnumerationResult
+FindWindowByResourceID_WindowCallback( CoreWindow *window,
+ void *_ctx )
+{
+ FindWindowByResourceID_Context *ctx = (FindWindowByResourceID_Context *) _ctx;
+
+ if (window->surface) {
+ if (window->surface->resource_id == ctx->resource_id) {
+ ctx->window = window;
+
+ return DFENUM_CANCEL;
+ }
+ }
+
+ return DFENUM_OK;
+}
+
+DFBResult
+ILayerContext_Real__FindWindowByResourceID(
+ CoreLayerContext *obj,
+ u64 resource_id,
+ CoreWindow **ret_window
+)
+{
+ DFBResult ret;
+ CoreLayerContext *context = obj;
+ CoreWindowStack *stack;
+ FindWindowByResourceID_Context ctx;
+
+ D_DEBUG_AT( DirectFB_CoreLayerContext, "ILayerContext_Real::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_window != NULL );
+
+ stack = context->stack;
+ D_ASSERT( stack != NULL );
+
+ ctx.resource_id = resource_id;
+ ctx.window = NULL;
+
+ ret = (DFBResult) dfb_layer_context_lock( context );
+ if (ret)
+ return ret;
+
+ ret = dfb_wm_enum_windows( stack, FindWindowByResourceID_WindowCallback, &ctx );
+ if (ret == DFB_OK) {
+ if (ctx.window) {
+ ret = (DFBResult) dfb_window_ref( ctx.window );
+ if (ret == DFB_OK)
+ *ret_window = ctx.window;
+ }
+ else
+ ret = DFB_IDNOTFOUND;
+ }
+
+ dfb_layer_context_unlock( context );
+
+ return ret;
+}
+
+
diff --git a/src/core/CoreLayerRegion.c b/src/core/CoreLayerRegion.c
new file mode 100644
index 0000000..511e82f
--- /dev/null
+++ b/src/core/CoreLayerRegion.c
@@ -0,0 +1,304 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreLayerRegion.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+#include <core/CoreDFB_CallMode.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreLayerRegion, "DirectFB/CoreLayerRegion", "DirectFB CoreLayerRegion" );
+
+/*********************************************************************************************************************/
+
+DFBResult
+CoreLayerRegion_GetSurface(
+ CoreLayerRegion *obj,
+ CoreSurface **ret_surface
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerRegion_Real__GetSurface( obj, ret_surface );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerRegion_Requestor__GetSurface( obj, ret_surface );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreLayerRegion_FlipUpdate(
+ CoreLayerRegion *obj,
+ const DFBRegion *update,
+ DFBSurfaceFlipFlags flags
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ILayerRegion_Real__FlipUpdate( obj, update, flags );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ILayerRegion_Requestor__FlipUpdate( obj, update, flags );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+/*********************************************************************************************************************/
+
+static FusionCallHandlerResult
+CoreLayerRegion_Dispatch( int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *ptr, /* optional call parameter */
+ unsigned int length,
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ CoreLayerRegion *obj = (CoreLayerRegion*) ctx;
+ CoreLayerRegionDispatch__Dispatch( obj, caller, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+
+ return FCHR_RETURN;
+}
+
+void CoreLayerRegion_Init_Dispatch(
+ CoreDFB *core,
+ CoreLayerRegion *obj,
+ FusionCall *call
+)
+{
+ fusion_call_init3( call, CoreLayerRegion_Dispatch, obj, core->world );
+}
+
+void CoreLayerRegion_Deinit_Dispatch(
+ FusionCall *call
+)
+{
+ fusion_call_destroy( call );
+}
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+ILayerRegion_Requestor__GetSurface( CoreLayerRegion *obj,
+ CoreSurface **ret_surface
+)
+{
+ DFBResult ret;
+ CoreSurface *surface = NULL;
+ CoreLayerRegionGetSurface *args = (CoreLayerRegionGetSurface*) alloca( sizeof(CoreLayerRegionGetSurface) );
+ CoreLayerRegionGetSurfaceReturn *return_args = (CoreLayerRegionGetSurfaceReturn*) alloca( sizeof(CoreLayerRegionGetSurfaceReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerRegion, "ILayerRegion_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_surface != NULL );
+
+
+ ret = (DFBResult) CoreLayerRegion_Call( obj, FCEF_NONE, _CoreLayerRegion_GetSurface, args, sizeof(CoreLayerRegionGetSurface), return_args, sizeof(CoreLayerRegionGetSurfaceReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerRegion_Call( CoreLayerRegion_GetSurface ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerRegion_GetSurface failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CoreSurface_Catch( core_dfb, return_args->surface_id, &surface );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching surface by ID %u failed!\n", __FUNCTION__, return_args->surface_id );
+ return ret;
+ }
+
+ *ret_surface = surface;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ILayerRegion_Requestor__FlipUpdate( CoreLayerRegion *obj,
+ const DFBRegion *update,
+ DFBSurfaceFlipFlags flags
+)
+{
+ DFBResult ret;
+ CoreLayerRegionFlipUpdate *args = (CoreLayerRegionFlipUpdate*) alloca( sizeof(CoreLayerRegionFlipUpdate) );
+ CoreLayerRegionFlipUpdateReturn *return_args = (CoreLayerRegionFlipUpdateReturn*) alloca( sizeof(CoreLayerRegionFlipUpdateReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreLayerRegion, "ILayerRegion_Requestor::%s()\n", __FUNCTION__ );
+
+
+ if (update) {
+ args->update = *update;
+ args->update_set = true;
+ }
+ else
+ args->update_set = false;
+ args->flags = flags;
+
+ ret = (DFBResult) CoreLayerRegion_Call( obj, FCEF_NONE, _CoreLayerRegion_FlipUpdate, args, sizeof(CoreLayerRegionFlipUpdate), return_args, sizeof(CoreLayerRegionFlipUpdateReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreLayerRegion_Call( CoreLayerRegion_FlipUpdate ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreLayerRegion_FlipUpdate failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+/*********************************************************************************************************************/
+
+static DFBResult
+__CoreLayerRegionDispatch__Dispatch( CoreLayerRegion *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_UNUSED
+ DFBResult ret;
+
+
+ switch (method) {
+ case _CoreLayerRegion_GetSurface: {
+ CoreSurface *surface = NULL;
+ D_UNUSED
+ CoreLayerRegionGetSurface *args = (CoreLayerRegionGetSurface *) ptr;
+ CoreLayerRegionGetSurfaceReturn *return_args = (CoreLayerRegionGetSurfaceReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerRegion, "=-> CoreLayerRegion_GetSurface\n" );
+
+ return_args->result = ILayerRegion_Real__GetSurface( obj, &surface );
+ if (return_args->result == DFB_OK) {
+ CoreSurface_Throw( surface, caller, &return_args->surface_id );
+ }
+
+ *ret_length = sizeof(CoreLayerRegionGetSurfaceReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreLayerRegion_FlipUpdate: {
+ D_UNUSED
+ CoreLayerRegionFlipUpdate *args = (CoreLayerRegionFlipUpdate *) ptr;
+ CoreLayerRegionFlipUpdateReturn *return_args = (CoreLayerRegionFlipUpdateReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreLayerRegion, "=-> CoreLayerRegion_FlipUpdate\n" );
+
+ return_args->result = ILayerRegion_Real__FlipUpdate( obj, args->update_set ? &args->update : NULL, args->flags );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreLayerRegionFlipUpdateReturn);
+
+ return DFB_OK;
+ }
+
+ }
+
+ return DFB_NOSUCHMETHOD;
+}
+/*********************************************************************************************************************/
+
+DFBResult
+CoreLayerRegionDispatch__Dispatch( CoreLayerRegion *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreLayerRegion, "CoreLayerRegionDispatch::%s( %p )\n", __FUNCTION__, obj );
+
+ Core_PushIdentity( caller );
+
+ ret = __CoreLayerRegionDispatch__Dispatch( obj, caller, method, ptr, length, ret_ptr, ret_size, ret_length );
+
+ Core_PopIdentity();
+
+ return ret;
+}
diff --git a/src/core/CoreLayerRegion.h b/src/core/CoreLayerRegion.h
new file mode 100644
index 0000000..11852c1
--- /dev/null
+++ b/src/core/CoreLayerRegion.h
@@ -0,0 +1,132 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef ___CoreLayerRegion__H___
+#define ___CoreLayerRegion__H___
+
+#include <core/CoreLayerRegion_includes.h>
+
+/**********************************************************************************************************************
+ * CoreLayerRegion
+ */
+
+#ifdef __cplusplus
+#include <core/Interface.h>
+
+extern "C" {
+#endif
+
+
+DFBResult CoreLayerRegion_GetSurface(
+ CoreLayerRegion *obj,
+ CoreSurface **ret_surface);
+
+DFBResult CoreLayerRegion_FlipUpdate(
+ CoreLayerRegion *obj,
+ const DFBRegion *update,
+ DFBSurfaceFlipFlags flags);
+
+
+void CoreLayerRegion_Init_Dispatch(
+ CoreDFB *core,
+ CoreLayerRegion *obj,
+ FusionCall *call
+);
+
+void CoreLayerRegion_Deinit_Dispatch(
+ FusionCall *call
+);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+/*
+ * CoreLayerRegion Calls
+ */
+typedef enum {
+ _CoreLayerRegion_GetSurface = 1,
+ _CoreLayerRegion_FlipUpdate = 2,
+} CoreLayerRegionCall;
+
+/*
+ * CoreLayerRegion_GetSurface
+ */
+typedef struct {
+} CoreLayerRegionGetSurface;
+
+typedef struct {
+ DFBResult result;
+ u32 surface_id;
+} CoreLayerRegionGetSurfaceReturn;
+
+
+/*
+ * CoreLayerRegion_FlipUpdate
+ */
+typedef struct {
+ bool update_set;
+ DFBRegion update;
+ DFBSurfaceFlipFlags flags;
+} CoreLayerRegionFlipUpdate;
+
+typedef struct {
+ DFBResult result;
+} CoreLayerRegionFlipUpdateReturn;
+
+
+DFBResult ILayerRegion_Real__GetSurface( CoreLayerRegion *obj,
+ CoreSurface **ret_surface );
+
+DFBResult ILayerRegion_Real__FlipUpdate( CoreLayerRegion *obj,
+ const DFBRegion *update,
+ DFBSurfaceFlipFlags flags );
+
+DFBResult ILayerRegion_Requestor__GetSurface( CoreLayerRegion *obj,
+ CoreSurface **ret_surface );
+
+DFBResult ILayerRegion_Requestor__FlipUpdate( CoreLayerRegion *obj,
+ const DFBRegion *update,
+ DFBSurfaceFlipFlags flags );
+
+
+DFBResult CoreLayerRegionDispatch__Dispatch( CoreLayerRegion *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
+
+#endif
diff --git a/src/core/CoreLayerRegion_includes.h b/src/core/CoreLayerRegion_includes.h
new file mode 100644
index 0000000..f360a7c
--- /dev/null
+++ b/src/core/CoreLayerRegion_includes.h
@@ -0,0 +1,30 @@
+#include "CoreDFB_includes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include <core/layer_region.h>
+#include <core/layers_internal.h>
+#include <core/windows.h>
+#include <core/windows_internal.h>
+
+
+static __inline__ DirectResult
+CoreLayerRegion_Call( CoreLayerRegion *region,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ return fusion_call_execute3( ®ion->call, flags, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/wm/unique/classes/frame.c b/src/core/CoreLayerRegion_real.c
similarity index 51%
copy from wm/unique/classes/frame.c
copy to src/core/CoreLayerRegion_real.c
index a07ad03..3223cb4 100644
--- a/wm/unique/classes/frame.c
+++ b/src/core/CoreLayerRegion_real.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -28,26 +28,43 @@
#include <config.h>
-#include <directfb.h>
+#include "CoreLayerRegion.h"
+
+#include <directfb_util.h>
#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
#include <direct/messages.h>
-#include <direct/util.h>
-#include <core/gfxcard.h>
-#include <core/state.h>
-#include <core/windows_internal.h>
+#include <core/core.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreLayerRegion, "DirectFB/CoreLayerRegion", "DirectFB CoreLayerRegion" );
+
+/*********************************************************************************************************************/
+
-#include <misc/util.h>
+DFBResult
+ILayerRegion_Real__GetSurface(
+ CoreLayerRegion *obj,
+ CoreSurface **ret_surface
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerRegion, "%s()\n", __FUNCTION__ );
-#include <unique/context.h>
-#include <unique/stret.h>
-#include <unique/internal.h>
+ return dfb_layer_region_get_surface( obj, ret_surface );
+}
-//D_DEBUG_DOMAIN( UniQuE_Frame, "UniQuE/Frame", "UniQuE's Frame Region Class" );
+DFBResult
+ILayerRegion_Real__FlipUpdate(
+ CoreLayerRegion *obj,
+ const DFBRegion *update,
+ DFBSurfaceFlipFlags flags
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayerRegion, "%s()\n", __FUNCTION__ );
-const StretRegionClass unique_frame_region_class = {
- .GetInput = NULL,
-};
+ return dfb_layer_region_flip_update( obj, update, flags );
+}
diff --git a/src/core/CoreLayer_includes.h b/src/core/CoreLayer_includes.h
new file mode 100644
index 0000000..9627bcc
--- /dev/null
+++ b/src/core/CoreLayer_includes.h
@@ -0,0 +1,33 @@
+#include "CoreDFB_includes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include <core/layer_context.h>
+#include <core/layers_internal.h>
+#include <core/windows.h>
+#include <core/windows_internal.h>
+
+
+static __inline__ DirectResult
+CoreLayer_Call( CoreLayer *layer,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_ASSERT( layer != NULL );
+ D_ASSERT( layer->shared != NULL );
+
+ return fusion_call_execute3( &layer->shared->call, flags, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/core/CoreLayer_real.c b/src/core/CoreLayer_real.c
new file mode 100644
index 0000000..3499225
--- /dev/null
+++ b/src/core/CoreLayer_real.c
@@ -0,0 +1,120 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreLayer.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <core/core.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreLayer, "DirectFB/CoreLayer", "DirectFB CoreLayer" );
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+ILayer_Real__CreateContext(
+ CoreLayer *obj,
+ CoreLayerContext **ret_context
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayer, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_context != NULL );
+
+ return dfb_layer_create_context( obj, false, ret_context );
+}
+
+DFBResult
+ILayer_Real__GetPrimaryContext(
+ CoreLayer *obj,
+ bool activate,
+ CoreLayerContext **ret_context
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayer, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_context != NULL );
+
+ return dfb_layer_get_primary_context( obj, activate, ret_context );
+}
+
+DFBResult
+ILayer_Real__ActivateContext(
+ CoreLayer *obj,
+ CoreLayerContext *context
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayer, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( context != NULL );
+
+ return dfb_layer_activate_context( obj, context );
+}
+
+DFBResult
+ILayer_Real__GetCurrentOutputField(
+ CoreLayer *obj,
+ s32 *ret_field
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayer, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_field != NULL );
+
+ return dfb_layer_get_current_output_field( obj, ret_field );
+}
+
+DFBResult
+ILayer_Real__SetLevel(
+ CoreLayer *obj,
+ s32 level
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayer, "%s()\n", __FUNCTION__ );
+
+ return dfb_layer_set_level( obj, level );
+}
+
+DFBResult
+ILayer_Real__WaitVSync(
+ CoreLayer *obj
+)
+{
+ D_DEBUG_AT( DirectFB_CoreLayer, "%s()\n", __FUNCTION__ );
+
+ return dfb_layer_wait_vsync( obj );
+}
+
diff --git a/src/core/CorePalette.c b/src/core/CorePalette.c
new file mode 100644
index 0000000..a128b85
--- /dev/null
+++ b/src/core/CorePalette.c
@@ -0,0 +1,299 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CorePalette.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+#include <core/CoreDFB_CallMode.h>
+
+D_DEBUG_DOMAIN( DirectFB_CorePalette, "DirectFB/CorePalette", "DirectFB CorePalette" );
+
+/*********************************************************************************************************************/
+
+DFBResult
+CorePalette_SetEntries(
+ CorePalette *obj,
+ const DFBColor *colors,
+ u32 num,
+ u32 offset
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IPalette_Real__SetEntries( obj, colors, num, offset );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IPalette_Requestor__SetEntries( obj, colors, num, offset );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CorePalette_SetEntriesYUV(
+ CorePalette *obj,
+ const DFBColorYUV *colors,
+ u32 num,
+ u32 offset
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IPalette_Real__SetEntriesYUV( obj, colors, num, offset );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IPalette_Requestor__SetEntriesYUV( obj, colors, num, offset );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+/*********************************************************************************************************************/
+
+static FusionCallHandlerResult
+CorePalette_Dispatch( int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *ptr, /* optional call parameter */
+ unsigned int length,
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ CorePalette *obj = (CorePalette*) ctx;
+ CorePaletteDispatch__Dispatch( obj, caller, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+
+ return FCHR_RETURN;
+}
+
+void CorePalette_Init_Dispatch(
+ CoreDFB *core,
+ CorePalette *obj,
+ FusionCall *call
+)
+{
+ fusion_call_init3( call, CorePalette_Dispatch, obj, core->world );
+}
+
+void CorePalette_Deinit_Dispatch(
+ FusionCall *call
+)
+{
+ fusion_call_destroy( call );
+}
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+IPalette_Requestor__SetEntries( CorePalette *obj,
+ const DFBColor *colors,
+ u32 num,
+ u32 offset
+)
+{
+ DFBResult ret;
+ CorePaletteSetEntries *args = (CorePaletteSetEntries*) alloca( sizeof(CorePaletteSetEntries) + num * sizeof(DFBColor) );
+ CorePaletteSetEntriesReturn *return_args = (CorePaletteSetEntriesReturn*) alloca( sizeof(CorePaletteSetEntriesReturn) );
+
+ D_DEBUG_AT( DirectFB_CorePalette, "IPalette_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( colors != NULL );
+
+ args->num = num;
+ args->offset = offset;
+ direct_memcpy( (char*) (args + 1), colors, num * sizeof(DFBColor) );
+
+ ret = (DFBResult) CorePalette_Call( obj, FCEF_NONE, _CorePalette_SetEntries, args, sizeof(CorePaletteSetEntries) + num * sizeof(DFBColor), return_args, sizeof(CorePaletteSetEntriesReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CorePalette_Call( CorePalette_SetEntries ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CorePalette_SetEntries failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IPalette_Requestor__SetEntriesYUV( CorePalette *obj,
+ const DFBColorYUV *colors,
+ u32 num,
+ u32 offset
+)
+{
+ DFBResult ret;
+ CorePaletteSetEntriesYUV *args = (CorePaletteSetEntriesYUV*) alloca( sizeof(CorePaletteSetEntriesYUV) + num * sizeof(DFBColorYUV) );
+ CorePaletteSetEntriesYUVReturn *return_args = (CorePaletteSetEntriesYUVReturn*) alloca( sizeof(CorePaletteSetEntriesYUVReturn) );
+
+ D_DEBUG_AT( DirectFB_CorePalette, "IPalette_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( colors != NULL );
+
+ args->num = num;
+ args->offset = offset;
+ direct_memcpy( (char*) (args + 1), colors, num * sizeof(DFBColorYUV) );
+
+ ret = (DFBResult) CorePalette_Call( obj, FCEF_NONE, _CorePalette_SetEntriesYUV, args, sizeof(CorePaletteSetEntriesYUV) + num * sizeof(DFBColorYUV), return_args, sizeof(CorePaletteSetEntriesYUVReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CorePalette_Call( CorePalette_SetEntriesYUV ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CorePalette_SetEntriesYUV failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+/*********************************************************************************************************************/
+
+static DFBResult
+__CorePaletteDispatch__Dispatch( CorePalette *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_UNUSED
+ DFBResult ret;
+
+
+ switch (method) {
+ case _CorePalette_SetEntries: {
+ D_UNUSED
+ CorePaletteSetEntries *args = (CorePaletteSetEntries *) ptr;
+ CorePaletteSetEntriesReturn *return_args = (CorePaletteSetEntriesReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CorePalette, "=-> CorePalette_SetEntries\n" );
+
+ return_args->result = IPalette_Real__SetEntries( obj, (DFBColor*) ((char*)(args + 1)), args->num, args->offset );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CorePaletteSetEntriesReturn);
+
+ return DFB_OK;
+ }
+
+ case _CorePalette_SetEntriesYUV: {
+ D_UNUSED
+ CorePaletteSetEntriesYUV *args = (CorePaletteSetEntriesYUV *) ptr;
+ CorePaletteSetEntriesYUVReturn *return_args = (CorePaletteSetEntriesYUVReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CorePalette, "=-> CorePalette_SetEntriesYUV\n" );
+
+ return_args->result = IPalette_Real__SetEntriesYUV( obj, (DFBColorYUV*) ((char*)(args + 1)), args->num, args->offset );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CorePaletteSetEntriesYUVReturn);
+
+ return DFB_OK;
+ }
+
+ }
+
+ return DFB_NOSUCHMETHOD;
+}
+/*********************************************************************************************************************/
+
+DFBResult
+CorePaletteDispatch__Dispatch( CorePalette *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CorePalette, "CorePaletteDispatch::%s( %p )\n", __FUNCTION__, obj );
+
+ Core_PushIdentity( caller );
+
+ ret = __CorePaletteDispatch__Dispatch( obj, caller, method, ptr, length, ret_ptr, ret_size, ret_length );
+
+ Core_PopIdentity();
+
+ return ret;
+}
diff --git a/src/core/CorePalette.h b/src/core/CorePalette.h
new file mode 100644
index 0000000..70f4f08
--- /dev/null
+++ b/src/core/CorePalette.h
@@ -0,0 +1,143 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef ___CorePalette__H___
+#define ___CorePalette__H___
+
+#include <core/CorePalette_includes.h>
+
+/**********************************************************************************************************************
+ * CorePalette
+ */
+
+#ifdef __cplusplus
+#include <core/Interface.h>
+
+extern "C" {
+#endif
+
+
+DFBResult CorePalette_SetEntries(
+ CorePalette *obj,
+ const DFBColor *colors,
+ u32 num,
+ u32 offset);
+
+DFBResult CorePalette_SetEntriesYUV(
+ CorePalette *obj,
+ const DFBColorYUV *colors,
+ u32 num,
+ u32 offset);
+
+
+void CorePalette_Init_Dispatch(
+ CoreDFB *core,
+ CorePalette *obj,
+ FusionCall *call
+);
+
+void CorePalette_Deinit_Dispatch(
+ FusionCall *call
+);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+/*
+ * CorePalette Calls
+ */
+typedef enum {
+ _CorePalette_SetEntries = 1,
+ _CorePalette_SetEntriesYUV = 2,
+} CorePaletteCall;
+
+/*
+ * CorePalette_SetEntries
+ */
+typedef struct {
+ u32 num;
+ u32 offset;
+ /* 'num' DFBColor follow (colors) */
+} CorePaletteSetEntries;
+
+typedef struct {
+ DFBResult result;
+} CorePaletteSetEntriesReturn;
+
+
+/*
+ * CorePalette_SetEntriesYUV
+ */
+typedef struct {
+ u32 num;
+ u32 offset;
+ /* 'num' DFBColorYUV follow (colors) */
+} CorePaletteSetEntriesYUV;
+
+typedef struct {
+ DFBResult result;
+} CorePaletteSetEntriesYUVReturn;
+
+
+DFBResult IPalette_Real__SetEntries( CorePalette *obj,
+ const DFBColor *colors,
+ u32 num,
+ u32 offset );
+
+DFBResult IPalette_Real__SetEntriesYUV( CorePalette *obj,
+ const DFBColorYUV *colors,
+ u32 num,
+ u32 offset );
+
+DFBResult IPalette_Requestor__SetEntries( CorePalette *obj,
+ const DFBColor *colors,
+ u32 num,
+ u32 offset );
+
+DFBResult IPalette_Requestor__SetEntriesYUV( CorePalette *obj,
+ const DFBColorYUV *colors,
+ u32 num,
+ u32 offset );
+
+
+DFBResult CorePaletteDispatch__Dispatch( CorePalette *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
+
+#endif
diff --git a/src/core/CorePalette_includes.h b/src/core/CorePalette_includes.h
new file mode 100644
index 0000000..8c6d598
--- /dev/null
+++ b/src/core/CorePalette_includes.h
@@ -0,0 +1,27 @@
+#include "CoreDFB_includes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include <core/palette.h>
+
+
+static __inline__ DirectResult
+CorePalette_Call( CorePalette *palette,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ return fusion_call_execute3( &palette->call, flags, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/core/CorePalette_real.c b/src/core/CorePalette_real.c
new file mode 100644
index 0000000..51de6ac
--- /dev/null
+++ b/src/core/CorePalette_real.c
@@ -0,0 +1,110 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CorePalette.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <core/core.h>
+
+#include <gfx/convert.h>
+
+D_DEBUG_DOMAIN( DirectFB_CorePalette, "DirectFB/CorePalette", "DirectFB CorePalette" );
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+IPalette_Real__SetEntries(
+ CorePalette *obj,
+ const DFBColor *colors,
+ u32 num,
+ u32 offset
+ )
+{
+ D_DEBUG_AT( DirectFB_CorePalette, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( colors != NULL );
+
+ if (offset + num > obj->num_entries)
+ return DFB_INVARG;
+
+ if (num) {
+ direct_memcpy( obj->entries + offset, colors, num * sizeof(DFBColor));
+
+ for (u32 i=offset; i<offset+num; i++) {
+ obj->entries_yuv[i].a = obj->entries[i].a;
+
+ RGB_TO_YCBCR( obj->entries[i].r, obj->entries[i].g, obj->entries[i].b,
+ obj->entries_yuv[i].y, obj->entries_yuv[i].u, obj->entries_yuv[i].v );
+ }
+
+ dfb_palette_update( obj, offset, offset + num - 1 );
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+IPalette_Real__SetEntriesYUV(
+ CorePalette *obj,
+ const DFBColorYUV *colors,
+ u32 num,
+ u32 offset
+ )
+{
+ D_DEBUG_AT( DirectFB_CorePalette, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( colors != NULL );
+
+ if (offset + num > obj->num_entries)
+ return DFB_INVARG;
+
+ if (num) {
+ direct_memcpy( obj->entries_yuv + offset, colors, num * sizeof(DFBColorYUV));
+
+ for (u32 i=offset; i<offset+num; i++) {
+ obj->entries[i].a = obj->entries_yuv[i].a;
+
+ YCBCR_TO_RGB( obj->entries_yuv[i].y, obj->entries_yuv[i].u, obj->entries_yuv[i].v,
+ obj->entries[i].r, obj->entries[i].g, obj->entries[i].b );
+ }
+
+ dfb_palette_update( obj, offset, offset + num - 1 );
+ }
+
+ return DFB_OK;
+}
+
diff --git a/src/core/CoreScreen.c b/src/core/CoreScreen.c
new file mode 100644
index 0000000..3e877f7
--- /dev/null
+++ b/src/core/CoreScreen.c
@@ -0,0 +1,1030 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreScreen.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+#include <core/CoreDFB_CallMode.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreScreen, "DirectFB/CoreScreen", "DirectFB CoreScreen" );
+
+/*********************************************************************************************************************/
+
+DFBResult
+CoreScreen_SetPowerMode(
+ CoreScreen *obj,
+ DFBScreenPowerMode mode
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IScreen_Real__SetPowerMode( obj, mode );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IScreen_Requestor__SetPowerMode( obj, mode );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreScreen_WaitVSync(
+ CoreScreen *obj
+
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IScreen_Real__WaitVSync( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IScreen_Requestor__WaitVSync( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreScreen_GetVSyncCount(
+ CoreScreen *obj,
+ u64 *ret_count
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IScreen_Real__GetVSyncCount( obj, ret_count );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IScreen_Requestor__GetVSyncCount( obj, ret_count );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreScreen_TestMixerConfig(
+ CoreScreen *obj,
+ u32 mixer,
+ const DFBScreenMixerConfig *config,
+ DFBScreenMixerConfigFlags *ret_failed
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IScreen_Real__TestMixerConfig( obj, mixer, config, ret_failed );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IScreen_Requestor__TestMixerConfig( obj, mixer, config, ret_failed );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreScreen_SetMixerConfig(
+ CoreScreen *obj,
+ u32 mixer,
+ const DFBScreenMixerConfig *config
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IScreen_Real__SetMixerConfig( obj, mixer, config );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IScreen_Requestor__SetMixerConfig( obj, mixer, config );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreScreen_TestEncoderConfig(
+ CoreScreen *obj,
+ u32 encoder,
+ const DFBScreenEncoderConfig *config,
+ DFBScreenEncoderConfigFlags *ret_failed
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IScreen_Real__TestEncoderConfig( obj, encoder, config, ret_failed );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IScreen_Requestor__TestEncoderConfig( obj, encoder, config, ret_failed );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreScreen_SetEncoderConfig(
+ CoreScreen *obj,
+ u32 encoder,
+ const DFBScreenEncoderConfig *config
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IScreen_Real__SetEncoderConfig( obj, encoder, config );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IScreen_Requestor__SetEncoderConfig( obj, encoder, config );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreScreen_TestOutputConfig(
+ CoreScreen *obj,
+ u32 output,
+ const DFBScreenOutputConfig *config,
+ DFBScreenOutputConfigFlags *ret_failed
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IScreen_Real__TestOutputConfig( obj, output, config, ret_failed );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IScreen_Requestor__TestOutputConfig( obj, output, config, ret_failed );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreScreen_SetOutputConfig(
+ CoreScreen *obj,
+ u32 output,
+ const DFBScreenOutputConfig *config
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IScreen_Real__SetOutputConfig( obj, output, config );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IScreen_Requestor__SetOutputConfig( obj, output, config );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreScreen_GetScreenSize(
+ CoreScreen *obj,
+ DFBDimension *ret_size
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IScreen_Real__GetScreenSize( obj, ret_size );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IScreen_Requestor__GetScreenSize( obj, ret_size );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreScreen_GetLayerDimension(
+ CoreScreen *obj,
+ CoreLayer *layer,
+ DFBDimension *ret_size
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IScreen_Real__GetLayerDimension( obj, layer, ret_size );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IScreen_Requestor__GetLayerDimension( obj, layer, ret_size );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+/*********************************************************************************************************************/
+
+static FusionCallHandlerResult
+CoreScreen_Dispatch( int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *ptr, /* optional call parameter */
+ unsigned int length,
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ CoreScreen *obj = (CoreScreen*) ctx;
+ CoreScreenDispatch__Dispatch( obj, caller, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+
+ return FCHR_RETURN;
+}
+
+void CoreScreen_Init_Dispatch(
+ CoreDFB *core,
+ CoreScreen *obj,
+ FusionCall *call
+)
+{
+ fusion_call_init3( call, CoreScreen_Dispatch, obj, core->world );
+}
+
+void CoreScreen_Deinit_Dispatch(
+ FusionCall *call
+)
+{
+ fusion_call_destroy( call );
+}
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+IScreen_Requestor__SetPowerMode( CoreScreen *obj,
+ DFBScreenPowerMode mode
+)
+{
+ DFBResult ret;
+ CoreScreenSetPowerMode *args = (CoreScreenSetPowerMode*) alloca( sizeof(CoreScreenSetPowerMode) );
+ CoreScreenSetPowerModeReturn *return_args = (CoreScreenSetPowerModeReturn*) alloca( sizeof(CoreScreenSetPowerModeReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "IScreen_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->mode = mode;
+
+ ret = (DFBResult) CoreScreen_Call( obj, FCEF_NONE, _CoreScreen_SetPowerMode, args, sizeof(CoreScreenSetPowerMode), return_args, sizeof(CoreScreenSetPowerModeReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreScreen_Call( CoreScreen_SetPowerMode ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreScreen_SetPowerMode failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IScreen_Requestor__WaitVSync( CoreScreen *obj
+
+)
+{
+ DFBResult ret;
+ CoreScreenWaitVSync *args = (CoreScreenWaitVSync*) alloca( sizeof(CoreScreenWaitVSync) );
+ CoreScreenWaitVSyncReturn *return_args = (CoreScreenWaitVSyncReturn*) alloca( sizeof(CoreScreenWaitVSyncReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "IScreen_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) CoreScreen_Call( obj, FCEF_NONE, _CoreScreen_WaitVSync, args, sizeof(CoreScreenWaitVSync), return_args, sizeof(CoreScreenWaitVSyncReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreScreen_Call( CoreScreen_WaitVSync ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreScreen_WaitVSync failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IScreen_Requestor__GetVSyncCount( CoreScreen *obj,
+ u64 *ret_count
+)
+{
+ DFBResult ret;
+ CoreScreenGetVSyncCount *args = (CoreScreenGetVSyncCount*) alloca( sizeof(CoreScreenGetVSyncCount) );
+ CoreScreenGetVSyncCountReturn *return_args = (CoreScreenGetVSyncCountReturn*) alloca( sizeof(CoreScreenGetVSyncCountReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "IScreen_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) CoreScreen_Call( obj, FCEF_NONE, _CoreScreen_GetVSyncCount, args, sizeof(CoreScreenGetVSyncCount), return_args, sizeof(CoreScreenGetVSyncCountReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreScreen_Call( CoreScreen_GetVSyncCount ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreScreen_GetVSyncCount failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ *ret_count = return_args->count;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IScreen_Requestor__TestMixerConfig( CoreScreen *obj,
+ u32 mixer,
+ const DFBScreenMixerConfig *config,
+ DFBScreenMixerConfigFlags *ret_failed
+)
+{
+ DFBResult ret;
+ CoreScreenTestMixerConfig *args = (CoreScreenTestMixerConfig*) alloca( sizeof(CoreScreenTestMixerConfig) );
+ CoreScreenTestMixerConfigReturn *return_args = (CoreScreenTestMixerConfigReturn*) alloca( sizeof(CoreScreenTestMixerConfigReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "IScreen_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ args->mixer = mixer;
+ args->config = *config;
+
+ ret = (DFBResult) CoreScreen_Call( obj, FCEF_NONE, _CoreScreen_TestMixerConfig, args, sizeof(CoreScreenTestMixerConfig), return_args, sizeof(CoreScreenTestMixerConfigReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreScreen_Call( CoreScreen_TestMixerConfig ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreScreen_TestMixerConfig failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ if (ret_failed)
+ *ret_failed = return_args->failed;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IScreen_Requestor__SetMixerConfig( CoreScreen *obj,
+ u32 mixer,
+ const DFBScreenMixerConfig *config
+)
+{
+ DFBResult ret;
+ CoreScreenSetMixerConfig *args = (CoreScreenSetMixerConfig*) alloca( sizeof(CoreScreenSetMixerConfig) );
+ CoreScreenSetMixerConfigReturn *return_args = (CoreScreenSetMixerConfigReturn*) alloca( sizeof(CoreScreenSetMixerConfigReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "IScreen_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ args->mixer = mixer;
+ args->config = *config;
+
+ ret = (DFBResult) CoreScreen_Call( obj, FCEF_NONE, _CoreScreen_SetMixerConfig, args, sizeof(CoreScreenSetMixerConfig), return_args, sizeof(CoreScreenSetMixerConfigReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreScreen_Call( CoreScreen_SetMixerConfig ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreScreen_SetMixerConfig failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IScreen_Requestor__TestEncoderConfig( CoreScreen *obj,
+ u32 encoder,
+ const DFBScreenEncoderConfig *config,
+ DFBScreenEncoderConfigFlags *ret_failed
+)
+{
+ DFBResult ret;
+ CoreScreenTestEncoderConfig *args = (CoreScreenTestEncoderConfig*) alloca( sizeof(CoreScreenTestEncoderConfig) );
+ CoreScreenTestEncoderConfigReturn *return_args = (CoreScreenTestEncoderConfigReturn*) alloca( sizeof(CoreScreenTestEncoderConfigReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "IScreen_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ args->encoder = encoder;
+ args->config = *config;
+
+ ret = (DFBResult) CoreScreen_Call( obj, FCEF_NONE, _CoreScreen_TestEncoderConfig, args, sizeof(CoreScreenTestEncoderConfig), return_args, sizeof(CoreScreenTestEncoderConfigReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreScreen_Call( CoreScreen_TestEncoderConfig ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreScreen_TestEncoderConfig failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ if (ret_failed)
+ *ret_failed = return_args->failed;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IScreen_Requestor__SetEncoderConfig( CoreScreen *obj,
+ u32 encoder,
+ const DFBScreenEncoderConfig *config
+)
+{
+ DFBResult ret;
+ CoreScreenSetEncoderConfig *args = (CoreScreenSetEncoderConfig*) alloca( sizeof(CoreScreenSetEncoderConfig) );
+ CoreScreenSetEncoderConfigReturn *return_args = (CoreScreenSetEncoderConfigReturn*) alloca( sizeof(CoreScreenSetEncoderConfigReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "IScreen_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ args->encoder = encoder;
+ args->config = *config;
+
+ ret = (DFBResult) CoreScreen_Call( obj, FCEF_NONE, _CoreScreen_SetEncoderConfig, args, sizeof(CoreScreenSetEncoderConfig), return_args, sizeof(CoreScreenSetEncoderConfigReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreScreen_Call( CoreScreen_SetEncoderConfig ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreScreen_SetEncoderConfig failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IScreen_Requestor__TestOutputConfig( CoreScreen *obj,
+ u32 output,
+ const DFBScreenOutputConfig *config,
+ DFBScreenOutputConfigFlags *ret_failed
+)
+{
+ DFBResult ret;
+ CoreScreenTestOutputConfig *args = (CoreScreenTestOutputConfig*) alloca( sizeof(CoreScreenTestOutputConfig) );
+ CoreScreenTestOutputConfigReturn *return_args = (CoreScreenTestOutputConfigReturn*) alloca( sizeof(CoreScreenTestOutputConfigReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "IScreen_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ args->output = output;
+ args->config = *config;
+
+ ret = (DFBResult) CoreScreen_Call( obj, FCEF_NONE, _CoreScreen_TestOutputConfig, args, sizeof(CoreScreenTestOutputConfig), return_args, sizeof(CoreScreenTestOutputConfigReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreScreen_Call( CoreScreen_TestOutputConfig ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreScreen_TestOutputConfig failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ if (ret_failed)
+ *ret_failed = return_args->failed;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IScreen_Requestor__SetOutputConfig( CoreScreen *obj,
+ u32 output,
+ const DFBScreenOutputConfig *config
+)
+{
+ DFBResult ret;
+ CoreScreenSetOutputConfig *args = (CoreScreenSetOutputConfig*) alloca( sizeof(CoreScreenSetOutputConfig) );
+ CoreScreenSetOutputConfigReturn *return_args = (CoreScreenSetOutputConfigReturn*) alloca( sizeof(CoreScreenSetOutputConfigReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "IScreen_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ args->output = output;
+ args->config = *config;
+
+ ret = (DFBResult) CoreScreen_Call( obj, FCEF_NONE, _CoreScreen_SetOutputConfig, args, sizeof(CoreScreenSetOutputConfig), return_args, sizeof(CoreScreenSetOutputConfigReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreScreen_Call( CoreScreen_SetOutputConfig ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreScreen_SetOutputConfig failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IScreen_Requestor__GetScreenSize( CoreScreen *obj,
+ DFBDimension *ret_size
+)
+{
+ DFBResult ret;
+ CoreScreenGetScreenSize *args = (CoreScreenGetScreenSize*) alloca( sizeof(CoreScreenGetScreenSize) );
+ CoreScreenGetScreenSizeReturn *return_args = (CoreScreenGetScreenSizeReturn*) alloca( sizeof(CoreScreenGetScreenSizeReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "IScreen_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_size != NULL );
+
+
+ ret = (DFBResult) CoreScreen_Call( obj, FCEF_NONE, _CoreScreen_GetScreenSize, args, sizeof(CoreScreenGetScreenSize), return_args, sizeof(CoreScreenGetScreenSizeReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreScreen_Call( CoreScreen_GetScreenSize ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreScreen_GetScreenSize failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ *ret_size = return_args->size;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IScreen_Requestor__GetLayerDimension( CoreScreen *obj,
+ CoreLayer *layer,
+ DFBDimension *ret_size
+)
+{
+ DFBResult ret;
+ CoreScreenGetLayerDimension *args = (CoreScreenGetLayerDimension*) alloca( sizeof(CoreScreenGetLayerDimension) );
+ CoreScreenGetLayerDimensionReturn *return_args = (CoreScreenGetLayerDimensionReturn*) alloca( sizeof(CoreScreenGetLayerDimensionReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "IScreen_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( layer != NULL );
+ D_ASSERT( ret_size != NULL );
+
+ args->layer_id = CoreLayer_GetID( layer );
+
+ ret = (DFBResult) CoreScreen_Call( obj, FCEF_NONE, _CoreScreen_GetLayerDimension, args, sizeof(CoreScreenGetLayerDimension), return_args, sizeof(CoreScreenGetLayerDimensionReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreScreen_Call( CoreScreen_GetLayerDimension ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreScreen_GetLayerDimension failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ *ret_size = return_args->size;
+
+ return DFB_OK;
+}
+
+/*********************************************************************************************************************/
+
+static DFBResult
+__CoreScreenDispatch__Dispatch( CoreScreen *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_UNUSED
+ DFBResult ret;
+
+
+ switch (method) {
+ case _CoreScreen_SetPowerMode: {
+ D_UNUSED
+ CoreScreenSetPowerMode *args = (CoreScreenSetPowerMode *) ptr;
+ CoreScreenSetPowerModeReturn *return_args = (CoreScreenSetPowerModeReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "=-> CoreScreen_SetPowerMode\n" );
+
+ return_args->result = IScreen_Real__SetPowerMode( obj, args->mode );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreScreenSetPowerModeReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreScreen_WaitVSync: {
+ D_UNUSED
+ CoreScreenWaitVSync *args = (CoreScreenWaitVSync *) ptr;
+ CoreScreenWaitVSyncReturn *return_args = (CoreScreenWaitVSyncReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "=-> CoreScreen_WaitVSync\n" );
+
+ return_args->result = IScreen_Real__WaitVSync( obj );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreScreenWaitVSyncReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreScreen_GetVSyncCount: {
+ D_UNUSED
+ CoreScreenGetVSyncCount *args = (CoreScreenGetVSyncCount *) ptr;
+ CoreScreenGetVSyncCountReturn *return_args = (CoreScreenGetVSyncCountReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "=-> CoreScreen_GetVSyncCount\n" );
+
+ return_args->result = IScreen_Real__GetVSyncCount( obj, &return_args->count );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreScreenGetVSyncCountReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreScreen_TestMixerConfig: {
+ D_UNUSED
+ CoreScreenTestMixerConfig *args = (CoreScreenTestMixerConfig *) ptr;
+ CoreScreenTestMixerConfigReturn *return_args = (CoreScreenTestMixerConfigReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "=-> CoreScreen_TestMixerConfig\n" );
+
+ return_args->result = IScreen_Real__TestMixerConfig( obj, args->mixer, &args->config, &return_args->failed );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreScreenTestMixerConfigReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreScreen_SetMixerConfig: {
+ D_UNUSED
+ CoreScreenSetMixerConfig *args = (CoreScreenSetMixerConfig *) ptr;
+ CoreScreenSetMixerConfigReturn *return_args = (CoreScreenSetMixerConfigReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "=-> CoreScreen_SetMixerConfig\n" );
+
+ return_args->result = IScreen_Real__SetMixerConfig( obj, args->mixer, &args->config );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreScreenSetMixerConfigReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreScreen_TestEncoderConfig: {
+ D_UNUSED
+ CoreScreenTestEncoderConfig *args = (CoreScreenTestEncoderConfig *) ptr;
+ CoreScreenTestEncoderConfigReturn *return_args = (CoreScreenTestEncoderConfigReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "=-> CoreScreen_TestEncoderConfig\n" );
+
+ return_args->result = IScreen_Real__TestEncoderConfig( obj, args->encoder, &args->config, &return_args->failed );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreScreenTestEncoderConfigReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreScreen_SetEncoderConfig: {
+ D_UNUSED
+ CoreScreenSetEncoderConfig *args = (CoreScreenSetEncoderConfig *) ptr;
+ CoreScreenSetEncoderConfigReturn *return_args = (CoreScreenSetEncoderConfigReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "=-> CoreScreen_SetEncoderConfig\n" );
+
+ return_args->result = IScreen_Real__SetEncoderConfig( obj, args->encoder, &args->config );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreScreenSetEncoderConfigReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreScreen_TestOutputConfig: {
+ D_UNUSED
+ CoreScreenTestOutputConfig *args = (CoreScreenTestOutputConfig *) ptr;
+ CoreScreenTestOutputConfigReturn *return_args = (CoreScreenTestOutputConfigReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "=-> CoreScreen_TestOutputConfig\n" );
+
+ return_args->result = IScreen_Real__TestOutputConfig( obj, args->output, &args->config, &return_args->failed );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreScreenTestOutputConfigReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreScreen_SetOutputConfig: {
+ D_UNUSED
+ CoreScreenSetOutputConfig *args = (CoreScreenSetOutputConfig *) ptr;
+ CoreScreenSetOutputConfigReturn *return_args = (CoreScreenSetOutputConfigReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "=-> CoreScreen_SetOutputConfig\n" );
+
+ return_args->result = IScreen_Real__SetOutputConfig( obj, args->output, &args->config );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreScreenSetOutputConfigReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreScreen_GetScreenSize: {
+ D_UNUSED
+ CoreScreenGetScreenSize *args = (CoreScreenGetScreenSize *) ptr;
+ CoreScreenGetScreenSizeReturn *return_args = (CoreScreenGetScreenSizeReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "=-> CoreScreen_GetScreenSize\n" );
+
+ return_args->result = IScreen_Real__GetScreenSize( obj, &return_args->size );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreScreenGetScreenSizeReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreScreen_GetLayerDimension: {
+ CoreLayer *layer = NULL;
+ D_UNUSED
+ CoreScreenGetLayerDimension *args = (CoreScreenGetLayerDimension *) ptr;
+ CoreScreenGetLayerDimensionReturn *return_args = (CoreScreenGetLayerDimensionReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "=-> CoreScreen_GetLayerDimension\n" );
+
+ ret = (DFBResult) CoreLayer_Lookup( core_dfb, args->layer_id, caller, &layer );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up layer by ID %u failed!\n", __FUNCTION__, args->layer_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+
+ return_args->result = IScreen_Real__GetLayerDimension( obj, layer, &return_args->size );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreScreenGetLayerDimensionReturn);
+
+ if (layer)
+ CoreLayer_Unref( layer );
+
+ return DFB_OK;
+ }
+
+ }
+
+ return DFB_NOSUCHMETHOD;
+}
+/*********************************************************************************************************************/
+
+DFBResult
+CoreScreenDispatch__Dispatch( CoreScreen *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "CoreScreenDispatch::%s( %p )\n", __FUNCTION__, obj );
+
+ Core_PushIdentity( caller );
+
+ ret = __CoreScreenDispatch__Dispatch( obj, caller, method, ptr, length, ret_ptr, ret_size, ret_length );
+
+ Core_PopIdentity();
+
+ return ret;
+}
diff --git a/src/core/CoreScreen.h b/src/core/CoreScreen.h
new file mode 100644
index 0000000..a308cef
--- /dev/null
+++ b/src/core/CoreScreen.h
@@ -0,0 +1,373 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef ___CoreScreen__H___
+#define ___CoreScreen__H___
+
+#include <core/CoreScreen_includes.h>
+
+/**********************************************************************************************************************
+ * CoreScreen
+ */
+
+#ifdef __cplusplus
+#include <core/Interface.h>
+
+extern "C" {
+#endif
+
+
+DFBResult CoreScreen_SetPowerMode(
+ CoreScreen *obj,
+ DFBScreenPowerMode mode);
+
+DFBResult CoreScreen_WaitVSync(
+ CoreScreen *obj
+);
+
+DFBResult CoreScreen_GetVSyncCount(
+ CoreScreen *obj,
+ u64 *ret_count);
+
+DFBResult CoreScreen_TestMixerConfig(
+ CoreScreen *obj,
+ u32 mixer,
+ const DFBScreenMixerConfig *config,
+ DFBScreenMixerConfigFlags *ret_failed);
+
+DFBResult CoreScreen_SetMixerConfig(
+ CoreScreen *obj,
+ u32 mixer,
+ const DFBScreenMixerConfig *config);
+
+DFBResult CoreScreen_TestEncoderConfig(
+ CoreScreen *obj,
+ u32 encoder,
+ const DFBScreenEncoderConfig *config,
+ DFBScreenEncoderConfigFlags *ret_failed);
+
+DFBResult CoreScreen_SetEncoderConfig(
+ CoreScreen *obj,
+ u32 encoder,
+ const DFBScreenEncoderConfig *config);
+
+DFBResult CoreScreen_TestOutputConfig(
+ CoreScreen *obj,
+ u32 output,
+ const DFBScreenOutputConfig *config,
+ DFBScreenOutputConfigFlags *ret_failed);
+
+DFBResult CoreScreen_SetOutputConfig(
+ CoreScreen *obj,
+ u32 output,
+ const DFBScreenOutputConfig *config);
+
+DFBResult CoreScreen_GetScreenSize(
+ CoreScreen *obj,
+ DFBDimension *ret_size);
+
+DFBResult CoreScreen_GetLayerDimension(
+ CoreScreen *obj,
+ CoreLayer *layer,
+ DFBDimension *ret_size);
+
+
+void CoreScreen_Init_Dispatch(
+ CoreDFB *core,
+ CoreScreen *obj,
+ FusionCall *call
+);
+
+void CoreScreen_Deinit_Dispatch(
+ FusionCall *call
+);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+/*
+ * CoreScreen Calls
+ */
+typedef enum {
+ _CoreScreen_SetPowerMode = 1,
+ _CoreScreen_WaitVSync = 2,
+ _CoreScreen_GetVSyncCount = 3,
+ _CoreScreen_TestMixerConfig = 4,
+ _CoreScreen_SetMixerConfig = 5,
+ _CoreScreen_TestEncoderConfig = 6,
+ _CoreScreen_SetEncoderConfig = 7,
+ _CoreScreen_TestOutputConfig = 8,
+ _CoreScreen_SetOutputConfig = 9,
+ _CoreScreen_GetScreenSize = 10,
+ _CoreScreen_GetLayerDimension = 11,
+} CoreScreenCall;
+
+/*
+ * CoreScreen_SetPowerMode
+ */
+typedef struct {
+ DFBScreenPowerMode mode;
+} CoreScreenSetPowerMode;
+
+typedef struct {
+ DFBResult result;
+} CoreScreenSetPowerModeReturn;
+
+
+/*
+ * CoreScreen_WaitVSync
+ */
+typedef struct {
+} CoreScreenWaitVSync;
+
+typedef struct {
+ DFBResult result;
+} CoreScreenWaitVSyncReturn;
+
+
+/*
+ * CoreScreen_GetVSyncCount
+ */
+typedef struct {
+} CoreScreenGetVSyncCount;
+
+typedef struct {
+ DFBResult result;
+ u64 count;
+} CoreScreenGetVSyncCountReturn;
+
+
+/*
+ * CoreScreen_TestMixerConfig
+ */
+typedef struct {
+ u32 mixer;
+ DFBScreenMixerConfig config;
+} CoreScreenTestMixerConfig;
+
+typedef struct {
+ DFBResult result;
+ DFBScreenMixerConfigFlags failed;
+} CoreScreenTestMixerConfigReturn;
+
+
+/*
+ * CoreScreen_SetMixerConfig
+ */
+typedef struct {
+ u32 mixer;
+ DFBScreenMixerConfig config;
+} CoreScreenSetMixerConfig;
+
+typedef struct {
+ DFBResult result;
+} CoreScreenSetMixerConfigReturn;
+
+
+/*
+ * CoreScreen_TestEncoderConfig
+ */
+typedef struct {
+ u32 encoder;
+ DFBScreenEncoderConfig config;
+} CoreScreenTestEncoderConfig;
+
+typedef struct {
+ DFBResult result;
+ DFBScreenEncoderConfigFlags failed;
+} CoreScreenTestEncoderConfigReturn;
+
+
+/*
+ * CoreScreen_SetEncoderConfig
+ */
+typedef struct {
+ u32 encoder;
+ DFBScreenEncoderConfig config;
+} CoreScreenSetEncoderConfig;
+
+typedef struct {
+ DFBResult result;
+} CoreScreenSetEncoderConfigReturn;
+
+
+/*
+ * CoreScreen_TestOutputConfig
+ */
+typedef struct {
+ u32 output;
+ DFBScreenOutputConfig config;
+} CoreScreenTestOutputConfig;
+
+typedef struct {
+ DFBResult result;
+ DFBScreenOutputConfigFlags failed;
+} CoreScreenTestOutputConfigReturn;
+
+
+/*
+ * CoreScreen_SetOutputConfig
+ */
+typedef struct {
+ u32 output;
+ DFBScreenOutputConfig config;
+} CoreScreenSetOutputConfig;
+
+typedef struct {
+ DFBResult result;
+} CoreScreenSetOutputConfigReturn;
+
+
+/*
+ * CoreScreen_GetScreenSize
+ */
+typedef struct {
+} CoreScreenGetScreenSize;
+
+typedef struct {
+ DFBResult result;
+ DFBDimension size;
+} CoreScreenGetScreenSizeReturn;
+
+
+/*
+ * CoreScreen_GetLayerDimension
+ */
+typedef struct {
+ u32 layer_id;
+} CoreScreenGetLayerDimension;
+
+typedef struct {
+ DFBResult result;
+ DFBDimension size;
+} CoreScreenGetLayerDimensionReturn;
+
+
+DFBResult IScreen_Real__SetPowerMode( CoreScreen *obj,
+ DFBScreenPowerMode mode );
+
+DFBResult IScreen_Real__WaitVSync( CoreScreen *obj
+ );
+
+DFBResult IScreen_Real__GetVSyncCount( CoreScreen *obj,
+ u64 *ret_count );
+
+DFBResult IScreen_Real__TestMixerConfig( CoreScreen *obj,
+ u32 mixer,
+ const DFBScreenMixerConfig *config,
+ DFBScreenMixerConfigFlags *ret_failed );
+
+DFBResult IScreen_Real__SetMixerConfig( CoreScreen *obj,
+ u32 mixer,
+ const DFBScreenMixerConfig *config );
+
+DFBResult IScreen_Real__TestEncoderConfig( CoreScreen *obj,
+ u32 encoder,
+ const DFBScreenEncoderConfig *config,
+ DFBScreenEncoderConfigFlags *ret_failed );
+
+DFBResult IScreen_Real__SetEncoderConfig( CoreScreen *obj,
+ u32 encoder,
+ const DFBScreenEncoderConfig *config );
+
+DFBResult IScreen_Real__TestOutputConfig( CoreScreen *obj,
+ u32 output,
+ const DFBScreenOutputConfig *config,
+ DFBScreenOutputConfigFlags *ret_failed );
+
+DFBResult IScreen_Real__SetOutputConfig( CoreScreen *obj,
+ u32 output,
+ const DFBScreenOutputConfig *config );
+
+DFBResult IScreen_Real__GetScreenSize( CoreScreen *obj,
+ DFBDimension *ret_size );
+
+DFBResult IScreen_Real__GetLayerDimension( CoreScreen *obj,
+ CoreLayer *layer,
+ DFBDimension *ret_size );
+
+DFBResult IScreen_Requestor__SetPowerMode( CoreScreen *obj,
+ DFBScreenPowerMode mode );
+
+DFBResult IScreen_Requestor__WaitVSync( CoreScreen *obj
+ );
+
+DFBResult IScreen_Requestor__GetVSyncCount( CoreScreen *obj,
+ u64 *ret_count );
+
+DFBResult IScreen_Requestor__TestMixerConfig( CoreScreen *obj,
+ u32 mixer,
+ const DFBScreenMixerConfig *config,
+ DFBScreenMixerConfigFlags *ret_failed );
+
+DFBResult IScreen_Requestor__SetMixerConfig( CoreScreen *obj,
+ u32 mixer,
+ const DFBScreenMixerConfig *config );
+
+DFBResult IScreen_Requestor__TestEncoderConfig( CoreScreen *obj,
+ u32 encoder,
+ const DFBScreenEncoderConfig *config,
+ DFBScreenEncoderConfigFlags *ret_failed );
+
+DFBResult IScreen_Requestor__SetEncoderConfig( CoreScreen *obj,
+ u32 encoder,
+ const DFBScreenEncoderConfig *config );
+
+DFBResult IScreen_Requestor__TestOutputConfig( CoreScreen *obj,
+ u32 output,
+ const DFBScreenOutputConfig *config,
+ DFBScreenOutputConfigFlags *ret_failed );
+
+DFBResult IScreen_Requestor__SetOutputConfig( CoreScreen *obj,
+ u32 output,
+ const DFBScreenOutputConfig *config );
+
+DFBResult IScreen_Requestor__GetScreenSize( CoreScreen *obj,
+ DFBDimension *ret_size );
+
+DFBResult IScreen_Requestor__GetLayerDimension( CoreScreen *obj,
+ CoreLayer *layer,
+ DFBDimension *ret_size );
+
+
+DFBResult CoreScreenDispatch__Dispatch( CoreScreen *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
+
+#endif
diff --git a/src/core/CoreScreen_includes.h b/src/core/CoreScreen_includes.h
new file mode 100644
index 0000000..148c8ca
--- /dev/null
+++ b/src/core/CoreScreen_includes.h
@@ -0,0 +1,30 @@
+#include "CoreDFB_includes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include <core/screens_internal.h>
+
+
+static __inline__ DirectResult
+CoreScreen_Call( CoreScreen *screen,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_ASSERT( screen != NULL );
+ D_ASSERT( screen->shared != NULL );
+
+ return fusion_call_execute3( &screen->shared->call, flags, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/core/CoreScreen_real.c b/src/core/CoreScreen_real.c
new file mode 100644
index 0000000..0af0e03
--- /dev/null
+++ b/src/core/CoreScreen_real.c
@@ -0,0 +1,212 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreScreen.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <core/screen.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreScreen, "DirectFB/CoreScreen", "DirectFB CoreScreen" );
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+IScreen_Real__SetPowerMode(
+ CoreScreen *obj,
+ DFBScreenPowerMode mode
+)
+{
+ D_DEBUG_AT( DirectFB_CoreScreen, "%s()\n", __FUNCTION__ );
+
+ return dfb_screen_set_powermode( obj, mode );
+}
+
+
+DFBResult
+IScreen_Real__WaitVSync(
+ CoreScreen *obj
+)
+{
+ D_DEBUG_AT( DirectFB_CoreScreen, "%s()\n", __FUNCTION__ );
+
+ return dfb_screen_wait_vsync( obj );
+}
+
+
+DFBResult
+IScreen_Real__GetVSyncCount(
+ CoreScreen *obj,
+ u64 *ret_count
+)
+{
+ DFBResult ret;
+ unsigned long count;
+
+ D_DEBUG_AT( DirectFB_CoreScreen, "%s()\n", __FUNCTION__ );
+
+ ret = dfb_screen_get_vsync_count( obj, &count );
+ if (ret)
+ return ret;
+
+ *ret_count = count;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IScreen_Real__TestMixerConfig(
+ CoreScreen *obj,
+ u32 mixer,
+ const DFBScreenMixerConfig *config,
+ DFBScreenMixerConfigFlags *ret_failed
+)
+{
+ D_DEBUG_AT( DirectFB_CoreScreen, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ return dfb_screen_test_mixer_config( obj, mixer, config, ret_failed );
+}
+
+
+DFBResult
+IScreen_Real__SetMixerConfig(
+ CoreScreen *obj,
+ u32 mixer,
+ const DFBScreenMixerConfig *config
+)
+{
+ D_DEBUG_AT( DirectFB_CoreScreen, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ return dfb_screen_set_mixer_config( obj, mixer, config );
+}
+
+
+DFBResult
+IScreen_Real__TestEncoderConfig(
+ CoreScreen *obj,
+ u32 encoder,
+ const DFBScreenEncoderConfig *config,
+ DFBScreenEncoderConfigFlags *ret_failed
+)
+{
+ D_DEBUG_AT( DirectFB_CoreScreen, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ return dfb_screen_test_encoder_config( obj, encoder, config, ret_failed );
+}
+
+
+DFBResult
+IScreen_Real__SetEncoderConfig(
+ CoreScreen *obj,
+ u32 encoder,
+ const DFBScreenEncoderConfig *config
+)
+{
+ D_DEBUG_AT( DirectFB_CoreScreen, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ return dfb_screen_set_encoder_config( obj, encoder, config );
+}
+
+
+DFBResult
+IScreen_Real__TestOutputConfig(
+ CoreScreen *obj,
+ u32 output,
+ const DFBScreenOutputConfig *config,
+ DFBScreenOutputConfigFlags *ret_failed
+)
+{
+ D_DEBUG_AT( DirectFB_CoreScreen, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ return dfb_screen_test_output_config( obj, output, config, ret_failed );
+}
+
+
+DFBResult
+IScreen_Real__SetOutputConfig(
+ CoreScreen *obj,
+ u32 output,
+ const DFBScreenOutputConfig *config
+)
+{
+ D_DEBUG_AT( DirectFB_CoreScreen, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ return dfb_screen_set_output_config( obj, output, config );
+}
+
+
+DFBResult
+IScreen_Real__GetScreenSize(
+ CoreScreen *obj,
+ DFBDimension *ret_size
+)
+{
+ D_DEBUG_AT( DirectFB_CoreScreen, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_size != NULL );
+
+ return dfb_screen_get_screen_size( obj, &ret_size->w, &ret_size->h );
+}
+
+
+DFBResult
+IScreen_Real__GetLayerDimension(
+ CoreScreen *obj,
+ CoreLayer *layer,
+ DFBDimension *ret_size
+)
+{
+ D_DEBUG_AT( DirectFB_CoreScreen, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( layer != NULL );
+ D_ASSERT( ret_size != NULL );
+
+ return dfb_screen_get_layer_dimension( obj, layer, &ret_size->w, &ret_size->h );
+}
+
diff --git a/src/core/CoreSlave.c b/src/core/CoreSlave.c
new file mode 100644
index 0000000..5bba61c
--- /dev/null
+++ b/src/core/CoreSlave.c
@@ -0,0 +1,283 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreSlave.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+#include <core/CoreDFB_CallMode.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreSlave, "DirectFB/CoreSlave", "DirectFB CoreSlave" );
+
+/*********************************************************************************************************************/
+
+DFBResult
+CoreSlave_GetData(
+ CoreSlave *obj,
+ void* address,
+ u32 bytes,
+ u8 *ret_data
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ICoreSlave_Requestor__GetData( obj, address, bytes, ret_data );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreSlave_PutData(
+ CoreSlave *obj,
+ void* address,
+ u32 bytes,
+ const u8 *data
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ICoreSlave_Requestor__PutData( obj, address, bytes, data );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+/*********************************************************************************************************************/
+
+static FusionCallHandlerResult
+CoreSlave_Dispatch( int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *ptr, /* optional call parameter */
+ unsigned int length,
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ CoreDFB *obj = (CoreDFB*) ctx;
+ CoreSlaveDispatch__Dispatch( obj, caller, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+
+ return FCHR_RETURN;
+}
+
+void CoreSlave_Init_Dispatch(
+ CoreDFB *core,
+ CoreDFB *obj,
+ FusionCall *call
+)
+{
+ fusion_call_init3( call, CoreSlave_Dispatch, obj, core->world );
+}
+
+void CoreSlave_Deinit_Dispatch(
+ FusionCall *call
+)
+{
+ fusion_call_destroy( call );
+}
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+ICoreSlave_Requestor__GetData( CoreSlave *obj,
+ void* address,
+ u32 bytes,
+ u8 *ret_data
+)
+{
+ DFBResult ret;
+ CoreSlaveGetData *args = (CoreSlaveGetData*) alloca( sizeof(CoreSlaveGetData) );
+ CoreSlaveGetDataReturn *return_args = (CoreSlaveGetDataReturn*) alloca( sizeof(CoreSlaveGetDataReturn) + bytes * sizeof(u8) );
+
+ D_DEBUG_AT( DirectFB_CoreSlave, "ICoreSlave_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->address = address;
+ args->bytes = bytes;
+
+ ret = (DFBResult) CoreSlave_Call( obj, FCEF_NONE, _CoreSlave_GetData, args, sizeof(CoreSlaveGetData), return_args, sizeof(CoreSlaveGetDataReturn) + bytes * sizeof(u8), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreSlave_Call( CoreSlave_GetData ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreSlave_GetData failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ direct_memcpy( ret_data, (char*) (return_args + 1), args->bytes * sizeof(u8) );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ICoreSlave_Requestor__PutData( CoreSlave *obj,
+ void* address,
+ u32 bytes,
+ const u8 *data
+)
+{
+ DFBResult ret;
+ CoreSlavePutData *args = (CoreSlavePutData*) alloca( sizeof(CoreSlavePutData) + bytes * sizeof(u8) );
+ CoreSlavePutDataReturn *return_args = (CoreSlavePutDataReturn*) alloca( sizeof(CoreSlavePutDataReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreSlave, "ICoreSlave_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->address = address;
+ args->bytes = bytes;
+ direct_memcpy( (char*) (args + 1), data, bytes * sizeof(u8) );
+
+ ret = (DFBResult) CoreSlave_Call( obj, FCEF_NONE, _CoreSlave_PutData, args, sizeof(CoreSlavePutData) + bytes * sizeof(u8), return_args, sizeof(CoreSlavePutDataReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreSlave_Call( CoreSlave_PutData ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreSlave_PutData failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+/*********************************************************************************************************************/
+
+static DFBResult
+__CoreSlaveDispatch__Dispatch( CoreDFB *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_UNUSED
+ DFBResult ret;
+
+
+ switch (method) {
+ case _CoreSlave_GetData: {
+ D_UNUSED
+ CoreSlaveGetData *args = (CoreSlaveGetData *) ptr;
+ CoreSlaveGetDataReturn *return_args = (CoreSlaveGetDataReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreSlave, "=-> CoreSlave_GetData\n" );
+
+ return_args->result = ICoreSlave_Real__GetData( obj, args->address, args->bytes, (u8*) ((char*)(return_args + 1)) );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreSlaveGetDataReturn) + args->bytes * sizeof(u8);
+
+ return DFB_OK;
+ }
+
+ case _CoreSlave_PutData: {
+ D_UNUSED
+ CoreSlavePutData *args = (CoreSlavePutData *) ptr;
+ CoreSlavePutDataReturn *return_args = (CoreSlavePutDataReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreSlave, "=-> CoreSlave_PutData\n" );
+
+ return_args->result = ICoreSlave_Real__PutData( obj, args->address, args->bytes, (u8*) ((char*)(args + 1)) );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreSlavePutDataReturn);
+
+ return DFB_OK;
+ }
+
+ }
+
+ return DFB_NOSUCHMETHOD;
+}
+/*********************************************************************************************************************/
+
+DFBResult
+CoreSlaveDispatch__Dispatch( CoreDFB *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreSlave, "CoreSlaveDispatch::%s( %p )\n", __FUNCTION__, obj );
+
+ Core_PushIdentity( caller );
+
+ ret = __CoreSlaveDispatch__Dispatch( obj, caller, method, ptr, length, ret_ptr, ret_size, ret_length );
+
+ Core_PopIdentity();
+
+ return ret;
+}
diff --git a/src/core/CoreSlave.h b/src/core/CoreSlave.h
new file mode 100644
index 0000000..713ba5d
--- /dev/null
+++ b/src/core/CoreSlave.h
@@ -0,0 +1,143 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef ___CoreSlave__H___
+#define ___CoreSlave__H___
+
+#include <core/CoreSlave_includes.h>
+
+/**********************************************************************************************************************
+ * CoreSlave
+ */
+
+#ifdef __cplusplus
+#include <core/Interface.h>
+
+extern "C" {
+#endif
+
+
+DFBResult CoreSlave_GetData(
+ CoreSlave *obj,
+ void* address,
+ u32 bytes,
+ u8 *ret_data);
+
+DFBResult CoreSlave_PutData(
+ CoreSlave *obj,
+ void* address,
+ u32 bytes,
+ const u8 *data);
+
+
+void CoreSlave_Init_Dispatch(
+ CoreDFB *core,
+ CoreDFB *obj,
+ FusionCall *call
+);
+
+void CoreSlave_Deinit_Dispatch(
+ FusionCall *call
+);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+/*
+ * CoreSlave Calls
+ */
+typedef enum {
+ _CoreSlave_GetData = 1,
+ _CoreSlave_PutData = 2,
+} CoreSlaveCall;
+
+/*
+ * CoreSlave_GetData
+ */
+typedef struct {
+ void* address;
+ u32 bytes;
+} CoreSlaveGetData;
+
+typedef struct {
+ DFBResult result;
+ /* 'bytes' u8 follow (data) */
+} CoreSlaveGetDataReturn;
+
+
+/*
+ * CoreSlave_PutData
+ */
+typedef struct {
+ void* address;
+ u32 bytes;
+ /* 'bytes' u8 follow (data) */
+} CoreSlavePutData;
+
+typedef struct {
+ DFBResult result;
+} CoreSlavePutDataReturn;
+
+
+DFBResult ICoreSlave_Real__GetData( CoreDFB *obj,
+ void* address,
+ u32 bytes,
+ u8 *ret_data );
+
+DFBResult ICoreSlave_Real__PutData( CoreDFB *obj,
+ void* address,
+ u32 bytes,
+ const u8 *data );
+
+DFBResult ICoreSlave_Requestor__GetData( CoreSlave *obj,
+ void* address,
+ u32 bytes,
+ u8 *ret_data );
+
+DFBResult ICoreSlave_Requestor__PutData( CoreSlave *obj,
+ void* address,
+ u32 bytes,
+ const u8 *data );
+
+
+DFBResult CoreSlaveDispatch__Dispatch( CoreDFB *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
+
+#endif
diff --git a/src/core/CoreSlave_includes.h b/src/core/CoreSlave_includes.h
new file mode 100644
index 0000000..4a991db
--- /dev/null
+++ b/src/core/CoreSlave_includes.h
@@ -0,0 +1,37 @@
+#ifndef __CORESLAVE_INCLUDES_H__
+#define __CORESLAVE_INCLUDES_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <directfb.h>
+
+#include <fusion/call.h>
+
+#include <core/coretypes.h>
+
+
+typedef struct {
+ FusionCall call;
+} CoreSlave;
+
+static __inline__ DirectResult
+CoreSlave_Call( CoreSlave *slave,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ return fusion_call_execute3( &slave->call, flags, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
diff --git a/src/core/CoreSlave_real.c b/src/core/CoreSlave_real.c
new file mode 100644
index 0000000..e5e821c
--- /dev/null
+++ b/src/core/CoreSlave_real.c
@@ -0,0 +1,86 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <core/CoreSlave.h>
+
+#include <directfb.h>
+
+#include <direct/debug.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <core/core.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreSlave, "DirectFB/CoreSlave", "DirectFB Core Slave" );
+
+/*********************************************************************************************************************/
+
+DFBResult
+ICoreSlave_Real__GetData( CoreDFB *obj,
+ void* address,
+ u32 bytes,
+ u8 *ret_data
+)
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreSlave, "ICoreSlave_Real::%s( from %lu, address %p, bytes %u )\n",
+ __FUNCTION__, Core_GetIdentity(), address, bytes );
+
+ ret = dfb_core_memory_permissions_check( core_dfb, CMPF_READ, address, bytes );
+ if (ret)
+ return ret;
+
+ direct_memcpy( ret_data, address, bytes );
+
+ return DFB_OK;
+}
+
+DFBResult
+ICoreSlave_Real__PutData( CoreDFB *obj,
+ void* address,
+ u32 bytes,
+ const u8 *data
+)
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreSlave, "ICoreSlave_Real::%s( from %lu, address %p, bytes %u )\n",
+ __FUNCTION__, Core_GetIdentity(), address, bytes );
+
+ ret = dfb_core_memory_permissions_check( core_dfb, CMPF_WRITE, address, bytes );
+ if (ret)
+ return ret;
+
+ direct_memcpy( address, data, bytes );
+
+ return DFB_OK;
+}
+
diff --git a/src/core/CoreSurface.c b/src/core/CoreSurface.c
new file mode 100644
index 0000000..159fad1
--- /dev/null
+++ b/src/core/CoreSurface.c
@@ -0,0 +1,1049 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreSurface.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+#include <core/CoreDFB_CallMode.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreSurface, "DirectFB/CoreSurface", "DirectFB CoreSurface" );
+
+/*********************************************************************************************************************/
+
+DFBResult
+CoreSurface_SetConfig(
+ CoreSurface *obj,
+ const CoreSurfaceConfig *config
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ISurface_Real__SetConfig( obj, config );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ISurface_Requestor__SetConfig( obj, config );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreSurface_Flip(
+ CoreSurface *obj,
+ bool swap
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ISurface_Real__Flip( obj, swap );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ISurface_Requestor__Flip( obj, swap );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreSurface_GetPalette(
+ CoreSurface *obj,
+ CorePalette **ret_palette
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ISurface_Real__GetPalette( obj, ret_palette );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ISurface_Requestor__GetPalette( obj, ret_palette );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreSurface_SetPalette(
+ CoreSurface *obj,
+ CorePalette *palette
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ISurface_Real__SetPalette( obj, palette );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ISurface_Requestor__SetPalette( obj, palette );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreSurface_SetAlphaRamp(
+ CoreSurface *obj,
+ u8 a0,
+ u8 a1,
+ u8 a2,
+ u8 a3
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ISurface_Real__SetAlphaRamp( obj, a0, a1, a2, a3 );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ISurface_Requestor__SetAlphaRamp( obj, a0, a1, a2, a3 );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreSurface_SetField(
+ CoreSurface *obj,
+ s32 field
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ISurface_Real__SetField( obj, field );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ISurface_Requestor__SetField( obj, field );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreSurface_PreLockBuffer(
+ CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access,
+ CoreSurfaceAllocation **ret_allocation
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ISurface_Real__PreLockBuffer( obj, buffer, accessor, access, ret_allocation );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ISurface_Requestor__PreLockBuffer( obj, buffer, accessor, access, ret_allocation );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreSurface_PreLockBuffer2(
+ CoreSurface *obj,
+ CoreSurfaceBufferRole role,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access,
+ bool lock,
+ CoreSurfaceAllocation **ret_allocation
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ISurface_Real__PreLockBuffer2( obj, role, accessor, access, lock, ret_allocation );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ISurface_Requestor__PreLockBuffer2( obj, role, accessor, access, lock, ret_allocation );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreSurface_PreReadBuffer(
+ CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ const DFBRectangle *rect,
+ CoreSurfaceAllocation **ret_allocation
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ISurface_Real__PreReadBuffer( obj, buffer, rect, ret_allocation );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ISurface_Requestor__PreReadBuffer( obj, buffer, rect, ret_allocation );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreSurface_PreWriteBuffer(
+ CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ const DFBRectangle *rect,
+ CoreSurfaceAllocation **ret_allocation
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = ISurface_Real__PreWriteBuffer( obj, buffer, rect, ret_allocation );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = ISurface_Requestor__PreWriteBuffer( obj, buffer, rect, ret_allocation );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+/*********************************************************************************************************************/
+
+static FusionCallHandlerResult
+CoreSurface_Dispatch( int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *ptr, /* optional call parameter */
+ unsigned int length,
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ CoreSurface *obj = (CoreSurface*) ctx;
+ CoreSurfaceDispatch__Dispatch( obj, caller, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+
+ return FCHR_RETURN;
+}
+
+void CoreSurface_Init_Dispatch(
+ CoreDFB *core,
+ CoreSurface *obj,
+ FusionCall *call
+)
+{
+ fusion_call_init3( call, CoreSurface_Dispatch, obj, core->world );
+}
+
+void CoreSurface_Deinit_Dispatch(
+ FusionCall *call
+)
+{
+ fusion_call_destroy( call );
+}
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+ISurface_Requestor__SetConfig( CoreSurface *obj,
+ const CoreSurfaceConfig *config
+)
+{
+ DFBResult ret;
+ CoreSurfaceSetConfig *args = (CoreSurfaceSetConfig*) alloca( sizeof(CoreSurfaceSetConfig) );
+ CoreSurfaceSetConfigReturn *return_args = (CoreSurfaceSetConfigReturn*) alloca( sizeof(CoreSurfaceSetConfigReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "ISurface_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ args->config = *config;
+
+ ret = (DFBResult) CoreSurface_Call( obj, FCEF_NONE, _CoreSurface_SetConfig, args, sizeof(CoreSurfaceSetConfig), return_args, sizeof(CoreSurfaceSetConfigReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreSurface_Call( CoreSurface_SetConfig ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreSurface_SetConfig failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ISurface_Requestor__Flip( CoreSurface *obj,
+ bool swap
+)
+{
+ DFBResult ret;
+ CoreSurfaceFlip *args = (CoreSurfaceFlip*) alloca( sizeof(CoreSurfaceFlip) );
+ CoreSurfaceFlipReturn *return_args = (CoreSurfaceFlipReturn*) alloca( sizeof(CoreSurfaceFlipReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "ISurface_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->swap = swap;
+
+ ret = (DFBResult) CoreSurface_Call( obj, FCEF_NONE, _CoreSurface_Flip, args, sizeof(CoreSurfaceFlip), return_args, sizeof(CoreSurfaceFlipReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreSurface_Call( CoreSurface_Flip ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreSurface_Flip failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ISurface_Requestor__GetPalette( CoreSurface *obj,
+ CorePalette **ret_palette
+)
+{
+ DFBResult ret;
+ CorePalette *palette = NULL;
+ CoreSurfaceGetPalette *args = (CoreSurfaceGetPalette*) alloca( sizeof(CoreSurfaceGetPalette) );
+ CoreSurfaceGetPaletteReturn *return_args = (CoreSurfaceGetPaletteReturn*) alloca( sizeof(CoreSurfaceGetPaletteReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "ISurface_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_palette != NULL );
+
+
+ ret = (DFBResult) CoreSurface_Call( obj, FCEF_NONE, _CoreSurface_GetPalette, args, sizeof(CoreSurfaceGetPalette), return_args, sizeof(CoreSurfaceGetPaletteReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreSurface_Call( CoreSurface_GetPalette ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreSurface_GetPalette failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CorePalette_Catch( core_dfb, return_args->palette_id, &palette );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching palette by ID %u failed!\n", __FUNCTION__, return_args->palette_id );
+ return ret;
+ }
+
+ *ret_palette = palette;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ISurface_Requestor__SetPalette( CoreSurface *obj,
+ CorePalette *palette
+)
+{
+ DFBResult ret;
+ CoreSurfaceSetPalette *args = (CoreSurfaceSetPalette*) alloca( sizeof(CoreSurfaceSetPalette) );
+ CoreSurfaceSetPaletteReturn *return_args = (CoreSurfaceSetPaletteReturn*) alloca( sizeof(CoreSurfaceSetPaletteReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "ISurface_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( palette != NULL );
+
+ args->palette_id = CorePalette_GetID( palette );
+
+ ret = (DFBResult) CoreSurface_Call( obj, FCEF_NONE, _CoreSurface_SetPalette, args, sizeof(CoreSurfaceSetPalette), return_args, sizeof(CoreSurfaceSetPaletteReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreSurface_Call( CoreSurface_SetPalette ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreSurface_SetPalette failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ISurface_Requestor__SetAlphaRamp( CoreSurface *obj,
+ u8 a0,
+ u8 a1,
+ u8 a2,
+ u8 a3
+)
+{
+ DFBResult ret;
+ CoreSurfaceSetAlphaRamp *args = (CoreSurfaceSetAlphaRamp*) alloca( sizeof(CoreSurfaceSetAlphaRamp) );
+ CoreSurfaceSetAlphaRampReturn *return_args = (CoreSurfaceSetAlphaRampReturn*) alloca( sizeof(CoreSurfaceSetAlphaRampReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "ISurface_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->a0 = a0;
+ args->a1 = a1;
+ args->a2 = a2;
+ args->a3 = a3;
+
+ ret = (DFBResult) CoreSurface_Call( obj, FCEF_NONE, _CoreSurface_SetAlphaRamp, args, sizeof(CoreSurfaceSetAlphaRamp), return_args, sizeof(CoreSurfaceSetAlphaRampReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreSurface_Call( CoreSurface_SetAlphaRamp ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreSurface_SetAlphaRamp failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ISurface_Requestor__SetField( CoreSurface *obj,
+ s32 field
+)
+{
+ DFBResult ret;
+ CoreSurfaceSetField *args = (CoreSurfaceSetField*) alloca( sizeof(CoreSurfaceSetField) );
+ CoreSurfaceSetFieldReturn *return_args = (CoreSurfaceSetFieldReturn*) alloca( sizeof(CoreSurfaceSetFieldReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "ISurface_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->field = field;
+
+ ret = (DFBResult) CoreSurface_Call( obj, FCEF_NONE, _CoreSurface_SetField, args, sizeof(CoreSurfaceSetField), return_args, sizeof(CoreSurfaceSetFieldReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreSurface_Call( CoreSurface_SetField ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreSurface_SetField failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ISurface_Requestor__PreLockBuffer( CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access,
+ CoreSurfaceAllocation **ret_allocation
+)
+{
+ DFBResult ret;
+ CoreSurfaceAllocation *allocation = NULL;
+ CoreSurfacePreLockBuffer *args = (CoreSurfacePreLockBuffer*) alloca( sizeof(CoreSurfacePreLockBuffer) );
+ CoreSurfacePreLockBufferReturn *return_args = (CoreSurfacePreLockBufferReturn*) alloca( sizeof(CoreSurfacePreLockBufferReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "ISurface_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( buffer != NULL );
+ D_ASSERT( ret_allocation != NULL );
+
+ args->buffer_id = CoreSurfaceBuffer_GetID( buffer );
+ args->accessor = accessor;
+ args->access = access;
+
+ ret = (DFBResult) CoreSurface_Call( obj, FCEF_NONE, _CoreSurface_PreLockBuffer, args, sizeof(CoreSurfacePreLockBuffer), return_args, sizeof(CoreSurfacePreLockBufferReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreSurface_Call( CoreSurface_PreLockBuffer ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreSurface_PreLockBuffer failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CoreSurfaceAllocation_Catch( core_dfb, return_args->allocation_id, &allocation );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching allocation by ID %u failed!\n", __FUNCTION__, return_args->allocation_id );
+ return ret;
+ }
+
+ *ret_allocation = allocation;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ISurface_Requestor__PreLockBuffer2( CoreSurface *obj,
+ CoreSurfaceBufferRole role,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access,
+ bool lock,
+ CoreSurfaceAllocation **ret_allocation
+)
+{
+ DFBResult ret;
+ CoreSurfaceAllocation *allocation = NULL;
+ CoreSurfacePreLockBuffer2 *args = (CoreSurfacePreLockBuffer2*) alloca( sizeof(CoreSurfacePreLockBuffer2) );
+ CoreSurfacePreLockBuffer2Return *return_args = (CoreSurfacePreLockBuffer2Return*) alloca( sizeof(CoreSurfacePreLockBuffer2Return) );
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "ISurface_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_allocation != NULL );
+
+ args->role = role;
+ args->accessor = accessor;
+ args->access = access;
+ args->lock = lock;
+
+ ret = (DFBResult) CoreSurface_Call( obj, FCEF_NONE, _CoreSurface_PreLockBuffer2, args, sizeof(CoreSurfacePreLockBuffer2), return_args, sizeof(CoreSurfacePreLockBuffer2Return), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreSurface_Call( CoreSurface_PreLockBuffer2 ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreSurface_PreLockBuffer2 failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CoreSurfaceAllocation_Catch( core_dfb, return_args->allocation_id, &allocation );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching allocation by ID %u failed!\n", __FUNCTION__, return_args->allocation_id );
+ return ret;
+ }
+
+ *ret_allocation = allocation;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ISurface_Requestor__PreReadBuffer( CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ const DFBRectangle *rect,
+ CoreSurfaceAllocation **ret_allocation
+)
+{
+ DFBResult ret;
+ CoreSurfaceAllocation *allocation = NULL;
+ CoreSurfacePreReadBuffer *args = (CoreSurfacePreReadBuffer*) alloca( sizeof(CoreSurfacePreReadBuffer) );
+ CoreSurfacePreReadBufferReturn *return_args = (CoreSurfacePreReadBufferReturn*) alloca( sizeof(CoreSurfacePreReadBufferReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "ISurface_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( buffer != NULL );
+ D_ASSERT( rect != NULL );
+ D_ASSERT( ret_allocation != NULL );
+
+ args->buffer_id = CoreSurfaceBuffer_GetID( buffer );
+ args->rect = *rect;
+
+ ret = (DFBResult) CoreSurface_Call( obj, FCEF_NONE, _CoreSurface_PreReadBuffer, args, sizeof(CoreSurfacePreReadBuffer), return_args, sizeof(CoreSurfacePreReadBufferReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreSurface_Call( CoreSurface_PreReadBuffer ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreSurface_PreReadBuffer failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CoreSurfaceAllocation_Catch( core_dfb, return_args->allocation_id, &allocation );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching allocation by ID %u failed!\n", __FUNCTION__, return_args->allocation_id );
+ return ret;
+ }
+
+ *ret_allocation = allocation;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ISurface_Requestor__PreWriteBuffer( CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ const DFBRectangle *rect,
+ CoreSurfaceAllocation **ret_allocation
+)
+{
+ DFBResult ret;
+ CoreSurfaceAllocation *allocation = NULL;
+ CoreSurfacePreWriteBuffer *args = (CoreSurfacePreWriteBuffer*) alloca( sizeof(CoreSurfacePreWriteBuffer) );
+ CoreSurfacePreWriteBufferReturn *return_args = (CoreSurfacePreWriteBufferReturn*) alloca( sizeof(CoreSurfacePreWriteBufferReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "ISurface_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( buffer != NULL );
+ D_ASSERT( rect != NULL );
+ D_ASSERT( ret_allocation != NULL );
+
+ args->buffer_id = CoreSurfaceBuffer_GetID( buffer );
+ args->rect = *rect;
+
+ ret = (DFBResult) CoreSurface_Call( obj, FCEF_NONE, _CoreSurface_PreWriteBuffer, args, sizeof(CoreSurfacePreWriteBuffer), return_args, sizeof(CoreSurfacePreWriteBufferReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreSurface_Call( CoreSurface_PreWriteBuffer ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreSurface_PreWriteBuffer failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CoreSurfaceAllocation_Catch( core_dfb, return_args->allocation_id, &allocation );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching allocation by ID %u failed!\n", __FUNCTION__, return_args->allocation_id );
+ return ret;
+ }
+
+ *ret_allocation = allocation;
+
+ return DFB_OK;
+}
+
+/*********************************************************************************************************************/
+
+static DFBResult
+__CoreSurfaceDispatch__Dispatch( CoreSurface *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_UNUSED
+ DFBResult ret;
+
+
+ switch (method) {
+ case _CoreSurface_SetConfig: {
+ D_UNUSED
+ CoreSurfaceSetConfig *args = (CoreSurfaceSetConfig *) ptr;
+ CoreSurfaceSetConfigReturn *return_args = (CoreSurfaceSetConfigReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "=-> CoreSurface_SetConfig\n" );
+
+ return_args->result = ISurface_Real__SetConfig( obj, &args->config );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreSurfaceSetConfigReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreSurface_Flip: {
+ D_UNUSED
+ CoreSurfaceFlip *args = (CoreSurfaceFlip *) ptr;
+ CoreSurfaceFlipReturn *return_args = (CoreSurfaceFlipReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "=-> CoreSurface_Flip\n" );
+
+ return_args->result = ISurface_Real__Flip( obj, args->swap );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreSurfaceFlipReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreSurface_GetPalette: {
+ CorePalette *palette = NULL;
+ D_UNUSED
+ CoreSurfaceGetPalette *args = (CoreSurfaceGetPalette *) ptr;
+ CoreSurfaceGetPaletteReturn *return_args = (CoreSurfaceGetPaletteReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "=-> CoreSurface_GetPalette\n" );
+
+ return_args->result = ISurface_Real__GetPalette( obj, &palette );
+ if (return_args->result == DFB_OK) {
+ CorePalette_Throw( palette, caller, &return_args->palette_id );
+ }
+
+ *ret_length = sizeof(CoreSurfaceGetPaletteReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreSurface_SetPalette: {
+ CorePalette *palette = NULL;
+ D_UNUSED
+ CoreSurfaceSetPalette *args = (CoreSurfaceSetPalette *) ptr;
+ CoreSurfaceSetPaletteReturn *return_args = (CoreSurfaceSetPaletteReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "=-> CoreSurface_SetPalette\n" );
+
+ ret = (DFBResult) CorePalette_Lookup( core_dfb, args->palette_id, caller, &palette );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up palette by ID %u failed!\n", __FUNCTION__, args->palette_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+
+ return_args->result = ISurface_Real__SetPalette( obj, palette );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreSurfaceSetPaletteReturn);
+
+ if (palette)
+ CorePalette_Unref( palette );
+
+ return DFB_OK;
+ }
+
+ case _CoreSurface_SetAlphaRamp: {
+ D_UNUSED
+ CoreSurfaceSetAlphaRamp *args = (CoreSurfaceSetAlphaRamp *) ptr;
+ CoreSurfaceSetAlphaRampReturn *return_args = (CoreSurfaceSetAlphaRampReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "=-> CoreSurface_SetAlphaRamp\n" );
+
+ return_args->result = ISurface_Real__SetAlphaRamp( obj, args->a0, args->a1, args->a2, args->a3 );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreSurfaceSetAlphaRampReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreSurface_SetField: {
+ D_UNUSED
+ CoreSurfaceSetField *args = (CoreSurfaceSetField *) ptr;
+ CoreSurfaceSetFieldReturn *return_args = (CoreSurfaceSetFieldReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "=-> CoreSurface_SetField\n" );
+
+ return_args->result = ISurface_Real__SetField( obj, args->field );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreSurfaceSetFieldReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreSurface_PreLockBuffer: {
+ CoreSurfaceBuffer *buffer = NULL;
+ CoreSurfaceAllocation *allocation = NULL;
+ D_UNUSED
+ CoreSurfacePreLockBuffer *args = (CoreSurfacePreLockBuffer *) ptr;
+ CoreSurfacePreLockBufferReturn *return_args = (CoreSurfacePreLockBufferReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "=-> CoreSurface_PreLockBuffer\n" );
+
+ ret = (DFBResult) CoreSurfaceBuffer_Lookup( core_dfb, args->buffer_id, caller, &buffer );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up buffer by ID %u failed!\n", __FUNCTION__, args->buffer_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+
+ return_args->result = ISurface_Real__PreLockBuffer( obj, buffer, args->accessor, args->access, &allocation );
+ if (return_args->result == DFB_OK) {
+ CoreSurfaceAllocation_Throw( allocation, caller, &return_args->allocation_id );
+ }
+
+ *ret_length = sizeof(CoreSurfacePreLockBufferReturn);
+
+ if (buffer)
+ CoreSurfaceBuffer_Unref( buffer );
+
+ return DFB_OK;
+ }
+
+ case _CoreSurface_PreLockBuffer2: {
+ CoreSurfaceAllocation *allocation = NULL;
+ D_UNUSED
+ CoreSurfacePreLockBuffer2 *args = (CoreSurfacePreLockBuffer2 *) ptr;
+ CoreSurfacePreLockBuffer2Return *return_args = (CoreSurfacePreLockBuffer2Return *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "=-> CoreSurface_PreLockBuffer2\n" );
+
+ return_args->result = ISurface_Real__PreLockBuffer2( obj, args->role, args->accessor, args->access, args->lock, &allocation );
+ if (return_args->result == DFB_OK) {
+ CoreSurfaceAllocation_Throw( allocation, caller, &return_args->allocation_id );
+ }
+
+ *ret_length = sizeof(CoreSurfacePreLockBuffer2Return);
+
+ return DFB_OK;
+ }
+
+ case _CoreSurface_PreReadBuffer: {
+ CoreSurfaceBuffer *buffer = NULL;
+ CoreSurfaceAllocation *allocation = NULL;
+ D_UNUSED
+ CoreSurfacePreReadBuffer *args = (CoreSurfacePreReadBuffer *) ptr;
+ CoreSurfacePreReadBufferReturn *return_args = (CoreSurfacePreReadBufferReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "=-> CoreSurface_PreReadBuffer\n" );
+
+ ret = (DFBResult) CoreSurfaceBuffer_Lookup( core_dfb, args->buffer_id, caller, &buffer );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up buffer by ID %u failed!\n", __FUNCTION__, args->buffer_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+
+ return_args->result = ISurface_Real__PreReadBuffer( obj, buffer, &args->rect, &allocation );
+ if (return_args->result == DFB_OK) {
+ CoreSurfaceAllocation_Throw( allocation, caller, &return_args->allocation_id );
+ }
+
+ *ret_length = sizeof(CoreSurfacePreReadBufferReturn);
+
+ if (buffer)
+ CoreSurfaceBuffer_Unref( buffer );
+
+ return DFB_OK;
+ }
+
+ case _CoreSurface_PreWriteBuffer: {
+ CoreSurfaceBuffer *buffer = NULL;
+ CoreSurfaceAllocation *allocation = NULL;
+ D_UNUSED
+ CoreSurfacePreWriteBuffer *args = (CoreSurfacePreWriteBuffer *) ptr;
+ CoreSurfacePreWriteBufferReturn *return_args = (CoreSurfacePreWriteBufferReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "=-> CoreSurface_PreWriteBuffer\n" );
+
+ ret = (DFBResult) CoreSurfaceBuffer_Lookup( core_dfb, args->buffer_id, caller, &buffer );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up buffer by ID %u failed!\n", __FUNCTION__, args->buffer_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+
+ return_args->result = ISurface_Real__PreWriteBuffer( obj, buffer, &args->rect, &allocation );
+ if (return_args->result == DFB_OK) {
+ CoreSurfaceAllocation_Throw( allocation, caller, &return_args->allocation_id );
+ }
+
+ *ret_length = sizeof(CoreSurfacePreWriteBufferReturn);
+
+ if (buffer)
+ CoreSurfaceBuffer_Unref( buffer );
+
+ return DFB_OK;
+ }
+
+ }
+
+ return DFB_NOSUCHMETHOD;
+}
+/*********************************************************************************************************************/
+
+DFBResult
+CoreSurfaceDispatch__Dispatch( CoreSurface *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "CoreSurfaceDispatch::%s( %p )\n", __FUNCTION__, obj );
+
+ Core_PushIdentity( caller );
+
+ ret = __CoreSurfaceDispatch__Dispatch( obj, caller, method, ptr, length, ret_ptr, ret_size, ret_length );
+
+ Core_PopIdentity();
+
+ return ret;
+}
diff --git a/src/core/CoreSurface.h b/src/core/CoreSurface.h
new file mode 100644
index 0000000..9e0d414
--- /dev/null
+++ b/src/core/CoreSurface.h
@@ -0,0 +1,367 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef ___CoreSurface__H___
+#define ___CoreSurface__H___
+
+#include <core/CoreSurface_includes.h>
+
+/**********************************************************************************************************************
+ * CoreSurface
+ */
+
+#ifdef __cplusplus
+#include <core/Interface.h>
+
+extern "C" {
+#endif
+
+
+DFBResult CoreSurface_SetConfig(
+ CoreSurface *obj,
+ const CoreSurfaceConfig *config);
+
+DFBResult CoreSurface_Flip(
+ CoreSurface *obj,
+ bool swap);
+
+DFBResult CoreSurface_GetPalette(
+ CoreSurface *obj,
+ CorePalette **ret_palette);
+
+DFBResult CoreSurface_SetPalette(
+ CoreSurface *obj,
+ CorePalette *palette);
+
+DFBResult CoreSurface_SetAlphaRamp(
+ CoreSurface *obj,
+ u8 a0,
+ u8 a1,
+ u8 a2,
+ u8 a3);
+
+DFBResult CoreSurface_SetField(
+ CoreSurface *obj,
+ s32 field);
+
+DFBResult CoreSurface_PreLockBuffer(
+ CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access,
+ CoreSurfaceAllocation **ret_allocation);
+
+DFBResult CoreSurface_PreLockBuffer2(
+ CoreSurface *obj,
+ CoreSurfaceBufferRole role,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access,
+ bool lock,
+ CoreSurfaceAllocation **ret_allocation);
+
+DFBResult CoreSurface_PreReadBuffer(
+ CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ const DFBRectangle *rect,
+ CoreSurfaceAllocation **ret_allocation);
+
+DFBResult CoreSurface_PreWriteBuffer(
+ CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ const DFBRectangle *rect,
+ CoreSurfaceAllocation **ret_allocation);
+
+
+void CoreSurface_Init_Dispatch(
+ CoreDFB *core,
+ CoreSurface *obj,
+ FusionCall *call
+);
+
+void CoreSurface_Deinit_Dispatch(
+ FusionCall *call
+);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+/*
+ * CoreSurface Calls
+ */
+typedef enum {
+ _CoreSurface_SetConfig = 1,
+ _CoreSurface_Flip = 2,
+ _CoreSurface_GetPalette = 3,
+ _CoreSurface_SetPalette = 4,
+ _CoreSurface_SetAlphaRamp = 5,
+ _CoreSurface_SetField = 6,
+ _CoreSurface_PreLockBuffer = 7,
+ _CoreSurface_PreLockBuffer2 = 8,
+ _CoreSurface_PreReadBuffer = 9,
+ _CoreSurface_PreWriteBuffer = 10,
+} CoreSurfaceCall;
+
+/*
+ * CoreSurface_SetConfig
+ */
+typedef struct {
+ CoreSurfaceConfig config;
+} CoreSurfaceSetConfig;
+
+typedef struct {
+ DFBResult result;
+} CoreSurfaceSetConfigReturn;
+
+
+/*
+ * CoreSurface_Flip
+ */
+typedef struct {
+ bool swap;
+} CoreSurfaceFlip;
+
+typedef struct {
+ DFBResult result;
+} CoreSurfaceFlipReturn;
+
+
+/*
+ * CoreSurface_GetPalette
+ */
+typedef struct {
+} CoreSurfaceGetPalette;
+
+typedef struct {
+ DFBResult result;
+ u32 palette_id;
+} CoreSurfaceGetPaletteReturn;
+
+
+/*
+ * CoreSurface_SetPalette
+ */
+typedef struct {
+ u32 palette_id;
+} CoreSurfaceSetPalette;
+
+typedef struct {
+ DFBResult result;
+} CoreSurfaceSetPaletteReturn;
+
+
+/*
+ * CoreSurface_SetAlphaRamp
+ */
+typedef struct {
+ u8 a0;
+ u8 a1;
+ u8 a2;
+ u8 a3;
+} CoreSurfaceSetAlphaRamp;
+
+typedef struct {
+ DFBResult result;
+} CoreSurfaceSetAlphaRampReturn;
+
+
+/*
+ * CoreSurface_SetField
+ */
+typedef struct {
+ s32 field;
+} CoreSurfaceSetField;
+
+typedef struct {
+ DFBResult result;
+} CoreSurfaceSetFieldReturn;
+
+
+/*
+ * CoreSurface_PreLockBuffer
+ */
+typedef struct {
+ u32 buffer_id;
+ CoreSurfaceAccessorID accessor;
+ CoreSurfaceAccessFlags access;
+} CoreSurfacePreLockBuffer;
+
+typedef struct {
+ DFBResult result;
+ u32 allocation_id;
+} CoreSurfacePreLockBufferReturn;
+
+
+/*
+ * CoreSurface_PreLockBuffer2
+ */
+typedef struct {
+ CoreSurfaceBufferRole role;
+ CoreSurfaceAccessorID accessor;
+ CoreSurfaceAccessFlags access;
+ bool lock;
+} CoreSurfacePreLockBuffer2;
+
+typedef struct {
+ DFBResult result;
+ u32 allocation_id;
+} CoreSurfacePreLockBuffer2Return;
+
+
+/*
+ * CoreSurface_PreReadBuffer
+ */
+typedef struct {
+ u32 buffer_id;
+ DFBRectangle rect;
+} CoreSurfacePreReadBuffer;
+
+typedef struct {
+ DFBResult result;
+ u32 allocation_id;
+} CoreSurfacePreReadBufferReturn;
+
+
+/*
+ * CoreSurface_PreWriteBuffer
+ */
+typedef struct {
+ u32 buffer_id;
+ DFBRectangle rect;
+} CoreSurfacePreWriteBuffer;
+
+typedef struct {
+ DFBResult result;
+ u32 allocation_id;
+} CoreSurfacePreWriteBufferReturn;
+
+
+DFBResult ISurface_Real__SetConfig( CoreSurface *obj,
+ const CoreSurfaceConfig *config );
+
+DFBResult ISurface_Real__Flip( CoreSurface *obj,
+ bool swap );
+
+DFBResult ISurface_Real__GetPalette( CoreSurface *obj,
+ CorePalette **ret_palette );
+
+DFBResult ISurface_Real__SetPalette( CoreSurface *obj,
+ CorePalette *palette );
+
+DFBResult ISurface_Real__SetAlphaRamp( CoreSurface *obj,
+ u8 a0,
+ u8 a1,
+ u8 a2,
+ u8 a3 );
+
+DFBResult ISurface_Real__SetField( CoreSurface *obj,
+ s32 field );
+
+DFBResult ISurface_Real__PreLockBuffer( CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access,
+ CoreSurfaceAllocation **ret_allocation );
+
+DFBResult ISurface_Real__PreLockBuffer2( CoreSurface *obj,
+ CoreSurfaceBufferRole role,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access,
+ bool lock,
+ CoreSurfaceAllocation **ret_allocation );
+
+DFBResult ISurface_Real__PreReadBuffer( CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ const DFBRectangle *rect,
+ CoreSurfaceAllocation **ret_allocation );
+
+DFBResult ISurface_Real__PreWriteBuffer( CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ const DFBRectangle *rect,
+ CoreSurfaceAllocation **ret_allocation );
+
+DFBResult ISurface_Requestor__SetConfig( CoreSurface *obj,
+ const CoreSurfaceConfig *config );
+
+DFBResult ISurface_Requestor__Flip( CoreSurface *obj,
+ bool swap );
+
+DFBResult ISurface_Requestor__GetPalette( CoreSurface *obj,
+ CorePalette **ret_palette );
+
+DFBResult ISurface_Requestor__SetPalette( CoreSurface *obj,
+ CorePalette *palette );
+
+DFBResult ISurface_Requestor__SetAlphaRamp( CoreSurface *obj,
+ u8 a0,
+ u8 a1,
+ u8 a2,
+ u8 a3 );
+
+DFBResult ISurface_Requestor__SetField( CoreSurface *obj,
+ s32 field );
+
+DFBResult ISurface_Requestor__PreLockBuffer( CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access,
+ CoreSurfaceAllocation **ret_allocation );
+
+DFBResult ISurface_Requestor__PreLockBuffer2( CoreSurface *obj,
+ CoreSurfaceBufferRole role,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access,
+ bool lock,
+ CoreSurfaceAllocation **ret_allocation );
+
+DFBResult ISurface_Requestor__PreReadBuffer( CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ const DFBRectangle *rect,
+ CoreSurfaceAllocation **ret_allocation );
+
+DFBResult ISurface_Requestor__PreWriteBuffer( CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ const DFBRectangle *rect,
+ CoreSurfaceAllocation **ret_allocation );
+
+
+DFBResult CoreSurfaceDispatch__Dispatch( CoreSurface *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
+
+#endif
diff --git a/src/core/CoreSurface_includes.h b/src/core/CoreSurface_includes.h
new file mode 100644
index 0000000..5d6beb2
--- /dev/null
+++ b/src/core/CoreSurface_includes.h
@@ -0,0 +1,28 @@
+#include "CoreDFB_includes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include <core/surface.h>
+#include <core/surface_buffer.h>
+
+
+static __inline__ DirectResult
+CoreSurface_Call( CoreSurface *surface,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ return fusion_call_execute3( &surface->call, flags, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/core/CoreSurface_real.c b/src/core/CoreSurface_real.c
new file mode 100644
index 0000000..7f1d525
--- /dev/null
+++ b/src/core/CoreSurface_real.c
@@ -0,0 +1,536 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreSurface.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/messages.h>
+
+#include <core/core.h>
+#include <core/surface.h>
+#include <core/surface_pool.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreSurface, "DirectFB/CoreSurface", "DirectFB CoreSurface" );
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+ISurface_Real__SetConfig(
+ CoreSurface *obj,
+ const CoreSurfaceConfig *config
+ )
+{
+ D_DEBUG_AT( DirectFB_CoreSurface, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ return dfb_surface_reconfig( obj, config );
+}
+
+
+DFBResult
+ISurface_Real__Flip(
+ CoreSurface *obj,
+ bool swap
+ )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "%s()\n", __FUNCTION__ );
+
+ dfb_surface_lock( obj );
+
+ ret = dfb_surface_flip( obj, swap );
+
+ dfb_surface_unlock( obj );
+
+ return ret;
+}
+
+
+DFBResult
+ISurface_Real__GetPalette(
+ CoreSurface *obj,
+ CorePalette **ret_palette
+ )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_palette != NULL );
+
+ if (!obj->palette)
+ return DFB_UNSUPPORTED;
+
+ ret = (DFBResult) dfb_palette_ref( obj->palette );
+ if (ret)
+ return ret;
+
+ *ret_palette = obj->palette;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+ISurface_Real__SetPalette(
+ CoreSurface *obj,
+ CorePalette *palette
+ )
+{
+ D_DEBUG_AT( DirectFB_CoreSurface, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( palette != NULL );
+
+ return dfb_surface_set_palette( obj, palette );
+}
+
+
+DFBResult
+ISurface_Real__SetAlphaRamp(
+ CoreSurface *obj,
+ u8 a0,
+ u8 a1,
+ u8 a2,
+ u8 a3
+ )
+{
+ D_DEBUG_AT( DirectFB_CoreSurface, "%s()\n", __FUNCTION__ );
+
+ return dfb_surface_set_alpha_ramp( obj, a0, a1, a2, a3 );
+}
+
+
+DFBResult
+ISurface_Real__SetField(
+ CoreSurface *obj,
+ s32 field
+ )
+{
+ D_DEBUG_AT( DirectFB_CoreSurface, "%s()\n", __FUNCTION__ );
+
+ return dfb_surface_set_field( obj, field );
+}
+
+
+static void
+manage_interlocks( CoreSurfaceAllocation *allocation,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access )
+{
+ int locks;
+
+ locks = dfb_surface_allocation_locks( allocation );
+
+#if 1
+ /*
+ * Manage access interlocks.
+ *
+ * SOON FIXME: Clearing flags only when not locked yet. Otherwise nested GPU/CPU locks are a problem.
+ */
+ /* Software read/write access... */
+ if (accessor == CSAID_CPU) {
+ /* If hardware has written or is writing... */
+ if (allocation->accessed[CSAID_GPU] & CSAF_WRITE) {
+ /* ...wait for the operation to finish. */
+ dfb_gfxcard_sync(); /* TODO: wait for serial instead */
+
+ /* Software read access after hardware write requires flush of the (bus) read cache. */
+ dfb_gfxcard_flush_read_cache();
+
+ if (!locks) {
+ /* ...clear hardware write access. */
+ allocation->accessed[CSAID_GPU] = (CoreSurfaceAccessFlags)(allocation->accessed[CSAID_GPU] & ~CSAF_WRITE);
+
+ /* ...clear hardware read access (to avoid syncing twice). */
+ allocation->accessed[CSAID_GPU] = (CoreSurfaceAccessFlags)(allocation->accessed[CSAID_GPU] & ~CSAF_READ);
+ }
+ }
+
+ /* Software write access... */
+ if (access & CSAF_WRITE) {
+ /* ...if hardware has (to) read... */
+ if (allocation->accessed[CSAID_GPU] & CSAF_READ) {
+ /* ...wait for the operation to finish. */
+ dfb_gfxcard_sync(); /* TODO: wait for serial instead */
+
+ /* ...clear hardware read access. */
+ if (!locks)
+ allocation->accessed[CSAID_GPU] = (CoreSurfaceAccessFlags)(allocation->accessed[CSAID_GPU] & ~CSAF_READ);
+ }
+ }
+ }
+
+ /* Hardware read access... */
+ if (accessor == CSAID_GPU && access & CSAF_READ) {
+ /* ...if software has written before... */
+ if (allocation->accessed[CSAID_CPU] & CSAF_WRITE) {
+ /* ...flush texture cache. */
+ dfb_gfxcard_flush_texture_cache();
+
+ /* ...clear software write access. */
+ if (!locks)
+ allocation->accessed[CSAID_CPU] = (CoreSurfaceAccessFlags)(allocation->accessed[CSAID_CPU] & ~CSAF_WRITE);
+ }
+ }
+
+ if (! D_FLAGS_ARE_SET( allocation->accessed[accessor], access )) {
+ /* FIXME: surface_enter */
+ }
+#endif
+
+ /* Collect... */
+ allocation->accessed[accessor] = (CoreSurfaceAccessFlags)(allocation->accessed[accessor] | access);
+}
+
+DFBResult
+ISurface_Real__PreLockBuffer(
+ CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access,
+ CoreSurfaceAllocation **ret_allocation
+ )
+{
+ DFBResult ret;
+ CoreSurfaceAllocation *allocation;
+ CoreSurface *surface = obj;
+ bool allocated = false;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ dfb_surface_lock( surface );
+
+ if (!buffer->surface) {
+ dfb_surface_unlock( surface );
+ return DFB_BUFFEREMPTY;
+ }
+
+ /* Look for allocation with proper access. */
+ allocation = dfb_surface_buffer_find_allocation( buffer, accessor, access, true );
+ if (!allocation) {
+ /* If no allocation exists, create one. */
+ ret = dfb_surface_pools_allocate( buffer, accessor, access, &allocation );
+ if (ret) {
+ if (ret != DFB_NOVIDEOMEMORY && ret != DFB_UNSUPPORTED)
+ D_DERROR( ret, "Core/SurfBuffer: Buffer allocation failed!\n" );
+
+ goto out;
+ }
+
+ allocated = true;
+ }
+
+ CORE_SURFACE_ALLOCATION_ASSERT( allocation );
+
+ /* Synchronize with other allocations. */
+ ret = dfb_surface_allocation_update( allocation, access );
+ if (ret) {
+ /* Destroy if newly created. */
+ if (allocated)
+ dfb_surface_allocation_decouple( allocation );
+ goto out;
+ }
+
+ ret = dfb_surface_pool_prelock( allocation->pool, allocation, accessor, access );
+ if (ret) {
+ /* Destroy if newly created. */
+ if (allocated)
+ dfb_surface_allocation_decouple( allocation );
+ goto out;
+ }
+
+ manage_interlocks( allocation, accessor, access );
+
+ dfb_surface_allocation_ref( allocation );
+
+ *ret_allocation = allocation;
+
+out:
+ dfb_surface_unlock( surface );
+
+ return ret;
+}
+
+DFBResult
+ISurface_Real__PreLockBuffer2(
+ CoreSurface *obj,
+ CoreSurfaceBufferRole role,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access,
+ bool lock,
+ CoreSurfaceAllocation **ret_allocation
+ )
+{
+ DFBResult ret;
+ CoreSurfaceBuffer *buffer;
+ CoreSurfaceAllocation *allocation;
+ CoreSurface *surface = obj;
+ bool allocated = false;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "%s( surface %p, role %d, accessor 0x%02x, access 0x%02x, %slock )\n",
+ __FUNCTION__, surface, role, accessor, access, lock ? "" : "no " );
+
+ ret = (DFBResult) dfb_surface_lock( surface );
+ if (ret)
+ return ret;
+
+ if (surface->num_buffers < 1) {
+ dfb_surface_unlock( surface );
+ return DFB_BUFFEREMPTY;
+ }
+
+ buffer = dfb_surface_get_buffer( surface, role );
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ D_DEBUG_AT( DirectFB_CoreSurface, " -> buffer %p\n", buffer );
+
+ if (!lock && access & CSAF_READ) {
+ if (fusion_vector_is_empty( &buffer->allocs )) {
+ dfb_surface_unlock( surface );
+ return DFB_NOALLOCATION;
+ }
+ }
+
+ /* Look for allocation with proper access. */
+ allocation = dfb_surface_buffer_find_allocation( buffer, accessor, access, lock );
+ if (!allocation) {
+ /* If no allocation exists, create one. */
+ ret = dfb_surface_pools_allocate( buffer, accessor, access, &allocation );
+ if (ret) {
+ if (ret != DFB_NOVIDEOMEMORY && ret != DFB_UNSUPPORTED)
+ D_DERROR( ret, "Core/SurfBuffer: Buffer allocation failed!\n" );
+
+ goto out;
+ }
+
+ allocated = true;
+ }
+
+ CORE_SURFACE_ALLOCATION_ASSERT( allocation );
+
+ /* Synchronize with other allocations. */
+ ret = dfb_surface_allocation_update( allocation, access );
+ if (ret) {
+ /* Destroy if newly created. */
+ if (allocated)
+ dfb_surface_allocation_decouple( allocation );
+ goto out;
+ }
+
+ if (!lock) {
+ if (access & CSAF_WRITE) {
+ if (!(allocation->pool->desc.caps & CSPCAPS_WRITE))
+ lock = true;
+ }
+ else if (access & CSAF_READ) {
+ if (!(allocation->pool->desc.caps & CSPCAPS_READ))
+ lock = true;
+ }
+ }
+
+ if (lock) {
+ ret = dfb_surface_pool_prelock( allocation->pool, allocation, accessor, access );
+ if (ret) {
+ /* Destroy if newly created. */
+ if (allocated)
+ dfb_surface_allocation_decouple( allocation );
+ goto out;
+ }
+
+ manage_interlocks( allocation, accessor, access );
+ }
+
+ dfb_surface_allocation_ref( allocation );
+
+ *ret_allocation = allocation;
+
+out:
+ dfb_surface_unlock( surface );
+
+ return ret;
+}
+
+DFBResult
+ISurface_Real__PreReadBuffer(
+ CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ const DFBRectangle *rect,
+ CoreSurfaceAllocation **ret_allocation
+ )
+{
+ DFBResult ret;
+ CoreSurfaceAllocation *allocation;
+ CoreSurface *surface = obj;
+ bool allocated = false;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ dfb_surface_lock( surface );
+
+ if (!buffer->surface) {
+ dfb_surface_unlock( surface );
+ return DFB_BUFFEREMPTY;
+ }
+
+ /* Use last written allocation if it's up to date... */
+ if (buffer->written && direct_serial_check( &buffer->written->serial, &buffer->serial ))
+ allocation = buffer->written;
+ else {
+ /* ...otherwise look for allocation with CPU access. */
+ allocation = dfb_surface_buffer_find_allocation( buffer, CSAID_CPU, CSAF_READ, false );
+ if (!allocation) {
+ /* If no allocation exists, create one. */
+ ret = dfb_surface_pools_allocate( buffer, CSAID_CPU, CSAF_READ, &allocation );
+ if (ret) {
+ D_DERROR( ret, "Core/SurfBuffer: Buffer allocation failed!\n" );
+ goto out;
+ }
+
+ allocated = true;
+ }
+ }
+
+ CORE_SURFACE_ALLOCATION_ASSERT( allocation );
+
+ /* Synchronize with other allocations. */
+ ret = dfb_surface_allocation_update( allocation, CSAF_READ );
+ if (ret) {
+ /* Destroy if newly created. */
+ if (allocated)
+ dfb_surface_allocation_decouple( allocation );
+ goto out;
+ }
+
+ if (!(allocation->pool->desc.caps & CSPCAPS_READ)) {
+ ret = dfb_surface_pool_prelock( allocation->pool, allocation, CSAID_CPU, CSAF_READ );
+ if (ret) {
+ /* Destroy if newly created. */
+ if (allocated)
+ dfb_surface_allocation_decouple( allocation );
+ goto out;
+ }
+
+ manage_interlocks( allocation, CSAID_CPU, CSAF_READ );
+ }
+
+ dfb_surface_allocation_ref( allocation );
+
+ *ret_allocation = allocation;
+
+out:
+ dfb_surface_unlock( surface );
+
+ return ret;
+}
+
+DFBResult
+ISurface_Real__PreWriteBuffer(
+ CoreSurface *obj,
+ CoreSurfaceBuffer *buffer,
+ const DFBRectangle *rect,
+ CoreSurfaceAllocation **ret_allocation
+ )
+{
+ DFBResult ret;
+ CoreSurfaceAllocation *allocation;
+ CoreSurface *surface = obj;
+ bool allocated = false;
+
+ D_DEBUG_AT( DirectFB_CoreSurface, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ dfb_surface_lock( surface );
+
+ if (!buffer->surface) {
+ dfb_surface_unlock( surface );
+ return DFB_BUFFEREMPTY;
+ }
+
+ /* Use last read allocation if it's up to date... */
+ if (buffer->read && direct_serial_check( &buffer->read->serial, &buffer->serial ))
+ allocation = buffer->read;
+ else {
+ /* ...otherwise look for allocation with CPU access. */
+ allocation = dfb_surface_buffer_find_allocation( buffer, CSAID_CPU, CSAF_WRITE, false );
+ if (!allocation) {
+ /* If no allocation exists, create one. */
+ ret = dfb_surface_pools_allocate( buffer, CSAID_CPU, CSAF_WRITE, &allocation );
+ if (ret) {
+ D_DERROR( ret, "Core/SurfBuffer: Buffer allocation failed!\n" );
+ goto out;
+ }
+
+ allocated = true;
+ }
+ }
+
+ CORE_SURFACE_ALLOCATION_ASSERT( allocation );
+
+ /* Synchronize with other allocations. */
+ ret = dfb_surface_allocation_update( allocation, CSAF_WRITE );
+ if (ret) {
+ /* Destroy if newly created. */
+ if (allocated)
+ dfb_surface_allocation_decouple( allocation );
+ goto out;
+ }
+
+ if (!(allocation->pool->desc.caps & CSPCAPS_WRITE)) {
+ ret = dfb_surface_pool_prelock( allocation->pool, allocation, CSAID_CPU, CSAF_WRITE );
+ if (ret) {
+ /* Destroy if newly created. */
+ if (allocated)
+ dfb_surface_allocation_decouple( allocation );
+ goto out;
+ }
+
+ manage_interlocks( allocation, CSAID_CPU, CSAF_WRITE );
+ }
+
+ dfb_surface_allocation_ref( allocation );
+
+ *ret_allocation = allocation;
+
+out:
+ dfb_surface_unlock( surface );
+
+ return ret;
+}
diff --git a/src/core/CoreWindow.c b/src/core/CoreWindow.c
new file mode 100644
index 0000000..67bb473
--- /dev/null
+++ b/src/core/CoreWindow.c
@@ -0,0 +1,2386 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreWindow.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+#include <core/CoreDFB_CallMode.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreWindow, "DirectFB/CoreWindow", "DirectFB CoreWindow" );
+
+/*********************************************************************************************************************/
+
+DFBResult
+CoreWindow_Repaint(
+ CoreWindow *obj,
+ const DFBRegion *left,
+ const DFBRegion *right,
+ DFBSurfaceFlipFlags flags
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__Repaint( obj, left, right, flags );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__Repaint( obj, left, right, flags );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_BeginUpdates(
+ CoreWindow *obj,
+ const DFBRegion *update
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__BeginUpdates( obj, update );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__BeginUpdates( obj, update );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_Restack(
+ CoreWindow *obj,
+ CoreWindow *relative,
+ int relation
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__Restack( obj, relative, relation );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__Restack( obj, relative, relation );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_SetConfig(
+ CoreWindow *obj,
+ const CoreWindowConfig *config,
+ const DFBInputDeviceKeySymbol *keys,
+ u32 num_keys,
+ CoreWindow *parent,
+ CoreWindowConfigFlags flags
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__SetConfig( obj, config, keys, num_keys, parent, flags );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__SetConfig( obj, config, keys, num_keys, parent, flags );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_Bind(
+ CoreWindow *obj,
+ CoreWindow *source,
+ int x,
+ int y
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__Bind( obj, source, x, y );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__Bind( obj, source, x, y );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_Unbind(
+ CoreWindow *obj,
+ CoreWindow *source
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__Unbind( obj, source );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__Unbind( obj, source );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_RequestFocus(
+ CoreWindow *obj
+
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__RequestFocus( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__RequestFocus( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_ChangeGrab(
+ CoreWindow *obj,
+ CoreWMGrabTarget target,
+ bool grab
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__ChangeGrab( obj, target, grab );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__ChangeGrab( obj, target, grab );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_GrabKey(
+ CoreWindow *obj,
+ DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__GrabKey( obj, symbol, modifiers );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__GrabKey( obj, symbol, modifiers );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_UngrabKey(
+ CoreWindow *obj,
+ DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__UngrabKey( obj, symbol, modifiers );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__UngrabKey( obj, symbol, modifiers );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_Move(
+ CoreWindow *obj,
+ int dx,
+ int dy
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__Move( obj, dx, dy );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__Move( obj, dx, dy );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_MoveTo(
+ CoreWindow *obj,
+ int x,
+ int y
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__MoveTo( obj, x, y );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__MoveTo( obj, x, y );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_Resize(
+ CoreWindow *obj,
+ int width,
+ int height
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__Resize( obj, width, height );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__Resize( obj, width, height );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_Destroy(
+ CoreWindow *obj
+
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__Destroy( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__Destroy( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_SetCursorPosition(
+ CoreWindow *obj,
+ int x,
+ int y
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__SetCursorPosition( obj, x, y );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__SetCursorPosition( obj, x, y );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_ChangeEvents(
+ CoreWindow *obj,
+ DFBWindowEventType disable,
+ DFBWindowEventType enable
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__ChangeEvents( obj, disable, enable );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__ChangeEvents( obj, disable, enable );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_ChangeOptions(
+ CoreWindow *obj,
+ DFBWindowOptions disable,
+ DFBWindowOptions enable
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__ChangeOptions( obj, disable, enable );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__ChangeOptions( obj, disable, enable );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_SetColor(
+ CoreWindow *obj,
+ const DFBColor *color
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__SetColor( obj, color );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__SetColor( obj, color );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_SetColorKey(
+ CoreWindow *obj,
+ u32 key
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__SetColorKey( obj, key );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__SetColorKey( obj, key );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_SetOpaque(
+ CoreWindow *obj,
+ const DFBRegion *opaque
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__SetOpaque( obj, opaque );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__SetOpaque( obj, opaque );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_SetOpacity(
+ CoreWindow *obj,
+ u8 opacity
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__SetOpacity( obj, opacity );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__SetOpacity( obj, opacity );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_SetStacking(
+ CoreWindow *obj,
+ DFBWindowStackingClass stacking
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__SetStacking( obj, stacking );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__SetStacking( obj, stacking );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_SetBounds(
+ CoreWindow *obj,
+ const DFBRectangle *bounds
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__SetBounds( obj, bounds );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__SetBounds( obj, bounds );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_SetKeySelection(
+ CoreWindow *obj,
+ DFBWindowKeySelection selection,
+ const DFBInputDeviceKeySymbol *keys,
+ u32 num_keys
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__SetKeySelection( obj, selection, keys, num_keys );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__SetKeySelection( obj, selection, keys, num_keys );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_SetRotation(
+ CoreWindow *obj,
+ int rotation
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__SetRotation( obj, rotation );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__SetRotation( obj, rotation );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_GetSurface(
+ CoreWindow *obj,
+ CoreSurface **ret_surface
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__GetSurface( obj, ret_surface );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__GetSurface( obj, ret_surface );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindow_SetCursorShape(
+ CoreWindow *obj,
+ CoreSurface *shape,
+ const DFBPoint *hotspot
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindow_Real__SetCursorShape( obj, shape, hotspot );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindow_Requestor__SetCursorShape( obj, shape, hotspot );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+/*********************************************************************************************************************/
+
+static FusionCallHandlerResult
+CoreWindow_Dispatch( int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *ptr, /* optional call parameter */
+ unsigned int length,
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ CoreWindow *obj = (CoreWindow*) ctx;
+ CoreWindowDispatch__Dispatch( obj, caller, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+
+ return FCHR_RETURN;
+}
+
+void CoreWindow_Init_Dispatch(
+ CoreDFB *core,
+ CoreWindow *obj,
+ FusionCall *call
+)
+{
+ fusion_call_init3( call, CoreWindow_Dispatch, obj, core->world );
+}
+
+void CoreWindow_Deinit_Dispatch(
+ FusionCall *call
+)
+{
+ fusion_call_destroy( call );
+}
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+IWindow_Requestor__Repaint( CoreWindow *obj,
+ const DFBRegion *left,
+ const DFBRegion *right,
+ DFBSurfaceFlipFlags flags
+)
+{
+ DFBResult ret;
+ CoreWindowRepaint *args = (CoreWindowRepaint*) alloca( sizeof(CoreWindowRepaint) );
+ CoreWindowRepaintReturn *return_args = (CoreWindowRepaintReturn*) alloca( sizeof(CoreWindowRepaintReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( left != NULL );
+ D_ASSERT( right != NULL );
+
+ args->left = *left;
+ args->right = *right;
+ args->flags = flags;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_Repaint, args, sizeof(CoreWindowRepaint), return_args, sizeof(CoreWindowRepaintReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_Repaint ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_Repaint failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__BeginUpdates( CoreWindow *obj,
+ const DFBRegion *update
+)
+{
+ DFBResult ret;
+ CoreWindowBeginUpdates *args = (CoreWindowBeginUpdates*) alloca( sizeof(CoreWindowBeginUpdates) );
+ CoreWindowBeginUpdatesReturn *return_args = (CoreWindowBeginUpdatesReturn*) alloca( sizeof(CoreWindowBeginUpdatesReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ if (update) {
+ args->update = *update;
+ args->update_set = true;
+ }
+ else
+ args->update_set = false;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_BeginUpdates, args, sizeof(CoreWindowBeginUpdates), return_args, sizeof(CoreWindowBeginUpdatesReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_BeginUpdates ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_BeginUpdates failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__Restack( CoreWindow *obj,
+ CoreWindow *relative,
+ int relation
+)
+{
+ DFBResult ret;
+ CoreWindowRestack *args = (CoreWindowRestack*) alloca( sizeof(CoreWindowRestack) );
+ CoreWindowRestackReturn *return_args = (CoreWindowRestackReturn*) alloca( sizeof(CoreWindowRestackReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ if (relative) {
+ args->relative_id = CoreWindow_GetID( relative );
+ args->relative_set = true;
+ }
+ else
+ args->relative_set = false;
+ args->relation = relation;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_Restack, args, sizeof(CoreWindowRestack), return_args, sizeof(CoreWindowRestackReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_Restack ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_Restack failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__SetConfig( CoreWindow *obj,
+ const CoreWindowConfig *config,
+ const DFBInputDeviceKeySymbol *keys,
+ u32 num_keys,
+ CoreWindow *parent,
+ CoreWindowConfigFlags flags
+)
+{
+ DFBResult ret;
+ CoreWindowSetConfig *args = (CoreWindowSetConfig*) alloca( sizeof(CoreWindowSetConfig) + num_keys * sizeof(DFBInputDeviceKeySymbol) );
+ CoreWindowSetConfigReturn *return_args = (CoreWindowSetConfigReturn*) alloca( sizeof(CoreWindowSetConfigReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( config != NULL );
+
+ args->config = *config;
+ args->num_keys = num_keys;
+ if (parent) {
+ args->parent_id = CoreWindow_GetID( parent );
+ args->parent_set = true;
+ }
+ else
+ args->parent_set = false;
+ args->flags = flags;
+ if (keys) {
+ direct_memcpy( (char*) (args + 1), keys, num_keys * sizeof(DFBInputDeviceKeySymbol) );
+ args->keys_set = true;
+ }
+ else {
+ args->keys_set = false;
+ keys = 0;
+ }
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_SetConfig, args, sizeof(CoreWindowSetConfig) + num_keys * sizeof(DFBInputDeviceKeySymbol), return_args, sizeof(CoreWindowSetConfigReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_SetConfig ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_SetConfig failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__Bind( CoreWindow *obj,
+ CoreWindow *source,
+ int x,
+ int y
+)
+{
+ DFBResult ret;
+ CoreWindowBind *args = (CoreWindowBind*) alloca( sizeof(CoreWindowBind) );
+ CoreWindowBindReturn *return_args = (CoreWindowBindReturn*) alloca( sizeof(CoreWindowBindReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( source != NULL );
+
+ args->source_id = CoreWindow_GetID( source );
+ args->x = x;
+ args->y = y;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_Bind, args, sizeof(CoreWindowBind), return_args, sizeof(CoreWindowBindReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_Bind ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_Bind failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__Unbind( CoreWindow *obj,
+ CoreWindow *source
+)
+{
+ DFBResult ret;
+ CoreWindowUnbind *args = (CoreWindowUnbind*) alloca( sizeof(CoreWindowUnbind) );
+ CoreWindowUnbindReturn *return_args = (CoreWindowUnbindReturn*) alloca( sizeof(CoreWindowUnbindReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( source != NULL );
+
+ args->source_id = CoreWindow_GetID( source );
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_Unbind, args, sizeof(CoreWindowUnbind), return_args, sizeof(CoreWindowUnbindReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_Unbind ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_Unbind failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__RequestFocus( CoreWindow *obj
+
+)
+{
+ DFBResult ret;
+ CoreWindowRequestFocus *args = (CoreWindowRequestFocus*) alloca( sizeof(CoreWindowRequestFocus) );
+ CoreWindowRequestFocusReturn *return_args = (CoreWindowRequestFocusReturn*) alloca( sizeof(CoreWindowRequestFocusReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_RequestFocus, args, sizeof(CoreWindowRequestFocus), return_args, sizeof(CoreWindowRequestFocusReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_RequestFocus ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_RequestFocus failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__ChangeGrab( CoreWindow *obj,
+ CoreWMGrabTarget target,
+ bool grab
+)
+{
+ DFBResult ret;
+ CoreWindowChangeGrab *args = (CoreWindowChangeGrab*) alloca( sizeof(CoreWindowChangeGrab) );
+ CoreWindowChangeGrabReturn *return_args = (CoreWindowChangeGrabReturn*) alloca( sizeof(CoreWindowChangeGrabReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->target = target;
+ args->grab = grab;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_ChangeGrab, args, sizeof(CoreWindowChangeGrab), return_args, sizeof(CoreWindowChangeGrabReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_ChangeGrab ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_ChangeGrab failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__GrabKey( CoreWindow *obj,
+ DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers
+)
+{
+ DFBResult ret;
+ CoreWindowGrabKey *args = (CoreWindowGrabKey*) alloca( sizeof(CoreWindowGrabKey) );
+ CoreWindowGrabKeyReturn *return_args = (CoreWindowGrabKeyReturn*) alloca( sizeof(CoreWindowGrabKeyReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->symbol = symbol;
+ args->modifiers = modifiers;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_GrabKey, args, sizeof(CoreWindowGrabKey), return_args, sizeof(CoreWindowGrabKeyReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_GrabKey ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_GrabKey failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__UngrabKey( CoreWindow *obj,
+ DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers
+)
+{
+ DFBResult ret;
+ CoreWindowUngrabKey *args = (CoreWindowUngrabKey*) alloca( sizeof(CoreWindowUngrabKey) );
+ CoreWindowUngrabKeyReturn *return_args = (CoreWindowUngrabKeyReturn*) alloca( sizeof(CoreWindowUngrabKeyReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->symbol = symbol;
+ args->modifiers = modifiers;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_UngrabKey, args, sizeof(CoreWindowUngrabKey), return_args, sizeof(CoreWindowUngrabKeyReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_UngrabKey ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_UngrabKey failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__Move( CoreWindow *obj,
+ int dx,
+ int dy
+)
+{
+ DFBResult ret;
+ CoreWindowMove *args = (CoreWindowMove*) alloca( sizeof(CoreWindowMove) );
+ CoreWindowMoveReturn *return_args = (CoreWindowMoveReturn*) alloca( sizeof(CoreWindowMoveReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->dx = dx;
+ args->dy = dy;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_Move, args, sizeof(CoreWindowMove), return_args, sizeof(CoreWindowMoveReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_Move ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_Move failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__MoveTo( CoreWindow *obj,
+ int x,
+ int y
+)
+{
+ DFBResult ret;
+ CoreWindowMoveTo *args = (CoreWindowMoveTo*) alloca( sizeof(CoreWindowMoveTo) );
+ CoreWindowMoveToReturn *return_args = (CoreWindowMoveToReturn*) alloca( sizeof(CoreWindowMoveToReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->x = x;
+ args->y = y;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_MoveTo, args, sizeof(CoreWindowMoveTo), return_args, sizeof(CoreWindowMoveToReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_MoveTo ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_MoveTo failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__Resize( CoreWindow *obj,
+ int width,
+ int height
+)
+{
+ DFBResult ret;
+ CoreWindowResize *args = (CoreWindowResize*) alloca( sizeof(CoreWindowResize) );
+ CoreWindowResizeReturn *return_args = (CoreWindowResizeReturn*) alloca( sizeof(CoreWindowResizeReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->width = width;
+ args->height = height;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_Resize, args, sizeof(CoreWindowResize), return_args, sizeof(CoreWindowResizeReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_Resize ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_Resize failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__Destroy( CoreWindow *obj
+
+)
+{
+ DFBResult ret;
+ CoreWindowDestroy *args = (CoreWindowDestroy*) alloca( sizeof(CoreWindowDestroy) );
+ CoreWindowDestroyReturn *return_args = (CoreWindowDestroyReturn*) alloca( sizeof(CoreWindowDestroyReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_Destroy, args, sizeof(CoreWindowDestroy), return_args, sizeof(CoreWindowDestroyReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_Destroy ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_Destroy failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__SetCursorPosition( CoreWindow *obj,
+ int x,
+ int y
+)
+{
+ DFBResult ret;
+ CoreWindowSetCursorPosition *args = (CoreWindowSetCursorPosition*) alloca( sizeof(CoreWindowSetCursorPosition) );
+ CoreWindowSetCursorPositionReturn *return_args = (CoreWindowSetCursorPositionReturn*) alloca( sizeof(CoreWindowSetCursorPositionReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->x = x;
+ args->y = y;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_SetCursorPosition, args, sizeof(CoreWindowSetCursorPosition), return_args, sizeof(CoreWindowSetCursorPositionReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_SetCursorPosition ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_SetCursorPosition failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__ChangeEvents( CoreWindow *obj,
+ DFBWindowEventType disable,
+ DFBWindowEventType enable
+)
+{
+ DFBResult ret;
+ CoreWindowChangeEvents *args = (CoreWindowChangeEvents*) alloca( sizeof(CoreWindowChangeEvents) );
+ CoreWindowChangeEventsReturn *return_args = (CoreWindowChangeEventsReturn*) alloca( sizeof(CoreWindowChangeEventsReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->disable = disable;
+ args->enable = enable;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_ChangeEvents, args, sizeof(CoreWindowChangeEvents), return_args, sizeof(CoreWindowChangeEventsReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_ChangeEvents ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_ChangeEvents failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__ChangeOptions( CoreWindow *obj,
+ DFBWindowOptions disable,
+ DFBWindowOptions enable
+)
+{
+ DFBResult ret;
+ CoreWindowChangeOptions *args = (CoreWindowChangeOptions*) alloca( sizeof(CoreWindowChangeOptions) );
+ CoreWindowChangeOptionsReturn *return_args = (CoreWindowChangeOptionsReturn*) alloca( sizeof(CoreWindowChangeOptionsReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->disable = disable;
+ args->enable = enable;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_ChangeOptions, args, sizeof(CoreWindowChangeOptions), return_args, sizeof(CoreWindowChangeOptionsReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_ChangeOptions ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_ChangeOptions failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__SetColor( CoreWindow *obj,
+ const DFBColor *color
+)
+{
+ DFBResult ret;
+ CoreWindowSetColor *args = (CoreWindowSetColor*) alloca( sizeof(CoreWindowSetColor) );
+ CoreWindowSetColorReturn *return_args = (CoreWindowSetColorReturn*) alloca( sizeof(CoreWindowSetColorReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( color != NULL );
+
+ args->color = *color;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_SetColor, args, sizeof(CoreWindowSetColor), return_args, sizeof(CoreWindowSetColorReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_SetColor ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_SetColor failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__SetColorKey( CoreWindow *obj,
+ u32 key
+)
+{
+ DFBResult ret;
+ CoreWindowSetColorKey *args = (CoreWindowSetColorKey*) alloca( sizeof(CoreWindowSetColorKey) );
+ CoreWindowSetColorKeyReturn *return_args = (CoreWindowSetColorKeyReturn*) alloca( sizeof(CoreWindowSetColorKeyReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->key = key;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_SetColorKey, args, sizeof(CoreWindowSetColorKey), return_args, sizeof(CoreWindowSetColorKeyReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_SetColorKey ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_SetColorKey failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__SetOpaque( CoreWindow *obj,
+ const DFBRegion *opaque
+)
+{
+ DFBResult ret;
+ CoreWindowSetOpaque *args = (CoreWindowSetOpaque*) alloca( sizeof(CoreWindowSetOpaque) );
+ CoreWindowSetOpaqueReturn *return_args = (CoreWindowSetOpaqueReturn*) alloca( sizeof(CoreWindowSetOpaqueReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( opaque != NULL );
+
+ args->opaque = *opaque;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_SetOpaque, args, sizeof(CoreWindowSetOpaque), return_args, sizeof(CoreWindowSetOpaqueReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_SetOpaque ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_SetOpaque failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__SetOpacity( CoreWindow *obj,
+ u8 opacity
+)
+{
+ DFBResult ret;
+ CoreWindowSetOpacity *args = (CoreWindowSetOpacity*) alloca( sizeof(CoreWindowSetOpacity) );
+ CoreWindowSetOpacityReturn *return_args = (CoreWindowSetOpacityReturn*) alloca( sizeof(CoreWindowSetOpacityReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->opacity = opacity;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_SetOpacity, args, sizeof(CoreWindowSetOpacity), return_args, sizeof(CoreWindowSetOpacityReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_SetOpacity ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_SetOpacity failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__SetStacking( CoreWindow *obj,
+ DFBWindowStackingClass stacking
+)
+{
+ DFBResult ret;
+ CoreWindowSetStacking *args = (CoreWindowSetStacking*) alloca( sizeof(CoreWindowSetStacking) );
+ CoreWindowSetStackingReturn *return_args = (CoreWindowSetStackingReturn*) alloca( sizeof(CoreWindowSetStackingReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->stacking = stacking;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_SetStacking, args, sizeof(CoreWindowSetStacking), return_args, sizeof(CoreWindowSetStackingReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_SetStacking ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_SetStacking failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__SetBounds( CoreWindow *obj,
+ const DFBRectangle *bounds
+)
+{
+ DFBResult ret;
+ CoreWindowSetBounds *args = (CoreWindowSetBounds*) alloca( sizeof(CoreWindowSetBounds) );
+ CoreWindowSetBoundsReturn *return_args = (CoreWindowSetBoundsReturn*) alloca( sizeof(CoreWindowSetBoundsReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( bounds != NULL );
+
+ args->bounds = *bounds;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_SetBounds, args, sizeof(CoreWindowSetBounds), return_args, sizeof(CoreWindowSetBoundsReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_SetBounds ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_SetBounds failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__SetKeySelection( CoreWindow *obj,
+ DFBWindowKeySelection selection,
+ const DFBInputDeviceKeySymbol *keys,
+ u32 num_keys
+)
+{
+ DFBResult ret;
+ CoreWindowSetKeySelection *args = (CoreWindowSetKeySelection*) alloca( sizeof(CoreWindowSetKeySelection) + num_keys * sizeof(DFBInputDeviceKeySymbol) );
+ CoreWindowSetKeySelectionReturn *return_args = (CoreWindowSetKeySelectionReturn*) alloca( sizeof(CoreWindowSetKeySelectionReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->selection = selection;
+ args->num_keys = num_keys;
+ if (keys) {
+ direct_memcpy( (char*) (args + 1), keys, num_keys * sizeof(DFBInputDeviceKeySymbol) );
+ args->keys_set = true;
+ }
+ else {
+ args->keys_set = false;
+ keys = 0;
+ }
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_SetKeySelection, args, sizeof(CoreWindowSetKeySelection) + num_keys * sizeof(DFBInputDeviceKeySymbol), return_args, sizeof(CoreWindowSetKeySelectionReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_SetKeySelection ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_SetKeySelection failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__SetRotation( CoreWindow *obj,
+ int rotation
+)
+{
+ DFBResult ret;
+ CoreWindowSetRotation *args = (CoreWindowSetRotation*) alloca( sizeof(CoreWindowSetRotation) );
+ CoreWindowSetRotationReturn *return_args = (CoreWindowSetRotationReturn*) alloca( sizeof(CoreWindowSetRotationReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->rotation = rotation;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_SetRotation, args, sizeof(CoreWindowSetRotation), return_args, sizeof(CoreWindowSetRotationReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_SetRotation ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_SetRotation failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__GetSurface( CoreWindow *obj,
+ CoreSurface **ret_surface
+)
+{
+ DFBResult ret;
+ CoreSurface *surface = NULL;
+ CoreWindowGetSurface *args = (CoreWindowGetSurface*) alloca( sizeof(CoreWindowGetSurface) );
+ CoreWindowGetSurfaceReturn *return_args = (CoreWindowGetSurfaceReturn*) alloca( sizeof(CoreWindowGetSurfaceReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_surface != NULL );
+
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_GetSurface, args, sizeof(CoreWindowGetSurface), return_args, sizeof(CoreWindowGetSurfaceReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_GetSurface ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_GetSurface failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ ret = (DFBResult) CoreSurface_Catch( core_dfb, return_args->surface_id, &surface );
+ if (ret) {
+ D_DERROR( ret, "%s: Catching surface by ID %u failed!\n", __FUNCTION__, return_args->surface_id );
+ return ret;
+ }
+
+ *ret_surface = surface;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindow_Requestor__SetCursorShape( CoreWindow *obj,
+ CoreSurface *shape,
+ const DFBPoint *hotspot
+)
+{
+ DFBResult ret;
+ CoreWindowSetCursorShape *args = (CoreWindowSetCursorShape*) alloca( sizeof(CoreWindowSetCursorShape) );
+ CoreWindowSetCursorShapeReturn *return_args = (CoreWindowSetCursorShapeReturn*) alloca( sizeof(CoreWindowSetCursorShapeReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "IWindow_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( hotspot != NULL );
+
+ if (shape) {
+ args->shape_id = CoreSurface_GetID( shape );
+ args->shape_set = true;
+ }
+ else
+ args->shape_set = false;
+ args->hotspot = *hotspot;
+
+ ret = (DFBResult) CoreWindow_Call( obj, FCEF_NONE, _CoreWindow_SetCursorShape, args, sizeof(CoreWindowSetCursorShape), return_args, sizeof(CoreWindowSetCursorShapeReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindow_Call( CoreWindow_SetCursorShape ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindow_SetCursorShape failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+/*********************************************************************************************************************/
+
+static DFBResult
+__CoreWindowDispatch__Dispatch( CoreWindow *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_UNUSED
+ DFBResult ret;
+
+
+ switch (method) {
+ case _CoreWindow_Repaint: {
+ D_UNUSED
+ CoreWindowRepaint *args = (CoreWindowRepaint *) ptr;
+ CoreWindowRepaintReturn *return_args = (CoreWindowRepaintReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_Repaint\n" );
+
+ return_args->result = IWindow_Real__Repaint( obj, &args->left, &args->right, args->flags );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowRepaintReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_BeginUpdates: {
+ D_UNUSED
+ CoreWindowBeginUpdates *args = (CoreWindowBeginUpdates *) ptr;
+ CoreWindowBeginUpdatesReturn *return_args = (CoreWindowBeginUpdatesReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_BeginUpdates\n" );
+
+ return_args->result = IWindow_Real__BeginUpdates( obj, args->update_set ? &args->update : NULL );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowBeginUpdatesReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_Restack: {
+ CoreWindow *relative = NULL;
+ D_UNUSED
+ CoreWindowRestack *args = (CoreWindowRestack *) ptr;
+ CoreWindowRestackReturn *return_args = (CoreWindowRestackReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_Restack\n" );
+
+ if (args->relative_set) {
+ ret = (DFBResult) CoreWindow_Lookup( core_dfb, args->relative_id, caller, &relative );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up relative by ID %u failed!\n", __FUNCTION__, args->relative_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+ }
+
+ return_args->result = IWindow_Real__Restack( obj, args->relative_set ? relative : NULL, args->relation );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowRestackReturn);
+
+ if (relative)
+ CoreWindow_Unref( relative );
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_SetConfig: {
+ CoreWindow *parent = NULL;
+ D_UNUSED
+ CoreWindowSetConfig *args = (CoreWindowSetConfig *) ptr;
+ CoreWindowSetConfigReturn *return_args = (CoreWindowSetConfigReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_SetConfig\n" );
+
+ if (args->parent_set) {
+ ret = (DFBResult) CoreWindow_Lookup( core_dfb, args->parent_id, caller, &parent );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up parent by ID %u failed!\n", __FUNCTION__, args->parent_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+ }
+
+ return_args->result = IWindow_Real__SetConfig( obj, &args->config, args->keys_set ? (DFBInputDeviceKeySymbol*) ((char*)(args + 1)) : NULL, args->num_keys, args->parent_set ? parent : NULL, args->flags );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowSetConfigReturn);
+
+ if (parent)
+ CoreWindow_Unref( parent );
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_Bind: {
+ CoreWindow *source = NULL;
+ D_UNUSED
+ CoreWindowBind *args = (CoreWindowBind *) ptr;
+ CoreWindowBindReturn *return_args = (CoreWindowBindReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_Bind\n" );
+
+ ret = (DFBResult) CoreWindow_Lookup( core_dfb, args->source_id, caller, &source );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up source by ID %u failed!\n", __FUNCTION__, args->source_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+
+ return_args->result = IWindow_Real__Bind( obj, source, args->x, args->y );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowBindReturn);
+
+ if (source)
+ CoreWindow_Unref( source );
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_Unbind: {
+ CoreWindow *source = NULL;
+ D_UNUSED
+ CoreWindowUnbind *args = (CoreWindowUnbind *) ptr;
+ CoreWindowUnbindReturn *return_args = (CoreWindowUnbindReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_Unbind\n" );
+
+ ret = (DFBResult) CoreWindow_Lookup( core_dfb, args->source_id, caller, &source );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up source by ID %u failed!\n", __FUNCTION__, args->source_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+
+ return_args->result = IWindow_Real__Unbind( obj, source );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowUnbindReturn);
+
+ if (source)
+ CoreWindow_Unref( source );
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_RequestFocus: {
+ D_UNUSED
+ CoreWindowRequestFocus *args = (CoreWindowRequestFocus *) ptr;
+ CoreWindowRequestFocusReturn *return_args = (CoreWindowRequestFocusReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_RequestFocus\n" );
+
+ return_args->result = IWindow_Real__RequestFocus( obj );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowRequestFocusReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_ChangeGrab: {
+ D_UNUSED
+ CoreWindowChangeGrab *args = (CoreWindowChangeGrab *) ptr;
+ CoreWindowChangeGrabReturn *return_args = (CoreWindowChangeGrabReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_ChangeGrab\n" );
+
+ return_args->result = IWindow_Real__ChangeGrab( obj, args->target, args->grab );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowChangeGrabReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_GrabKey: {
+ D_UNUSED
+ CoreWindowGrabKey *args = (CoreWindowGrabKey *) ptr;
+ CoreWindowGrabKeyReturn *return_args = (CoreWindowGrabKeyReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_GrabKey\n" );
+
+ return_args->result = IWindow_Real__GrabKey( obj, args->symbol, args->modifiers );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowGrabKeyReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_UngrabKey: {
+ D_UNUSED
+ CoreWindowUngrabKey *args = (CoreWindowUngrabKey *) ptr;
+ CoreWindowUngrabKeyReturn *return_args = (CoreWindowUngrabKeyReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_UngrabKey\n" );
+
+ return_args->result = IWindow_Real__UngrabKey( obj, args->symbol, args->modifiers );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowUngrabKeyReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_Move: {
+ D_UNUSED
+ CoreWindowMove *args = (CoreWindowMove *) ptr;
+ CoreWindowMoveReturn *return_args = (CoreWindowMoveReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_Move\n" );
+
+ return_args->result = IWindow_Real__Move( obj, args->dx, args->dy );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowMoveReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_MoveTo: {
+ D_UNUSED
+ CoreWindowMoveTo *args = (CoreWindowMoveTo *) ptr;
+ CoreWindowMoveToReturn *return_args = (CoreWindowMoveToReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_MoveTo\n" );
+
+ return_args->result = IWindow_Real__MoveTo( obj, args->x, args->y );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowMoveToReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_Resize: {
+ D_UNUSED
+ CoreWindowResize *args = (CoreWindowResize *) ptr;
+ CoreWindowResizeReturn *return_args = (CoreWindowResizeReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_Resize\n" );
+
+ return_args->result = IWindow_Real__Resize( obj, args->width, args->height );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowResizeReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_Destroy: {
+ D_UNUSED
+ CoreWindowDestroy *args = (CoreWindowDestroy *) ptr;
+ CoreWindowDestroyReturn *return_args = (CoreWindowDestroyReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_Destroy\n" );
+
+ return_args->result = IWindow_Real__Destroy( obj );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowDestroyReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_SetCursorPosition: {
+ D_UNUSED
+ CoreWindowSetCursorPosition *args = (CoreWindowSetCursorPosition *) ptr;
+ CoreWindowSetCursorPositionReturn *return_args = (CoreWindowSetCursorPositionReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_SetCursorPosition\n" );
+
+ return_args->result = IWindow_Real__SetCursorPosition( obj, args->x, args->y );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowSetCursorPositionReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_ChangeEvents: {
+ D_UNUSED
+ CoreWindowChangeEvents *args = (CoreWindowChangeEvents *) ptr;
+ CoreWindowChangeEventsReturn *return_args = (CoreWindowChangeEventsReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_ChangeEvents\n" );
+
+ return_args->result = IWindow_Real__ChangeEvents( obj, args->disable, args->enable );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowChangeEventsReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_ChangeOptions: {
+ D_UNUSED
+ CoreWindowChangeOptions *args = (CoreWindowChangeOptions *) ptr;
+ CoreWindowChangeOptionsReturn *return_args = (CoreWindowChangeOptionsReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_ChangeOptions\n" );
+
+ return_args->result = IWindow_Real__ChangeOptions( obj, args->disable, args->enable );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowChangeOptionsReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_SetColor: {
+ D_UNUSED
+ CoreWindowSetColor *args = (CoreWindowSetColor *) ptr;
+ CoreWindowSetColorReturn *return_args = (CoreWindowSetColorReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_SetColor\n" );
+
+ return_args->result = IWindow_Real__SetColor( obj, &args->color );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowSetColorReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_SetColorKey: {
+ D_UNUSED
+ CoreWindowSetColorKey *args = (CoreWindowSetColorKey *) ptr;
+ CoreWindowSetColorKeyReturn *return_args = (CoreWindowSetColorKeyReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_SetColorKey\n" );
+
+ return_args->result = IWindow_Real__SetColorKey( obj, args->key );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowSetColorKeyReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_SetOpaque: {
+ D_UNUSED
+ CoreWindowSetOpaque *args = (CoreWindowSetOpaque *) ptr;
+ CoreWindowSetOpaqueReturn *return_args = (CoreWindowSetOpaqueReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_SetOpaque\n" );
+
+ return_args->result = IWindow_Real__SetOpaque( obj, &args->opaque );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowSetOpaqueReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_SetOpacity: {
+ D_UNUSED
+ CoreWindowSetOpacity *args = (CoreWindowSetOpacity *) ptr;
+ CoreWindowSetOpacityReturn *return_args = (CoreWindowSetOpacityReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_SetOpacity\n" );
+
+ return_args->result = IWindow_Real__SetOpacity( obj, args->opacity );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowSetOpacityReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_SetStacking: {
+ D_UNUSED
+ CoreWindowSetStacking *args = (CoreWindowSetStacking *) ptr;
+ CoreWindowSetStackingReturn *return_args = (CoreWindowSetStackingReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_SetStacking\n" );
+
+ return_args->result = IWindow_Real__SetStacking( obj, args->stacking );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowSetStackingReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_SetBounds: {
+ D_UNUSED
+ CoreWindowSetBounds *args = (CoreWindowSetBounds *) ptr;
+ CoreWindowSetBoundsReturn *return_args = (CoreWindowSetBoundsReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_SetBounds\n" );
+
+ return_args->result = IWindow_Real__SetBounds( obj, &args->bounds );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowSetBoundsReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_SetKeySelection: {
+ D_UNUSED
+ CoreWindowSetKeySelection *args = (CoreWindowSetKeySelection *) ptr;
+ CoreWindowSetKeySelectionReturn *return_args = (CoreWindowSetKeySelectionReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_SetKeySelection\n" );
+
+ return_args->result = IWindow_Real__SetKeySelection( obj, args->selection, args->keys_set ? (DFBInputDeviceKeySymbol*) ((char*)(args + 1)) : NULL, args->num_keys );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowSetKeySelectionReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_SetRotation: {
+ D_UNUSED
+ CoreWindowSetRotation *args = (CoreWindowSetRotation *) ptr;
+ CoreWindowSetRotationReturn *return_args = (CoreWindowSetRotationReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_SetRotation\n" );
+
+ return_args->result = IWindow_Real__SetRotation( obj, args->rotation );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowSetRotationReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_GetSurface: {
+ CoreSurface *surface = NULL;
+ D_UNUSED
+ CoreWindowGetSurface *args = (CoreWindowGetSurface *) ptr;
+ CoreWindowGetSurfaceReturn *return_args = (CoreWindowGetSurfaceReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_GetSurface\n" );
+
+ return_args->result = IWindow_Real__GetSurface( obj, &surface );
+ if (return_args->result == DFB_OK) {
+ CoreSurface_Throw( surface, caller, &return_args->surface_id );
+ }
+
+ *ret_length = sizeof(CoreWindowGetSurfaceReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindow_SetCursorShape: {
+ CoreSurface *shape = NULL;
+ D_UNUSED
+ CoreWindowSetCursorShape *args = (CoreWindowSetCursorShape *) ptr;
+ CoreWindowSetCursorShapeReturn *return_args = (CoreWindowSetCursorShapeReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "=-> CoreWindow_SetCursorShape\n" );
+
+ if (args->shape_set) {
+ ret = (DFBResult) CoreSurface_Lookup( core_dfb, args->shape_id, caller, &shape );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up shape by ID %u failed!\n", __FUNCTION__, args->shape_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+ }
+
+ return_args->result = IWindow_Real__SetCursorShape( obj, args->shape_set ? shape : NULL, &args->hotspot );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowSetCursorShapeReturn);
+
+ if (shape)
+ CoreSurface_Unref( shape );
+
+ return DFB_OK;
+ }
+
+ }
+
+ return DFB_NOSUCHMETHOD;
+}
+/*********************************************************************************************************************/
+
+DFBResult
+CoreWindowDispatch__Dispatch( CoreWindow *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreWindow, "CoreWindowDispatch::%s( %p )\n", __FUNCTION__, obj );
+
+ Core_PushIdentity( caller );
+
+ ret = __CoreWindowDispatch__Dispatch( obj, caller, method, ptr, length, ret_ptr, ret_size, ret_length );
+
+ Core_PopIdentity();
+
+ return ret;
+}
diff --git a/src/core/CoreWindow.h b/src/core/CoreWindow.h
new file mode 100644
index 0000000..2d18f19
--- /dev/null
+++ b/src/core/CoreWindow.h
@@ -0,0 +1,790 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef ___CoreWindow__H___
+#define ___CoreWindow__H___
+
+#include <core/CoreWindow_includes.h>
+
+/**********************************************************************************************************************
+ * CoreWindow
+ */
+
+#ifdef __cplusplus
+#include <core/Interface.h>
+
+extern "C" {
+#endif
+
+
+DFBResult CoreWindow_Repaint(
+ CoreWindow *obj,
+ const DFBRegion *left,
+ const DFBRegion *right,
+ DFBSurfaceFlipFlags flags);
+
+DFBResult CoreWindow_BeginUpdates(
+ CoreWindow *obj,
+ const DFBRegion *update);
+
+DFBResult CoreWindow_Restack(
+ CoreWindow *obj,
+ CoreWindow *relative,
+ int relation);
+
+DFBResult CoreWindow_SetConfig(
+ CoreWindow *obj,
+ const CoreWindowConfig *config,
+ const DFBInputDeviceKeySymbol *keys,
+ u32 num_keys,
+ CoreWindow *parent,
+ CoreWindowConfigFlags flags);
+
+DFBResult CoreWindow_Bind(
+ CoreWindow *obj,
+ CoreWindow *source,
+ int x,
+ int y);
+
+DFBResult CoreWindow_Unbind(
+ CoreWindow *obj,
+ CoreWindow *source);
+
+DFBResult CoreWindow_RequestFocus(
+ CoreWindow *obj
+);
+
+DFBResult CoreWindow_ChangeGrab(
+ CoreWindow *obj,
+ CoreWMGrabTarget target,
+ bool grab);
+
+DFBResult CoreWindow_GrabKey(
+ CoreWindow *obj,
+ DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers);
+
+DFBResult CoreWindow_UngrabKey(
+ CoreWindow *obj,
+ DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers);
+
+DFBResult CoreWindow_Move(
+ CoreWindow *obj,
+ int dx,
+ int dy);
+
+DFBResult CoreWindow_MoveTo(
+ CoreWindow *obj,
+ int x,
+ int y);
+
+DFBResult CoreWindow_Resize(
+ CoreWindow *obj,
+ int width,
+ int height);
+
+DFBResult CoreWindow_Destroy(
+ CoreWindow *obj
+);
+
+DFBResult CoreWindow_SetCursorPosition(
+ CoreWindow *obj,
+ int x,
+ int y);
+
+DFBResult CoreWindow_ChangeEvents(
+ CoreWindow *obj,
+ DFBWindowEventType disable,
+ DFBWindowEventType enable);
+
+DFBResult CoreWindow_ChangeOptions(
+ CoreWindow *obj,
+ DFBWindowOptions disable,
+ DFBWindowOptions enable);
+
+DFBResult CoreWindow_SetColor(
+ CoreWindow *obj,
+ const DFBColor *color);
+
+DFBResult CoreWindow_SetColorKey(
+ CoreWindow *obj,
+ u32 key);
+
+DFBResult CoreWindow_SetOpaque(
+ CoreWindow *obj,
+ const DFBRegion *opaque);
+
+DFBResult CoreWindow_SetOpacity(
+ CoreWindow *obj,
+ u8 opacity);
+
+DFBResult CoreWindow_SetStacking(
+ CoreWindow *obj,
+ DFBWindowStackingClass stacking);
+
+DFBResult CoreWindow_SetBounds(
+ CoreWindow *obj,
+ const DFBRectangle *bounds);
+
+DFBResult CoreWindow_SetKeySelection(
+ CoreWindow *obj,
+ DFBWindowKeySelection selection,
+ const DFBInputDeviceKeySymbol *keys,
+ u32 num_keys);
+
+DFBResult CoreWindow_SetRotation(
+ CoreWindow *obj,
+ int rotation);
+
+DFBResult CoreWindow_GetSurface(
+ CoreWindow *obj,
+ CoreSurface **ret_surface);
+
+DFBResult CoreWindow_SetCursorShape(
+ CoreWindow *obj,
+ CoreSurface *shape,
+ const DFBPoint *hotspot);
+
+
+void CoreWindow_Init_Dispatch(
+ CoreDFB *core,
+ CoreWindow *obj,
+ FusionCall *call
+);
+
+void CoreWindow_Deinit_Dispatch(
+ FusionCall *call
+);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+/*
+ * CoreWindow Calls
+ */
+typedef enum {
+ _CoreWindow_Repaint = 1,
+ _CoreWindow_BeginUpdates = 2,
+ _CoreWindow_Restack = 3,
+ _CoreWindow_SetConfig = 4,
+ _CoreWindow_Bind = 5,
+ _CoreWindow_Unbind = 6,
+ _CoreWindow_RequestFocus = 7,
+ _CoreWindow_ChangeGrab = 8,
+ _CoreWindow_GrabKey = 9,
+ _CoreWindow_UngrabKey = 10,
+ _CoreWindow_Move = 11,
+ _CoreWindow_MoveTo = 12,
+ _CoreWindow_Resize = 13,
+ _CoreWindow_Destroy = 14,
+ _CoreWindow_SetCursorPosition = 15,
+ _CoreWindow_ChangeEvents = 16,
+ _CoreWindow_ChangeOptions = 17,
+ _CoreWindow_SetColor = 18,
+ _CoreWindow_SetColorKey = 19,
+ _CoreWindow_SetOpaque = 20,
+ _CoreWindow_SetOpacity = 21,
+ _CoreWindow_SetStacking = 22,
+ _CoreWindow_SetBounds = 23,
+ _CoreWindow_SetKeySelection = 24,
+ _CoreWindow_SetRotation = 25,
+ _CoreWindow_GetSurface = 26,
+ _CoreWindow_SetCursorShape = 27,
+} CoreWindowCall;
+
+/*
+ * CoreWindow_Repaint
+ */
+typedef struct {
+ DFBRegion left;
+ DFBRegion right;
+ DFBSurfaceFlipFlags flags;
+} CoreWindowRepaint;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowRepaintReturn;
+
+
+/*
+ * CoreWindow_BeginUpdates
+ */
+typedef struct {
+ bool update_set;
+ DFBRegion update;
+} CoreWindowBeginUpdates;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowBeginUpdatesReturn;
+
+
+/*
+ * CoreWindow_Restack
+ */
+typedef struct {
+ bool relative_set;
+ u32 relative_id;
+ int relation;
+} CoreWindowRestack;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowRestackReturn;
+
+
+/*
+ * CoreWindow_SetConfig
+ */
+typedef struct {
+ CoreWindowConfig config;
+ u32 num_keys;
+ bool parent_set;
+ u32 parent_id;
+ CoreWindowConfigFlags flags;
+ bool keys_set;
+ /* 'num_keys' DFBInputDeviceKeySymbol follow (keys) */
+} CoreWindowSetConfig;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowSetConfigReturn;
+
+
+/*
+ * CoreWindow_Bind
+ */
+typedef struct {
+ u32 source_id;
+ int x;
+ int y;
+} CoreWindowBind;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowBindReturn;
+
+
+/*
+ * CoreWindow_Unbind
+ */
+typedef struct {
+ u32 source_id;
+} CoreWindowUnbind;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowUnbindReturn;
+
+
+/*
+ * CoreWindow_RequestFocus
+ */
+typedef struct {
+} CoreWindowRequestFocus;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowRequestFocusReturn;
+
+
+/*
+ * CoreWindow_ChangeGrab
+ */
+typedef struct {
+ CoreWMGrabTarget target;
+ bool grab;
+} CoreWindowChangeGrab;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowChangeGrabReturn;
+
+
+/*
+ * CoreWindow_GrabKey
+ */
+typedef struct {
+ DFBInputDeviceKeySymbol symbol;
+ DFBInputDeviceModifierMask modifiers;
+} CoreWindowGrabKey;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowGrabKeyReturn;
+
+
+/*
+ * CoreWindow_UngrabKey
+ */
+typedef struct {
+ DFBInputDeviceKeySymbol symbol;
+ DFBInputDeviceModifierMask modifiers;
+} CoreWindowUngrabKey;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowUngrabKeyReturn;
+
+
+/*
+ * CoreWindow_Move
+ */
+typedef struct {
+ int dx;
+ int dy;
+} CoreWindowMove;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowMoveReturn;
+
+
+/*
+ * CoreWindow_MoveTo
+ */
+typedef struct {
+ int x;
+ int y;
+} CoreWindowMoveTo;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowMoveToReturn;
+
+
+/*
+ * CoreWindow_Resize
+ */
+typedef struct {
+ int width;
+ int height;
+} CoreWindowResize;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowResizeReturn;
+
+
+/*
+ * CoreWindow_Destroy
+ */
+typedef struct {
+} CoreWindowDestroy;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowDestroyReturn;
+
+
+/*
+ * CoreWindow_SetCursorPosition
+ */
+typedef struct {
+ int x;
+ int y;
+} CoreWindowSetCursorPosition;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowSetCursorPositionReturn;
+
+
+/*
+ * CoreWindow_ChangeEvents
+ */
+typedef struct {
+ DFBWindowEventType disable;
+ DFBWindowEventType enable;
+} CoreWindowChangeEvents;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowChangeEventsReturn;
+
+
+/*
+ * CoreWindow_ChangeOptions
+ */
+typedef struct {
+ DFBWindowOptions disable;
+ DFBWindowOptions enable;
+} CoreWindowChangeOptions;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowChangeOptionsReturn;
+
+
+/*
+ * CoreWindow_SetColor
+ */
+typedef struct {
+ DFBColor color;
+} CoreWindowSetColor;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowSetColorReturn;
+
+
+/*
+ * CoreWindow_SetColorKey
+ */
+typedef struct {
+ u32 key;
+} CoreWindowSetColorKey;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowSetColorKeyReturn;
+
+
+/*
+ * CoreWindow_SetOpaque
+ */
+typedef struct {
+ DFBRegion opaque;
+} CoreWindowSetOpaque;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowSetOpaqueReturn;
+
+
+/*
+ * CoreWindow_SetOpacity
+ */
+typedef struct {
+ u8 opacity;
+} CoreWindowSetOpacity;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowSetOpacityReturn;
+
+
+/*
+ * CoreWindow_SetStacking
+ */
+typedef struct {
+ DFBWindowStackingClass stacking;
+} CoreWindowSetStacking;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowSetStackingReturn;
+
+
+/*
+ * CoreWindow_SetBounds
+ */
+typedef struct {
+ DFBRectangle bounds;
+} CoreWindowSetBounds;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowSetBoundsReturn;
+
+
+/*
+ * CoreWindow_SetKeySelection
+ */
+typedef struct {
+ DFBWindowKeySelection selection;
+ u32 num_keys;
+ bool keys_set;
+ /* 'num_keys' DFBInputDeviceKeySymbol follow (keys) */
+} CoreWindowSetKeySelection;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowSetKeySelectionReturn;
+
+
+/*
+ * CoreWindow_SetRotation
+ */
+typedef struct {
+ int rotation;
+} CoreWindowSetRotation;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowSetRotationReturn;
+
+
+/*
+ * CoreWindow_GetSurface
+ */
+typedef struct {
+} CoreWindowGetSurface;
+
+typedef struct {
+ DFBResult result;
+ u32 surface_id;
+} CoreWindowGetSurfaceReturn;
+
+
+/*
+ * CoreWindow_SetCursorShape
+ */
+typedef struct {
+ bool shape_set;
+ u32 shape_id;
+ DFBPoint hotspot;
+} CoreWindowSetCursorShape;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowSetCursorShapeReturn;
+
+
+DFBResult IWindow_Real__Repaint( CoreWindow *obj,
+ const DFBRegion *left,
+ const DFBRegion *right,
+ DFBSurfaceFlipFlags flags );
+
+DFBResult IWindow_Real__BeginUpdates( CoreWindow *obj,
+ const DFBRegion *update );
+
+DFBResult IWindow_Real__Restack( CoreWindow *obj,
+ CoreWindow *relative,
+ int relation );
+
+DFBResult IWindow_Real__SetConfig( CoreWindow *obj,
+ const CoreWindowConfig *config,
+ const DFBInputDeviceKeySymbol *keys,
+ u32 num_keys,
+ CoreWindow *parent,
+ CoreWindowConfigFlags flags );
+
+DFBResult IWindow_Real__Bind( CoreWindow *obj,
+ CoreWindow *source,
+ int x,
+ int y );
+
+DFBResult IWindow_Real__Unbind( CoreWindow *obj,
+ CoreWindow *source );
+
+DFBResult IWindow_Real__RequestFocus( CoreWindow *obj
+ );
+
+DFBResult IWindow_Real__ChangeGrab( CoreWindow *obj,
+ CoreWMGrabTarget target,
+ bool grab );
+
+DFBResult IWindow_Real__GrabKey( CoreWindow *obj,
+ DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers );
+
+DFBResult IWindow_Real__UngrabKey( CoreWindow *obj,
+ DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers );
+
+DFBResult IWindow_Real__Move( CoreWindow *obj,
+ int dx,
+ int dy );
+
+DFBResult IWindow_Real__MoveTo( CoreWindow *obj,
+ int x,
+ int y );
+
+DFBResult IWindow_Real__Resize( CoreWindow *obj,
+ int width,
+ int height );
+
+DFBResult IWindow_Real__Destroy( CoreWindow *obj
+ );
+
+DFBResult IWindow_Real__SetCursorPosition( CoreWindow *obj,
+ int x,
+ int y );
+
+DFBResult IWindow_Real__ChangeEvents( CoreWindow *obj,
+ DFBWindowEventType disable,
+ DFBWindowEventType enable );
+
+DFBResult IWindow_Real__ChangeOptions( CoreWindow *obj,
+ DFBWindowOptions disable,
+ DFBWindowOptions enable );
+
+DFBResult IWindow_Real__SetColor( CoreWindow *obj,
+ const DFBColor *color );
+
+DFBResult IWindow_Real__SetColorKey( CoreWindow *obj,
+ u32 key );
+
+DFBResult IWindow_Real__SetOpaque( CoreWindow *obj,
+ const DFBRegion *opaque );
+
+DFBResult IWindow_Real__SetOpacity( CoreWindow *obj,
+ u8 opacity );
+
+DFBResult IWindow_Real__SetStacking( CoreWindow *obj,
+ DFBWindowStackingClass stacking );
+
+DFBResult IWindow_Real__SetBounds( CoreWindow *obj,
+ const DFBRectangle *bounds );
+
+DFBResult IWindow_Real__SetKeySelection( CoreWindow *obj,
+ DFBWindowKeySelection selection,
+ const DFBInputDeviceKeySymbol *keys,
+ u32 num_keys );
+
+DFBResult IWindow_Real__SetRotation( CoreWindow *obj,
+ int rotation );
+
+DFBResult IWindow_Real__GetSurface( CoreWindow *obj,
+ CoreSurface **ret_surface );
+
+DFBResult IWindow_Real__SetCursorShape( CoreWindow *obj,
+ CoreSurface *shape,
+ const DFBPoint *hotspot );
+
+DFBResult IWindow_Requestor__Repaint( CoreWindow *obj,
+ const DFBRegion *left,
+ const DFBRegion *right,
+ DFBSurfaceFlipFlags flags );
+
+DFBResult IWindow_Requestor__BeginUpdates( CoreWindow *obj,
+ const DFBRegion *update );
+
+DFBResult IWindow_Requestor__Restack( CoreWindow *obj,
+ CoreWindow *relative,
+ int relation );
+
+DFBResult IWindow_Requestor__SetConfig( CoreWindow *obj,
+ const CoreWindowConfig *config,
+ const DFBInputDeviceKeySymbol *keys,
+ u32 num_keys,
+ CoreWindow *parent,
+ CoreWindowConfigFlags flags );
+
+DFBResult IWindow_Requestor__Bind( CoreWindow *obj,
+ CoreWindow *source,
+ int x,
+ int y );
+
+DFBResult IWindow_Requestor__Unbind( CoreWindow *obj,
+ CoreWindow *source );
+
+DFBResult IWindow_Requestor__RequestFocus( CoreWindow *obj
+ );
+
+DFBResult IWindow_Requestor__ChangeGrab( CoreWindow *obj,
+ CoreWMGrabTarget target,
+ bool grab );
+
+DFBResult IWindow_Requestor__GrabKey( CoreWindow *obj,
+ DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers );
+
+DFBResult IWindow_Requestor__UngrabKey( CoreWindow *obj,
+ DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers );
+
+DFBResult IWindow_Requestor__Move( CoreWindow *obj,
+ int dx,
+ int dy );
+
+DFBResult IWindow_Requestor__MoveTo( CoreWindow *obj,
+ int x,
+ int y );
+
+DFBResult IWindow_Requestor__Resize( CoreWindow *obj,
+ int width,
+ int height );
+
+DFBResult IWindow_Requestor__Destroy( CoreWindow *obj
+ );
+
+DFBResult IWindow_Requestor__SetCursorPosition( CoreWindow *obj,
+ int x,
+ int y );
+
+DFBResult IWindow_Requestor__ChangeEvents( CoreWindow *obj,
+ DFBWindowEventType disable,
+ DFBWindowEventType enable );
+
+DFBResult IWindow_Requestor__ChangeOptions( CoreWindow *obj,
+ DFBWindowOptions disable,
+ DFBWindowOptions enable );
+
+DFBResult IWindow_Requestor__SetColor( CoreWindow *obj,
+ const DFBColor *color );
+
+DFBResult IWindow_Requestor__SetColorKey( CoreWindow *obj,
+ u32 key );
+
+DFBResult IWindow_Requestor__SetOpaque( CoreWindow *obj,
+ const DFBRegion *opaque );
+
+DFBResult IWindow_Requestor__SetOpacity( CoreWindow *obj,
+ u8 opacity );
+
+DFBResult IWindow_Requestor__SetStacking( CoreWindow *obj,
+ DFBWindowStackingClass stacking );
+
+DFBResult IWindow_Requestor__SetBounds( CoreWindow *obj,
+ const DFBRectangle *bounds );
+
+DFBResult IWindow_Requestor__SetKeySelection( CoreWindow *obj,
+ DFBWindowKeySelection selection,
+ const DFBInputDeviceKeySymbol *keys,
+ u32 num_keys );
+
+DFBResult IWindow_Requestor__SetRotation( CoreWindow *obj,
+ int rotation );
+
+DFBResult IWindow_Requestor__GetSurface( CoreWindow *obj,
+ CoreSurface **ret_surface );
+
+DFBResult IWindow_Requestor__SetCursorShape( CoreWindow *obj,
+ CoreSurface *shape,
+ const DFBPoint *hotspot );
+
+
+DFBResult CoreWindowDispatch__Dispatch( CoreWindow *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
+
+#endif
diff --git a/src/core/CoreWindowStack.c b/src/core/CoreWindowStack.c
new file mode 100644
index 0000000..b6135c4
--- /dev/null
+++ b/src/core/CoreWindowStack.c
@@ -0,0 +1,1107 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreWindowStack.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+#include <core/CoreDFB_CallMode.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreWindowStack, "DirectFB/CoreWindowStack", "DirectFB CoreWindowStack" );
+
+/*********************************************************************************************************************/
+
+DFBResult
+CoreWindowStack_RepaintAll(
+ CoreWindowStack *obj
+
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindowStack_Real__RepaintAll( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindowStack_Requestor__RepaintAll( obj );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindowStack_GetInsets(
+ CoreWindowStack *obj,
+ CoreWindow *window,
+ DFBInsets *ret_insets
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindowStack_Real__GetInsets( obj, window, ret_insets );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindowStack_Requestor__GetInsets( obj, window, ret_insets );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindowStack_CursorEnable(
+ CoreWindowStack *obj,
+ bool enable
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindowStack_Real__CursorEnable( obj, enable );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindowStack_Requestor__CursorEnable( obj, enable );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindowStack_CursorSetShape(
+ CoreWindowStack *obj,
+ CoreSurface *shape,
+ const DFBPoint *hotspot
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindowStack_Real__CursorSetShape( obj, shape, hotspot );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindowStack_Requestor__CursorSetShape( obj, shape, hotspot );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindowStack_CursorSetOpacity(
+ CoreWindowStack *obj,
+ u8 opacity
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindowStack_Real__CursorSetOpacity( obj, opacity );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindowStack_Requestor__CursorSetOpacity( obj, opacity );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindowStack_CursorSetAcceleration(
+ CoreWindowStack *obj,
+ u32 numerator,
+ u32 denominator,
+ u32 threshold
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindowStack_Real__CursorSetAcceleration( obj, numerator, denominator, threshold );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindowStack_Requestor__CursorSetAcceleration( obj, numerator, denominator, threshold );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindowStack_CursorWarp(
+ CoreWindowStack *obj,
+ const DFBPoint *position
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindowStack_Real__CursorWarp( obj, position );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindowStack_Requestor__CursorWarp( obj, position );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindowStack_CursorGetPosition(
+ CoreWindowStack *obj,
+ DFBPoint *ret_position
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindowStack_Real__CursorGetPosition( obj, ret_position );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindowStack_Requestor__CursorGetPosition( obj, ret_position );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindowStack_BackgroundSetMode(
+ CoreWindowStack *obj,
+ DFBDisplayLayerBackgroundMode mode
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindowStack_Real__BackgroundSetMode( obj, mode );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindowStack_Requestor__BackgroundSetMode( obj, mode );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindowStack_BackgroundSetImage(
+ CoreWindowStack *obj,
+ CoreSurface *image
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindowStack_Real__BackgroundSetImage( obj, image );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindowStack_Requestor__BackgroundSetImage( obj, image );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindowStack_BackgroundSetColor(
+ CoreWindowStack *obj,
+ const DFBColor *color
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindowStack_Real__BackgroundSetColor( obj, color );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindowStack_Requestor__BackgroundSetColor( obj, color );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+CoreWindowStack_BackgroundSetColorIndex(
+ CoreWindowStack *obj,
+ s32 index
+)
+{
+ DFBResult ret;
+
+ switch (CoreDFB_CallMode( core_dfb )) {
+ case COREDFB_CALL_DIRECT:{
+ Core_PushCalling();
+ ret = IWindowStack_Real__BackgroundSetColorIndex( obj, index );
+ Core_PopCalling();
+
+ return ret;
+ }
+
+ case COREDFB_CALL_INDIRECT: {
+ Core_PushCalling();
+ ret = IWindowStack_Requestor__BackgroundSetColorIndex( obj, index );
+ Core_PopCalling();
+
+ return ret;
+ }
+ case COREDFB_CALL_DENY:
+ return DFB_DEAD;
+ }
+
+ return DFB_UNIMPLEMENTED;
+}
+
+/*********************************************************************************************************************/
+
+static FusionCallHandlerResult
+CoreWindowStack_Dispatch( int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *ptr, /* optional call parameter */
+ unsigned int length,
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ CoreWindowStack *obj = (CoreWindowStack*) ctx;
+ CoreWindowStackDispatch__Dispatch( obj, caller, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+
+ return FCHR_RETURN;
+}
+
+void CoreWindowStack_Init_Dispatch(
+ CoreDFB *core,
+ CoreWindowStack *obj,
+ FusionCall *call
+)
+{
+ fusion_call_init3( call, CoreWindowStack_Dispatch, obj, core->world );
+}
+
+void CoreWindowStack_Deinit_Dispatch(
+ FusionCall *call
+)
+{
+ fusion_call_destroy( call );
+}
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+IWindowStack_Requestor__RepaintAll( CoreWindowStack *obj
+
+)
+{
+ DFBResult ret;
+ CoreWindowStackRepaintAll *args = (CoreWindowStackRepaintAll*) alloca( sizeof(CoreWindowStackRepaintAll) );
+ CoreWindowStackRepaintAllReturn *return_args = (CoreWindowStackRepaintAllReturn*) alloca( sizeof(CoreWindowStackRepaintAllReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "IWindowStack_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) CoreWindowStack_Call( obj, FCEF_NONE, _CoreWindowStack_RepaintAll, args, sizeof(CoreWindowStackRepaintAll), return_args, sizeof(CoreWindowStackRepaintAllReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindowStack_Call( CoreWindowStack_RepaintAll ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindowStack_RepaintAll failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindowStack_Requestor__GetInsets( CoreWindowStack *obj,
+ CoreWindow *window,
+ DFBInsets *ret_insets
+)
+{
+ DFBResult ret;
+ CoreWindowStackGetInsets *args = (CoreWindowStackGetInsets*) alloca( sizeof(CoreWindowStackGetInsets) );
+ CoreWindowStackGetInsetsReturn *return_args = (CoreWindowStackGetInsetsReturn*) alloca( sizeof(CoreWindowStackGetInsetsReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "IWindowStack_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( window != NULL );
+ D_ASSERT( ret_insets != NULL );
+
+ args->window_id = CoreWindow_GetID( window );
+
+ ret = (DFBResult) CoreWindowStack_Call( obj, FCEF_NONE, _CoreWindowStack_GetInsets, args, sizeof(CoreWindowStackGetInsets), return_args, sizeof(CoreWindowStackGetInsetsReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindowStack_Call( CoreWindowStack_GetInsets ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindowStack_GetInsets failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ *ret_insets = return_args->insets;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindowStack_Requestor__CursorEnable( CoreWindowStack *obj,
+ bool enable
+)
+{
+ DFBResult ret;
+ CoreWindowStackCursorEnable *args = (CoreWindowStackCursorEnable*) alloca( sizeof(CoreWindowStackCursorEnable) );
+ CoreWindowStackCursorEnableReturn *return_args = (CoreWindowStackCursorEnableReturn*) alloca( sizeof(CoreWindowStackCursorEnableReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "IWindowStack_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->enable = enable;
+
+ ret = (DFBResult) CoreWindowStack_Call( obj, FCEF_NONE, _CoreWindowStack_CursorEnable, args, sizeof(CoreWindowStackCursorEnable), return_args, sizeof(CoreWindowStackCursorEnableReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindowStack_Call( CoreWindowStack_CursorEnable ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindowStack_CursorEnable failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindowStack_Requestor__CursorSetShape( CoreWindowStack *obj,
+ CoreSurface *shape,
+ const DFBPoint *hotspot
+)
+{
+ DFBResult ret;
+ CoreWindowStackCursorSetShape *args = (CoreWindowStackCursorSetShape*) alloca( sizeof(CoreWindowStackCursorSetShape) );
+ CoreWindowStackCursorSetShapeReturn *return_args = (CoreWindowStackCursorSetShapeReturn*) alloca( sizeof(CoreWindowStackCursorSetShapeReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "IWindowStack_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( shape != NULL );
+ D_ASSERT( hotspot != NULL );
+
+ args->shape_id = CoreSurface_GetID( shape );
+ args->hotspot = *hotspot;
+
+ ret = (DFBResult) CoreWindowStack_Call( obj, FCEF_NONE, _CoreWindowStack_CursorSetShape, args, sizeof(CoreWindowStackCursorSetShape), return_args, sizeof(CoreWindowStackCursorSetShapeReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindowStack_Call( CoreWindowStack_CursorSetShape ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindowStack_CursorSetShape failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindowStack_Requestor__CursorSetOpacity( CoreWindowStack *obj,
+ u8 opacity
+)
+{
+ DFBResult ret;
+ CoreWindowStackCursorSetOpacity *args = (CoreWindowStackCursorSetOpacity*) alloca( sizeof(CoreWindowStackCursorSetOpacity) );
+ CoreWindowStackCursorSetOpacityReturn *return_args = (CoreWindowStackCursorSetOpacityReturn*) alloca( sizeof(CoreWindowStackCursorSetOpacityReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "IWindowStack_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->opacity = opacity;
+
+ ret = (DFBResult) CoreWindowStack_Call( obj, FCEF_NONE, _CoreWindowStack_CursorSetOpacity, args, sizeof(CoreWindowStackCursorSetOpacity), return_args, sizeof(CoreWindowStackCursorSetOpacityReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindowStack_Call( CoreWindowStack_CursorSetOpacity ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindowStack_CursorSetOpacity failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindowStack_Requestor__CursorSetAcceleration( CoreWindowStack *obj,
+ u32 numerator,
+ u32 denominator,
+ u32 threshold
+)
+{
+ DFBResult ret;
+ CoreWindowStackCursorSetAcceleration *args = (CoreWindowStackCursorSetAcceleration*) alloca( sizeof(CoreWindowStackCursorSetAcceleration) );
+ CoreWindowStackCursorSetAccelerationReturn *return_args = (CoreWindowStackCursorSetAccelerationReturn*) alloca( sizeof(CoreWindowStackCursorSetAccelerationReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "IWindowStack_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->numerator = numerator;
+ args->denominator = denominator;
+ args->threshold = threshold;
+
+ ret = (DFBResult) CoreWindowStack_Call( obj, FCEF_NONE, _CoreWindowStack_CursorSetAcceleration, args, sizeof(CoreWindowStackCursorSetAcceleration), return_args, sizeof(CoreWindowStackCursorSetAccelerationReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindowStack_Call( CoreWindowStack_CursorSetAcceleration ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindowStack_CursorSetAcceleration failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindowStack_Requestor__CursorWarp( CoreWindowStack *obj,
+ const DFBPoint *position
+)
+{
+ DFBResult ret;
+ CoreWindowStackCursorWarp *args = (CoreWindowStackCursorWarp*) alloca( sizeof(CoreWindowStackCursorWarp) );
+ CoreWindowStackCursorWarpReturn *return_args = (CoreWindowStackCursorWarpReturn*) alloca( sizeof(CoreWindowStackCursorWarpReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "IWindowStack_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( position != NULL );
+
+ args->position = *position;
+
+ ret = (DFBResult) CoreWindowStack_Call( obj, FCEF_NONE, _CoreWindowStack_CursorWarp, args, sizeof(CoreWindowStackCursorWarp), return_args, sizeof(CoreWindowStackCursorWarpReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindowStack_Call( CoreWindowStack_CursorWarp ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindowStack_CursorWarp failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindowStack_Requestor__CursorGetPosition( CoreWindowStack *obj,
+ DFBPoint *ret_position
+)
+{
+ DFBResult ret;
+ CoreWindowStackCursorGetPosition *args = (CoreWindowStackCursorGetPosition*) alloca( sizeof(CoreWindowStackCursorGetPosition) );
+ CoreWindowStackCursorGetPositionReturn *return_args = (CoreWindowStackCursorGetPositionReturn*) alloca( sizeof(CoreWindowStackCursorGetPositionReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "IWindowStack_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_position != NULL );
+
+
+ ret = (DFBResult) CoreWindowStack_Call( obj, FCEF_NONE, _CoreWindowStack_CursorGetPosition, args, sizeof(CoreWindowStackCursorGetPosition), return_args, sizeof(CoreWindowStackCursorGetPositionReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindowStack_Call( CoreWindowStack_CursorGetPosition ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindowStack_CursorGetPosition failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ *ret_position = return_args->position;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindowStack_Requestor__BackgroundSetMode( CoreWindowStack *obj,
+ DFBDisplayLayerBackgroundMode mode
+)
+{
+ DFBResult ret;
+ CoreWindowStackBackgroundSetMode *args = (CoreWindowStackBackgroundSetMode*) alloca( sizeof(CoreWindowStackBackgroundSetMode) );
+ CoreWindowStackBackgroundSetModeReturn *return_args = (CoreWindowStackBackgroundSetModeReturn*) alloca( sizeof(CoreWindowStackBackgroundSetModeReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "IWindowStack_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->mode = mode;
+
+ ret = (DFBResult) CoreWindowStack_Call( obj, FCEF_NONE, _CoreWindowStack_BackgroundSetMode, args, sizeof(CoreWindowStackBackgroundSetMode), return_args, sizeof(CoreWindowStackBackgroundSetModeReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindowStack_Call( CoreWindowStack_BackgroundSetMode ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindowStack_BackgroundSetMode failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindowStack_Requestor__BackgroundSetImage( CoreWindowStack *obj,
+ CoreSurface *image
+)
+{
+ DFBResult ret;
+ CoreWindowStackBackgroundSetImage *args = (CoreWindowStackBackgroundSetImage*) alloca( sizeof(CoreWindowStackBackgroundSetImage) );
+ CoreWindowStackBackgroundSetImageReturn *return_args = (CoreWindowStackBackgroundSetImageReturn*) alloca( sizeof(CoreWindowStackBackgroundSetImageReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "IWindowStack_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( image != NULL );
+
+ args->image_id = CoreSurface_GetID( image );
+
+ ret = (DFBResult) CoreWindowStack_Call( obj, FCEF_NONE, _CoreWindowStack_BackgroundSetImage, args, sizeof(CoreWindowStackBackgroundSetImage), return_args, sizeof(CoreWindowStackBackgroundSetImageReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindowStack_Call( CoreWindowStack_BackgroundSetImage ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindowStack_BackgroundSetImage failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindowStack_Requestor__BackgroundSetColor( CoreWindowStack *obj,
+ const DFBColor *color
+)
+{
+ DFBResult ret;
+ CoreWindowStackBackgroundSetColor *args = (CoreWindowStackBackgroundSetColor*) alloca( sizeof(CoreWindowStackBackgroundSetColor) );
+ CoreWindowStackBackgroundSetColorReturn *return_args = (CoreWindowStackBackgroundSetColorReturn*) alloca( sizeof(CoreWindowStackBackgroundSetColorReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "IWindowStack_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( color != NULL );
+
+ args->color = *color;
+
+ ret = (DFBResult) CoreWindowStack_Call( obj, FCEF_NONE, _CoreWindowStack_BackgroundSetColor, args, sizeof(CoreWindowStackBackgroundSetColor), return_args, sizeof(CoreWindowStackBackgroundSetColorReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindowStack_Call( CoreWindowStack_BackgroundSetColor ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindowStack_BackgroundSetColor failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IWindowStack_Requestor__BackgroundSetColorIndex( CoreWindowStack *obj,
+ s32 index
+)
+{
+ DFBResult ret;
+ CoreWindowStackBackgroundSetColorIndex *args = (CoreWindowStackBackgroundSetColorIndex*) alloca( sizeof(CoreWindowStackBackgroundSetColorIndex) );
+ CoreWindowStackBackgroundSetColorIndexReturn *return_args = (CoreWindowStackBackgroundSetColorIndexReturn*) alloca( sizeof(CoreWindowStackBackgroundSetColorIndexReturn) );
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "IWindowStack_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->index = index;
+
+ ret = (DFBResult) CoreWindowStack_Call( obj, FCEF_NONE, _CoreWindowStack_BackgroundSetColorIndex, args, sizeof(CoreWindowStackBackgroundSetColorIndex), return_args, sizeof(CoreWindowStackBackgroundSetColorIndexReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: CoreWindowStack_Call( CoreWindowStack_BackgroundSetColorIndex ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: CoreWindowStack_BackgroundSetColorIndex failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+/*********************************************************************************************************************/
+
+static DFBResult
+__CoreWindowStackDispatch__Dispatch( CoreWindowStack *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_UNUSED
+ DFBResult ret;
+
+
+ switch (method) {
+ case _CoreWindowStack_RepaintAll: {
+ D_UNUSED
+ CoreWindowStackRepaintAll *args = (CoreWindowStackRepaintAll *) ptr;
+ CoreWindowStackRepaintAllReturn *return_args = (CoreWindowStackRepaintAllReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "=-> CoreWindowStack_RepaintAll\n" );
+
+ return_args->result = IWindowStack_Real__RepaintAll( obj );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowStackRepaintAllReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindowStack_GetInsets: {
+ CoreWindow *window = NULL;
+ D_UNUSED
+ CoreWindowStackGetInsets *args = (CoreWindowStackGetInsets *) ptr;
+ CoreWindowStackGetInsetsReturn *return_args = (CoreWindowStackGetInsetsReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "=-> CoreWindowStack_GetInsets\n" );
+
+ ret = (DFBResult) CoreWindow_Lookup( core_dfb, args->window_id, caller, &window );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up window by ID %u failed!\n", __FUNCTION__, args->window_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+
+ return_args->result = IWindowStack_Real__GetInsets( obj, window, &return_args->insets );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowStackGetInsetsReturn);
+
+ if (window)
+ CoreWindow_Unref( window );
+
+ return DFB_OK;
+ }
+
+ case _CoreWindowStack_CursorEnable: {
+ D_UNUSED
+ CoreWindowStackCursorEnable *args = (CoreWindowStackCursorEnable *) ptr;
+ CoreWindowStackCursorEnableReturn *return_args = (CoreWindowStackCursorEnableReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "=-> CoreWindowStack_CursorEnable\n" );
+
+ return_args->result = IWindowStack_Real__CursorEnable( obj, args->enable );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowStackCursorEnableReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindowStack_CursorSetShape: {
+ CoreSurface *shape = NULL;
+ D_UNUSED
+ CoreWindowStackCursorSetShape *args = (CoreWindowStackCursorSetShape *) ptr;
+ CoreWindowStackCursorSetShapeReturn *return_args = (CoreWindowStackCursorSetShapeReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "=-> CoreWindowStack_CursorSetShape\n" );
+
+ ret = (DFBResult) CoreSurface_Lookup( core_dfb, args->shape_id, caller, &shape );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up shape by ID %u failed!\n", __FUNCTION__, args->shape_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+
+ return_args->result = IWindowStack_Real__CursorSetShape( obj, shape, &args->hotspot );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowStackCursorSetShapeReturn);
+
+ if (shape)
+ CoreSurface_Unref( shape );
+
+ return DFB_OK;
+ }
+
+ case _CoreWindowStack_CursorSetOpacity: {
+ D_UNUSED
+ CoreWindowStackCursorSetOpacity *args = (CoreWindowStackCursorSetOpacity *) ptr;
+ CoreWindowStackCursorSetOpacityReturn *return_args = (CoreWindowStackCursorSetOpacityReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "=-> CoreWindowStack_CursorSetOpacity\n" );
+
+ return_args->result = IWindowStack_Real__CursorSetOpacity( obj, args->opacity );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowStackCursorSetOpacityReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindowStack_CursorSetAcceleration: {
+ D_UNUSED
+ CoreWindowStackCursorSetAcceleration *args = (CoreWindowStackCursorSetAcceleration *) ptr;
+ CoreWindowStackCursorSetAccelerationReturn *return_args = (CoreWindowStackCursorSetAccelerationReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "=-> CoreWindowStack_CursorSetAcceleration\n" );
+
+ return_args->result = IWindowStack_Real__CursorSetAcceleration( obj, args->numerator, args->denominator, args->threshold );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowStackCursorSetAccelerationReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindowStack_CursorWarp: {
+ D_UNUSED
+ CoreWindowStackCursorWarp *args = (CoreWindowStackCursorWarp *) ptr;
+ CoreWindowStackCursorWarpReturn *return_args = (CoreWindowStackCursorWarpReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "=-> CoreWindowStack_CursorWarp\n" );
+
+ return_args->result = IWindowStack_Real__CursorWarp( obj, &args->position );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowStackCursorWarpReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindowStack_CursorGetPosition: {
+ D_UNUSED
+ CoreWindowStackCursorGetPosition *args = (CoreWindowStackCursorGetPosition *) ptr;
+ CoreWindowStackCursorGetPositionReturn *return_args = (CoreWindowStackCursorGetPositionReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "=-> CoreWindowStack_CursorGetPosition\n" );
+
+ return_args->result = IWindowStack_Real__CursorGetPosition( obj, &return_args->position );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowStackCursorGetPositionReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindowStack_BackgroundSetMode: {
+ D_UNUSED
+ CoreWindowStackBackgroundSetMode *args = (CoreWindowStackBackgroundSetMode *) ptr;
+ CoreWindowStackBackgroundSetModeReturn *return_args = (CoreWindowStackBackgroundSetModeReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "=-> CoreWindowStack_BackgroundSetMode\n" );
+
+ return_args->result = IWindowStack_Real__BackgroundSetMode( obj, args->mode );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowStackBackgroundSetModeReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindowStack_BackgroundSetImage: {
+ CoreSurface *image = NULL;
+ D_UNUSED
+ CoreWindowStackBackgroundSetImage *args = (CoreWindowStackBackgroundSetImage *) ptr;
+ CoreWindowStackBackgroundSetImageReturn *return_args = (CoreWindowStackBackgroundSetImageReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "=-> CoreWindowStack_BackgroundSetImage\n" );
+
+ ret = (DFBResult) CoreSurface_Lookup( core_dfb, args->image_id, caller, &image );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up image by ID %u failed!\n", __FUNCTION__, args->image_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+
+ return_args->result = IWindowStack_Real__BackgroundSetImage( obj, image );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowStackBackgroundSetImageReturn);
+
+ if (image)
+ CoreSurface_Unref( image );
+
+ return DFB_OK;
+ }
+
+ case _CoreWindowStack_BackgroundSetColor: {
+ D_UNUSED
+ CoreWindowStackBackgroundSetColor *args = (CoreWindowStackBackgroundSetColor *) ptr;
+ CoreWindowStackBackgroundSetColorReturn *return_args = (CoreWindowStackBackgroundSetColorReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "=-> CoreWindowStack_BackgroundSetColor\n" );
+
+ return_args->result = IWindowStack_Real__BackgroundSetColor( obj, &args->color );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowStackBackgroundSetColorReturn);
+
+ return DFB_OK;
+ }
+
+ case _CoreWindowStack_BackgroundSetColorIndex: {
+ D_UNUSED
+ CoreWindowStackBackgroundSetColorIndex *args = (CoreWindowStackBackgroundSetColorIndex *) ptr;
+ CoreWindowStackBackgroundSetColorIndexReturn *return_args = (CoreWindowStackBackgroundSetColorIndexReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "=-> CoreWindowStack_BackgroundSetColorIndex\n" );
+
+ return_args->result = IWindowStack_Real__BackgroundSetColorIndex( obj, args->index );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(CoreWindowStackBackgroundSetColorIndexReturn);
+
+ return DFB_OK;
+ }
+
+ }
+
+ return DFB_NOSUCHMETHOD;
+}
+/*********************************************************************************************************************/
+
+DFBResult
+CoreWindowStackDispatch__Dispatch( CoreWindowStack *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "CoreWindowStackDispatch::%s( %p )\n", __FUNCTION__, obj );
+
+ Core_PushIdentity( caller );
+
+ ret = __CoreWindowStackDispatch__Dispatch( obj, caller, method, ptr, length, ret_ptr, ret_size, ret_length );
+
+ Core_PopIdentity();
+
+ return ret;
+}
diff --git a/src/core/CoreWindowStack.h b/src/core/CoreWindowStack.h
new file mode 100644
index 0000000..7f18bd4
--- /dev/null
+++ b/src/core/CoreWindowStack.h
@@ -0,0 +1,372 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef ___CoreWindowStack__H___
+#define ___CoreWindowStack__H___
+
+#include <core/CoreWindowStack_includes.h>
+
+/**********************************************************************************************************************
+ * CoreWindowStack
+ */
+
+#ifdef __cplusplus
+#include <core/Interface.h>
+
+extern "C" {
+#endif
+
+
+DFBResult CoreWindowStack_RepaintAll(
+ CoreWindowStack *obj
+);
+
+DFBResult CoreWindowStack_GetInsets(
+ CoreWindowStack *obj,
+ CoreWindow *window,
+ DFBInsets *ret_insets);
+
+DFBResult CoreWindowStack_CursorEnable(
+ CoreWindowStack *obj,
+ bool enable);
+
+DFBResult CoreWindowStack_CursorSetShape(
+ CoreWindowStack *obj,
+ CoreSurface *shape,
+ const DFBPoint *hotspot);
+
+DFBResult CoreWindowStack_CursorSetOpacity(
+ CoreWindowStack *obj,
+ u8 opacity);
+
+DFBResult CoreWindowStack_CursorSetAcceleration(
+ CoreWindowStack *obj,
+ u32 numerator,
+ u32 denominator,
+ u32 threshold);
+
+DFBResult CoreWindowStack_CursorWarp(
+ CoreWindowStack *obj,
+ const DFBPoint *position);
+
+DFBResult CoreWindowStack_CursorGetPosition(
+ CoreWindowStack *obj,
+ DFBPoint *ret_position);
+
+DFBResult CoreWindowStack_BackgroundSetMode(
+ CoreWindowStack *obj,
+ DFBDisplayLayerBackgroundMode mode);
+
+DFBResult CoreWindowStack_BackgroundSetImage(
+ CoreWindowStack *obj,
+ CoreSurface *image);
+
+DFBResult CoreWindowStack_BackgroundSetColor(
+ CoreWindowStack *obj,
+ const DFBColor *color);
+
+DFBResult CoreWindowStack_BackgroundSetColorIndex(
+ CoreWindowStack *obj,
+ s32 index);
+
+
+void CoreWindowStack_Init_Dispatch(
+ CoreDFB *core,
+ CoreWindowStack *obj,
+ FusionCall *call
+);
+
+void CoreWindowStack_Deinit_Dispatch(
+ FusionCall *call
+);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+/*
+ * CoreWindowStack Calls
+ */
+typedef enum {
+ _CoreWindowStack_RepaintAll = 1,
+ _CoreWindowStack_GetInsets = 2,
+ _CoreWindowStack_CursorEnable = 3,
+ _CoreWindowStack_CursorSetShape = 4,
+ _CoreWindowStack_CursorSetOpacity = 5,
+ _CoreWindowStack_CursorSetAcceleration = 6,
+ _CoreWindowStack_CursorWarp = 7,
+ _CoreWindowStack_CursorGetPosition = 8,
+ _CoreWindowStack_BackgroundSetMode = 9,
+ _CoreWindowStack_BackgroundSetImage = 10,
+ _CoreWindowStack_BackgroundSetColor = 11,
+ _CoreWindowStack_BackgroundSetColorIndex = 12,
+} CoreWindowStackCall;
+
+/*
+ * CoreWindowStack_RepaintAll
+ */
+typedef struct {
+} CoreWindowStackRepaintAll;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowStackRepaintAllReturn;
+
+
+/*
+ * CoreWindowStack_GetInsets
+ */
+typedef struct {
+ u32 window_id;
+} CoreWindowStackGetInsets;
+
+typedef struct {
+ DFBResult result;
+ DFBInsets insets;
+} CoreWindowStackGetInsetsReturn;
+
+
+/*
+ * CoreWindowStack_CursorEnable
+ */
+typedef struct {
+ bool enable;
+} CoreWindowStackCursorEnable;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowStackCursorEnableReturn;
+
+
+/*
+ * CoreWindowStack_CursorSetShape
+ */
+typedef struct {
+ u32 shape_id;
+ DFBPoint hotspot;
+} CoreWindowStackCursorSetShape;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowStackCursorSetShapeReturn;
+
+
+/*
+ * CoreWindowStack_CursorSetOpacity
+ */
+typedef struct {
+ u8 opacity;
+} CoreWindowStackCursorSetOpacity;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowStackCursorSetOpacityReturn;
+
+
+/*
+ * CoreWindowStack_CursorSetAcceleration
+ */
+typedef struct {
+ u32 numerator;
+ u32 denominator;
+ u32 threshold;
+} CoreWindowStackCursorSetAcceleration;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowStackCursorSetAccelerationReturn;
+
+
+/*
+ * CoreWindowStack_CursorWarp
+ */
+typedef struct {
+ DFBPoint position;
+} CoreWindowStackCursorWarp;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowStackCursorWarpReturn;
+
+
+/*
+ * CoreWindowStack_CursorGetPosition
+ */
+typedef struct {
+} CoreWindowStackCursorGetPosition;
+
+typedef struct {
+ DFBResult result;
+ DFBPoint position;
+} CoreWindowStackCursorGetPositionReturn;
+
+
+/*
+ * CoreWindowStack_BackgroundSetMode
+ */
+typedef struct {
+ DFBDisplayLayerBackgroundMode mode;
+} CoreWindowStackBackgroundSetMode;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowStackBackgroundSetModeReturn;
+
+
+/*
+ * CoreWindowStack_BackgroundSetImage
+ */
+typedef struct {
+ u32 image_id;
+} CoreWindowStackBackgroundSetImage;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowStackBackgroundSetImageReturn;
+
+
+/*
+ * CoreWindowStack_BackgroundSetColor
+ */
+typedef struct {
+ DFBColor color;
+} CoreWindowStackBackgroundSetColor;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowStackBackgroundSetColorReturn;
+
+
+/*
+ * CoreWindowStack_BackgroundSetColorIndex
+ */
+typedef struct {
+ s32 index;
+} CoreWindowStackBackgroundSetColorIndex;
+
+typedef struct {
+ DFBResult result;
+} CoreWindowStackBackgroundSetColorIndexReturn;
+
+
+DFBResult IWindowStack_Real__RepaintAll( CoreWindowStack *obj
+ );
+
+DFBResult IWindowStack_Real__GetInsets( CoreWindowStack *obj,
+ CoreWindow *window,
+ DFBInsets *ret_insets );
+
+DFBResult IWindowStack_Real__CursorEnable( CoreWindowStack *obj,
+ bool enable );
+
+DFBResult IWindowStack_Real__CursorSetShape( CoreWindowStack *obj,
+ CoreSurface *shape,
+ const DFBPoint *hotspot );
+
+DFBResult IWindowStack_Real__CursorSetOpacity( CoreWindowStack *obj,
+ u8 opacity );
+
+DFBResult IWindowStack_Real__CursorSetAcceleration( CoreWindowStack *obj,
+ u32 numerator,
+ u32 denominator,
+ u32 threshold );
+
+DFBResult IWindowStack_Real__CursorWarp( CoreWindowStack *obj,
+ const DFBPoint *position );
+
+DFBResult IWindowStack_Real__CursorGetPosition( CoreWindowStack *obj,
+ DFBPoint *ret_position );
+
+DFBResult IWindowStack_Real__BackgroundSetMode( CoreWindowStack *obj,
+ DFBDisplayLayerBackgroundMode mode );
+
+DFBResult IWindowStack_Real__BackgroundSetImage( CoreWindowStack *obj,
+ CoreSurface *image );
+
+DFBResult IWindowStack_Real__BackgroundSetColor( CoreWindowStack *obj,
+ const DFBColor *color );
+
+DFBResult IWindowStack_Real__BackgroundSetColorIndex( CoreWindowStack *obj,
+ s32 index );
+
+DFBResult IWindowStack_Requestor__RepaintAll( CoreWindowStack *obj
+ );
+
+DFBResult IWindowStack_Requestor__GetInsets( CoreWindowStack *obj,
+ CoreWindow *window,
+ DFBInsets *ret_insets );
+
+DFBResult IWindowStack_Requestor__CursorEnable( CoreWindowStack *obj,
+ bool enable );
+
+DFBResult IWindowStack_Requestor__CursorSetShape( CoreWindowStack *obj,
+ CoreSurface *shape,
+ const DFBPoint *hotspot );
+
+DFBResult IWindowStack_Requestor__CursorSetOpacity( CoreWindowStack *obj,
+ u8 opacity );
+
+DFBResult IWindowStack_Requestor__CursorSetAcceleration( CoreWindowStack *obj,
+ u32 numerator,
+ u32 denominator,
+ u32 threshold );
+
+DFBResult IWindowStack_Requestor__CursorWarp( CoreWindowStack *obj,
+ const DFBPoint *position );
+
+DFBResult IWindowStack_Requestor__CursorGetPosition( CoreWindowStack *obj,
+ DFBPoint *ret_position );
+
+DFBResult IWindowStack_Requestor__BackgroundSetMode( CoreWindowStack *obj,
+ DFBDisplayLayerBackgroundMode mode );
+
+DFBResult IWindowStack_Requestor__BackgroundSetImage( CoreWindowStack *obj,
+ CoreSurface *image );
+
+DFBResult IWindowStack_Requestor__BackgroundSetColor( CoreWindowStack *obj,
+ const DFBColor *color );
+
+DFBResult IWindowStack_Requestor__BackgroundSetColorIndex( CoreWindowStack *obj,
+ s32 index );
+
+
+DFBResult CoreWindowStackDispatch__Dispatch( CoreWindowStack *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
+
+#endif
diff --git a/src/core/CoreWindowStack_includes.h b/src/core/CoreWindowStack_includes.h
new file mode 100644
index 0000000..983d809
--- /dev/null
+++ b/src/core/CoreWindowStack_includes.h
@@ -0,0 +1,31 @@
+#include "CoreDFB_includes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include <core/layer_context.h>
+#include <core/layers_internal.h>
+#include <core/windows.h>
+#include <core/windowstack.h>
+#include <core/windows_internal.h>
+
+
+static __inline__ DirectResult
+CoreWindowStack_Call( CoreWindowStack *stack,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ return fusion_call_execute3( &stack->call, flags, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/core/CoreWindowStack_real.c b/src/core/CoreWindowStack_real.c
new file mode 100644
index 0000000..73cd71a
--- /dev/null
+++ b/src/core/CoreWindowStack_real.c
@@ -0,0 +1,202 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "CoreWindowStack.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/messages.h>
+
+#include <core/core.h>
+#include <core/wm.h>
+
+D_DEBUG_DOMAIN( DirectFB_CoreWindowStack, "DirectFB/CoreWindowStack", "DirectFB CoreWindowStack" );
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+IWindowStack_Real__RepaintAll(
+ CoreWindowStack *obj
+
+)
+{
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "%s()\n", __FUNCTION__ );
+
+ return dfb_windowstack_repaint_all( obj );
+}
+
+
+DFBResult
+IWindowStack_Real__GetInsets(
+ CoreWindowStack *obj,
+ CoreWindow *window,
+ DFBInsets *ret_insets
+)
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "IWindowStack_Real::%s()\n", __FUNCTION__ );
+
+ ret = (DFBResult) dfb_layer_context_lock( obj->context );
+ if (ret)
+ return ret;
+
+ ret = dfb_wm_get_insets( obj, window, ret_insets );
+
+ dfb_layer_context_unlock( obj->context );
+
+ return ret;
+}
+
+
+DFBResult
+IWindowStack_Real__CursorEnable(
+ CoreWindowStack *obj,
+ bool enable
+)
+{
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "%s()\n", __FUNCTION__ );
+
+ return dfb_windowstack_cursor_enable( core_dfb, obj, enable );
+}
+
+
+DFBResult
+IWindowStack_Real__CursorSetShape(
+ CoreWindowStack *obj,
+ CoreSurface *shape,
+ const DFBPoint *hotspot
+)
+{
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "%s()\n", __FUNCTION__ );
+
+ return dfb_windowstack_cursor_set_shape( obj, shape, hotspot->x, hotspot->y );
+}
+
+
+DFBResult
+IWindowStack_Real__CursorSetOpacity(
+ CoreWindowStack *obj,
+ u8 opacity
+)
+{
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "%s()\n", __FUNCTION__ );
+
+ return dfb_windowstack_cursor_set_opacity( obj, opacity );
+}
+
+
+DFBResult
+IWindowStack_Real__CursorSetAcceleration(
+ CoreWindowStack *obj,
+ u32 numerator,
+ u32 denominator,
+ u32 threshold
+)
+{
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "%s()\n", __FUNCTION__ );
+
+ return dfb_windowstack_cursor_set_acceleration( obj, numerator, denominator, threshold );
+}
+
+
+DFBResult
+IWindowStack_Real__CursorWarp(
+ CoreWindowStack *obj,
+ const DFBPoint *position
+)
+{
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "%s()\n", __FUNCTION__ );
+
+ return dfb_windowstack_cursor_warp( obj, position->x, position->y );
+}
+
+
+DFBResult
+IWindowStack_Real__CursorGetPosition(
+ CoreWindowStack *obj,
+ DFBPoint *ret_position
+)
+{
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "%s()\n", __FUNCTION__ );
+
+ return dfb_windowstack_get_cursor_position( obj, &ret_position->x, &ret_position->y );
+}
+
+
+DFBResult
+IWindowStack_Real__BackgroundSetMode(
+ CoreWindowStack *obj,
+ DFBDisplayLayerBackgroundMode mode
+)
+{
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "%s()\n", __FUNCTION__ );
+
+ return dfb_windowstack_set_background_mode( obj, mode );
+}
+
+
+DFBResult
+IWindowStack_Real__BackgroundSetImage(
+ CoreWindowStack *obj,
+ CoreSurface *image
+)
+{
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "%s()\n", __FUNCTION__ );
+
+ return dfb_windowstack_set_background_image( obj, image );
+}
+
+
+DFBResult
+IWindowStack_Real__BackgroundSetColor(
+ CoreWindowStack *obj,
+ const DFBColor *color
+)
+{
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "%s()\n", __FUNCTION__ );
+
+ return dfb_windowstack_set_background_color( obj, color );
+}
+
+
+DFBResult
+IWindowStack_Real__BackgroundSetColorIndex(
+ CoreWindowStack *obj,
+ s32 index
+)
+{
+ D_DEBUG_AT( DirectFB_CoreWindowStack, "%s()\n", __FUNCTION__ );
+
+ return dfb_windowstack_set_background_color_index( obj, index );
+}
diff --git a/src/core/CoreWindow_includes.h b/src/core/CoreWindow_includes.h
new file mode 100644
index 0000000..e26033b
--- /dev/null
+++ b/src/core/CoreWindow_includes.h
@@ -0,0 +1,28 @@
+#include "CoreDFB_includes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include <core/windows.h>
+#include <core/windows_internal.h>
+
+
+static __inline__ DirectResult
+CoreWindow_Call( CoreWindow *window,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ return fusion_call_execute3( &window->call, flags, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/src/core/CoreWindow_real.c b/src/core/CoreWindow_real.c
new file mode 100644
index 0000000..6bc495a
--- /dev/null
+++ b/src/core/CoreWindow_real.c
@@ -0,0 +1,454 @@
+/*
+ (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <core/CoreWindow.h>
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/messages.h>
+
+#include <core/windows.h>
+#include <core/windowstack.h>
+#include <core/wm.h>
+
+D_DEBUG_DOMAIN( Core_Window, "Core/Window", "DirectFB Core Window" );
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+IWindow_Real__Repaint( CoreWindow *obj,
+ const DFBRegion *left,
+ const DFBRegion *right,
+ DFBSurfaceFlipFlags flags )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+ D_ASSERT( left != NULL );
+ D_ASSERT( right != NULL );
+
+ return dfb_window_repaint( obj, left, flags );
+}
+
+DFBResult
+IWindow_Real__Restack( CoreWindow *obj,
+ CoreWindow *relative,
+ int relation )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ DFBResult ret;
+ CoreWindowStack *stack;
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+ D_ASSERT( obj->stack != NULL );
+
+ stack = obj->stack;
+
+ /* Lock the window stack. */
+ if (dfb_windowstack_lock( stack ))
+ return DFB_FUSION;
+
+ /* Never call WM after destroying the window. */
+ if (DFB_WINDOW_DESTROYED( obj )) {
+ dfb_windowstack_unlock( stack );
+ return DFB_DESTROYED;
+ }
+
+ /* Let the window manager do its work. */
+ ret = dfb_wm_restack_window( obj, relative, relation );
+
+ /* Unlock the window stack. */
+ dfb_windowstack_unlock( stack );
+
+ return ret;
+}
+
+DFBResult
+IWindow_Real__SetConfig( CoreWindow *obj,
+ const CoreWindowConfig *config,
+ const DFBInputDeviceKeySymbol *keys,
+ u32 num_keys,
+ CoreWindow *parent,
+ CoreWindowConfigFlags flags )
+{
+ CoreWindowConfig config_copy;
+
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+ D_ASSERT( config != NULL );
+
+ config_copy = *config;
+
+ config_copy.keys = (DFBInputDeviceKeySymbol*) keys;
+ config_copy.num_keys = num_keys;
+ config_copy.association = parent ? parent->object.id : 0;
+
+ return dfb_window_set_config( obj, &config_copy, flags );
+}
+
+DFBResult
+IWindow_Real__Bind( CoreWindow *obj,
+ CoreWindow *source,
+ int x,
+ int y )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+ D_MAGIC_ASSERT( source, CoreWindow );
+
+ return dfb_window_bind( obj, source, x, y );
+}
+
+DFBResult
+IWindow_Real__Unbind( CoreWindow *obj,
+ CoreWindow *source )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+ D_MAGIC_ASSERT( source, CoreWindow );
+
+ return dfb_window_unbind( obj, source );
+}
+
+DFBResult
+IWindow_Real__RequestFocus( CoreWindow *obj )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_request_focus( obj );
+}
+
+DFBResult
+IWindow_Real__ChangeGrab( CoreWindow *obj,
+ CoreWMGrabTarget target,
+ bool grab )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_change_grab( obj, target, grab );
+}
+
+DFBResult
+IWindow_Real__GrabKey( CoreWindow *obj,
+ DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_grab_key( obj, symbol, modifiers );
+}
+
+DFBResult
+IWindow_Real__UngrabKey( CoreWindow *obj,
+ DFBInputDeviceKeySymbol symbol,
+ DFBInputDeviceModifierMask modifiers )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_ungrab_key( obj, symbol, modifiers );
+}
+
+DFBResult
+IWindow_Real__Move( CoreWindow *obj,
+ int dx,
+ int dy )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_move( obj, dx, dy, true );
+}
+
+DFBResult
+IWindow_Real__MoveTo( CoreWindow *obj,
+ int x,
+ int y )
+{
+ DFBResult ret;
+ DFBInsets insets;
+
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ dfb_windowstack_lock( obj->stack );
+
+ dfb_wm_get_insets( obj->stack, obj, &insets );
+
+ ret = dfb_window_move( obj, x + insets.l, y + insets.t, false );
+
+ dfb_windowstack_unlock( obj->stack );
+
+ return ret;
+}
+
+DFBResult
+IWindow_Real__Resize( CoreWindow *obj,
+ int width,
+ int height )
+{
+ DFBResult ret;
+ DFBInsets insets;
+
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ dfb_windowstack_lock( obj->stack );
+
+ dfb_wm_get_insets( obj->stack, obj, &insets );
+
+ ret = dfb_window_resize( obj, width + insets.l+insets.r, height + insets.t+insets.b );
+
+ dfb_windowstack_unlock( obj->stack );
+
+ return ret;
+}
+
+DFBResult
+IWindow_Real__Destroy( CoreWindow *obj )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ dfb_window_destroy( obj );
+
+ return DFB_OK;
+}
+
+DFBResult
+IWindow_Real__BeginUpdates( CoreWindow *obj,
+ const DFBRegion *update )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ dfb_windowstack_lock( obj->stack );
+
+ ret = dfb_wm_begin_updates( obj, update );
+
+ dfb_windowstack_unlock( obj->stack );
+
+ return ret;
+}
+
+DFBResult
+IWindow_Real__SetCursorPosition( CoreWindow *obj,
+ int x,
+ int y )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ dfb_windowstack_lock( obj->stack );
+
+ ret = dfb_wm_set_cursor_position( obj, x, y );
+
+ dfb_windowstack_unlock( obj->stack );
+
+ return ret;
+}
+
+DFBResult
+IWindow_Real__ChangeEvents( CoreWindow *obj,
+ DFBWindowEventType disable,
+ DFBWindowEventType enable )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_change_events( obj, disable, enable );
+}
+
+DFBResult
+IWindow_Real__ChangeOptions( CoreWindow *obj,
+ DFBWindowOptions disable,
+ DFBWindowOptions enable )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_change_options( obj, disable, enable );
+}
+
+DFBResult
+IWindow_Real__SetColor( CoreWindow *obj,
+ const DFBColor *color )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_set_color( obj, *color );
+}
+
+DFBResult
+IWindow_Real__SetColorKey( CoreWindow *obj,
+ u32 key )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_set_colorkey( obj, key );
+}
+
+DFBResult
+IWindow_Real__SetOpaque( CoreWindow *obj,
+ const DFBRegion *opaque )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_set_opaque( obj, opaque );
+}
+
+DFBResult
+IWindow_Real__SetOpacity( CoreWindow *obj,
+ u8 opacity )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_set_opacity( obj, opacity );
+}
+
+DFBResult
+IWindow_Real__SetStacking( CoreWindow *obj,
+ DFBWindowStackingClass stacking )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_change_stacking( obj, stacking );
+}
+
+DFBResult
+IWindow_Real__SetBounds( CoreWindow *obj,
+ const DFBRectangle *bounds )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_set_bounds( obj, DFB_RECTANGLE_VALS( bounds ) );
+}
+
+DFBResult
+IWindow_Real__SetKeySelection( CoreWindow *obj,
+ DFBWindowKeySelection selection,
+ const DFBInputDeviceKeySymbol *keys,
+ u32 num_keys )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_set_key_selection( obj, selection, keys, num_keys );
+}
+
+DFBResult
+IWindow_Real__SetRotation( CoreWindow *obj,
+ int rotation )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_set_rotation( obj, rotation );
+}
+
+DFBResult
+IWindow_Real__GetSurface(
+ CoreWindow *obj,
+ CoreSurface **ret_surface
+)
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_ASSERT( ret_surface != NULL );
+
+ if (!obj->surface)
+ return DFB_UNSUPPORTED;
+
+ ret = (DFBResult) dfb_surface_ref( obj->surface );
+ if (ret)
+ return ret;
+
+ *ret_surface = obj->surface;
+
+ return DFB_OK;
+}
+
+DFBResult
+IWindow_Real__SetCursorShape(
+ CoreWindow *obj,
+ CoreSurface *shape,
+ const DFBPoint *hotspot )
+{
+ D_DEBUG_AT( Core_Window, "%s( %p )\n", __FUNCTION__, obj );
+
+ D_MAGIC_ASSERT( obj, CoreWindow );
+
+ return dfb_window_set_cursor_shape( obj, shape, hotspot->x, hotspot->y );
+}
+
diff --git a/lib/voodoo/conf.h b/src/core/Interface.h
similarity index 82%
copy from lib/voodoo/conf.h
copy to src/core/Interface.h
index e585493..e93d96e 100644
--- a/lib/voodoo/conf.h
+++ b/src/core/Interface.h
@@ -26,17 +26,30 @@
Boston, MA 02111-1307, USA.
*/
-#ifndef __VOODOO__CONF_H__
-#define __VOODOO__CONF_H__
+#ifndef __CORE_INTERFACE_H__
+#define __CORE_INTERFACE_H__
-#include <voodoo/types.h>
+extern "C" {
+#include <core/core.h>
+}
+namespace DirectFB {
-struct __V_VoodooConfig {
- /* nothing yet */
+
+class Interface {
+protected:
+ CoreDFB *core;
+
+ Interface( CoreDFB *core )
+ :
+ core( core )
+ {
+ }
};
-extern VoodooConfig *voodoo_config;
+
+
+}
#endif
diff --git a/src/core/Makefile.am b/src/core/Makefile.am
index e387345..f8ad1d3 100644
--- a/src/core/Makefile.am
+++ b/src/core/Makefile.am
@@ -3,6 +3,7 @@
INCLUDES = \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -17,6 +18,33 @@ AM_CPPFLAGS = \
internalincludedir = $(INTERNALINCLUDEDIR)/core
internalinclude_HEADERS = \
+ CoreDFB_CallMode.h \
+ $(builddir)/CoreDFB.h \
+ CoreDFB_includes.h \
+ $(builddir)/CoreSlave.h \
+ CoreSlave_includes.h \
+ $(builddir)/CoreGraphicsState.h \
+ CoreGraphicsState_includes.h \
+ CoreGraphicsStateClient.h \
+ $(builddir)/CoreInputDevice.h \
+ CoreInputDevice_includes.h \
+ $(builddir)/CoreLayer.h \
+ CoreLayer_includes.h \
+ $(builddir)/CoreLayerContext.h \
+ CoreLayerContext_includes.h \
+ $(builddir)/CoreLayerRegion.h \
+ CoreLayerRegion_includes.h \
+ $(builddir)/CorePalette.h \
+ CorePalette_includes.h \
+ $(builddir)/CoreScreen.h \
+ CoreScreen_includes.h \
+ $(builddir)/CoreSurface.h \
+ CoreSurface_includes.h \
+ $(builddir)/CoreWindow.h \
+ CoreWindow_includes.h \
+ $(builddir)/CoreWindowStack.h \
+ CoreWindowStack_includes.h \
+ Interface.h \
clipboard.h \
colorhash.h \
coredefs.h \
@@ -27,6 +55,7 @@ internalinclude_HEADERS = \
fonts.h \
gfxcard.h \
graphics_driver.h \
+ graphics_state.h \
input.h \
input_driver.h \
layer_context.h \
@@ -40,7 +69,9 @@ internalinclude_HEADERS = \
screens_internal.h \
state.h \
surface.h \
+ surface_allocation.h \
surface_buffer.h \
+ surface_core.h \
surface_pool.h \
surface_pool_bridge.h \
system.h \
@@ -55,12 +86,38 @@ noinst_LTLIBRARIES = libdirectfb_core.la
libdirectfb_core_la_SOURCES = \
+ $(builddir)/CoreDFB.c \
+ CoreDFB_real.c \
+ $(builddir)/CoreSlave.c \
+ CoreSlave_real.c \
+ $(builddir)/CoreGraphicsState.c \
+ CoreGraphicsState_real.c \
+ CoreGraphicsStateClient.c \
+ $(builddir)/CoreInputDevice.c \
+ CoreInputDevice_real.c \
+ $(builddir)/CoreLayer.c \
+ CoreLayer_real.c \
+ $(builddir)/CoreLayerContext.c \
+ CoreLayerContext_real.c \
+ $(builddir)/CoreLayerRegion.c \
+ CoreLayerRegion_real.c \
+ $(builddir)/CorePalette.c \
+ CorePalette_real.c \
+ $(builddir)/CoreScreen.c \
+ CoreScreen_real.c \
+ $(builddir)/CoreSurface.c \
+ CoreSurface_real.c \
+ $(builddir)/CoreWindow.c \
+ CoreWindow_real.c \
+ $(builddir)/CoreWindowStack.c \
+ CoreWindowStack_real.c \
clipboard.c \
colorhash.c \
core.c \
core_parts.c \
fonts.c \
gfxcard.c \
+ graphics_state.c \
input.c \
layer_context.c \
layer_control.c \
@@ -69,11 +126,14 @@ libdirectfb_core_la_SOURCES = \
local_surface_pool.c \
palette.c \
prealloc_surface_pool.c \
+ prealloc_surface_pool_bridge.c \
screen.c \
screens.c \
+ shared_secure_surface_pool.c \
shared_surface_pool.c \
state.c \
surface.c \
+ surface_allocation.c \
surface_buffer.c \
surface_core.c \
surface_pool.c \
@@ -82,3 +142,60 @@ libdirectfb_core_la_SOURCES = \
windows.c \
windowstack.c \
wm.c
+
+distclean-local:
+ rm -f CoreDFB.c
+ rm -f CoreDFB.h
+ rm -f CoreSlave.c
+ rm -f CoreSlave.h
+ rm -f CoreGraphicsState.c
+ rm -f CoreGraphicsState.h
+ rm -f CoreInputDevice.c
+ rm -f CoreInputDevice.h
+ rm -f CoreLayerContext.c
+ rm -f CoreLayerContext.h
+ rm -f CoreLayer.c
+ rm -f CoreLayer.h
+ rm -f CoreLayerRegion.c
+ rm -f CoreLayerRegion.h
+ rm -f CorePalette.c
+ rm -f CorePalette.h
+ rm -f CoreScreen.c
+ rm -f CoreScreen.h
+ rm -f CoreSurface.c
+ rm -f CoreSurface.h
+ rm -f CoreWindow.c
+ rm -f CoreWindow.h
+ rm -f CoreWindowStack.c
+ rm -f CoreWindowStack.h
+
+# quirks for generated headers
+$(srcdir)/CoreGraphicsStateClient.c: CoreGraphicsState.h CoreDFB.h
+$(srcdir)/core.c: CoreDFB.h CoreSlave.h
+$(srcdir)/surface.c: CoreDFB.h
+$(srcdir)/graphics_state.c: CoreGraphicsState.h
+$(srcdir)/input.c: CoreInputDevice.h
+$(srcdir)/layer_context.c: CoreLayerContext.h
+$(srcdir)/layers.c: CoreLayer.h
+$(srcdir)/layer_region.c: CoreLayerRegion.h
+$(srcdir)/palette.c: CorePalette.h
+$(srcdir)/screens.c: CoreScreen.h
+$(srcdir)/surface.c: CoreSurface.h
+$(srcdir)/surface_buffer.c: CoreSurface.h
+$(srcdir)/windows.c: CoreWindow.h
+$(srcdir)/windowstack.c: CoreWindowStack.h
+
+$(srcdir)/CoreDFB_real.c: CoreGraphicsState.h CoreDFB.h
+$(srcdir)/CoreGraphicsState_real.c: CoreGraphicsState.h
+$(srcdir)/CoreInputDevice_real.c: CoreInputDevice.h
+$(srcdir)/CoreLayerContext_real.c: CoreLayerContext.h
+$(srcdir)/CoreLayer_real.c: CoreLayer.h
+$(srcdir)/CoreLayerRegion_real.c: CoreLayerRegion.h
+$(srcdir)/CorePalette_real.c: CorePalette.h
+$(srcdir)/CoreScreen_real.c: CoreScreen.h
+$(srcdir)/CoreSurface_real.c: CoreSurface.h
+$(srcdir)/CoreWindow_real.c: CoreWindow.h
+$(srcdir)/CoreWindowStack_real.c: CoreWindowStack.h
+
+
+include $(top_srcdir)/rules/flux_comp.make
diff --git a/src/core/Makefile.in b/src/core/Makefile.in
index cc96dfc..e113341 100644
--- a/src/core/Makefile.in
+++ b/src/core/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -34,9 +36,9 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-subdir = src/core
DIST_COMMON = $(internalinclude_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
+ $(srcdir)/Makefile.in $(top_srcdir)/rules/flux_comp.make
+subdir = src/core
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/as-ac-expand.m4 \
$(top_srcdir)/configure.in
@@ -45,29 +47,57 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libdirectfb_core_la_LIBADD =
-am_libdirectfb_core_la_OBJECTS = clipboard.lo colorhash.lo core.lo \
- core_parts.lo fonts.lo gfxcard.lo input.lo layer_context.lo \
+am_libdirectfb_core_la_OBJECTS = CoreDFB.lo CoreDFB_real.lo \
+ CoreSlave.lo CoreSlave_real.lo CoreGraphicsState.lo \
+ CoreGraphicsState_real.lo CoreGraphicsStateClient.lo \
+ CoreInputDevice.lo CoreInputDevice_real.lo CoreLayer.lo \
+ CoreLayer_real.lo CoreLayerContext.lo CoreLayerContext_real.lo \
+ CoreLayerRegion.lo CoreLayerRegion_real.lo CorePalette.lo \
+ CorePalette_real.lo CoreScreen.lo CoreScreen_real.lo \
+ CoreSurface.lo CoreSurface_real.lo CoreWindow.lo \
+ CoreWindow_real.lo CoreWindowStack.lo CoreWindowStack_real.lo \
+ clipboard.lo colorhash.lo core.lo core_parts.lo fonts.lo \
+ gfxcard.lo graphics_state.lo input.lo layer_context.lo \
layer_control.lo layer_region.lo layers.lo \
local_surface_pool.lo palette.lo prealloc_surface_pool.lo \
- screen.lo screens.lo shared_surface_pool.lo state.lo \
- surface.lo surface_buffer.lo surface_core.lo surface_pool.lo \
- surface_pool_bridge.lo system.lo windows.lo windowstack.lo \
- wm.lo
+ prealloc_surface_pool_bridge.lo screen.lo screens.lo \
+ shared_secure_surface_pool.lo shared_surface_pool.lo state.lo \
+ surface.lo surface_allocation.lo surface_buffer.lo \
+ surface_core.lo surface_pool.lo surface_pool_bridge.lo \
+ system.lo windows.lo windowstack.lo wm.lo
libdirectfb_core_la_OBJECTS = $(am_libdirectfb_core_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_core_la_SOURCES)
DIST_SOURCES = $(libdirectfb_core_la_SOURCES)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -75,15 +105,36 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(internalincludedir)"
-internalincludeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(internalinclude_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -107,11 +158,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -125,16 +179,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -155,12 +210,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -171,21 +229,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -193,6 +259,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -206,6 +276,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -213,9 +284,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -262,11 +334,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -279,6 +353,33 @@ AM_CPPFLAGS = \
internalincludedir = $(INTERNALINCLUDEDIR)/core
internalinclude_HEADERS = \
+ CoreDFB_CallMode.h \
+ $(builddir)/CoreDFB.h \
+ CoreDFB_includes.h \
+ $(builddir)/CoreSlave.h \
+ CoreSlave_includes.h \
+ $(builddir)/CoreGraphicsState.h \
+ CoreGraphicsState_includes.h \
+ CoreGraphicsStateClient.h \
+ $(builddir)/CoreInputDevice.h \
+ CoreInputDevice_includes.h \
+ $(builddir)/CoreLayer.h \
+ CoreLayer_includes.h \
+ $(builddir)/CoreLayerContext.h \
+ CoreLayerContext_includes.h \
+ $(builddir)/CoreLayerRegion.h \
+ CoreLayerRegion_includes.h \
+ $(builddir)/CorePalette.h \
+ CorePalette_includes.h \
+ $(builddir)/CoreScreen.h \
+ CoreScreen_includes.h \
+ $(builddir)/CoreSurface.h \
+ CoreSurface_includes.h \
+ $(builddir)/CoreWindow.h \
+ CoreWindow_includes.h \
+ $(builddir)/CoreWindowStack.h \
+ CoreWindowStack_includes.h \
+ Interface.h \
clipboard.h \
colorhash.h \
coredefs.h \
@@ -289,6 +390,7 @@ internalinclude_HEADERS = \
fonts.h \
gfxcard.h \
graphics_driver.h \
+ graphics_state.h \
input.h \
input_driver.h \
layer_context.h \
@@ -302,7 +404,9 @@ internalinclude_HEADERS = \
screens_internal.h \
state.h \
surface.h \
+ surface_allocation.h \
surface_buffer.h \
+ surface_core.h \
surface_pool.h \
surface_pool_bridge.h \
system.h \
@@ -314,12 +418,38 @@ internalinclude_HEADERS = \
noinst_LTLIBRARIES = libdirectfb_core.la
libdirectfb_core_la_SOURCES = \
+ $(builddir)/CoreDFB.c \
+ CoreDFB_real.c \
+ $(builddir)/CoreSlave.c \
+ CoreSlave_real.c \
+ $(builddir)/CoreGraphicsState.c \
+ CoreGraphicsState_real.c \
+ CoreGraphicsStateClient.c \
+ $(builddir)/CoreInputDevice.c \
+ CoreInputDevice_real.c \
+ $(builddir)/CoreLayer.c \
+ CoreLayer_real.c \
+ $(builddir)/CoreLayerContext.c \
+ CoreLayerContext_real.c \
+ $(builddir)/CoreLayerRegion.c \
+ CoreLayerRegion_real.c \
+ $(builddir)/CorePalette.c \
+ CorePalette_real.c \
+ $(builddir)/CoreScreen.c \
+ CoreScreen_real.c \
+ $(builddir)/CoreSurface.c \
+ CoreSurface_real.c \
+ $(builddir)/CoreWindow.c \
+ CoreWindow_real.c \
+ $(builddir)/CoreWindowStack.c \
+ CoreWindowStack_real.c \
clipboard.c \
colorhash.c \
core.c \
core_parts.c \
fonts.c \
gfxcard.c \
+ graphics_state.c \
input.c \
layer_context.c \
layer_control.c \
@@ -328,11 +458,14 @@ libdirectfb_core_la_SOURCES = \
local_surface_pool.c \
palette.c \
prealloc_surface_pool.c \
+ prealloc_surface_pool_bridge.c \
screen.c \
screens.c \
+ shared_secure_surface_pool.c \
shared_surface_pool.c \
state.c \
surface.c \
+ surface_allocation.c \
surface_buffer.c \
surface_core.c \
surface_pool.c \
@@ -346,18 +479,18 @@ all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/rules/flux_comp.make $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/core/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/core/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -367,6 +500,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/flux_comp.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -375,6 +509,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@@ -384,8 +519,8 @@ clean-noinstLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_core.la: $(libdirectfb_core_la_OBJECTS) $(libdirectfb_core_la_DEPENDENCIES)
- $(LINK) $(libdirectfb_core_la_OBJECTS) $(libdirectfb_core_la_LIBADD) $(LIBS)
+libdirectfb_core.la: $(libdirectfb_core_la_OBJECTS) $(libdirectfb_core_la_DEPENDENCIES) $(EXTRA_libdirectfb_core_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libdirectfb_core_la_OBJECTS) $(libdirectfb_core_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -393,12 +528,38 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreDFB.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreDFB_real.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreGraphicsState.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreGraphicsStateClient.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreGraphicsState_real.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreInputDevice.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreInputDevice_real.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreLayer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreLayerContext.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreLayerContext_real.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreLayerRegion.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreLayerRegion_real.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreLayer_real.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CorePalette.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CorePalette_real.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreScreen.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreScreen_real.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreSlave.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreSlave_real.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreSurface.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreSurface_real.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreWindow.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreWindowStack.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreWindowStack_real.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CoreWindow_real.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/clipboard.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/colorhash.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/core.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/core_parts.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fonts.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gfxcard.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/graphics_state.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/input.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/layer_context.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/layer_control.Plo at am__quote@
@@ -407,11 +568,14 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/local_surface_pool.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/palette.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/prealloc_surface_pool.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/prealloc_surface_pool_bridge.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/screen.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/screens.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/shared_secure_surface_pool.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/shared_surface_pool.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/state.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/surface.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/surface_allocation.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/surface_buffer.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/surface_core.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/surface_pool.Plo at am__quote@
@@ -422,25 +586,109 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wm.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+CoreDFB.lo: $(builddir)/CoreDFB.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT CoreDFB.lo -MD -MP -MF $(DEPDIR)/CoreDFB.Tpo -c -o CoreDFB.lo `test -f '$(builddir)/CoreDFB.c' || echo '$(srcdir)/'`$(builddir)/CoreDFB.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CoreDFB.Tpo $(DEPDIR)/CoreDFB.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(builddir)/CoreDFB.c' object='CoreDFB.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o CoreDFB.lo `test -f '$(builddir)/CoreDFB.c' || echo '$(srcdir)/'`$(builddir)/CoreDFB.c
+
+CoreSlave.lo: $(builddir)/CoreSlave.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT CoreSlave.lo -MD -MP -MF $(DEPDIR)/CoreSlave.Tpo -c -o CoreSlave.lo `test -f '$(builddir)/CoreSlave.c' || echo '$(srcdir)/'`$(builddir)/CoreSlave.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CoreSlave.Tpo $(DEPDIR)/CoreSlave.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(builddir)/CoreSlave.c' object='CoreSlave.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o CoreSlave.lo `test -f '$(builddir)/CoreSlave.c' || echo '$(srcdir)/'`$(builddir)/CoreSlave.c
+
+CoreGraphicsState.lo: $(builddir)/CoreGraphicsState.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT CoreGraphicsState.lo -MD -MP -MF $(DEPDIR)/CoreGraphicsState.Tpo -c -o CoreGraphicsState.lo `test -f '$(builddir)/CoreGraphicsState.c' || echo '$(srcdir)/'`$(builddir)/CoreGraphicsState.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CoreGraphicsState.Tpo $(DEPDIR)/CoreGraphicsState.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(builddir)/CoreGraphicsState.c' object='CoreGraphicsState.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o CoreGraphicsState.lo `test -f '$(builddir)/CoreGraphicsState.c' || echo '$(srcdir)/'`$(builddir)/CoreGraphicsState.c
+
+CoreInputDevice.lo: $(builddir)/CoreInputDevice.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT CoreInputDevice.lo -MD -MP -MF $(DEPDIR)/CoreInputDevice.Tpo -c -o CoreInputDevice.lo `test -f '$(builddir)/CoreInputDevice.c' || echo '$(srcdir)/'`$(builddir)/CoreInputDevice.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CoreInputDevice.Tpo $(DEPDIR)/CoreInputDevice.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(builddir)/CoreInputDevice.c' object='CoreInputDevice.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o CoreInputDevice.lo `test -f '$(builddir)/CoreInputDevice.c' || echo '$(srcdir)/'`$(builddir)/CoreInputDevice.c
+
+CoreLayer.lo: $(builddir)/CoreLayer.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT CoreLayer.lo -MD -MP -MF $(DEPDIR)/CoreLayer.Tpo -c -o CoreLayer.lo `test -f '$(builddir)/CoreLayer.c' || echo '$(srcdir)/'`$(builddir)/CoreLayer.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CoreLayer.Tpo $(DEPDIR)/CoreLayer.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(builddir)/CoreLayer.c' object='CoreLayer.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o CoreLayer.lo `test -f '$(builddir)/CoreLayer.c' || echo '$(srcdir)/'`$(builddir)/CoreLayer.c
+
+CoreLayerContext.lo: $(builddir)/CoreLayerContext.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT CoreLayerContext.lo -MD -MP -MF $(DEPDIR)/CoreLayerContext.Tpo -c -o CoreLayerContext.lo `test -f '$(builddir)/CoreLayerContext.c' || echo '$(srcdir)/'`$(builddir)/CoreLayerContext.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CoreLayerContext.Tpo $(DEPDIR)/CoreLayerContext.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(builddir)/CoreLayerContext.c' object='CoreLayerContext.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o CoreLayerContext.lo `test -f '$(builddir)/CoreLayerContext.c' || echo '$(srcdir)/'`$(builddir)/CoreLayerContext.c
+
+CoreLayerRegion.lo: $(builddir)/CoreLayerRegion.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT CoreLayerRegion.lo -MD -MP -MF $(DEPDIR)/CoreLayerRegion.Tpo -c -o CoreLayerRegion.lo `test -f '$(builddir)/CoreLayerRegion.c' || echo '$(srcdir)/'`$(builddir)/CoreLayerRegion.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CoreLayerRegion.Tpo $(DEPDIR)/CoreLayerRegion.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(builddir)/CoreLayerRegion.c' object='CoreLayerRegion.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o CoreLayerRegion.lo `test -f '$(builddir)/CoreLayerRegion.c' || echo '$(srcdir)/'`$(builddir)/CoreLayerRegion.c
+
+CorePalette.lo: $(builddir)/CorePalette.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT CorePalette.lo -MD -MP -MF $(DEPDIR)/CorePalette.Tpo -c -o CorePalette.lo `test -f '$(builddir)/CorePalette.c' || echo '$(srcdir)/'`$(builddir)/CorePalette.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CorePalette.Tpo $(DEPDIR)/CorePalette.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(builddir)/CorePalette.c' object='CorePalette.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o CorePalette.lo `test -f '$(builddir)/CorePalette.c' || echo '$(srcdir)/'`$(builddir)/CorePalette.c
+
+CoreScreen.lo: $(builddir)/CoreScreen.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT CoreScreen.lo -MD -MP -MF $(DEPDIR)/CoreScreen.Tpo -c -o CoreScreen.lo `test -f '$(builddir)/CoreScreen.c' || echo '$(srcdir)/'`$(builddir)/CoreScreen.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CoreScreen.Tpo $(DEPDIR)/CoreScreen.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(builddir)/CoreScreen.c' object='CoreScreen.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o CoreScreen.lo `test -f '$(builddir)/CoreScreen.c' || echo '$(srcdir)/'`$(builddir)/CoreScreen.c
+
+CoreSurface.lo: $(builddir)/CoreSurface.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT CoreSurface.lo -MD -MP -MF $(DEPDIR)/CoreSurface.Tpo -c -o CoreSurface.lo `test -f '$(builddir)/CoreSurface.c' || echo '$(srcdir)/'`$(builddir)/CoreSurface.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CoreSurface.Tpo $(DEPDIR)/CoreSurface.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(builddir)/CoreSurface.c' object='CoreSurface.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o CoreSurface.lo `test -f '$(builddir)/CoreSurface.c' || echo '$(srcdir)/'`$(builddir)/CoreSurface.c
+
+CoreWindow.lo: $(builddir)/CoreWindow.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT CoreWindow.lo -MD -MP -MF $(DEPDIR)/CoreWindow.Tpo -c -o CoreWindow.lo `test -f '$(builddir)/CoreWindow.c' || echo '$(srcdir)/'`$(builddir)/CoreWindow.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CoreWindow.Tpo $(DEPDIR)/CoreWindow.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(builddir)/CoreWindow.c' object='CoreWindow.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o CoreWindow.lo `test -f '$(builddir)/CoreWindow.c' || echo '$(srcdir)/'`$(builddir)/CoreWindow.c
+
+CoreWindowStack.lo: $(builddir)/CoreWindowStack.c
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT CoreWindowStack.lo -MD -MP -MF $(DEPDIR)/CoreWindowStack.Tpo -c -o CoreWindowStack.lo `test -f '$(builddir)/CoreWindowStack.c' || echo '$(srcdir)/'`$(builddir)/CoreWindowStack.c
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CoreWindowStack.Tpo $(DEPDIR)/CoreWindowStack.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(builddir)/CoreWindowStack.c' object='CoreWindowStack.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o CoreWindowStack.lo `test -f '$(builddir)/CoreWindowStack.c' || echo '$(srcdir)/'`$(builddir)/CoreWindowStack.c
mostlyclean-libtool:
-rm -f *.lo
@@ -450,34 +698,35 @@ clean-libtool:
install-internalincludeHEADERS: $(internalinclude_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(internalincludedir)" || $(MKDIR_P) "$(DESTDIR)$(internalincludedir)"
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(internalincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(internalincludedir)/$$f'"; \
- $(internalincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(internalincludedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(internalincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(internalincludedir)" || exit $$?; \
done
uninstall-internalincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(internalincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(internalincludedir)/$$f"; \
- done
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(internalincludedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -485,29 +734,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -528,13 +782,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -555,16 +813,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -578,7 +842,7 @@ distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
+ distclean-local distclean-tags
dvi: dvi-am
@@ -586,6 +850,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -594,18 +860,28 @@ install-data-am: install-internalincludeHEADERS
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -633,10 +909,10 @@ uninstall-am: uninstall-internalincludeHEADERS
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libtool clean-noinstLTLIBRARIES ctags distclean \
distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am \
+ distclean-local distclean-tags distdir dvi dvi-am html html-am \
+ info info-am install install-am install-data install-data-am \
+ install-dvi install-dvi-am install-exec install-exec-am \
+ install-html install-html-am install-info install-info-am \
install-internalincludeHEADERS install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
@@ -644,6 +920,65 @@ uninstall-am: uninstall-internalincludeHEADERS
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-internalincludeHEADERS
+
+distclean-local:
+ rm -f CoreDFB.c
+ rm -f CoreDFB.h
+ rm -f CoreSlave.c
+ rm -f CoreSlave.h
+ rm -f CoreGraphicsState.c
+ rm -f CoreGraphicsState.h
+ rm -f CoreInputDevice.c
+ rm -f CoreInputDevice.h
+ rm -f CoreLayerContext.c
+ rm -f CoreLayerContext.h
+ rm -f CoreLayer.c
+ rm -f CoreLayer.h
+ rm -f CoreLayerRegion.c
+ rm -f CoreLayerRegion.h
+ rm -f CorePalette.c
+ rm -f CorePalette.h
+ rm -f CoreScreen.c
+ rm -f CoreScreen.h
+ rm -f CoreSurface.c
+ rm -f CoreSurface.h
+ rm -f CoreWindow.c
+ rm -f CoreWindow.h
+ rm -f CoreWindowStack.c
+ rm -f CoreWindowStack.h
+
+# quirks for generated headers
+$(srcdir)/CoreGraphicsStateClient.c: CoreGraphicsState.h CoreDFB.h
+$(srcdir)/core.c: CoreDFB.h CoreSlave.h
+$(srcdir)/surface.c: CoreDFB.h
+$(srcdir)/graphics_state.c: CoreGraphicsState.h
+$(srcdir)/input.c: CoreInputDevice.h
+$(srcdir)/layer_context.c: CoreLayerContext.h
+$(srcdir)/layers.c: CoreLayer.h
+$(srcdir)/layer_region.c: CoreLayerRegion.h
+$(srcdir)/palette.c: CorePalette.h
+$(srcdir)/screens.c: CoreScreen.h
+$(srcdir)/surface.c: CoreSurface.h
+$(srcdir)/surface_buffer.c: CoreSurface.h
+$(srcdir)/windows.c: CoreWindow.h
+$(srcdir)/windowstack.c: CoreWindowStack.h
+
+$(srcdir)/CoreDFB_real.c: CoreGraphicsState.h CoreDFB.h
+$(srcdir)/CoreGraphicsState_real.c: CoreGraphicsState.h
+$(srcdir)/CoreInputDevice_real.c: CoreInputDevice.h
+$(srcdir)/CoreLayerContext_real.c: CoreLayerContext.h
+$(srcdir)/CoreLayer_real.c: CoreLayer.h
+$(srcdir)/CoreLayerRegion_real.c: CoreLayerRegion.h
+$(srcdir)/CorePalette_real.c: CorePalette.h
+$(srcdir)/CoreScreen_real.c: CoreScreen.h
+$(srcdir)/CoreSurface_real.c: CoreSurface.h
+$(srcdir)/CoreWindow_real.c: CoreWindow.h
+$(srcdir)/CoreWindowStack_real.c: CoreWindowStack.h
+FLUX_ARGS ?= -c -i --include-prefix=core --call-mode
+
+$(builddir)/%.c $(builddir)/%.h: $(srcdir)/%.flux
+ $(FLUXCOMP) $(FLUX_ARGS) $<
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/core/clipboard.c b/src/core/clipboard.c
index 53fde34..e526f0c 100644
--- a/src/core/clipboard.c
+++ b/src/core/clipboard.c
@@ -86,6 +86,8 @@ dfb_clipboard_core_initialize( CoreDFB *core,
fusion_skirmish_init( &shared->lock, "Clipboard Core", dfb_core_world(core) );
+ fusion_skirmish_add_permissions( &shared->lock, 0, FUSION_SKIRMISH_PERMIT_PREVAIL | FUSION_SKIRMISH_PERMIT_DISMISS );
+
D_MAGIC_SET( data, DFBClipboardCore );
D_MAGIC_SET( shared, DFBClipboardCoreShared );
diff --git a/src/core/colorhash.c b/src/core/colorhash.c
index a0322ef..5dd836b 100644
--- a/src/core/colorhash.c
+++ b/src/core/colorhash.c
@@ -30,9 +30,7 @@
#include <direct/debug.h>
#include <direct/memcpy.h>
-
-#include <fusion/arena.h>
-#include <fusion/shmalloc.h>
+#include <direct/thread.h>
#include <core/core.h>
#include <core/core_parts.h>
@@ -49,21 +47,15 @@ D_DEBUG_DOMAIN( Core_ColorHash, "Core/ColorHash", "DirectFB ColorHash Core" );
#define HASH_SIZE 823
typedef struct {
- unsigned int pixel;
- unsigned int index;
- CorePalette *palette;
+ unsigned int pixel;
+ unsigned int index;
+ u32 palette_id;
} Colorhash;
/**********************************************************************************************************************/
typedef struct {
int magic;
-
- Colorhash *hash;
- unsigned int hash_users;
- FusionSkirmish hash_lock;
-
- FusionSHMPoolShared *shmpool;
} DFBColorHashCoreShared;
struct __DFB_DFBColorHashCore {
@@ -72,6 +64,10 @@ struct __DFB_DFBColorHashCore {
CoreDFB *core;
DFBColorHashCoreShared *shared;
+
+ Colorhash *hash;
+ unsigned int hash_users;
+ DirectMutex hash_lock;
};
DFB_CORE_PART( colorhash_core, ColorHashCore );
@@ -96,9 +92,11 @@ dfb_colorhash_core_initialize( CoreDFB *core,
data->core = core;
data->shared = shared;
- shared->shmpool = dfb_core_shmpool( core );
+ data->hash = D_CALLOC( HASH_SIZE, sizeof (Colorhash) );
+ if (!data->hash)
+ return D_OOM();
- fusion_skirmish_init( &shared->hash_lock, "Colorhash Core", dfb_core_world(core) );
+ direct_mutex_init( &data->hash_lock );
D_MAGIC_SET( data, DFBColorHashCore );
D_MAGIC_SET( shared, DFBColorHashCoreShared );
@@ -121,6 +119,12 @@ dfb_colorhash_core_join( CoreDFB *core,
data->core = core;
data->shared = shared;
+ data->hash = D_CALLOC( HASH_SIZE, sizeof (Colorhash) );
+ if (!data->hash)
+ return D_OOM();
+
+ direct_mutex_init( &data->hash_lock );
+
D_MAGIC_SET( data, DFBColorHashCore );
return DFB_OK;
@@ -139,7 +143,9 @@ dfb_colorhash_core_shutdown( DFBColorHashCore *data,
shared = data->shared;
- fusion_skirmish_destroy( &shared->hash_lock );
+ direct_mutex_deinit( &data->hash_lock );
+
+ D_FREE( data->hash );
D_MAGIC_CLEAR( data );
D_MAGIC_CLEAR( shared );
@@ -160,6 +166,10 @@ dfb_colorhash_core_leave( DFBColorHashCore *data,
shared = data->shared;
+ direct_mutex_deinit( &data->hash_lock );
+
+ D_FREE( data->hash );
+
D_MAGIC_CLEAR( data );
return DFB_OK;
@@ -197,69 +207,6 @@ dfb_colorhash_core_resume( DFBColorHashCore *data )
/**********************************************************************************************************************/
-void
-dfb_colorhash_attach( DFBColorHashCore *core,
- CorePalette *palette )
-{
- DFBColorHashCoreShared *shared;
-
-// D_ASSUME( core != NULL );
-
- if (core) {
- D_MAGIC_ASSERT( core, DFBColorHashCore );
- D_MAGIC_ASSERT( core->shared, DFBColorHashCoreShared );
- }
- else
- core = core_colorhash;
-
- shared = core->shared;
-
- fusion_skirmish_prevail( &shared->hash_lock );
-
- if (!shared->hash) {
- D_ASSERT( shared->hash_users == 0 );
-
- shared->hash = SHCALLOC( shared->shmpool, HASH_SIZE, sizeof (Colorhash) );
- }
-
- shared->hash_users++;
-
- fusion_skirmish_dismiss( &shared->hash_lock );
-}
-
-void
-dfb_colorhash_detach( DFBColorHashCore *core,
- CorePalette *palette )
-{
- DFBColorHashCoreShared *shared;
-
-// D_ASSUME( core != NULL );
-
- if (core) {
- D_MAGIC_ASSERT( core, DFBColorHashCore );
- D_MAGIC_ASSERT( core->shared, DFBColorHashCoreShared );
- }
- else
- core = core_colorhash;
-
- shared = core->shared;
-
- D_ASSERT( shared->hash_users > 0 );
- D_ASSERT( shared->hash != NULL );
-
- fusion_skirmish_prevail( &shared->hash_lock );
-
- shared->hash_users--;
-
- if (!shared->hash_users) {
- /* no more users, free allocated resources */
- SHFREE( shared->shmpool, shared->hash );
- shared->hash = NULL;
- }
-
- fusion_skirmish_dismiss( &shared->hash_lock );
-}
-
unsigned int
dfb_colorhash_lookup( DFBColorHashCore *core,
CorePalette *palette,
@@ -283,14 +230,14 @@ dfb_colorhash_lookup( DFBColorHashCore *core,
shared = core->shared;
- D_ASSERT( shared->hash != NULL );
+ D_ASSERT( core->hash != NULL );
- fusion_skirmish_prevail( &shared->hash_lock );
+ direct_mutex_lock( &core->hash_lock );
/* try a lookup in the hash table */
- if (shared->hash[index].palette == palette && shared->hash[index].pixel == pixel) {
+ if (core->hash[index].palette_id == palette->object.id && core->hash[index].pixel == pixel) {
/* set the return value */
- index = shared->hash[index].index;
+ index = core->hash[index].index;
} else { /* look for the closest match */
DFBColor *entries = palette->entries;
int min_diff = 0;
@@ -320,15 +267,15 @@ dfb_colorhash_lookup( DFBColorHashCore *core,
}
/* store the matching entry in the hash table */
- shared->hash[index].pixel = pixel;
- shared->hash[index].index = min_index;
- shared->hash[index].palette = palette;
+ core->hash[index].pixel = pixel;
+ core->hash[index].index = min_index;
+ core->hash[index].palette_id = palette->object.id;
/* set the return value */
index = min_index;
}
- fusion_skirmish_dismiss( &shared->hash_lock );
+ direct_mutex_unlock( &core->hash_lock );
return index;
}
@@ -351,16 +298,16 @@ dfb_colorhash_invalidate( DFBColorHashCore *core,
shared = core->shared;
- D_ASSERT( shared->hash != NULL );
+ D_ASSERT( core->hash != NULL );
- fusion_skirmish_prevail( &shared->hash_lock );
+ direct_mutex_lock( &core->hash_lock );
/* invalidate all entries owned by this palette */
do {
- if (shared->hash[index].palette == palette)
- shared->hash[index].palette = NULL;
+ if (core->hash[index].palette_id == palette->object.id)
+ core->hash[index].palette_id = 0;
} while (index--);
- fusion_skirmish_dismiss( &shared->hash_lock );
+ direct_mutex_unlock( &core->hash_lock );
}
diff --git a/src/core/colorhash.h b/src/core/colorhash.h
index d321000..666b474 100644
--- a/src/core/colorhash.h
+++ b/src/core/colorhash.h
@@ -34,12 +34,6 @@
#include <core/coretypes.h>
-void dfb_colorhash_attach ( DFBColorHashCore *core,
- CorePalette *palette );
-
-void dfb_colorhash_detach ( DFBColorHashCore *core,
- CorePalette *palette );
-
unsigned int dfb_colorhash_lookup ( DFBColorHashCore *core,
CorePalette *palette,
u8 r,
diff --git a/src/core/core.c b/src/core/core.c
index c7f3f2e..ddc2e2d 100644
--- a/src/core/core.c
+++ b/src/core/core.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -35,10 +35,13 @@
#include <pthread.h>
+#include <direct/hash.h>
+#include <direct/list.h>
+
#include <fusion/fusion.h>
#include <fusion/arena.h>
-#include <direct/list.h>
#include <fusion/shmalloc.h>
+#include <fusion/shm/shm_internal.h>
#include <directfb.h>
@@ -47,6 +50,8 @@
#include <core/core.h>
#include <core/core_parts.h>
+#include <core/fonts.h>
+#include <core/graphics_state.h>
#include <core/layer_context.h>
#include <core/layer_region.h>
#include <core/palette.h>
@@ -55,6 +60,9 @@
#include <core/windows.h>
#include <core/windows_internal.h>
+#include <core/CoreDFB.h>
+#include <core/CoreSlave.h>
+
#include <direct/build.h>
#include <direct/debug.h>
#include <direct/direct.h>
@@ -157,48 +165,6 @@ struct _CoreCleanup {
/******************************************************************************/
-struct __DFB_CoreDFBShared {
- int magic;
-
- FusionSkirmish lock;
- bool active;
-
- FusionObjectPool *layer_context_pool;
- FusionObjectPool *layer_region_pool;
- FusionObjectPool *palette_pool;
- FusionObjectPool *surface_pool;
- FusionObjectPool *window_pool;
-
- FusionSHMPoolShared *shmpool;
- FusionSHMPoolShared *shmpool_data; /* for raw data, e.g. surface buffers */
-};
-
-struct __DFB_CoreDFB {
- int magic;
-
- int refs;
-
- int fusion_id;
-
- FusionWorld *world;
- FusionArena *arena;
-
- CoreDFBShared *shared;
-
- bool master;
- bool suspended;
-
- DirectLink *cleanups;
-
- DirectThreadInitHandler *init_handler;
-
- DirectSignalHandler *signal_handler;
-
- DirectCleanupHandler *cleanup_handler;
-};
-
-/******************************************************************************/
-
/*
* ckecks if stack is clean, otherwise prints warning, then calls core_deinit()
*/
@@ -236,11 +202,28 @@ static void* dfb_lib_handle = NULL;
/******************************************************************************/
-static CoreDFB *core_dfb = NULL;
+CoreDFB *core_dfb = NULL;
static pthread_mutex_t core_dfb_lock = PTHREAD_MUTEX_INITIALIZER;
/******************************************************************************/
+static FusionCallHandlerResult
+Core_AsyncCall_Handler( int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *call_ptr, /* optional call parameter */
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ int *ret_val )
+{
+ AsyncCall *call = call_ptr;
+
+ call->func( call->ctx, call->ctx2 );
+
+ return FCHR_RETURN;
+}
+
+/******************************************************************************/
+
DFBResult
dfb_core_create( CoreDFB **ret_core )
{
@@ -336,7 +319,10 @@ dfb_core_create( CoreDFB **ret_core )
sync();
}
- direct_signal_handler_add( DIRECT_SIGNAL_ANY, dfb_core_signal_handler, core, &core->signal_handler );
+ if (dfb_config->core_sighandler)
+ direct_signal_handler_add( DIRECT_SIGNAL_ANY, dfb_core_signal_handler, core, &core->signal_handler );
+
+ fusion_call_init( &core_dfb->async_call, Core_AsyncCall_Handler, core, core_dfb->world );
if (fusion_arena_enter( core->world, "DirectFB/Core",
dfb_core_arena_initialize, dfb_core_arena_join,
@@ -355,7 +341,6 @@ dfb_core_create( CoreDFB **ret_core )
if (dfb_config->deinit_check)
direct_cleanup_handler_add( dfb_core_deinit_check, NULL, &core->cleanup_handler );
-
fusion_skirmish_prevail( &shared->lock );
if (!core->master) {
@@ -365,6 +350,7 @@ dfb_core_create( CoreDFB **ret_core )
fusion_skirmish_dismiss( &shared->lock );
+ dfb_font_manager_create( core, &core->font_manager );
*ret_core = core;
@@ -377,8 +363,11 @@ dfb_core_create( CoreDFB **ret_core )
error:
if (core) {
- if (core->world)
+ if (core->world) {
+ fusion_call_destroy( &core_dfb->async_call );
+
fusion_exit( core->world, false );
+ }
if (core->init_handler)
direct_thread_remove_init_handler( core->init_handler );
@@ -408,16 +397,29 @@ dfb_core_destroy( CoreDFB *core, bool emergency )
D_DEBUG_AT( DirectFB_Core, "%s...\n", __FUNCTION__ );
- if (!emergency) {
- pthread_mutex_lock( &core_dfb_lock );
+ pthread_mutex_lock( &core_dfb_lock );
+
+ if (!core->shutdown_running)
+ core->shutdown_running = 1;
+ else {
+ pthread_mutex_unlock( &core_dfb_lock );
+ return DFB_OK;
+ }
+ if (!emergency) {
if (--core->refs) {
pthread_mutex_unlock( &core_dfb_lock );
return DFB_OK;
}
}
+ else
+ usleep( 500000 );
- direct_signal_handler_remove( core->signal_handler );
+ if (core->font_manager)
+ dfb_font_manager_destroy( core->font_manager );
+
+ if (core->signal_handler)
+ direct_signal_handler_remove( core->signal_handler );
if (core->cleanup_handler)
direct_cleanup_handler_remove( core->cleanup_handler );
@@ -436,12 +438,14 @@ dfb_core_destroy( CoreDFB *core, bool emergency )
while (fusion_arena_exit( core->arena, dfb_core_arena_shutdown,
core->master ? NULL : dfb_core_arena_leave,
- core, emergency, NULL ) == DFB_BUSY)
+ core, emergency, NULL ) == DR_BUSY)
{
D_ONCE( "waiting for DirectFB slaves to terminate" );
usleep( 100000 );
}
+ fusion_call_destroy( &core_dfb->async_call );
+
fusion_exit( core->world, emergency );
if (!emergency)
@@ -452,15 +456,33 @@ dfb_core_destroy( CoreDFB *core, bool emergency )
D_FREE( core );
core_dfb = NULL;
- if (!emergency) {
- pthread_mutex_unlock( &core_dfb_lock );
+ pthread_mutex_unlock( &core_dfb_lock );
- direct_shutdown();
- }
+ direct_shutdown();
return DFB_OK;
}
+CoreGraphicsState *
+dfb_core_create_graphics_state( CoreDFB *core )
+{
+ CoreDFBShared *shared;
+
+ D_ASSUME( core != NULL );
+
+ if (!core)
+ core = core_dfb;
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ shared = core->shared;
+
+ D_MAGIC_ASSERT( shared, CoreDFBShared );
+ D_ASSERT( core->shared->graphics_state_pool != NULL );
+
+ return (CoreGraphicsState*) fusion_object_create( core->shared->graphics_state_pool, core->world, Core_GetIdentity() );
+}
+
CoreLayerContext *
dfb_core_create_layer_context( CoreDFB *core )
{
@@ -478,7 +500,7 @@ dfb_core_create_layer_context( CoreDFB *core )
D_MAGIC_ASSERT( shared, CoreDFBShared );
D_ASSERT( shared->layer_context_pool != NULL );
- return (CoreLayerContext*) fusion_object_create( shared->layer_context_pool, core->world );
+ return (CoreLayerContext*) fusion_object_create( shared->layer_context_pool, core->world, Core_GetIdentity() );
}
CoreLayerRegion *
@@ -498,7 +520,7 @@ dfb_core_create_layer_region( CoreDFB *core )
D_MAGIC_ASSERT( shared, CoreDFBShared );
D_ASSERT( core->shared->layer_region_pool != NULL );
- return (CoreLayerRegion*) fusion_object_create( core->shared->layer_region_pool, core->world );
+ return (CoreLayerRegion*) fusion_object_create( core->shared->layer_region_pool, core->world, Core_GetIdentity() );
}
CorePalette *
@@ -518,7 +540,7 @@ dfb_core_create_palette( CoreDFB *core )
D_MAGIC_ASSERT( shared, CoreDFBShared );
D_ASSERT( core->shared->palette_pool != NULL );
- return (CorePalette*) fusion_object_create( core->shared->palette_pool, core->world );
+ return (CorePalette*) fusion_object_create( core->shared->palette_pool, core->world, Core_GetIdentity() );
}
CoreSurface *
@@ -538,11 +560,11 @@ dfb_core_create_surface( CoreDFB *core )
D_MAGIC_ASSERT( shared, CoreDFBShared );
D_ASSERT( core->shared->surface_pool != NULL );
- return (CoreSurface*) fusion_object_create( core->shared->surface_pool, core->world );
+ return (CoreSurface*) fusion_object_create( core->shared->surface_pool, core->world, Core_GetIdentity() );
}
-CoreWindow *
-dfb_core_create_window( CoreDFB *core )
+CoreSurfaceAllocation *
+dfb_core_create_surface_allocation( CoreDFB *core )
{
CoreDFBShared *shared;
@@ -556,19 +578,17 @@ dfb_core_create_window( CoreDFB *core )
shared = core->shared;
D_MAGIC_ASSERT( shared, CoreDFBShared );
- D_ASSERT( core->shared->window_pool != NULL );
+ D_ASSERT( core->shared->surface_allocation_pool != NULL );
- return (CoreWindow*) fusion_object_create( core->shared->window_pool, core->world );
+ return (CoreSurfaceAllocation*) fusion_object_create( core->shared->surface_allocation_pool, core->world, Core_GetIdentity() );
}
-DirectResult
-dfb_core_enum_surfaces( CoreDFB *core,
- FusionObjectCallback callback,
- void *ctx )
+CoreSurfaceBuffer *
+dfb_core_create_surface_buffer( CoreDFB *core )
{
CoreDFBShared *shared;
- D_ASSERT( core != NULL || core_dfb != NULL );
+ D_ASSUME( core != NULL );
if (!core)
core = core_dfb;
@@ -578,18 +598,17 @@ dfb_core_enum_surfaces( CoreDFB *core,
shared = core->shared;
D_MAGIC_ASSERT( shared, CoreDFBShared );
+ D_ASSERT( core->shared->surface_buffer_pool != NULL );
- return fusion_object_pool_enum( shared->surface_pool, callback, ctx );
+ return (CoreSurfaceBuffer*) fusion_object_create( core->shared->surface_buffer_pool, core->world, Core_GetIdentity() );
}
-DirectResult
-dfb_core_enum_layer_contexts( CoreDFB *core,
- FusionObjectCallback callback,
- void *ctx )
+CoreWindow *
+dfb_core_create_window( CoreDFB *core )
{
CoreDFBShared *shared;
- D_ASSERT( core != NULL || core_dfb != NULL );
+ D_ASSUME( core != NULL );
if (!core)
core = core_dfb;
@@ -599,18 +618,23 @@ dfb_core_enum_layer_contexts( CoreDFB *core,
shared = core->shared;
D_MAGIC_ASSERT( shared, CoreDFBShared );
+ D_ASSERT( core->shared->window_pool != NULL );
- return fusion_object_pool_enum( shared->layer_context_pool, callback, ctx );
+ return (CoreWindow*) fusion_object_create( core->shared->window_pool, core->world, Core_GetIdentity() );
}
-DirectResult
-dfb_core_enum_layer_regions( CoreDFB *core,
- FusionObjectCallback callback,
- void *ctx )
+DFBResult
+dfb_core_get_graphics_state( CoreDFB *core,
+ u32 object_id,
+ CoreGraphicsState **ret_state )
{
+ DFBResult ret;
+ FusionObject *object;
+
CoreDFBShared *shared;
- D_ASSERT( core != NULL || core_dfb != NULL );
+ D_ASSUME( core != NULL );
+ D_ASSERT( ret_state != NULL );
if (!core)
core = core_dfb;
@@ -620,69 +644,93 @@ dfb_core_enum_layer_regions( CoreDFB *core,
shared = core->shared;
D_MAGIC_ASSERT( shared, CoreDFBShared );
+ D_ASSERT( core->shared->graphics_state_pool != NULL );
- return fusion_object_pool_enum( shared->layer_region_pool, callback, ctx );
-}
+ ret = fusion_object_get( core->shared->graphics_state_pool, object_id, &object );
+ if (ret)
+ return ret;
-bool
-dfb_core_is_master( CoreDFB *core )
-{
- D_MAGIC_ASSERT( core, CoreDFB );
+ *ret_state = (CoreGraphicsState*) object;
- return core->master;
+ return DFB_OK;
}
-void
-dfb_core_activate( CoreDFB *core )
+DFBResult
+dfb_core_get_layer_context( CoreDFB *core,
+ u32 object_id,
+ CoreLayerContext **ret_context )
{
+ DFBResult ret;
+ FusionObject *object;
+
CoreDFBShared *shared;
+ D_ASSUME( core != NULL );
+ D_ASSERT( ret_context != NULL );
+
+ if (!core)
+ core = core_dfb;
+
D_MAGIC_ASSERT( core, CoreDFB );
shared = core->shared;
- D_MAGIC_ASSERT( shared, CoreDFBShared );
- fusion_skirmish_prevail( &shared->lock );
+ D_MAGIC_ASSERT( shared, CoreDFBShared );
+ D_ASSERT( core->shared->layer_context_pool != NULL );
- shared->active = true;
+ ret = fusion_object_get( core->shared->layer_context_pool, object_id, &object );
+ if (ret)
+ return ret;
- fusion_skirmish_notify( &shared->lock );
+ *ret_context = (CoreLayerContext*) object;
- fusion_skirmish_dismiss( &shared->lock );
+ return DFB_OK;
}
-FusionWorld *
-dfb_core_world( CoreDFB *core )
+DFBResult
+dfb_core_get_layer_region( CoreDFB *core,
+ u32 object_id,
+ CoreLayerRegion **ret_region )
{
-// D_ASSUME( core != NULL );
+ DFBResult ret;
+ FusionObject *object;
+
+ CoreDFBShared *shared;
+
+ D_ASSUME( core != NULL );
+ D_ASSERT( ret_region != NULL );
if (!core)
core = core_dfb;
D_MAGIC_ASSERT( core, CoreDFB );
- return core->world;
-}
+ shared = core->shared;
-FusionArena *
-dfb_core_arena( CoreDFB *core )
-{
- D_ASSUME( core != NULL );
+ D_MAGIC_ASSERT( shared, CoreDFBShared );
+ D_ASSERT( core->shared->layer_region_pool != NULL );
- if (!core)
- core = core_dfb;
+ ret = fusion_object_get( core->shared->layer_region_pool, object_id, &object );
+ if (ret)
+ return ret;
- D_MAGIC_ASSERT( core, CoreDFB );
+ *ret_region = (CoreLayerRegion*) object;
- return core->arena;
+ return DFB_OK;
}
-FusionSHMPoolShared *
-dfb_core_shmpool( CoreDFB *core )
+DFBResult
+dfb_core_get_palette( CoreDFB *core,
+ u32 object_id,
+ CorePalette **ret_palette )
{
+ DFBResult ret;
+ FusionObject *object;
+
CoreDFBShared *shared;
D_ASSUME( core != NULL );
+ D_ASSERT( ret_palette != NULL );
if (!core)
core = core_dfb;
@@ -692,16 +740,29 @@ dfb_core_shmpool( CoreDFB *core )
shared = core->shared;
D_MAGIC_ASSERT( shared, CoreDFBShared );
+ D_ASSERT( core->shared->palette_pool != NULL );
- return shared->shmpool;
+ ret = fusion_object_get( core->shared->palette_pool, object_id, &object );
+ if (ret)
+ return ret;
+
+ *ret_palette = (CorePalette*) object;
+
+ return DFB_OK;
}
-FusionSHMPoolShared *
-dfb_core_shmpool_data( CoreDFB *core )
+DFBResult
+dfb_core_get_surface( CoreDFB *core,
+ u32 object_id,
+ CoreSurface **ret_surface )
{
+ DFBResult ret;
+ FusionObject *object;
+
CoreDFBShared *shared;
D_ASSUME( core != NULL );
+ D_ASSERT( ret_surface != NULL );
if (!core)
core = core_dfb;
@@ -711,131 +772,388 @@ dfb_core_shmpool_data( CoreDFB *core )
shared = core->shared;
D_MAGIC_ASSERT( shared, CoreDFBShared );
+ D_ASSERT( core->shared->surface_pool != NULL );
- return shared->shmpool_data;
+ ret = fusion_object_get( core->shared->surface_pool, object_id, &object );
+ if (ret)
+ return ret;
+
+ *ret_surface = (CoreSurface*) object;
+
+ return DFB_OK;
}
DFBResult
-dfb_core_suspend( CoreDFB *core )
+dfb_core_get_surface_allocation( CoreDFB *core,
+ u32 object_id,
+ CoreSurfaceAllocation **ret_allocation )
{
- DFBResult ret;
+ DFBResult ret;
+ FusionObject *object;
+
+ CoreDFBShared *shared;
D_ASSUME( core != NULL );
+ D_ASSERT( ret_allocation != NULL );
if (!core)
core = core_dfb;
D_MAGIC_ASSERT( core, CoreDFB );
- if (!core->master)
- return DFB_ACCESSDENIED;
-
- if (core->suspended)
- return DFB_BUSY;
-
- ret = dfb_input_core.Suspend( dfb_input_core.data_local );
- if (ret)
- goto error_input;
-
- ret = dfb_layer_core.Suspend( dfb_layer_core.data_local );
- if (ret)
- goto error_layers;
+ shared = core->shared;
- ret = dfb_screen_core.Suspend( dfb_screen_core.data_local );
- if (ret)
- goto error_screens;
+ D_MAGIC_ASSERT( shared, CoreDFBShared );
+ D_ASSERT( core->shared->surface_allocation_pool != NULL );
- ret = dfb_graphics_core.Suspend( dfb_graphics_core.data_local );
+ ret = fusion_object_get( core->shared->surface_allocation_pool, object_id, &object );
if (ret)
- goto error_graphics;
+ return ret;
- core->suspended = true;
+ *ret_allocation = (CoreSurfaceAllocation*) object;
return DFB_OK;
-
-error_graphics:
- dfb_screen_core.Resume( dfb_screen_core.data_local );
-error_screens:
- dfb_layer_core.Resume( dfb_layer_core.data_local );
-error_layers:
- dfb_input_core.Resume( dfb_input_core.data_local );
-error_input:
- return ret;
}
DFBResult
-dfb_core_resume( CoreDFB *core )
+dfb_core_get_surface_buffer( CoreDFB *core,
+ u32 object_id,
+ CoreSurfaceBuffer **ret_buffer )
{
- DFBResult ret;
+ DFBResult ret;
+ FusionObject *object;
+
+ CoreDFBShared *shared;
D_ASSUME( core != NULL );
+ D_ASSERT( ret_buffer != NULL );
if (!core)
core = core_dfb;
D_MAGIC_ASSERT( core, CoreDFB );
- if (!core->master)
- return DFB_ACCESSDENIED;
-
- if (!core->suspended)
- return DFB_BUSY;
-
- ret = dfb_graphics_core.Resume( dfb_graphics_core.data_local );
- if (ret)
- goto error_graphics;
-
- ret = dfb_screen_core.Resume( dfb_screen_core.data_local );
- if (ret)
- goto error_screens;
+ shared = core->shared;
- ret = dfb_layer_core.Resume( dfb_layer_core.data_local );
- if (ret)
- goto error_layers;
+ D_MAGIC_ASSERT( shared, CoreDFBShared );
+ D_ASSERT( core->shared->surface_buffer_pool != NULL );
- ret = dfb_input_core.Resume( dfb_input_core.data_local );
+ ret = fusion_object_get( core->shared->surface_buffer_pool, object_id, &object );
if (ret)
- goto error_input;
+ return ret;
- core->suspended = false;
+ *ret_buffer = (CoreSurfaceBuffer*) object;
return DFB_OK;
-
-error_input:
- dfb_layer_core.Suspend( dfb_layer_core.data_local );
-error_layers:
- dfb_screen_core.Suspend( dfb_screen_core.data_local );
-error_screens:
- dfb_graphics_core.Suspend( dfb_graphics_core.data_local );
-error_graphics:
- return ret;
}
-CoreCleanup *
-dfb_core_cleanup_add( CoreDFB *core,
- CoreCleanupFunc func,
- void *data,
- bool emergency )
+DFBResult
+dfb_core_get_window( CoreDFB *core,
+ u32 object_id,
+ CoreWindow **ret_window )
{
- CoreCleanup *cleanup;
+ DFBResult ret;
+ FusionObject *object;
+
+ CoreDFBShared *shared;
D_ASSUME( core != NULL );
+ D_ASSERT( ret_window != NULL );
if (!core)
core = core_dfb;
D_MAGIC_ASSERT( core, CoreDFB );
- cleanup = D_CALLOC( 1, sizeof(CoreCleanup) );
+ shared = core->shared;
- cleanup->func = func;
- cleanup->data = data;
- cleanup->emergency = emergency;
+ D_MAGIC_ASSERT( shared, CoreDFBShared );
+ D_ASSERT( core->shared->window_pool != NULL );
- direct_list_prepend( &core->cleanups, &cleanup->link );
+ ret = fusion_object_get( core->shared->window_pool, object_id, &object );
+ if (ret)
+ return ret;
- return cleanup;
-}
+ *ret_window = (CoreWindow*) object;
+
+ return DFB_OK;
+}
+
+DirectResult
+dfb_core_enum_surfaces( CoreDFB *core,
+ FusionObjectCallback callback,
+ void *ctx )
+{
+ CoreDFBShared *shared;
+
+ D_ASSERT( core != NULL || core_dfb != NULL );
+
+ if (!core)
+ core = core_dfb;
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ shared = core->shared;
+
+ D_MAGIC_ASSERT( shared, CoreDFBShared );
+
+ return fusion_object_pool_enum( shared->surface_pool, callback, ctx );
+}
+
+DirectResult
+dfb_core_enum_layer_contexts( CoreDFB *core,
+ FusionObjectCallback callback,
+ void *ctx )
+{
+ CoreDFBShared *shared;
+
+ D_ASSERT( core != NULL || core_dfb != NULL );
+
+ if (!core)
+ core = core_dfb;
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ shared = core->shared;
+
+ D_MAGIC_ASSERT( shared, CoreDFBShared );
+
+ return fusion_object_pool_enum( shared->layer_context_pool, callback, ctx );
+}
+
+DirectResult
+dfb_core_enum_layer_regions( CoreDFB *core,
+ FusionObjectCallback callback,
+ void *ctx )
+{
+ CoreDFBShared *shared;
+
+ D_ASSERT( core != NULL || core_dfb != NULL );
+
+ if (!core)
+ core = core_dfb;
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ shared = core->shared;
+
+ D_MAGIC_ASSERT( shared, CoreDFBShared );
+
+ return fusion_object_pool_enum( shared->layer_region_pool, callback, ctx );
+}
+
+bool
+dfb_core_is_master( CoreDFB *core )
+{
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ return core->master;
+}
+
+void
+dfb_core_activate( CoreDFB *core )
+{
+ CoreDFBShared *shared;
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ shared = core->shared;
+ D_MAGIC_ASSERT( shared, CoreDFBShared );
+
+ fusion_skirmish_prevail( &shared->lock );
+
+ shared->active = true;
+
+ fusion_skirmish_notify( &shared->lock );
+
+ fusion_skirmish_dismiss( &shared->lock );
+}
+
+FusionWorld *
+dfb_core_world( CoreDFB *core )
+{
+// D_ASSUME( core != NULL );
+
+ if (!core)
+ core = core_dfb;
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ return core->world;
+}
+
+FusionArena *
+dfb_core_arena( CoreDFB *core )
+{
+ D_ASSUME( core != NULL );
+
+ if (!core)
+ core = core_dfb;
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ return core->arena;
+}
+
+FusionSHMPoolShared *
+dfb_core_shmpool( CoreDFB *core )
+{
+ CoreDFBShared *shared;
+
+ D_ASSUME( core != NULL );
+
+ if (!core)
+ core = core_dfb;
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ shared = core->shared;
+
+ D_MAGIC_ASSERT( shared, CoreDFBShared );
+
+ return shared->shmpool;
+}
+
+FusionSHMPoolShared *
+dfb_core_shmpool_data( CoreDFB *core )
+{
+ CoreDFBShared *shared;
+
+ D_ASSUME( core != NULL );
+
+ if (!core)
+ core = core_dfb;
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ shared = core->shared;
+
+ D_MAGIC_ASSERT( shared, CoreDFBShared );
+
+ return shared->shmpool_data;
+}
+
+DFBResult
+dfb_core_suspend( CoreDFB *core )
+{
+ DFBResult ret;
+
+ D_ASSUME( core != NULL );
+
+ if (!core)
+ core = core_dfb;
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ if (!core->master)
+ return DFB_ACCESSDENIED;
+
+ if (core->suspended)
+ return DFB_BUSY;
+
+ ret = dfb_input_core.Suspend( dfb_input_core.data_local );
+ if (ret)
+ goto error_input;
+
+ ret = dfb_layer_core.Suspend( dfb_layer_core.data_local );
+ if (ret)
+ goto error_layers;
+
+ ret = dfb_screen_core.Suspend( dfb_screen_core.data_local );
+ if (ret)
+ goto error_screens;
+
+ ret = dfb_graphics_core.Suspend( dfb_graphics_core.data_local );
+ if (ret)
+ goto error_graphics;
+
+ core->suspended = true;
+
+ return DFB_OK;
+
+error_graphics:
+ dfb_screen_core.Resume( dfb_screen_core.data_local );
+error_screens:
+ dfb_layer_core.Resume( dfb_layer_core.data_local );
+error_layers:
+ dfb_input_core.Resume( dfb_input_core.data_local );
+error_input:
+ return ret;
+}
+
+DFBResult
+dfb_core_resume( CoreDFB *core )
+{
+ DFBResult ret;
+
+ D_ASSUME( core != NULL );
+
+ if (!core)
+ core = core_dfb;
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ if (!core->master)
+ return DFB_ACCESSDENIED;
+
+ if (!core->suspended)
+ return DFB_BUSY;
+
+ ret = dfb_graphics_core.Resume( dfb_graphics_core.data_local );
+ if (ret)
+ goto error_graphics;
+
+ ret = dfb_screen_core.Resume( dfb_screen_core.data_local );
+ if (ret)
+ goto error_screens;
+
+ ret = dfb_layer_core.Resume( dfb_layer_core.data_local );
+ if (ret)
+ goto error_layers;
+
+ ret = dfb_input_core.Resume( dfb_input_core.data_local );
+ if (ret)
+ goto error_input;
+
+ core->suspended = false;
+
+ return DFB_OK;
+
+error_input:
+ dfb_layer_core.Suspend( dfb_layer_core.data_local );
+error_layers:
+ dfb_screen_core.Suspend( dfb_screen_core.data_local );
+error_screens:
+ dfb_graphics_core.Suspend( dfb_graphics_core.data_local );
+error_graphics:
+ return ret;
+}
+
+CoreCleanup *
+dfb_core_cleanup_add( CoreDFB *core,
+ CoreCleanupFunc func,
+ void *data,
+ bool emergency )
+{
+ CoreCleanup *cleanup;
+
+ D_ASSUME( core != NULL );
+
+ if (!core)
+ core = core_dfb;
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ cleanup = D_CALLOC( 1, sizeof(CoreCleanup) );
+
+ cleanup->func = func;
+ cleanup->data = data;
+ cleanup->emergency = emergency;
+
+ direct_list_prepend( &core->cleanups, &cleanup->link );
+
+ return cleanup;
+}
void
dfb_core_cleanup_remove( CoreDFB *core,
@@ -853,6 +1171,116 @@ dfb_core_cleanup_remove( CoreDFB *core,
D_FREE( cleanup );
}
+DFBFontManager *
+dfb_core_font_manager( CoreDFB *core )
+{
+ D_ASSUME( core != NULL );
+
+ if (!core)
+ core = core_dfb;
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ return core->font_manager;
+}
+
+/******************************************************************************/
+
+struct __CoreDFB_CoreMemoryPermission {
+ DirectLink link;
+
+ CoreMemoryPermissionFlags flags;
+
+ void *data;
+ void *end;
+ size_t length;
+};
+
+DFBResult
+dfb_core_memory_permissions_add( CoreDFB *core,
+ CoreMemoryPermissionFlags flags,
+ void *data,
+ size_t length,
+ CoreMemoryPermission **ret_permission )
+{
+ CoreMemoryPermission *permission;
+
+ D_DEBUG_AT( DirectFB_Core, "%s( flags 0x%02x, data %p, length %zu )\n", __FUNCTION__, flags, data, length );
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ permission = D_CALLOC( 1, sizeof(CoreMemoryPermission) );
+ if (!permission)
+ return D_OOM();
+
+ permission->flags = flags;
+ permission->data = data;
+ permission->end = data + length;
+ permission->length = length;
+
+ direct_mutex_lock( &core->memory_permissions_lock );
+
+ direct_list_prepend( &core->memory_permissions, &permission->link );
+
+ direct_mutex_unlock( &core->memory_permissions_lock );
+
+ *ret_permission = permission;
+
+ return DFB_OK;
+}
+
+DFBResult
+dfb_core_memory_permissions_remove( CoreDFB *core,
+ CoreMemoryPermission *permission )
+{
+ D_DEBUG_AT( DirectFB_Core, "%s( flags 0x%02x, data %p, length %zu )\n", __FUNCTION__,
+ permission->flags, permission->data, permission->length );
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ direct_mutex_lock( &core->memory_permissions_lock );
+
+ direct_list_remove( &core->memory_permissions, &permission->link );
+
+ direct_mutex_unlock( &core->memory_permissions_lock );
+
+ D_FREE( permission );
+
+ return DFB_OK;
+}
+
+DFBResult
+dfb_core_memory_permissions_check( CoreDFB *core,
+ CoreMemoryPermissionFlags flags,
+ void *data,
+ size_t length )
+{
+ CoreMemoryPermission *permission;
+
+ D_DEBUG_AT( DirectFB_Core, "%s( flags 0x%02x, data %p, length %zu )\n", __FUNCTION__, flags, data, length );
+
+ D_MAGIC_ASSERT( core, CoreDFB );
+
+ direct_mutex_lock( &core->memory_permissions_lock );
+
+ direct_list_foreach (permission, core->memory_permissions) {
+ if (permission->data <= data && permission->end >= data + length &&
+ D_FLAGS_ARE_SET( permission->flags, flags ))
+ {
+ D_DEBUG_AT( DirectFB_Core, " -> found flags 0x%02x, data %p, length %zu\n",
+ permission->flags, permission->data, permission->length );
+
+ direct_mutex_unlock( &core->memory_permissions_lock );
+
+ return DFB_OK;
+ }
+ }
+
+ direct_mutex_unlock( &core->memory_permissions_lock );
+
+ return DFB_ITEMNOTFOUND;
+}
+
/******************************************************************************/
static void
@@ -918,15 +1346,17 @@ dfb_core_shutdown( CoreDFB *core, bool emergency )
if (dfb_input_core.initialized)
dfb_input_core.Suspend( dfb_input_core.data_local );
+ core->shutdown_tid = direct_gettid();
+
/* Destroy window objects. */
fusion_object_pool_destroy( shared->window_pool, core->world );
+ fusion_stop_dispatcher( core->world, emergency );
+
/* Close window stacks. */
if (dfb_wm_core.initialized)
dfb_wm_close_all_stacks( dfb_wm_core.data_local );
- fusion_stop_dispatcher( core->world, emergency );
-
/* Destroy layer context and region objects. */
fusion_object_pool_destroy( shared->layer_region_pool, core->world );
fusion_object_pool_destroy( shared->layer_context_pool, core->world );
@@ -939,7 +1369,10 @@ dfb_core_shutdown( CoreDFB *core, bool emergency )
dfb_core_part_shutdown( core, &dfb_screen_core, emergency );
/* Destroy surface and palette objects. */
+ fusion_object_pool_destroy( shared->graphics_state_pool, core->world );
fusion_object_pool_destroy( shared->surface_pool, core->world );
+ fusion_object_pool_destroy( shared->surface_buffer_pool, core->world );
+ fusion_object_pool_destroy( shared->surface_allocation_pool, core->world );
fusion_object_pool_destroy( shared->palette_pool, core->world );
/* Destroy remaining core parts. */
@@ -953,6 +1386,11 @@ dfb_core_shutdown( CoreDFB *core, bool emergency )
/* Destroy shared memory pool for surface data. */
fusion_shm_pool_destroy( core->world, shared->shmpool_data );
+ // FIXME: cleanup items
+ direct_hash_destroy( core->resource.identities );
+
+ direct_mutex_deinit( &core->memory_permissions_lock );
+
return 0;
}
@@ -965,8 +1403,11 @@ dfb_core_initialize( CoreDFB *core )
D_MAGIC_ASSERT( core, CoreDFB );
- shared = core->shared;
+ direct_hash_create( 23, &core->resource.identities );
+
+ direct_mutex_init( &core->memory_permissions_lock );
+ shared = core->shared;
D_MAGIC_ASSERT( shared, CoreDFBShared );
ret = fusion_shm_pool_create( core->world, "DirectFB Data Pool", 0x1000000,
@@ -974,21 +1415,47 @@ dfb_core_initialize( CoreDFB *core )
if (ret)
return ret;
- shared->layer_context_pool = dfb_layer_context_pool_create( core->world );
- shared->layer_region_pool = dfb_layer_region_pool_create( core->world );
- shared->palette_pool = dfb_palette_pool_create( core->world );
- shared->surface_pool = dfb_surface_pool_create( core->world );
- shared->window_pool = dfb_window_pool_create( core->world );
+ shared->graphics_state_pool = dfb_graphics_state_pool_create( core->world );
+ shared->layer_context_pool = dfb_layer_context_pool_create( core->world );
+ shared->layer_region_pool = dfb_layer_region_pool_create( core->world );
+ shared->palette_pool = dfb_palette_pool_create( core->world );
+ shared->surface_pool = dfb_surface_pool_create( core->world );
+ shared->surface_allocation_pool = dfb_surface_allocation_pool_create( core->world );
+ shared->surface_buffer_pool = dfb_surface_buffer_pool_create( core->world );
+ shared->window_pool = dfb_window_pool_create( core->world );
for (i=0; i<D_ARRAY_SIZE(core_parts); i++) {
- DFBResult ret;
-
if ((ret = dfb_core_part_initialize( core, core_parts[i] ))) {
dfb_core_shutdown( core, true );
return ret;
}
}
+ if (dfb_config->resource_manager) {
+ DirectInterfaceFuncs *funcs;
+
+ ret = DirectGetInterface( &funcs, "ICoreResourceManager", dfb_config->resource_manager, NULL, NULL );
+ if (ret == DFB_OK) {
+ void *ptr;
+
+ ret = funcs->Allocate( &ptr );
+ if (ret == DFB_OK) {
+ ret = funcs->Construct( ptr, core );
+ if (ret == DFB_OK) {
+ D_INFO( "Core/Resource: Using resource manager '%s'\n", dfb_config->resource_manager );
+
+ core->resource.manager = ptr;
+ }
+ else
+ D_DERROR( ret, "Core/Resource: Failed to construct manager '%s'!\n", dfb_config->resource_manager );
+ }
+ else
+ D_DERROR( ret, "Core/Resource: Failed to allocate manager '%s'!\n", dfb_config->resource_manager );
+ }
+ else
+ D_DERROR( ret, "Core/Resource: Failed to load manager '%s'!\n", dfb_config->resource_manager );
+ }
+
return DFB_OK;
}
@@ -999,8 +1466,15 @@ dfb_core_leave( CoreDFB *core, bool emergency )
D_MAGIC_ASSERT( core, CoreDFB );
- for (i=D_ARRAY_SIZE(core_parts)-1; i>=0; i--)
- dfb_core_part_leave( core, core_parts[i], emergency );
+ for (i=D_ARRAY_SIZE(core_parts)-1; i>=0; i--)
+ dfb_core_part_leave( core, core_parts[i], emergency );
+
+ CoreSlave_Deinit_Dispatch( &core->slave_call );
+
+ // FIXME: cleanup items
+ direct_hash_destroy( core->resource.identities );
+
+ direct_mutex_deinit( &core->memory_permissions_lock );
return DFB_OK;
}
@@ -1012,6 +1486,15 @@ dfb_core_join( CoreDFB *core )
D_MAGIC_ASSERT( core, CoreDFB );
+ direct_hash_create( 23, &core->resource.identities );
+
+ direct_mutex_init( &core->memory_permissions_lock );
+
+ CoreSlave_Init_Dispatch( core, core, &core->slave_call );
+
+ if (fusion_config->secure_fusion)
+ CoreDFB_Register( core, core->slave_call.call_id );
+
for (i=0; i<D_ARRAY_SIZE(core_parts); i++) {
DFBResult ret;
@@ -1026,6 +1509,14 @@ dfb_core_join( CoreDFB *core )
/******************************************************************************/
+static void
+dfb_core_leave_callback( FusionWorld *world,
+ FusionID fusion_id,
+ void *ctx )
+{
+ Core_Resource_DisposeIdentity( fusion_id );
+}
+
static int
dfb_core_arena_initialize( FusionArena *arena,
void *ctx )
@@ -1056,6 +1547,7 @@ dfb_core_arena_initialize( FusionArena *arena,
core->master = true;
shared->shmpool = pool;
+ shared->secure = fusion_config->secure_fusion;
D_MAGIC_SET( shared, CoreDFBShared );
@@ -1070,6 +1562,17 @@ dfb_core_arena_initialize( FusionArena *arena,
fusion_skirmish_init( &shared->lock, "DirectFB Core", core->world );
+ fusion_skirmish_add_permissions( &shared->lock, 0,
+ FUSION_SKIRMISH_PERMIT_PREVAIL |
+ FUSION_SKIRMISH_PERMIT_DISMISS |
+ FUSION_SKIRMISH_PERMIT_WAIT );
+
+ CoreDFB_Init_Dispatch( core, core, &shared->call );
+
+ fusion_call_add_permissions( &shared->call, 0, FUSION_CALL_PERMIT_EXECUTE );
+
+ fusion_world_set_leave_callback( core->world, dfb_core_leave_callback, NULL );
+
/* Register shared data. */
fusion_arena_add_shared_field( arena, "Core/Shared", shared );
@@ -1101,6 +1604,8 @@ dfb_core_arena_shutdown( FusionArena *arena,
return dfb_core_leave( core, emergency );
}
+ CoreDFB_Deinit_Dispatch( &shared->call );
+
/* Shutdown. */
ret = dfb_core_shutdown( core, emergency );
@@ -1133,6 +1638,13 @@ dfb_core_arena_join( FusionArena *arena,
core->shared = field;
+ if (fusion_config->secure_fusion != core->shared->secure) {
+ D_ERROR( "DirectFB/Core: Local secure-fusion config (%d) does not match with running session (%d)!\n",
+ fusion_config->secure_fusion, core->shared->secure );
+
+ return DFB_UNSUPPORTED;
+ }
+
/* Join. */
ret = dfb_core_join( core );
if (ret)
@@ -1161,3 +1673,492 @@ dfb_core_arena_leave( FusionArena *arena,
return DFB_OK;
}
+/*********************************************************************************************************************/
+
+#define CORE_TLS_IDENTITY_STACK_MAX 8
+
+typedef struct {
+ int magic;
+
+ FusionID identity[CORE_TLS_IDENTITY_STACK_MAX];
+ unsigned int identity_count;
+
+ int calling;
+} CoreTLS;
+
+static pthread_key_t core_tls_key;
+
+static void
+core_tls_destroy( void *arg )
+{
+ CoreTLS *core_tls = arg;
+
+ D_MAGIC_ASSERT( core_tls, CoreTLS );
+
+ D_MAGIC_CLEAR( core_tls );
+
+ D_FREE( core_tls );
+}
+
+__attribute__((constructor))
+void
+Core_TLS__init( void )
+{
+ pthread_key_create( &core_tls_key, core_tls_destroy );
+}
+
+__attribute__((destructor))
+void
+Core_TLS__deinit( void )
+{
+ pthread_key_delete( core_tls_key );
+}
+
+
+static CoreTLS *
+Core_GetTLS( void )
+{
+ CoreTLS *core_tls;
+
+ core_tls = pthread_getspecific( core_tls_key );
+ if (!core_tls) {
+ core_tls = D_CALLOC( 1, sizeof(CoreTLS) );
+ if (!core_tls) {
+ D_OOM();
+ return NULL;
+ }
+
+ D_MAGIC_SET( core_tls, CoreTLS );
+
+ pthread_setspecific( core_tls_key, core_tls );
+ }
+
+ D_MAGIC_ASSERT( core_tls, CoreTLS );
+
+ return core_tls;
+}
+
+void
+Core_PushIdentity( FusionID caller )
+{
+ CoreTLS *core_tls = Core_GetTLS();
+
+ if (core_tls) {
+ core_tls->identity_count++;
+
+ if (core_tls->identity_count <= CORE_TLS_IDENTITY_STACK_MAX)
+ core_tls->identity[core_tls->identity_count-1] = caller ? caller : core_dfb->fusion_id;
+ else
+ D_WARN( "identity stack overflow" );
+ }
+ else
+ D_WARN( "TLS error" );
+}
+
+void
+Core_PopIdentity()
+{
+ CoreTLS *core_tls = Core_GetTLS();
+
+ if (core_tls) {
+ D_ASSERT( core_tls->identity_count > 0 );
+
+ if (core_tls->identity_count > 0)
+ core_tls->identity_count--;
+ else
+ D_BUG( "no identity" );
+ }
+ else
+ D_WARN( "TLS error" );
+}
+
+FusionID
+Core_GetIdentity()
+{
+ CoreTLS *core_tls = Core_GetTLS();
+
+ if (core_tls) {
+ if (core_tls->identity_count == 0) {
+ D_ASSERT( core_dfb != NULL );
+
+ D_ASSUME( core_dfb->fusion_id != 0 );
+
+ return core_dfb->fusion_id;
+ }
+
+ if (core_tls->identity_count <= CORE_TLS_IDENTITY_STACK_MAX)
+ return core_tls->identity[core_tls->identity_count-1];
+
+ D_WARN( "wrong identity due to overflow" );
+
+ return core_tls->identity[CORE_TLS_IDENTITY_STACK_MAX-1];
+ }
+
+ D_WARN( "TLS error" );
+
+ return 0;
+}
+
+void
+Core_PushCalling( void )
+{
+ CoreTLS *core_tls = Core_GetTLS();
+
+ if (core_tls)
+ core_tls->calling++;
+ else
+ D_WARN( "TLS error" );
+}
+
+void
+Core_PopCalling( void )
+{
+ CoreTLS *core_tls = Core_GetTLS();
+
+ if (core_tls) {
+ if (core_tls->calling == 0) {
+ D_BUG( "" );
+ return;
+ }
+
+ core_tls->calling--;
+ }
+ else
+ D_WARN( "TLS error" );
+}
+
+int
+Core_GetCalling( void )
+{
+ CoreTLS *core_tls = Core_GetTLS();
+
+ if (core_tls)
+ return core_tls->calling;
+
+ D_WARN( "TLS error" );
+
+ return 0;
+}
+
+
+D_DEBUG_DOMAIN( Core_Resource, "Core/Resource", "Core Resource" );
+
+DFBResult
+Core_Resource_CheckSurface( const CoreSurfaceConfig *config,
+ CoreSurfaceTypeFlags type,
+ u64 resource_id,
+ CorePalette *palette )
+{
+ ICoreResourceClient *client;
+
+ D_DEBUG_AT( Core_Resource, "%s( %dx%d, %s, type %d, resource id %llu ) <- identity %lu\n", __FUNCTION__, config->size.w, config->size.h,
+ dfb_pixelformat_name( config->format ), type, resource_id, Core_GetIdentity() );
+
+ if (Core_GetIdentity() == core_dfb->fusion_id)
+ return DFB_OK;
+
+ if (core_dfb->resource.manager) {
+ client = Core_Resource_GetClient( Core_GetIdentity() );
+ if (!client)
+ return DFB_DEAD;
+
+ return client->CheckSurface( client, config, type, resource_id, palette );
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+Core_Resource_CheckSurfaceUpdate( CoreSurface *surface,
+ const CoreSurfaceConfig *config )
+{
+ ICoreResourceClient *client;
+
+ D_DEBUG_AT( Core_Resource, "%s( %dx%d, %s, type %d, resource id %lu ) <- identity %lu\n", __FUNCTION__, config->size.w, config->size.h,
+ dfb_pixelformat_name( config->format ), surface->type, surface->resource_id, surface->object.identity );
+
+ if (surface->object.identity == core_dfb->fusion_id)
+ return DFB_OK;
+
+ if (core_dfb->resource.manager) {
+ client = Core_Resource_GetClient( surface->object.identity );
+ if (!client)
+ return DFB_DEAD;
+
+ return client->CheckSurfaceUpdate( client, surface, config );
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+Core_Resource_AddSurface( CoreSurface *surface )
+{
+ ICoreResourceClient *client;
+
+ D_DEBUG_AT( Core_Resource, "%s( %dx%d, %s, type %d, resource id %lu ) <- identity %lu\n", __FUNCTION__, surface->config.size.w, surface->config.size.h,
+ dfb_pixelformat_name( surface->config.format ), surface->type, surface->resource_id, Core_GetIdentity() );
+
+ if (surface->object.identity == core_dfb->fusion_id)
+ return DFB_OK;
+
+ if (core_dfb->resource.manager) {
+ client = Core_Resource_GetClient( surface->object.identity );
+ if (!client)
+ return DFB_DEAD;
+
+ return client->AddSurface( client, surface );
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+Core_Resource_RemoveSurface( CoreSurface *surface )
+{
+ ICoreResourceClient *client;
+
+ D_DEBUG_AT( Core_Resource, "%s( %dx%d, %s, type %d, resource id %lu ) <- identity %lu\n", __FUNCTION__, surface->config.size.w, surface->config.size.h,
+ dfb_pixelformat_name( surface->config.format ), surface->type, surface->resource_id, surface->object.identity );
+
+ if (surface->object.identity == core_dfb->fusion_id)
+ return DFB_OK;
+
+ if (core_dfb->resource.manager) {
+ client = Core_Resource_GetClient( surface->object.identity );
+ if (!client)
+ return DFB_DEAD;
+
+ return client->RemoveSurface( client, surface );
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
+Core_Resource_UpdateSurface( CoreSurface *surface,
+ const CoreSurfaceConfig *config )
+{
+ ICoreResourceClient *client;
+
+ D_DEBUG_AT( Core_Resource, "%s( %dx%d, %s, type %d, resource id %zu ) <- identity %lu\n", __FUNCTION__, config->size.w, config->size.h,
+ dfb_pixelformat_name( config->format ), surface->type, surface->resource_id, surface->object.identity );
+
+ if (surface->object.identity == core_dfb->fusion_id)
+ return DFB_OK;
+
+ if (core_dfb->resource.manager) {
+ client = Core_Resource_GetClient( surface->object.identity );
+ if (!client)
+ return DFB_DEAD;
+
+ return client->UpdateSurface( client, surface, config );
+ }
+
+ return DFB_OK;
+}
+
+
+struct __Core__CoreResourceCleanup {
+ DirectLink link;
+
+ int magic;
+
+ FusionID fusion_id;
+
+ CoreResourceCleanupCallback callback;
+ void *ctx;
+ void *ctx2;
+};
+
+typedef struct {
+ ICoreResourceClient *client;
+
+ CoreSlave slave;
+
+ DirectLink *cleanups;
+} ResourceIdentity;
+
+DFBResult
+Core_Resource_AddIdentity( FusionID fusion_id,
+ u32 slave_call )
+{
+ DFBResult ret;
+ ResourceIdentity *identity;
+ char buf[512] = { 0 };
+ size_t len;
+ FusionID call_owner;
+
+ D_DEBUG_AT( Core_Resource, "%s( %lu )\n", __FUNCTION__, fusion_id );
+
+ fusion_get_fusionee_path( core_dfb->world, fusion_id, buf, 512, &len );
+
+ D_INFO( "Core/Resource: Adding ID %lu - '%s'\n", fusion_id, buf );
+
+ identity = direct_hash_lookup( core_dfb->resource.identities, fusion_id );
+ if (identity) {
+ D_BUG( "alredy registered" );
+ return DFB_BUSY;
+ }
+
+ identity = D_CALLOC( 1, sizeof(ResourceIdentity) );
+ if (!identity)
+ return D_OOM();
+
+ fusion_call_init_from( &identity->slave.call, slave_call, dfb_core_world(core_dfb) );
+
+ ret = fusion_call_get_owner( &identity->slave.call, &call_owner );
+ if (ret) {
+ D_FREE( identity );
+ return ret;
+ }
+
+ if (call_owner != fusion_id) {
+ D_ERROR( "Core/Resource: Slave call owner (%lu) does not match new identity (%lu)!\n", call_owner, fusion_id );
+ D_FREE( identity );
+ return ret;
+ }
+
+ if (core_dfb->resource.manager) {
+ ret = core_dfb->resource.manager->CreateClient( core_dfb->resource.manager, fusion_id, &identity->client );
+ if (ret) {
+ D_DERROR( ret, "Core/Resource: ICoreResourceManager::CreateClient() failed!\n" );
+ D_FREE( identity );
+ return ret;
+ }
+ }
+
+ ret = direct_hash_insert( core_dfb->resource.identities, fusion_id, identity );
+ if (ret) {
+ D_DERROR( ret, "Core/Resource: Could not insert identity into hash table!\n" );
+
+ if (identity->client)
+ identity->client->Release( identity->client );
+
+ D_FREE( identity );
+ }
+
+ return ret;
+}
+
+void
+Core_Resource_DisposeIdentity( FusionID fusion_id )
+{
+ ResourceIdentity *identity;
+
+ D_DEBUG_AT( Core_Resource, "%s( %lu )\n", __FUNCTION__, fusion_id );
+
+ identity = direct_hash_lookup( core_dfb->resource.identities, fusion_id );
+ if (identity) {
+ CoreResourceCleanup *cleanup, *next;
+
+ direct_list_foreach_safe (cleanup, next, identity->cleanups) {
+ D_MAGIC_ASSERT( cleanup, CoreResourceCleanup );
+
+ D_DEBUG_AT( Core_Resource, " -> running cleanup callback %p\n", cleanup->callback );
+ D_DEBUG_AT( Core_Resource, " -> '%s'\n", direct_trace_lookup_symbol_at( cleanup->callback ) );
+
+ cleanup->callback( cleanup->ctx, cleanup->ctx2 );
+
+ D_MAGIC_CLEAR( cleanup );
+
+ D_FREE( cleanup );
+ }
+
+ if (identity->client)
+ identity->client->Release( identity->client );
+
+ direct_hash_remove( core_dfb->resource.identities, fusion_id );
+
+ D_FREE( identity );
+ }
+}
+
+
+ICoreResourceClient *
+Core_Resource_GetClient( FusionID fusion_id )
+{
+ ResourceIdentity *identity;
+
+ D_DEBUG_AT( Core_Resource, "%s( %lu )\n", __FUNCTION__, fusion_id );
+
+ identity = direct_hash_lookup( core_dfb->resource.identities, fusion_id );
+ if (identity)
+ return identity->client;
+
+ return NULL;
+}
+
+CoreSlave *
+Core_Resource_GetSlave( FusionID fusion_id )
+{
+ ResourceIdentity *identity;
+
+ D_DEBUG_AT( Core_Resource, "%s( %lu )\n", __FUNCTION__, fusion_id );
+
+ identity = direct_hash_lookup( core_dfb->resource.identities, fusion_id );
+ if (identity)
+ return &identity->slave;
+
+ return NULL;
+}
+
+DFBResult
+Core_Resource_AddCleanup( FusionID fusion_id,
+ CoreResourceCleanupCallback callback,
+ void *ctx,
+ void *ctx2,
+ CoreResourceCleanup **ret_cleanup )
+{
+ ResourceIdentity *identity;
+ CoreResourceCleanup *cleanup;
+
+ D_DEBUG_AT( Core_Resource, "%s( %lu, %p )\n", __FUNCTION__, fusion_id, callback );
+
+ D_ASSERT( fusion_id != 0 );
+ D_ASSERT( callback != NULL );
+
+ identity = direct_hash_lookup( core_dfb->resource.identities, fusion_id );
+ if (!identity)
+ return DFB_DEAD;
+
+ cleanup = D_CALLOC( 1, sizeof(CoreResourceCleanup) );
+ if (!cleanup)
+ return D_OOM();
+
+ cleanup->fusion_id = fusion_id;
+ cleanup->callback = callback;
+ cleanup->ctx = ctx;
+ cleanup->ctx2 = ctx2;
+
+ D_MAGIC_SET( cleanup, CoreResourceCleanup );
+
+ direct_list_append( &identity->cleanups, &cleanup->link );
+
+ *ret_cleanup = cleanup;
+
+ return DFB_OK;
+}
+
+DFBResult
+Core_Resource_DisposeCleanup( CoreResourceCleanup *cleanup )
+{
+ ResourceIdentity *identity;
+
+ D_DEBUG_AT( Core_Resource, "%s( %p )\n", __FUNCTION__, cleanup );
+
+ D_MAGIC_ASSERT( cleanup, CoreResourceCleanup );
+
+ identity = direct_hash_lookup( core_dfb->resource.identities, cleanup->fusion_id );
+ if (!identity)
+ return DFB_DEAD;
+
+ direct_list_remove( &identity->cleanups, &cleanup->link );
+
+ D_MAGIC_CLEAR( cleanup );
+
+ D_FREE( cleanup );
+
+ return DFB_OK;
+}
+
diff --git a/src/core/core.h b/src/core/core.h
index 7116e8c..c68453f 100644
--- a/src/core/core.h
+++ b/src/core/core.h
@@ -38,8 +38,12 @@
#include "coretypes.h"
#include "coredefs.h"
+#include <core/CoreSlave_includes.h>
-#define DIRECTFB_CORE_ABI 45
+#include <core/surface.h>
+
+
+#define DIRECTFB_CORE_ABI 46
typedef enum {
@@ -82,11 +86,47 @@ void *dfb_core_get_part( CoreDFB *core,
/*
* Object creation
*/
-CoreLayerContext *dfb_core_create_layer_context( CoreDFB *core );
-CoreLayerRegion *dfb_core_create_layer_region ( CoreDFB *core );
-CorePalette *dfb_core_create_palette ( CoreDFB *core );
-CoreSurface *dfb_core_create_surface ( CoreDFB *core );
-CoreWindow *dfb_core_create_window ( CoreDFB *core );
+CoreGraphicsState *dfb_core_create_graphics_state( CoreDFB *core );
+CoreLayerContext *dfb_core_create_layer_context ( CoreDFB *core );
+CoreLayerRegion *dfb_core_create_layer_region ( CoreDFB *core );
+CorePalette *dfb_core_create_palette ( CoreDFB *core );
+CoreSurface *dfb_core_create_surface ( CoreDFB *core );
+CoreSurfaceAllocation *dfb_core_create_surface_allocation( CoreDFB *core );
+CoreSurfaceBuffer *dfb_core_create_surface_buffer( CoreDFB *core );
+CoreWindow *dfb_core_create_window ( CoreDFB *core );
+
+DFBResult dfb_core_get_graphics_state ( CoreDFB *core,
+ u32 object_id,
+ CoreGraphicsState **ret_state );
+
+DFBResult dfb_core_get_layer_context ( CoreDFB *core,
+ u32 object_id,
+ CoreLayerContext **ret_context );
+
+DFBResult dfb_core_get_layer_region ( CoreDFB *core,
+ u32 object_id,
+ CoreLayerRegion **ret_region );
+
+DFBResult dfb_core_get_palette ( CoreDFB *core,
+ u32 object_id,
+ CorePalette **ret_palette );
+
+DFBResult dfb_core_get_surface ( CoreDFB *core,
+ u32 object_id,
+ CoreSurface **ret_surface );
+
+DFBResult dfb_core_get_surface_allocation( CoreDFB *core,
+ u32 object_id,
+ CoreSurfaceAllocation **ret_allocation );
+
+DFBResult dfb_core_get_surface_buffer ( CoreDFB *core,
+ u32 object_id,
+ CoreSurfaceBuffer **ret_surface );
+
+DFBResult dfb_core_get_window ( CoreDFB *core,
+ u32 object_id,
+ CoreWindow **ret_window );
+
/*
* Debug
@@ -158,5 +198,253 @@ CoreCleanup *dfb_core_cleanup_add( CoreDFB *core,
void dfb_core_cleanup_remove( CoreDFB *core,
CoreCleanup *cleanup );
+DFBFontManager *dfb_core_font_manager( CoreDFB *core );
+
+
+
+
+
+DECLARE_INTERFACE( ICoreResourceManager )
+DECLARE_INTERFACE( ICoreResourceClient )
+
+
+
+struct __DFB_CoreDFBShared {
+ int magic;
+
+ bool secure;
+
+ FusionSkirmish lock;
+ bool active;
+
+ FusionObjectPool *graphics_state_pool;
+ FusionObjectPool *layer_context_pool;
+ FusionObjectPool *layer_region_pool;
+ FusionObjectPool *palette_pool;
+ FusionObjectPool *surface_pool;
+ FusionObjectPool *surface_allocation_pool;
+ FusionObjectPool *surface_buffer_pool;
+ FusionObjectPool *window_pool;
+
+ FusionSHMPoolShared *shmpool;
+ FusionSHMPoolShared *shmpool_data; /* for raw data, e.g. surface buffers */
+
+ FusionCall call;
+};
+
+struct __DFB_CoreDFB {
+ int magic;
+
+ int refs;
+
+ int fusion_id;
+
+ FusionWorld *world;
+ FusionArena *arena;
+
+ CoreDFBShared *shared;
+
+ bool master;
+ bool suspended;
+
+ DirectLink *cleanups;
+
+ DirectThreadInitHandler *init_handler;
+
+ DirectSignalHandler *signal_handler;
+
+ DirectCleanupHandler *cleanup_handler;
+
+ DFBFontManager *font_manager;
+
+ struct {
+ ICoreResourceManager *manager;
+
+ DirectHash *identities;
+ } resource;
+
+ FusionCall async_call; // used locally for async destroy etc.
+
+ FusionCall slave_call;
+
+ DirectLink *memory_permissions;
+ DirectMutex memory_permissions_lock;
+
+ int shutdown_tid;
+ int shutdown_running;
+};
+
+
+typedef enum {
+ CMPF_READ = 0x00000001,
+ CMPF_WRITE = 0x00000002,
+} CoreMemoryPermissionFlags;
+
+typedef struct __CoreDFB_CoreMemoryPermission CoreMemoryPermission;
+
+
+DFBResult dfb_core_memory_permissions_add ( CoreDFB *core,
+ CoreMemoryPermissionFlags flags,
+ void *data,
+ size_t length,
+ CoreMemoryPermission **ret_permission );
+
+DFBResult dfb_core_memory_permissions_remove( CoreDFB *core,
+ CoreMemoryPermission *permission );
+
+DFBResult dfb_core_memory_permissions_check ( CoreDFB *core,
+ CoreMemoryPermissionFlags flags,
+ void *data,
+ size_t length );
+
+
+extern CoreDFB *core_dfb; // FIXME
+
+
+typedef void (*AsyncCallFunc)( void *ctx,
+ void *ctx2 );
+
+typedef struct {
+ AsyncCallFunc func;
+
+ void *ctx;
+ void *ctx2;
+} AsyncCall;
+
+/*
+ * Runs a call on the Fusion Dispatch Thread
+ *
+ * Used for asynchronous destruct, i.e. when a call needs to destroy itself
+ */
+static __inline__ DFBResult
+Core_AsyncCall( AsyncCallFunc func,
+ void *ctx,
+ void *ctx2 )
+{
+ AsyncCall call;
+
+ call.func = func;
+ call.ctx = ctx;
+ call.ctx2 = ctx2;
+
+ return (DFBResult) fusion_call_execute2( &core_dfb->async_call, (FusionCallExecFlags)(FCEF_ONEWAY | FCEF_NODIRECT), 0, &call, sizeof(call), NULL );
+}
+
+
+
+void Core_TLS__init( void );
+void Core_TLS__deinit( void );
+
+
+/*
+ * Identity management
+ *
+ * Incoming dispatch pushes ID of caller
+ */
+
+void Core_PushIdentity( FusionID caller );
+
+void Core_PopIdentity ( void );
+
+FusionID Core_GetIdentity ( void );
+
+void Core_PushCalling ( void );
+void Core_PopCalling ( void );
+int Core_GetCalling ( void );
+
+/*
+ * Resource management
+ *
+ * Quotas etc can be implemented.
+ *
+ * Run time option 'resource-manager' is needed.
+ */
+
+DFBResult Core_Resource_CheckSurface ( const CoreSurfaceConfig *config,
+ CoreSurfaceTypeFlags type,
+ u64 resource_id,
+ CorePalette *palette );
+
+DFBResult Core_Resource_CheckSurfaceUpdate( CoreSurface *surface,
+ const CoreSurfaceConfig *config );
+
+DFBResult Core_Resource_AddSurface ( CoreSurface *surface );
+
+DFBResult Core_Resource_RemoveSurface ( CoreSurface *surface );
+
+DFBResult Core_Resource_UpdateSurface ( CoreSurface *surface,
+ const CoreSurfaceConfig *config );
+
+
+/*
+ * Resource manager main interface
+ *
+ * Implementation can be loaded via 'resource-manager' option.
+ */
+DEFINE_INTERFACE( ICoreResourceManager,
+
+ DFBResult (*CreateClient) ( ICoreResourceManager *thiz,
+ FusionID identity,
+ ICoreResourceClient **ret_client );
+)
+
+/*
+ * Per slave resource accounting
+ */
+DEFINE_INTERFACE( ICoreResourceClient,
+
+ DFBResult (*CheckSurface) ( ICoreResourceClient *thiz,
+ const CoreSurfaceConfig *config,
+ CoreSurfaceTypeFlags type,
+ u64 resource_id,
+ CorePalette *palette );
+
+ DFBResult (*CheckSurfaceUpdate) ( ICoreResourceClient *thiz,
+ CoreSurface *surface,
+ const CoreSurfaceConfig *config );
+
+ DFBResult (*AddSurface) ( ICoreResourceClient *thiz,
+ CoreSurface *surface );
+
+ DFBResult (*RemoveSurface) ( ICoreResourceClient *thiz,
+ CoreSurface *surface );
+
+ DFBResult (*UpdateSurface) ( ICoreResourceClient *thiz,
+ CoreSurface *surface,
+ const CoreSurfaceConfig *config );
+)
+
+
+/*
+ * Client instance management
+ */
+
+DFBResult Core_Resource_AddIdentity ( FusionID identity,
+ u32 slave_call );
+
+void Core_Resource_DisposeIdentity( FusionID identity );
+
+ICoreResourceClient *Core_Resource_GetClient ( FusionID identity );
+CoreSlave *Core_Resource_GetSlave ( FusionID identity );
+
+
+/*
+ * Per client cleanup
+ */
+
+typedef struct __Core__CoreResourceCleanup CoreResourceCleanup;
+
+typedef void (*CoreResourceCleanupCallback)( void *ctx,
+ void *ctx2 );
+
+
+DFBResult Core_Resource_AddCleanup ( FusionID identity,
+ CoreResourceCleanupCallback callback,
+ void *ctx,
+ void *ctx2,
+ CoreResourceCleanup **ret_cleanup );
+
+DFBResult Core_Resource_DisposeCleanup ( CoreResourceCleanup *cleanup );
+
#endif
diff --git a/src/core/core_system.h b/src/core/core_system.h
index dfa2abc..1ea857a 100644
--- a/src/core/core_system.h
+++ b/src/core/core_system.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -100,6 +100,15 @@ system_get_busid( int *ret_bus, int *ret_dev, int *ret_func );
static void
system_get_deviceid( unsigned int *ret_vendor_id, unsigned int *ret_device_id );
+static int
+system_surface_data_size( void );
+
+static void
+system_surface_data_init( CoreSurface *surface, void *data );
+
+static void
+system_surface_data_destroy( CoreSurface *surface, void *data );
+
static CoreSystemFuncs system_funcs = {
.GetSystemInfo = system_get_info,
@@ -123,6 +132,9 @@ static CoreSystemFuncs system_funcs = {
.AuxMemoryVirtual = system_aux_memory_virtual,
.AuxRamLength = system_auxram_length,
.GetBusID = system_get_busid,
+ .SurfaceDataSize = system_surface_data_size,
+ .SurfaceDataInit = system_surface_data_init,
+ .SurfaceDataDestroy = system_surface_data_destroy,
.GetDeviceID = system_get_deviceid
};
diff --git a/src/core/coretypes.h b/src/core/coretypes.h
index a5df62d..07fd180 100644
--- a/src/core/coretypes.h
+++ b/src/core/coretypes.h
@@ -47,6 +47,9 @@ typedef struct __DFB_DFBWMCore DFBWMCore;
typedef struct __DFB_DFBGraphicsCore CoreGraphicsDevice; /* FIXME */
+typedef struct __DFB_CoreGraphicsState CoreGraphicsState;
+typedef struct __DFB_CoreGraphicsStateClient CoreGraphicsStateClient;
+
typedef struct _CoreCleanup CoreCleanup;
@@ -57,6 +60,11 @@ typedef struct _CorePalette CorePalette;
typedef struct _CardState CardState;
+typedef struct __DFB_DFBFontManager DFBFontManager;
+typedef struct __DFB_DFBFontCache DFBFontCache;
+typedef struct __DFB_DFBFontCacheRow DFBFontCacheRow;
+
+
typedef struct __DFB_CoreGraphicsSerial CoreGraphicsSerial;
typedef struct __DFB_CoreScreen CoreScreen;
diff --git a/src/core/fonts.c b/src/core/fonts.c
index 349c706..851f261 100644
--- a/src/core/fonts.c
+++ b/src/core/fonts.c
@@ -45,6 +45,7 @@
#include <direct/debug.h>
#include <direct/hash.h>
+#include <direct/map.h>
#include <direct/mem.h>
#include <direct/messages.h>
#include <direct/utf8.h>
@@ -59,6 +60,10 @@
D_DEBUG_DOMAIN( Core_Font, "Core/Font", "DirectFB Core Font" );
D_DEBUG_DOMAIN( Core_FontSurfaces, "Core/Font/Surf", "DirectFB Core Font Surfaces" );
+D_DEBUG_DOMAIN( Font_Manager, "Core/Font/Manager", "DirectFB Core Font Manager" );
+D_DEBUG_DOMAIN( Font_Cache, "Core/Font/Cache", "DirectFB Core Font Cache" );
+D_DEBUG_DOMAIN( Font_CacheRow, "Core/Font/CacheRow", "DirectFB Core Font Cache Row" );
+
/**********************************************************************************************************************/
static bool free_glyphs( DirectHash *hash,
@@ -68,6 +73,610 @@ static bool free_glyphs( DirectHash *hash,
/**********************************************************************************************************************/
+struct __DFB_DFBFontManager {
+ int magic;
+
+ CoreDFB *core;
+
+ pthread_mutex_t lock;
+
+ DirectMap *caches;
+
+ unsigned int max_rows;
+ unsigned int num_rows;
+ unsigned long long row_stamp; // FIXME: lru calculation wrong if value overruns (non-fatal)
+};
+
+#define DFB_FONT_MANAGER_ASSERT( manager ) \
+ do { \
+ D_MAGIC_ASSERT( manager, DFBFontManager ); \
+ D_ASSERT( (manager)->max_rows > 0 ); \
+ D_ASSERT( (manager)->num_rows <= (manager)->max_rows ); \
+ } while (0)
+
+/**********************************************************************************************************************/
+
+struct __DFB_DFBFontCache {
+ int magic;
+
+ DFBFontManager *manager;
+
+ DFBFontCacheType type;
+
+ unsigned int row_width;
+
+ DirectLink *rows;
+};
+
+#define DFB_FONT_CACHE_ASSERT( cache ) \
+ do { \
+ D_MAGIC_ASSERT( cache, DFBFontCache ); \
+ } while (0)
+
+/**********************************************************************************************************************/
+
+struct __DFB_DFBFontCacheRow {
+ DirectLink link;
+
+ int magic;
+
+ DFBFontCache *cache;
+
+ unsigned long long stamp;
+
+ CoreSurface *surface;
+ unsigned int next_x;
+
+ DirectLink *glyphs;
+};
+
+#define DFB_FONT_CACHE_ROW_ASSERT( row ) \
+ do { \
+ D_MAGIC_ASSERT( row, DFBFontCacheRow ); \
+ } while (0)
+
+/**********************************************************************************************************************/
+/**********************************************************************************************************************/
+
+static bool
+font_cache_map_compare( DirectMap *map,
+ const void *key,
+ void *object,
+ void *ctx )
+{
+ const DFBFontCacheType *type = key;
+ DFBFontCache *cache = object;
+
+ return memcmp( type, &cache->type, sizeof(*type) ) == 0;
+}
+
+static unsigned int
+font_cache_map_hash( DirectMap *map,
+ const void *key,
+ void *ctx )
+{
+ const DFBFontCacheType *type = key;
+
+ return (type->height * 131 + type->pixel_format) * 131 + type->surface_caps;
+}
+
+/**********************************************************************************************************************/
+/**********************************************************************************************************************/
+
+DFBResult
+dfb_font_manager_create( CoreDFB *core,
+ DFBFontManager **ret_manager )
+{
+ D_DEBUG_AT( Font_Manager, "%s()\n", __func__ );
+
+ DFBResult ret;
+ DFBFontManager *manager;
+
+ D_ASSERT( core != NULL );
+ D_ASSERT( ret_manager != NULL );
+
+ manager = D_CALLOC( 1, sizeof(DFBFontManager) );
+ if (!manager)
+ return D_OOM();
+
+ ret = dfb_font_manager_init( manager, core );
+ if (ret) {
+ D_FREE( manager );
+ return ret;
+ }
+
+ *ret_manager = manager;
+
+ return DFB_OK;
+}
+
+DFBResult
+dfb_font_manager_destroy( DFBFontManager *manager )
+{
+ D_DEBUG_AT( Font_Manager, "%s()\n", __func__ );
+
+ DFB_FONT_MANAGER_ASSERT( manager );
+
+ dfb_font_manager_deinit( manager );
+
+ D_FREE( manager );
+
+ return DFB_OK;
+}
+
+DFBResult
+dfb_font_manager_init( DFBFontManager *manager,
+ CoreDFB *core )
+{
+ D_DEBUG_AT( Font_Manager, "%s()\n", __func__ );
+
+ DFBResult ret;
+
+ D_ASSERT( core != NULL );
+ D_ASSERT( manager != NULL );
+
+ manager->core = core;
+ manager->max_rows = dfb_config->max_font_rows;
+
+ ret = direct_map_create( 11, font_cache_map_compare, font_cache_map_hash, NULL, &manager->caches );
+ if (ret)
+ return ret;
+
+ direct_util_recursive_pthread_mutex_init( &manager->lock );
+
+ D_MAGIC_SET( manager, DFBFontManager );
+
+ return DFB_OK;
+}
+
+static DirectEnumerationResult
+destroy_caches( DirectMap *map,
+ void *object,
+ void *ctx )
+{
+ D_DEBUG_AT( Font_Manager, "%s( object %p )\n", __func__, object );
+
+ DFBFontCache *cache = object;
+
+ DFB_FONT_CACHE_ASSERT( cache );
+
+ dfb_font_cache_destroy( cache );
+
+ return DENUM_OK;
+}
+
+DFBResult
+dfb_font_manager_deinit( DFBFontManager *manager )
+{
+ D_DEBUG_AT( Font_Manager, "%s()\n", __func__ );
+
+ DFB_FONT_MANAGER_ASSERT( manager );
+
+ direct_map_iterate( manager->caches, destroy_caches, NULL );
+ direct_map_destroy( manager->caches );
+
+ pthread_mutex_destroy( &manager->lock );
+
+ D_MAGIC_CLEAR( manager );
+
+ return DFB_OK;
+}
+
+DFBResult
+dfb_font_manager_lock( DFBFontManager *manager )
+{
+ D_DEBUG_AT( Font_Manager, "%s()\n", __func__ );
+
+ DFB_FONT_MANAGER_ASSERT( manager );
+
+ pthread_mutex_lock( &manager->lock );
+
+ // FIXME: remember row stamp here, avoiding destruction of any row used before the unlock,
+ // might happen with looong string and smaaaall maximum of rows
+
+ return DFB_OK;
+}
+
+DFBResult
+dfb_font_manager_unlock( DFBFontManager *manager )
+{
+ D_DEBUG_AT( Font_Manager, "%s()\n", __func__ );
+
+ DFB_FONT_MANAGER_ASSERT( manager );
+
+ // FIXME: destroy LRU row until maximum number of rows is no longer exceeded,
+ // might happen when rows are preserved due to being used after lock is called
+
+ pthread_mutex_unlock( &manager->lock );
+
+ return DFB_OK;
+}
+
+DFBResult
+dfb_font_manager_get_cache( DFBFontManager *manager,
+ const DFBFontCacheType *type,
+ DFBFontCache **ret_cache )
+{
+ D_DEBUG_AT( Font_Manager, "%s()\n", __func__ );
+
+ DFB_FONT_MANAGER_ASSERT( manager );
+ D_ASSERT( type != NULL );
+ D_ASSERT( ret_cache != NULL );
+
+ D_DEBUG_AT( Font_Manager, " -> height %u, format 0x%x, caps 0x%x\n",
+ type->height, type->pixel_format, type->surface_caps );
+
+ ///
+
+ DFBResult ret;
+ DFBFontCache *cache;
+
+ DFBFontCacheType _type = *type;
+
+ if (_type.height < 8)
+ _type.height = 8;
+
+ cache = direct_map_lookup( manager->caches, &_type );
+ if (!cache) {
+ ret = dfb_font_cache_create( manager, &_type, &cache );
+ if (ret)
+ return ret;
+
+ ret = direct_map_insert( manager->caches, &_type, cache );
+ if (ret) {
+ dfb_font_cache_destroy( cache );
+ return ret;
+ }
+ }
+
+ *ret_cache = cache;
+
+ return DFB_OK;
+}
+
+typedef struct {
+ unsigned int lru_stamp;
+ DFBFontCacheRow *lru_row;
+} FindLruRowContext;
+
+static DirectEnumerationResult
+find_lru_row( DirectMap *map,
+ void *object,
+ void *ctx )
+{
+ D_DEBUG_AT( Font_Manager, "%s( object %p )\n", __func__, object );
+
+ FindLruRowContext *context = ctx;
+ DFBFontCache *cache = object;
+ DFBFontCacheRow *row;
+
+ DFB_FONT_CACHE_ASSERT( cache );
+
+ direct_list_foreach (row, cache->rows) {
+ D_DEBUG_AT( Font_Manager, " -> stamp %llu\n", row->stamp );
+
+ if (!context->lru_row || context->lru_stamp > row->stamp) {
+ context->lru_row = row;
+ context->lru_stamp = row->stamp;
+ }
+ }
+
+ return DENUM_OK;
+}
+
+DFBResult
+dfb_font_manager_remove_lru_row( DFBFontManager *manager )
+{
+ D_DEBUG_AT( Font_Manager, "%s()\n", __func__ );
+
+ FindLruRowContext context;
+ DFBFontCache *cache;
+
+ DFB_FONT_MANAGER_ASSERT( manager );
+
+ context.lru_stamp = 0;
+ context.lru_row = NULL;
+
+ direct_map_iterate( manager->caches, find_lru_row, &context );
+
+ if (!context.lru_row) {
+ D_ERROR( "Core/Font: Could not find any row (LRU)!\n" );
+ return DFB_ITEMNOTFOUND;
+ }
+
+ D_DEBUG_AT( Font_Manager, " -> row %p (stamp %llu)\n", context.lru_row, context.lru_row->stamp );
+
+ cache = context.lru_row->cache;
+ DFB_FONT_CACHE_ASSERT( cache );
+
+ direct_list_remove( &cache->rows, &context.lru_row->link );
+
+ dfb_font_cache_row_destroy( context.lru_row );
+
+ /* Decrease row counter. */
+ manager->num_rows--;
+
+ return DFB_OK;
+}
+
+/**********************************************************************************************************************/
+/**********************************************************************************************************************/
+
+DFBResult
+dfb_font_cache_create( DFBFontManager *manager,
+ const DFBFontCacheType *type,
+ DFBFontCache **ret_cache )
+{
+ DFB_FONT_MANAGER_ASSERT( manager );
+ D_ASSERT( type != NULL );
+ D_ASSERT( ret_cache != NULL );
+
+ ///
+
+ DFBResult ret;
+ DFBFontCache *cache;
+
+ cache = D_CALLOC( 1, sizeof(DFBFontCache) );
+ if (!cache)
+ return D_OOM();
+
+ ret = dfb_font_cache_init( cache, manager, type );
+ if (ret) {
+ D_FREE( cache );
+ return ret;
+ }
+
+ *ret_cache = cache;
+
+ return DFB_OK;
+}
+
+DFBResult
+dfb_font_cache_destroy( DFBFontCache *cache )
+{
+ DFB_FONT_CACHE_ASSERT( cache );
+
+ dfb_font_cache_deinit( cache );
+
+ D_FREE( cache );
+
+ return DFB_OK;
+}
+
+DFBResult
+dfb_font_cache_init( DFBFontCache *cache,
+ DFBFontManager *manager,
+ const DFBFontCacheType *type )
+{
+ D_ASSERT( cache != NULL );
+ D_ASSERT( type != NULL );
+ DFB_FONT_MANAGER_ASSERT( manager );
+
+ ///
+
+ cache->manager = manager;
+ cache->type = *type;
+
+
+ cache->row_width = 2048 * type->height / 64;
+
+ if (cache->row_width > dfb_config->max_font_row_width)
+ cache->row_width = dfb_config->max_font_row_width;
+
+ if (cache->row_width < type->height)
+ cache->row_width = type->height;
+
+ cache->row_width = (cache->row_width + 7) & ~7;
+
+
+ D_MAGIC_SET( cache, DFBFontCache );
+
+ return DFB_OK;
+}
+
+DFBResult
+dfb_font_cache_deinit( DFBFontCache *cache )
+{
+ DFBFontCacheRow *row;
+
+ DFB_FONT_CACHE_ASSERT( cache );
+
+ direct_list_foreach (row, cache->rows)
+ dfb_font_cache_row_destroy( row );
+
+ cache->rows = NULL;
+
+ D_MAGIC_CLEAR( cache );
+
+ return DFB_OK;
+}
+
+DFBResult
+dfb_font_cache_get_row( DFBFontCache *cache,
+ unsigned int width,
+ DFBFontCacheRow **ret_row )
+{
+ DFBResult ret;
+ DFBFontManager *manager;
+ DFBFontCacheRow *row;
+ DFBFontCacheRow *best_row = NULL;
+ unsigned int best_val = 0;
+
+ DFB_FONT_CACHE_ASSERT( cache );
+ D_ASSERT( ret_row != NULL );
+
+ manager = cache->manager;
+ DFB_FONT_MANAGER_ASSERT( manager );
+
+ /* Try freshest row first. */
+ row = (DFBFontCacheRow*) cache->rows;
+ if (row && row->next_x + width <= cache->row_width) {
+ *ret_row = row;
+
+ return DFB_OK;
+ }
+
+ /* Check for trailing space in each row. */
+ direct_list_foreach (row, cache->rows) {
+ DFB_FONT_CACHE_ROW_ASSERT( row );
+
+ /* If glyph fits... */
+ if (row->next_x + width <= cache->row_width) {
+ /* ...and no row yet or this row fits better... */
+ if (!best_row || best_val < row->next_x) {
+ /* ...remember row */
+ best_row = row;
+ best_val = row->next_x;
+ }
+ }
+ }
+
+ if (best_row) {
+ *ret_row = best_row;
+
+ return DFB_OK;
+ }
+
+
+ /*
+ * Need a new cache row
+ */
+
+ /* Maximum number of rows reached? */
+ if (manager->num_rows == manager->max_rows) {
+ /* Remove the least recently used row. */
+ ret = dfb_font_manager_remove_lru_row( manager );
+ if (ret)
+ return ret;
+ }
+
+ D_ASSERT( manager->num_rows < manager->max_rows );
+
+ /* Create another row. */
+ ret = dfb_font_cache_row_create( cache, &row );
+ if (ret)
+ return ret;
+
+ /* Prepend to list (freshest is first). */
+ direct_list_prepend( &cache->rows, &row->link );
+
+ /* Increase row counter in manager. */
+ manager->num_rows++;
+
+ *ret_row = row;
+
+ return DFB_OK;
+}
+
+/**********************************************************************************************************************/
+/**********************************************************************************************************************/
+
+DFBResult
+dfb_font_cache_row_create( DFBFontCache *cache,
+ DFBFontCacheRow **ret_row )
+{
+ DFBResult ret;
+ DFBFontCacheRow *row;
+
+ row = D_CALLOC( 1, sizeof(DFBFontCacheRow) );
+ if (!row)
+ return D_OOM();
+
+ ret = dfb_font_cache_row_init( row, cache );
+ if (ret) {
+ D_FREE( row );
+ return ret;
+ }
+
+ *ret_row = row;
+
+ return DFB_OK;
+}
+
+DFBResult
+dfb_font_cache_row_destroy( DFBFontCacheRow *row )
+{
+ DFB_FONT_CACHE_ROW_ASSERT( row );
+
+ dfb_font_cache_row_deinit( row );
+
+ D_FREE( row );
+
+ return DFB_OK;
+}
+
+DFBResult
+dfb_font_cache_row_init( DFBFontCacheRow *row,
+ DFBFontCache *cache )
+{
+ DFBResult ret;
+ DFBFontManager *manager;
+
+ DFB_FONT_CACHE_ASSERT( cache );
+
+ manager = cache->manager;
+ DFB_FONT_MANAGER_ASSERT( manager );
+
+ row->cache = cache;
+
+ /* Create a new font surface. */
+ ret = dfb_surface_create_simple( manager->core,
+ cache->row_width,
+ cache->type.height,
+ cache->type.pixel_format,
+ cache->type.surface_caps,
+ CSTF_FONT,
+ 0,
+ NULL, &row->surface );
+ if (ret) {
+ D_DERROR( ret, "Core/Font: Could not create font surface!\n" );
+ return ret;
+ }
+
+ D_DEBUG_AT( Core_FontSurfaces, " -> new row %d - %dx%d %s\n", manager->num_rows,
+ row->surface->config.size.w, row->surface->config.size.h,
+ dfb_pixelformat_name(row->surface->config.format) );
+
+ D_MAGIC_SET( row, DFBFontCacheRow );
+
+ return DFB_OK;
+}
+
+DFBResult
+dfb_font_cache_row_deinit( DFBFontCacheRow *row )
+{
+ CoreGlyphData *glyph, *next;
+
+ DFB_FONT_CACHE_ROW_ASSERT( row );
+
+ /* Kick out all glyphs. */
+ direct_list_foreach_safe (glyph, next, row->glyphs) {
+ CoreFont *font = glyph->font;
+
+ D_MAGIC_ASSERT( glyph, CoreGlyphData );
+ D_ASSERT( glyph->layer < D_ARRAY_SIZE(font->layers) );
+
+ /*ret =*/ direct_hash_remove( font->layers[glyph->layer].glyph_hash, glyph->index );
+ //FIXME: use D_ASSERT( ret == DFB_OK );
+
+ if (glyph->index < 128)
+ font->layers[glyph->layer].glyph_data[glyph->index] = NULL;
+
+ D_MAGIC_CLEAR( glyph );
+ D_FREE( glyph );
+ }
+
+
+ dfb_surface_unref( row->surface );
+
+ D_MAGIC_CLEAR( row );
+
+ return DFB_OK;
+}
+
+/**********************************************************************************************************************/
+/**********************************************************************************************************************/
+
DFBResult
dfb_font_create( CoreDFB *core, CoreFont **ret_font )
{
@@ -95,10 +704,8 @@ dfb_font_create( CoreDFB *core, CoreFont **ret_font )
}
}
- font->core = core;
- font->max_rows = 5;
-
- direct_util_recursive_pthread_mutex_init( &font->lock );
+ font->core = core;
+ font->manager = dfb_core_font_manager( core );
/* the proposed pixel_format, may be changed by the font provider */
font->pixel_format = dfb_config->font_format ? : DSPF_A8;
@@ -130,31 +737,10 @@ dfb_font_destroy( CoreFont *font )
D_MAGIC_ASSERT( font, CoreFont );
- D_MAGIC_CLEAR( font );
-
- pthread_mutex_lock( &font->lock );
-
- for (i=0; i<DFB_FONT_MAX_LAYERS; i++) {
- direct_hash_iterate( font->layers[i].glyph_hash, free_glyphs, NULL );
+ dfb_font_dispose( font );
+ for (i=0; i<DFB_FONT_MAX_LAYERS; i++)
direct_hash_destroy( font->layers[i].glyph_hash );
- }
-
- if (font->rows) {
- for (i = 0; i < font->num_rows; i++) {
- CoreFontCacheRow *row = font->rows[i];
-
- D_MAGIC_ASSERT( row, CoreFontCacheRow );
-
- dfb_surface_unref( row->surface );
-
- D_MAGIC_CLEAR( row );
-
- D_FREE( row );
- }
-
- D_FREE( font->rows );
- }
D_ASSERT( font->encodings != NULL || !font->last_encoding );
@@ -173,76 +759,102 @@ dfb_font_destroy( CoreFont *font )
if (font->encodings)
D_FREE( font->encodings );
- pthread_mutex_unlock( &font->lock );
- pthread_mutex_destroy( &font->lock );
+ D_MAGIC_CLEAR( font );
D_FREE( font );
}
+DFBResult
+dfb_font_dispose( CoreFont *font )
+{
+ int i;
+
+ D_DEBUG_AT( Core_Font, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( font, CoreFont );
+
+ dfb_font_manager_lock( font->manager );
+
+ for (i=0; i<DFB_FONT_MAX_LAYERS; i++) {
+ direct_hash_iterate( font->layers[i].glyph_hash, free_glyphs, NULL );
+
+ memset( font->layers[i].glyph_data, 0, sizeof(font->layers[i].glyph_data) );
+ }
+
+ dfb_font_manager_unlock( font->manager );
+
+ return DFB_OK;
+}
+
/**********************************************************************************************************************/
DFBResult
-dfb_font_get_glyph_data( CoreFont *font,
- unsigned int index,
- unsigned int layer,
- CoreGlyphData **ret_data )
+dfb_font_get_glyph_data( CoreFont *font,
+ unsigned int index,
+ unsigned int layer,
+ CoreGlyphData **ret_data )
{
- DFBResult ret;
- CoreGlyphData *data;
- int i;
- int align;
- CoreFontCacheRow *row = NULL;
+ DFBResult ret;
+ CoreGlyphData *data;
+ int align;
+ DFBFontManager *manager;
+ DFBFontCache *cache;
+ DFBFontCacheRow *row = NULL;
- D_DEBUG_AT( Core_Font, "%s()\n", __FUNCTION__ );
+ D_DEBUG_AT( Core_Font, "%s( index %u, layer %u )\n", __FUNCTION__, index, layer );
D_MAGIC_ASSERT( font, CoreFont );
D_ASSERT( ret_data != NULL );
D_ASSERT( layer < D_ARRAY_SIZE(font->layers) );
- D_ASSERT( font->num_rows >= 0 );
- if (font->num_rows) {
- D_ASSERT( font->num_rows <= font->max_rows || font->max_rows < 0 );
- D_ASSERT( font->active_row >= 0 );
- D_ASSERT( font->active_row < font->num_rows );
- }
+ manager = font->manager;
+ DFB_FONT_MANAGER_ASSERT( manager );
+ /* Quick Lookup in array */
if (index < 128 && font->layers[layer].glyph_data[index]) {
*ret_data = font->layers[layer].glyph_data[index];
return DFB_OK;
}
+ /* Standard lookup in hash */
data = direct_hash_lookup( font->layers[layer].glyph_hash, index );
if (data) {
D_MAGIC_ASSERT( data, CoreGlyphData );
- if (font->rows) {
- D_ASSERT( data->row >= 0 );
- D_ASSERT( data->row < font->num_rows );
+ D_DEBUG_AT( Core_Font, " -> already in cache (%p)\n", data );
- row = font->rows[data->row];
+ row = data->row;
+ if (row) {
+ DFB_FONT_CACHE_ROW_ASSERT( row );
- D_MAGIC_ASSERT( row, CoreFontCacheRow );
-
- row->stamp = font->row_stamp++;
+ row->stamp = manager->row_stamp++;
}
*ret_data = data;
return DFB_OK;
}
+
+ /*
+ * No glyph data available in cache, load new glyph
+ */
+
if (!font->GetGlyphData)
return DFB_UNSUPPORTED;
+ /* Allocate glyph data */
data = D_CALLOC( 1, sizeof(CoreGlyphData) );
if (!data)
return D_OOM();
D_MAGIC_SET( data, CoreGlyphData );
+ data->font = font;
data->index = index;
data->layer = layer;
+ /* Get glyph data from font implementation */
ret = font->GetGlyphData( font, index, data );
if (ret) {
D_DERROR( ret, "Core/Font: Could not get glyph info for index %d!\n", index );
@@ -251,167 +863,43 @@ dfb_font_get_glyph_data( CoreFont *font,
}
if (data->width < 1 || data->height < 1) {
+ D_DEBUG_AT( Core_Font, " -> zero size glyph bitmap!\n" );
data->start = data->width = data->height = 0;
goto out;
}
- if (font->rows) {
- D_ASSERT( font->active_row >= 0 );
- D_ASSERT( font->active_row < font->num_rows );
- row = font->rows[font->active_row];
-
- D_MAGIC_ASSERT( row, CoreFontCacheRow );
- }
- else {
- /* Calculate row width? */
- if (font->row_width == 0) {
- int width = 2048 * font->height / 64;
+ /* Get the proper cache based on size... */
+ DFBFontCacheType type;
- if (width > 2048)
- width = 2048;
+ type.height = MAX( data->height, data->width );
+ type.pixel_format = font->pixel_format;
+ type.surface_caps = font->surface_caps;
- if (width < font->maxadvance)
- width = font->maxadvance;
+ /* Avoid too many surface switches during one string rendering */
+ type.height = MAX( font->height, type.height );
- font->row_width = (width + 7) & ~7;
- }
+ ret = dfb_font_manager_get_cache( font->manager, &type, &cache );
+ if (ret) {
+ D_DEBUG_AT( Core_Font, " -> could not get cache from manager!\n" );
+ goto error;
}
- /* Need another font surface? */
- if (!row || (row->next_x + data->width > font->row_width)) {
- D_ASSERT( font->max_rows != 0 );
-
- /* Maximum number of rows reached? */
- if (font->num_rows == font->max_rows) {
- int best_row = -1;
- unsigned int best_val = 0;
-
- /* Check for trailing space first. */
- for (i=0; i<font->num_rows; i++) {
- row = font->rows[i];
-
- D_MAGIC_ASSERT( row, CoreFontCacheRow );
-
- if (row->next_x + data->width <= font->row_width) {
- if (best_row == -1 || best_val < row->next_x) {
- best_row = i;
- best_val = row->next_x;
- }
- }
- }
-
- /* Found a row with enough trailing space? */
- if (best_row != -1) {
- font->active_row = best_row;
- row = font->rows[best_row];
-
- D_MAGIC_ASSERT( row, CoreFontCacheRow );
-
- D_DEBUG_AT( Core_FontSurfaces, " -> using trailing space of row %d - %dx%d %s\n",
- font->active_row, row->surface->config.size.w, row->surface->config.size.h,
- dfb_pixelformat_name(row->surface->config.format) );
- }
- else {
- CoreGlyphData *d, *n;
-
- D_ASSERT( best_row == -1 );
- D_ASSERT( best_val == 0 );
-
- /* Reuse the least recently used row. */
- for (i=0; i<font->num_rows; i++) {
- row = font->rows[i];
-
- D_MAGIC_ASSERT( row, CoreFontCacheRow );
-
- if (best_row == -1 || best_val > row->stamp) {
- best_row = i;
- best_val = row->stamp;
- }
- }
-
- D_ASSERT( best_row != -1 );
-
- font->active_row = best_row;
- row = font->rows[best_row];
-
- D_MAGIC_ASSERT( row, CoreFontCacheRow );
-
- D_DEBUG_AT( Core_FontSurfaces, " -> reusing row %d - %dx%d %s\n",
- font->active_row, row->surface->config.size.w, row->surface->config.size.h,
- dfb_pixelformat_name(row->surface->config.format) );
-
- /* Kick out all glyphs. */
- direct_list_foreach_safe (d, n, row->glyphs) {
- D_MAGIC_ASSERT( d, CoreGlyphData );
- D_ASSERT( d->layer < D_ARRAY_SIZE(font->layers) );
-
- /*ret =*/ direct_hash_remove( font->layers[d->layer].glyph_hash, d->index );
- //FIXME: use D_ASSERT( ret == DFB_OK );
-
- if (d->index < 128)
- font->layers[d->layer].glyph_data[d->index] = NULL;
-
- D_MAGIC_CLEAR( d );
- D_FREE( d );
- }
-
- /* Reset row. */
- row->glyphs = NULL;
- row->next_x = 0;
- }
- }
- else {
- /* Allocate new font cache row structure. */
- row = D_CALLOC( 1, sizeof(CoreFontCacheRow) );
- if (!row) {
- ret = D_OOM();
- goto error;
- }
-
- /* Create a new font surface. */
- ret = dfb_surface_create_simple( font->core,
- font->row_width,
- MAX( font->height + 1, 8 ),
- font->pixel_format,
- font->surface_caps, CSTF_FONT,
- 0 /* FIXME: no shared fonts, no font id */,
- NULL, &row->surface );
- if (ret) {
- D_DERROR( ret, "Core/Font: Could not create font surface!\n" );
- D_FREE( row );
- goto error;
- }
-
- D_DEBUG_AT( Core_FontSurfaces, " -> new row %d - %dx%d %s\n", font->num_rows,
- row->surface->config.size.w, row->surface->config.size.h,
- dfb_pixelformat_name(row->surface->config.format) );
-
- D_MAGIC_SET( row, CoreFontCacheRow );
-
-
- /* Append to array. FIXME: Use vector to avoid realloc each time! */
- font->rows = D_REALLOC( font->rows, sizeof(void*) * (font->num_rows + 1) );
- D_ASSERT( font->rows != NULL );
-
- font->rows[font->num_rows] = row;
-
- /* Set new row to use. */
- font->active_row = font->num_rows++;
- }
+ /* Check for a cache row (surface) to use */
+ ret = dfb_font_cache_get_row( cache, data->width, &row );
+ if (ret) {
+ D_DEBUG_AT( Core_Font, " -> could not get row from cache!\n" );
+ goto error;
}
- D_MAGIC_ASSERT( row, CoreFontCacheRow );
- D_ASSERT( font->num_rows > 0 );
- D_ASSERT( font->num_rows <= font->max_rows || font->max_rows < 0 );
- D_ASSERT( font->active_row >= 0 );
- D_ASSERT( font->active_row < font->num_rows );
- D_ASSERT( row == font->rows[font->active_row] );
+ /*
+ * Add the glyph to the cache row
+ */
- D_DEBUG_AT( Core_FontSurfaces, " -> render %2d - %2dx%2d at %d:%03d font <%p>\n",
- index, data->width, data->height, font->active_row, row->next_x, font );
+ D_DEBUG_AT( Core_FontSurfaces, " -> render %2d - %2dx%2d at %03d font <%p>\n",
+ index, data->width, data->height, row->next_x, font );
- data->row = font->active_row;
+ data->row = row;
data->start = row->next_x;
data->surface = row->surface;
@@ -420,17 +908,20 @@ dfb_font_get_glyph_data( CoreFont *font,
row->next_x += (data->width + align) & ~align;
- row->stamp = font->row_stamp++;
+ row->stamp = manager->row_stamp++;
/* Render the glyph data into the surface. */
ret = font->RenderGlyph( font, index, data );
if (ret) {
+ D_DEBUG_AT( Core_Font, " -> rendering glyph failed!\n" );
data->start = data->width = data->height = 0;
goto out;
}
dfb_gfxcard_flush_texture_cache();
+ CORE_GLYPH_DATA_DEBUG_AT( Core_Font, data );
+
out:
if (row)
@@ -630,11 +1121,50 @@ free_glyphs( DirectHash *hash,
void *value,
void *ctx )
{
- CoreGlyphData *data = value;
+ D_DEBUG_AT( Core_Font, "%s( %lu )\n", __FUNCTION__, key );
+
+ CoreGlyphData *data = value;
+ DFBFontCacheRow *row;
D_MAGIC_ASSERT( data, CoreGlyphData );
+ CORE_GLYPH_DATA_DEBUG_AT( Core_Font, data );
+
+ /* Remove glyph from font. */
+ direct_hash_remove( hash, key );
+
+
+ row = data->row;
+ if (row) {
+ DFB_FONT_CACHE_ROW_ASSERT( row );
+
+ /* Remove glyph from cache row. */
+ direct_list_remove( &row->glyphs, &data->link );
+
+ /* If cache row got empty, destroy it. */
+ if (!row->glyphs) {
+ DFBFontManager *manager;
+ DFBFontCache *cache = row->cache;
+
+ DFB_FONT_CACHE_ASSERT( cache );
+
+ manager = cache->manager;
+ DFB_FONT_MANAGER_ASSERT( manager );
+
+ /* Remove row from cache. */
+ direct_list_remove( &cache->rows, &row->link );
+
+ /* Destroy row. */
+ dfb_font_cache_row_destroy( row );
+
+ /* Decrease row counter in manager. */
+ manager->num_rows--;
+ }
+ }
+
+
D_MAGIC_CLEAR( data );
+
D_FREE( data );
return true;
diff --git a/src/core/fonts.h b/src/core/fonts.h
index 95341ca..114524e 100644
--- a/src/core/fonts.h
+++ b/src/core/fonts.h
@@ -39,27 +39,94 @@
#include <core/state.h>
+
+
+typedef struct {
+ unsigned int height;
+ DFBSurfacePixelFormat pixel_format;
+ DFBSurfaceCapabilities surface_caps;
+} DFBFontCacheType;
+
+
+DFBResult dfb_font_manager_create ( CoreDFB *core,
+ DFBFontManager **ret_manager );
+DFBResult dfb_font_manager_destroy ( DFBFontManager *manager );
+DFBResult dfb_font_manager_init ( DFBFontManager *manager,
+ CoreDFB *core );
+DFBResult dfb_font_manager_deinit ( DFBFontManager *manager );
+
+DFBResult dfb_font_manager_lock ( DFBFontManager *manager );
+DFBResult dfb_font_manager_unlock ( DFBFontManager *manager );
+
+DFBResult dfb_font_manager_get_cache ( DFBFontManager *manager,
+ const DFBFontCacheType *type,
+ DFBFontCache **ret_cache );
+
+DFBResult dfb_font_manager_remove_lru_row( DFBFontManager *manager );
+
+DFBResult dfb_font_cache_create ( DFBFontManager *manager,
+ const DFBFontCacheType *type,
+ DFBFontCache **ret_cache );
+DFBResult dfb_font_cache_destroy ( DFBFontCache *cache );
+DFBResult dfb_font_cache_init ( DFBFontCache *cache,
+ DFBFontManager *manager,
+ const DFBFontCacheType *type );
+DFBResult dfb_font_cache_deinit ( DFBFontCache *cache );
+DFBResult dfb_font_cache_get_row ( DFBFontCache *cache,
+ unsigned int width,
+ DFBFontCacheRow **ret_row );
+
+DFBResult dfb_font_cache_row_create ( DFBFontCache *cache,
+ DFBFontCacheRow **ret_row );
+DFBResult dfb_font_cache_row_destroy ( DFBFontCacheRow *row );
+DFBResult dfb_font_cache_row_init ( DFBFontCacheRow *row,
+ DFBFontCache *cache );
+DFBResult dfb_font_cache_row_deinit ( DFBFontCacheRow *row );
+
+
+
+
+
/*
* glyph struct
*/
struct _CoreGlyphData {
- DirectLink link;
+ DirectLink link;
- unsigned int index;
- unsigned int layer;
- unsigned int row;
+ CoreFont *font;
- CoreSurface *surface; /* contains bitmap of glyph */
- int start; /* x offset of glyph in surface */
- int width; /* width of the glyphs bitmap */
- int height; /* height of the glyphs bitmap */
- int left; /* x offset of the glyph */
- int top; /* y offset of the glyph */
- int advance; /* placement of next glyph */
+ unsigned int index;
+ unsigned int layer;
- int magic;
+ CoreSurface *surface; /* contains bitmap of glyph */
+ int start; /* x offset of glyph in surface */
+ int width; /* width of the glyphs bitmap */
+ int height; /* height of the glyphs bitmap */
+ int left; /* x offset of the glyph */
+ int top; /* y offset of the glyph */
+ int xadvance; /* placement of next glyph */
+ int yadvance;
+
+ int magic;
+
+ DFBFontCacheRow *row;
};
+#define CORE_GLYPH_DATA_DEBUG_AT(Domain, data) \
+ do { \
+ D_DEBUG_AT( Domain, " -> index %d\n", (data)->index ); \
+ D_DEBUG_AT( Domain, " -> layer %d\n", (data)->layer ); \
+ D_DEBUG_AT( Domain, " -> row %p\n", (data)->row ); \
+ D_DEBUG_AT( Domain, " -> surface %p\n", (data)->surface ); \
+ D_DEBUG_AT( Domain, " -> start %d\n", (data)->start ); \
+ D_DEBUG_AT( Domain, " -> width %d\n", (data)->width ); \
+ D_DEBUG_AT( Domain, " -> height %d\n", (data)->height ); \
+ D_DEBUG_AT( Domain, " -> left %d\n", (data)->left ); \
+ D_DEBUG_AT( Domain, " -> top %d\n", (data)->top ); \
+ D_DEBUG_AT( Domain, " -> xadvance %d\n", (data)->xadvance ); \
+ D_DEBUG_AT( Domain, " -> yadvance %d\n", (data)->yadvance ); \
+ } while (0)
+
typedef struct {
DFBResult (* GetCharacterIndex) ( CoreFont *thiz,
unsigned int character,
@@ -82,17 +149,6 @@ typedef struct {
int magic;
} CoreFontEncoding;
-typedef struct {
- unsigned int stamp;
-
- CoreSurface *surface;
- int next_x;
-
- DirectLink *glyphs;
-
- int magic;
-} CoreFontCacheRow;
-
#define DFB_FONT_MAX_LAYERS 2
@@ -103,18 +159,14 @@ typedef struct {
struct _CoreFont {
CoreDFB *core;
+ DFBFontManager *manager;
+
DFBSurfaceBlittingFlags blittingflags;
DFBSurfacePixelFormat pixel_format;
DFBSurfaceCapabilities surface_caps;
- int row_width;
- int max_rows;
DFBFontAttributes attributes;
- CoreFontCacheRow **rows; /* contain bitmaps of loaded glyphs */
- int num_rows;
- int active_row;
- unsigned int row_stamp;
struct {
DirectHash *glyph_hash; /* infos about loaded glyphs */
@@ -129,7 +181,8 @@ struct _CoreFont {
from the baseline to the bottom */
int maxadvance; /* width of largest character */
- pthread_mutex_t lock; /* lock during access to the font */
+ float up_unit_x; /* unit vector pointing 'up' in for */
+ float up_unit_y; /* this font's rotation */
const CoreFontEncodingFuncs *utf8; /* for default encoding, DTEID_UTF8 */
CoreFontEncoding **encodings; /* for other encodings */
@@ -155,6 +208,13 @@ struct _CoreFont {
int magic;
};
+#define CORE_FONT_DEBUG_AT(Domain, font) \
+ do { \
+ D_DEBUG_AT( Domain, " -> ascender %d\n", (font)->ascender ); \
+ D_DEBUG_AT( Domain, " -> descender %d\n", (font)->descender ); \
+ D_DEBUG_AT( Domain, " -> height %d\n", (font)->height ); \
+ } while (0)
+
/*
* allocates and initializes a new font structure
*/
@@ -166,6 +226,11 @@ DFBResult dfb_font_create( CoreDFB *core, CoreFont **ret_font );
void dfb_font_destroy( CoreFont *font );
/*
+ * dispose resources that can be recreated, mainly glyph cache surfaces
+ */
+DFBResult dfb_font_dispose( CoreFont *font );
+
+/*
* lock the font before accessing it
*/
static inline void
@@ -173,7 +238,7 @@ dfb_font_lock( CoreFont *font )
{
D_MAGIC_ASSERT( font, CoreFont );
- pthread_mutex_lock( &font->lock );
+ dfb_font_manager_lock( font->manager );
}
/*
@@ -184,7 +249,7 @@ dfb_font_unlock( CoreFont *font )
{
D_MAGIC_ASSERT( font, CoreFont );
- pthread_mutex_unlock( &font->lock );
+ dfb_font_manager_unlock( font->manager );
}
/*
@@ -234,4 +299,5 @@ DFBResult dfb_font_decode_character( CoreFont *font,
u32 character,
unsigned int *ret_index );
+
#endif
diff --git a/src/core/gfxcard.c b/src/core/gfxcard.c
index 71f40ce..867852d 100644
--- a/src/core/gfxcard.c
+++ b/src/core/gfxcard.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -32,14 +32,15 @@
#include <string.h>
#include <directfb.h>
+#include <directfb_util.h>
#include <direct/debug.h>
#include <direct/memcpy.h>
+#include <fusion/conf.h>
#include <fusion/fusion.h>
#include <fusion/shmalloc.h>
#include <fusion/arena.h>
-#include <fusion/property.h>
#include <core/core.h>
#include <core/coredefs.h>
@@ -55,6 +56,8 @@
#include <core/surface_pool.h>
#include <core/system.h>
+#include <core/CoreGraphicsStateClient.h>
+
#include <gfx/generic/generic.h>
#include <gfx/clip.h>
#include <gfx/util.h>
@@ -86,50 +89,6 @@ static void fill_tri( DFBTriangle *tri, CardState *state, bool accelerated );
/**********************************************************************************************************************/
-typedef struct {
- int magic;
-
- /* amount of usable memory */
- unsigned int videoram_length;
- unsigned int auxram_length;
- unsigned int auxram_offset;
-
- char *module_name;
-
- GraphicsDriverInfo driver_info;
- GraphicsDeviceInfo device_info;
- void *device_data;
-
- FusionProperty lock;
- GraphicsDeviceLockFlags lock_flags;
-
- /*
- * Points to the current state of the graphics card.
- */
- CardState *state;
- FusionID holder; /* Fusion ID of state owner. */
-} DFBGraphicsCoreShared;
-
-struct __DFB_DFBGraphicsCore {
- int magic;
-
- CoreDFB *core;
-
- DFBGraphicsCoreShared *shared;
-
- DirectModuleEntry *module;
- const GraphicsDriverFuncs *driver_funcs;
-
- void *driver_data;
- void *device_data; /* copy of shared->device_data */
-
- CardCapabilities caps; /* local caps */
- CardLimitations limits; /* local limits */
-
- GraphicsDeviceFuncs funcs;
-};
-
-
DFB_CORE_PART( graphics_core, GraphicsCore );
/**********************************************************************************************************************/
@@ -254,7 +213,7 @@ dfb_graphics_core_initialize( CoreDFB *core,
data->limits = shared->device_info.limits;
}
- fusion_property_init( &shared->lock, dfb_core_world(core) );
+ fusion_skirmish_init2( &shared->lock, "GfxCard", dfb_core_world(core), fusion_config->secure_fusion );
if (__DFB_CoreRegisterHook)
__DFB_CoreRegisterHook( core, card, __DFB_CoreRegisterHookCtx );
@@ -314,7 +273,6 @@ dfb_graphics_core_join( CoreDFB *core,
return DFB_UNSUPPORTED;
}
-
D_INFO( "DirectFB/Graphics: %s %s %d.%d (%s)\n",
shared->device_info.vendor, shared->device_info.name,
shared->driver_info.version.major,
@@ -351,7 +309,6 @@ dfb_graphics_core_shutdown( DFBGraphicsCore *data,
shared = data->shared;
-
dfb_gfxcard_lock( GDLF_SYNC );
if (data->driver_funcs) {
@@ -366,7 +323,7 @@ dfb_graphics_core_shutdown( DFBGraphicsCore *data,
D_FREE( card->driver_data );
}
- fusion_property_destroy( &shared->lock );
+ fusion_skirmish_destroy( &shared->lock );
if (shared->module_name)
SHFREE( pool, shared->module_name );
@@ -454,10 +411,9 @@ dfb_gfxcard_lock( GraphicsDeviceLockFlags flags )
shared = card->shared;
funcs = &card->funcs;
- if ( ((flags & GDLF_WAIT) ?
- fusion_property_purchase( &shared->lock ) :
- fusion_property_lease( &shared->lock )) )
- return DFB_FAILURE;
+ ret = fusion_skirmish_prevail( &shared->lock );
+ if (ret)
+ return ret;
if ((flags & GDLF_SYNC) && funcs->EngineSync) {
ret = funcs->EngineSync( card->driver_data, card->device_data );
@@ -467,7 +423,7 @@ dfb_gfxcard_lock( GraphicsDeviceLockFlags flags )
shared->state = NULL;
- fusion_property_cede( &shared->lock );
+ fusion_skirmish_dismiss( &shared->lock );
return ret;
}
@@ -493,16 +449,7 @@ dfb_gfxcard_unlock( void )
D_ASSERT( card != NULL );
D_ASSERT( card->shared != NULL );
- fusion_property_cede( &card->shared->lock );
-}
-
-void
-dfb_gfxcard_holdup( void )
-{
- D_ASSERT( card != NULL );
- D_ASSERT( card->shared != NULL );
-
- fusion_property_holdup( &card->shared->lock );
+ fusion_skirmish_dismiss( &card->shared->lock );
}
/*
@@ -666,6 +613,10 @@ dfb_gfxcard_state_check( CardState *state, DFBAccelerationMask accel )
/* ...force rechecking for all blitting functions. */
state->checked &= ~DFXL_ALL_BLIT;
}
+ else if (state->modified & SMF_SOURCE2) {
+ /* Otherwise force rechecking for blit2 function if source2 has been changed. */
+ state->checked &= ~DFXL_BLIT2;
+ }
/* If drawing flags have been changed... */
if (state->modified & SMF_DRAWING_FLAGS) {
@@ -700,12 +651,14 @@ dfb_gfxcard_state_check( CardState *state, DFBAccelerationMask accel )
state->modified = 0;
/*
- * If back_buffer policy is 'system only' there's no acceleration
- * available.
+ * If back_buffer policy is 'system only' and the GPU does not fully
+ * support system memory surfaces there's no acceleration available.
*/
- if (dst_buffer->policy == CSP_SYSTEMONLY || /* Special check required if driver does not check itself. */
- ( !(card->caps.flags & CCF_RENDEROPTS) &&
- (state->render_options & DSRO_MATRIX) ))
+ if ((dst_buffer->policy == CSP_SYSTEMONLY &&
+ !(card->caps.flags & CCF_READSYSMEM &&
+ card->caps.flags & CCF_WRITESYSMEM)) || /* Special check required if driver does not check itself. */
+ ( !(card->caps.flags & CCF_RENDEROPTS) &&
+ (state->render_options & DSRO_MATRIX) ))
{
/* Clear 'accelerated functions'. */
state->accel = DFXL_NONE;
@@ -777,10 +730,16 @@ dfb_gfxcard_state_acquire( CardState *state, DFBAccelerationMask accel )
state, accel, state->destination );
}
+ /*
+ * Push our own identity for buffer locking calls (locality of accessor)
+ */
+ Core_PushIdentity( 0 );
+
/* lock destination */
ret = dfb_surface_lock_buffer( dst, state->to, CSAID_GPU, access, &state->dst );
if (ret) {
D_DEBUG_AT( Core_Graphics, "Could not lock destination for GPU access!\n" );
+ Core_PopIdentity();
return false;
}
@@ -791,6 +750,7 @@ dfb_gfxcard_state_acquire( CardState *state, DFBAccelerationMask accel )
if (ret) {
D_DEBUG_AT( Core_Graphics, "Could not lock source for GPU access!\n" );
dfb_surface_unlock_buffer( dst, &state->dst );
+ Core_PopIdentity();
return false;
}
@@ -804,6 +764,7 @@ dfb_gfxcard_state_acquire( CardState *state, DFBAccelerationMask accel )
D_DEBUG_AT( Core_Graphics, "Could not lock source mask for GPU access!\n" );
dfb_surface_unlock_buffer( src, &state->src );
dfb_surface_unlock_buffer( dst, &state->dst );
+ Core_PopIdentity();
return false;
}
@@ -822,6 +783,7 @@ dfb_gfxcard_state_acquire( CardState *state, DFBAccelerationMask accel )
dfb_surface_unlock_buffer( src, &state->src );
dfb_surface_unlock_buffer( dst, &state->dst );
+ Core_PopIdentity();
return false;
}
@@ -836,7 +798,8 @@ dfb_gfxcard_state_acquire( CardState *state, DFBAccelerationMask accel )
* This will timeout if the hardware is locked by another party with
* the first argument being true (e.g. DRI).
*/
- if (dfb_gfxcard_lock( GDLF_NONE )) {
+ ret = dfb_gfxcard_lock( GDLF_NONE );
+ if (ret) {
D_DERROR( ret, "Core/Graphics: Could not lock GPU!\n" );
dfb_surface_unlock_buffer( dst, &state->dst );
@@ -853,6 +816,8 @@ dfb_gfxcard_state_acquire( CardState *state, DFBAccelerationMask accel )
state->flags &= ~CSF_SOURCE_MASK_LOCKED;
}
+ Core_PopIdentity();
+
return false;
}
@@ -869,7 +834,7 @@ dfb_gfxcard_state_acquire( CardState *state, DFBAccelerationMask accel )
shared->holder = state->fusion_id;
}
- dfb_state_update( state, state->flags & (CSF_SOURCE_LOCKED | CSF_SOURCE_MASK_LOCKED) );
+ dfb_state_update( state, state->flags & (CSF_SOURCE_LOCKED | CSF_SOURCE2_LOCKED | CSF_SOURCE_MASK_LOCKED) );
D_DEBUG_AT( Core_GfxState, " -> mod_hw 0x%08x, modified 0x%08x\n", state->mod_hw, state->modified );
@@ -949,6 +914,8 @@ dfb_gfxcard_state_release( CardState *state )
state->flags &= ~CSF_SOURCE2_LOCKED;
}
+
+ Core_PopIdentity();
}
/** DRAWING FUNCTIONS **/
@@ -1044,75 +1011,92 @@ dfb_gfxcard_fillrectangles( const DFBRectangle *rects, int num, CardState *state
if (i < num) {
/* Use software fallback. */
- if (gAcquire( state, DFXL_FILLRECTANGLE )) {
- if (!(state->render_options & DSRO_MATRIX)) {
+ if (!(state->render_options & DSRO_MATRIX)) {
+ if (gAcquire( state, DFXL_FILLRECTANGLE )) {
for (; i<num; i++) {
rect = rects[i];
if (dfb_clip_rectangle( &state->clip, &rect ))
gFillRectangle( state, &rect );
}
+
+ gRelease( state );
}
- else if (state->matrix[1] == 0 && state->matrix[3] == 0) {
- /* Scaled/Translated Rectangle. */
- for (; i<num; i++) {
- int x1, y1, x2, y2;
-
- x1 = rects[i].x; y1 = rects[i].y;
- x2 = x1+rects[i].w; y2 = y1+rects[i].h;
- DFB_TRANSFORM(x1, y1, state->matrix, state->affine_matrix);
- DFB_TRANSFORM(x2, y2, state->matrix, state->affine_matrix);
-
- if (x1 < x2) {
- rect.x = x1;
- rect.w = x2-x1;
- } else {
- rect.x = x2;
- rect.w = x1-x2;
- }
- if (y1 < y2) {
- rect.y = y1;
- rect.h = y2-y1;
- }
- else {
- rect.y = y2;
- rect.h = y1-y2;
- }
+ }
+ else if (state->matrix[1] == 0 && state->matrix[3] == 0) {
+ /* Scaled/Translated Rectangles */
+ DFBRectangle tr[num];
+ int n = 0;
- if (dfb_clip_rectangle( &state->clip, &rect ))
- gFillRectangle( state, &rect );
+ for (; i<num; i++) {
+ int x1, y1, x2, y2;
+
+ x1 = rects[i].x; y1 = rects[i].y;
+ x2 = x1+rects[i].w; y2 = y1+rects[i].h;
+ DFB_TRANSFORM(x1, y1, state->matrix, state->affine_matrix);
+ DFB_TRANSFORM(x2, y2, state->matrix, state->affine_matrix);
+
+ if (x1 < x2) {
+ tr[n].x = x1;
+ tr[n].w = x2-x1;
+ } else {
+ tr[n].x = x2;
+ tr[n].w = x1-x2;
+ }
+ if (y1 < y2) {
+ tr[n].y = y1;
+ tr[n].h = y2-y1;
}
+ else {
+ tr[n].y = y2;
+ tr[n].h = y1-y2;
+ }
+
+ if (dfb_clip_rectangle( &state->clip, &tr[n] ))
+ n++;
}
- else {
- /* Rotated rectangle. Split into triangles. */
+
+ if (n > 0) {
+ state->render_options &= ~DSRO_MATRIX;
+ state->modified |= SMF_RENDER_OPTIONS;
+
+ dfb_gfxcard_fillrectangles( tr, n, state );
+
+ state->render_options |= DSRO_MATRIX;
+ state->modified |= SMF_RENDER_OPTIONS;
+ }
+ }
+ else {
+ /* Rotated rectangle. Split into triangles. */
+ if (gAcquire( state, DFXL_FILLRECTANGLE )) {
for (; i<num; i++) {
DFBTriangle tri;
-
+
tri.x1 = rects[i].x; tri.y1 = rects[i].y;
tri.x2 = rects[i].x+rects[i].w; tri.y2 = rects[i].y;
tri.x3 = rects[i].x+rects[i].w; tri.y3 = rects[i].y+rects[i].h;
DFB_TRANSFORM(tri.x1, tri.y1, state->matrix, state->affine_matrix);
DFB_TRANSFORM(tri.x2, tri.y2, state->matrix, state->affine_matrix);
DFB_TRANSFORM(tri.x3, tri.y3, state->matrix, state->affine_matrix);
-
+
dfb_sort_triangle( &tri );
if (tri.y3 - tri.y1 > 0)
fill_tri( &tri, state, false );
-
+
tri.x1 = rects[i].x; tri.y1 = rects[i].y;
tri.x2 = rects[i].x+rects[i].w; tri.y2 = rects[i].y+rects[i].h;
tri.x3 = rects[i].x; tri.y3 = rects[i].y+rects[i].h;
DFB_TRANSFORM(tri.x1, tri.y1, state->matrix, state->affine_matrix);
DFB_TRANSFORM(tri.x2, tri.y2, state->matrix, state->affine_matrix);
DFB_TRANSFORM(tri.x3, tri.y3, state->matrix, state->affine_matrix);
-
+
dfb_sort_triangle( &tri );
if (tri.y3 - tri.y1 > 0)
fill_tri( &tri, state, false );
}
- }
- gRelease( state );
+ gRelease( state );
+ }
}
}
}
@@ -1201,7 +1185,9 @@ void dfb_gfxcard_drawrectangle( DFBRectangle *rect, CardState *state )
/* Signal beginning of sequence of operations if not already done. */
dfb_state_start_drawing( state, card );
- if (!dfb_rectangle_region_intersects( rect, &state->clip )) {
+ if (!(state->render_options & DSRO_MATRIX) &&
+ !dfb_rectangle_region_intersects( rect, &state->clip ))
+ {
dfb_state_unlock( state );
return;
}
@@ -1258,7 +1244,7 @@ void dfb_gfxcard_drawrectangle( DFBRectangle *rect, CardState *state )
DFBRegion line;
int x1, x2, x3, x4;
int y1, y2, y3, y4;
-
+
x1 = rect->x; y1 = rect->y;
x2 = rect->x+rect->w; y2 = rect->y;
x3 = rect->x+rect->w; y3 = rect->y+rect->h;
@@ -1267,26 +1253,26 @@ void dfb_gfxcard_drawrectangle( DFBRectangle *rect, CardState *state )
DFB_TRANSFORM(x2, y2, state->matrix, state->affine_matrix);
DFB_TRANSFORM(x3, y3, state->matrix, state->affine_matrix);
DFB_TRANSFORM(x4, y4, state->matrix, state->affine_matrix);
-
+
line = (DFBRegion) { x1, y1, x2, y2 };
if (dfb_clip_line( &state->clip, &line ))
gDrawLine( state, &line );
-
+
line = (DFBRegion) { x2, y2, x3, y3 };
if (dfb_clip_line( &state->clip, &line ))
gDrawLine( state, &line );
-
+
line = (DFBRegion) { x3, y3, x4, y4 };
if (dfb_clip_line( &state->clip, &line ))
gDrawLine( state, &line );
-
+
line = (DFBRegion) { x4, y4, x1, y1 };
if (dfb_clip_line( &state->clip, &line ))
gDrawLine( state, &line );
-
+
gRelease( state );
}
- }
+ }
}
dfb_state_unlock( state );
@@ -1334,7 +1320,7 @@ void dfb_gfxcard_drawlines( DFBRegion *lines, int num_lines, CardState *state )
DFB_TRANSFORM(lines[i].x1, lines[i].y1, state->matrix, state->affine_matrix);
DFB_TRANSFORM(lines[i].x2, lines[i].y2, state->matrix, state->affine_matrix);
}
-
+
if (dfb_clip_line( &state->clip, &lines[i] ))
gDrawLine( state, &lines[i] );
}
@@ -1394,16 +1380,16 @@ void dfb_gfxcard_fillspans( int y, DFBSpan *spans, int num_spans, CardState *sta
if (gAcquire( state, DFXL_FILLRECTANGLE )) {
for (; i<num_spans; i++) {
DFBRectangle rect = { spans[i].x, y + i, spans[i].w, 1 };
-
+
if (state->render_options & DSRO_MATRIX) {
if (state->matrix[1] == 0 && state->matrix[3] == 0) {
int x1, y1, x2, y2;
-
+
x1 = rect.x; y1 = rect.y;
x2 = x1+rect.w; y2 = y1+rect.h;
DFB_TRANSFORM(x1, y1, state->matrix, state->affine_matrix);
DFB_TRANSFORM(x2, y2, state->matrix, state->affine_matrix);
-
+
if (x1 < x2) {
rect.x = x1;
rect.w = x2-x1;
@@ -1425,25 +1411,25 @@ void dfb_gfxcard_fillspans( int y, DFBSpan *spans, int num_spans, CardState *sta
}
else {
DFBTriangle tri;
-
+
tri.x1 = rect.x; tri.y1 = rect.y;
tri.x2 = rect.x+rect.w; tri.y2 = rect.y;
tri.x3 = rect.x+rect.w; tri.y3 = rect.y+rect.h;
DFB_TRANSFORM(tri.x1, tri.y1, state->matrix, state->affine_matrix);
DFB_TRANSFORM(tri.x2, tri.y2, state->matrix, state->affine_matrix);
DFB_TRANSFORM(tri.x3, tri.y3, state->matrix, state->affine_matrix);
-
+
dfb_sort_triangle( &tri );
if (tri.y3 - tri.y1 > 0)
fill_tri( &tri, state, false );
-
+
tri.x1 = rect.x; tri.y1 = rect.y;
tri.x2 = rect.x+rect.w; tri.y2 = rect.y+rect.h;
tri.x3 = rect.x; tri.y3 = rect.y+rect.h;
DFB_TRANSFORM(tri.x1, tri.y1, state->matrix, state->affine_matrix);
DFB_TRANSFORM(tri.x2, tri.y2, state->matrix, state->affine_matrix);
DFB_TRANSFORM(tri.x3, tri.y3, state->matrix, state->affine_matrix);
-
+
dfb_sort_triangle( &tri );
if (tri.y3 - tri.y1 > 0)
fill_tri( &tri, state, false );
@@ -1473,9 +1459,9 @@ typedef struct {
#define SETUP_DDA(xs,ys,xe,ye,dda) \
do { \
- int dx = xe - xs; \
- int dy = ye - ys; \
- dda.xi = xs; \
+ int dx = (xe) - (xs); \
+ int dy = (ye) - (ys); \
+ dda.xi = (xs); \
if (dy != 0) { \
dda.mi = dx / dy; \
dda.mf = 2*(dx % dy); \
@@ -1506,6 +1492,7 @@ typedef struct {
} while (0)
+
/**
* render a triangle using two parallel DDA's
*/
@@ -1567,6 +1554,64 @@ fill_tri( DFBTriangle *tri, CardState *state, bool accelerated )
}
}
+/**
+ * render a trapezoid using two parallel DDA's
+ */
+static void
+fill_trap( DFBTrapezoid *trap, CardState *state, bool accelerated )
+{
+ int y, yend;
+ DDA dda1 = { .xi = 0 }, dda2 = { .xi = 0 };
+ int clip_x1 = state->clip.x1;
+ int clip_x2 = state->clip.x2;
+
+ D_MAGIC_ASSERT( state, CardState );
+
+ y = trap->y1;
+ yend = trap->y2;
+
+ if (yend > state->clip.y2)
+ yend = state->clip.y2;
+
+ /* top left to bottom left */
+ SETUP_DDA(trap->x1, trap->y1, trap->x2, trap->y2, dda1);
+ /* top right to bottom right */
+ SETUP_DDA(trap->x1 + trap->w1 - 1, trap->y1, trap->x2 + trap->w2 - 1, trap->y2, dda2);
+
+ while (y <= yend) {
+ DFBRectangle rect;
+
+ rect.w = ABS(dda1.xi - dda2.xi);
+ rect.x = MIN(dda1.xi, dda2.xi);
+
+ if (clip_x2 < rect.x + rect.w)
+ rect.w = clip_x2 - rect.x + 1;
+
+ if (rect.w > 0) {
+ if (clip_x1 > rect.x) {
+ rect.w -= (clip_x1 - rect.x);
+ rect.x = clip_x1;
+ }
+ rect.y = y;
+ rect.h = 1;
+
+ if (rect.w > 0 && rect.y >= state->clip.y1) {
+ if (accelerated)
+ card->funcs.FillRectangle( card->driver_data,
+ card->device_data, &rect );
+ else
+ gFillRectangle( state, &rect );
+ }
+ }
+
+ INC_DDA(dda1);
+ INC_DDA(dda2);
+
+ y++;
+ }
+}
+
+
void dfb_gfxcard_filltriangles( const DFBTriangle *tris, int num, CardState *state )
{
@@ -1595,13 +1640,13 @@ void dfb_gfxcard_filltriangles( const DFBTriangle *tris, int num, CardState *sta
{
DFBPoint p[6];
int n;
-
- for (; i < num; i++) {
+
+ for (; i < num; i++) {
/* FIXME: DSRO_MATRIX. */
if (dfb_clip_triangle( &state->clip, &tris[i], p, &n )) {
DFBTriangle tri;
int j;
-
+
tri.x1 = p[0].x; tri.y1 = p[0].y;
tri.x2 = p[1].x; tri.y2 = p[1].y;
tri.x3 = p[2].x; tri.y3 = p[2].y;
@@ -1609,7 +1654,7 @@ void dfb_gfxcard_filltriangles( const DFBTriangle *tris, int num, CardState *sta
card->device_data, &tri );
if (!hw)
break;
-
+
/* FIXME: return value. */
for (j = 3; j < n; j++) {
tri.x1 = p[0].x; tri.y1 = p[0].y;
@@ -1624,15 +1669,15 @@ void dfb_gfxcard_filltriangles( const DFBTriangle *tris, int num, CardState *sta
else {
for (; i < num; i++) {
DFBTriangle tri = tris[i];
-
+
hw = card->funcs.FillTriangle( card->driver_data,
card->device_data, &tri );
if (!hw)
break;
}
-
+
}
-
+
dfb_gfxcard_state_release( state );
}
@@ -1647,27 +1692,27 @@ void dfb_gfxcard_filltriangles( const DFBTriangle *tris, int num, CardState *sta
{
for (; i < num; i++) {
DFBTriangle tri = tris[i];
-
+
dfb_sort_triangle( &tri );
-
+
if (tri.y3 - tri.y1 > 0)
fill_tri( &tri, state, true );
}
-
+
dfb_gfxcard_state_release( state );
}
else if (gAcquire( state, DFXL_FILLRECTANGLE )) {
for (; i < num; i++) {
DFBTriangle tri = tris[i];
-
+
if (state->render_options & DSRO_MATRIX) {
DFB_TRANSFORM(tri.x1, tri.y1, state->matrix, state->affine_matrix);
DFB_TRANSFORM(tri.x2, tri.y2, state->matrix, state->affine_matrix);
DFB_TRANSFORM(tri.x3, tri.y3, state->matrix, state->affine_matrix);
}
-
+
dfb_sort_triangle( &tri );
-
+
if (tri.y3 - tri.y1 > 0)
fill_tri( &tri, state, false );
}
@@ -1679,156 +1724,391 @@ void dfb_gfxcard_filltriangles( const DFBTriangle *tris, int num, CardState *sta
dfb_state_unlock( state );
}
-static void
-clip_blit_rotated( DFBRectangle *srect, DFBRectangle *drect, const DFBRegion *clip, DFBSurfaceBlittingFlags flags )
-{
- DFBRegion dest = DFB_REGION_INIT_FROM_RECTANGLE( drect );
- DFBRegion clipped = dest;
-
- if (flags & (DSBLIT_ROTATE90 | DSBLIT_ROTATE270)) {
- D_ASSERT( srect->w == drect->h );
- D_ASSERT( srect->h == drect->w );
- }
- else {
- D_ASSERT( srect->w == drect->w );
- D_ASSERT( srect->h == drect->h );
- }
-
- dfb_region_region_intersect( &clipped, clip );
- dfb_rectangle_from_region( drect, &clipped );
-
- if (flags & DSBLIT_ROTATE90) {
- srect->x += dest.y2 - clipped.y2;
- srect->y += clipped.x1 - dest.x1;
- srect->w = drect->h;
- srect->h = drect->w;
-
- D_DEBUG_AT( Core_GraphicsOps, " => %4d,%4d-%4dx%4d -> %4d,%4d-%4dx%4d (90°)\n",
- DFB_RECTANGLE_VALS(srect), DFB_RECTANGLE_VALS(drect) );
- }
- else if (flags & DSBLIT_ROTATE180) {
- srect->x += dest.x2 - clipped.x2;
- srect->y += dest.y2 - clipped.y2;
- srect->w = drect->w;
- srect->h = drect->h;
-
- D_DEBUG_AT( Core_GraphicsOps, " => %4d,%4d-%4dx%4d -> %4d,%4d-%4dx%4d (180°)\n",
- DFB_RECTANGLE_VALS(srect), DFB_RECTANGLE_VALS(drect) );
- }
- else if (flags & DSBLIT_ROTATE270) {
- srect->x += clipped.y1 - dest.y1;
- srect->y += dest.x2 - clipped.x2;
- srect->w = drect->h;
- srect->h = drect->w;
-
- D_DEBUG_AT( Core_GraphicsOps, " => %4d,%4d-%4dx%4d -> %4d,%4d-%4dx%4d (270°)\n",
- DFB_RECTANGLE_VALS(srect), DFB_RECTANGLE_VALS(drect) );
- }
- else {
- srect->x += clipped.x1 - dest.x1;
- srect->y += clipped.y1 - dest.y1;
- srect->w = drect->w;
- srect->h = drect->h;
-
- D_DEBUG_AT( Core_GraphicsOps, " => %4d,%4d-%4dx%4d -> %4d,%4d-%4dx%4d\n",
- DFB_RECTANGLE_VALS(srect), DFB_RECTANGLE_VALS(drect) );
- }
-}
-
-void dfb_gfxcard_blit( DFBRectangle *rect, int dx, int dy, CardState *state )
+void dfb_gfxcard_filltrapezoids( const DFBTrapezoid *traps, int num, CardState *state )
{
- bool hw = false;
- DFBRectangle drect = { dx, dy, rect->w, rect->h };
-
- if (state->blittingflags & (DSBLIT_ROTATE90 | DSBLIT_ROTATE270))
- D_UTIL_SWAP( drect.w, drect.h );
-
- D_DEBUG_AT( Core_GraphicsOps, "%s( %4d,%4d-%4dx%4d -> %4d,%4d-%4dx%4d, %p )\n",
- __FUNCTION__, DFB_RECTANGLE_VALS(rect), DFB_RECTANGLE_VALS(&drect), state );
+ bool hw = false;
+ int i = 0;
D_ASSERT( card != NULL );
D_ASSERT( card->shared != NULL );
D_MAGIC_ASSERT( state, CardState );
- D_ASSERT( state->source != NULL );
- D_ASSERT( rect != NULL );
- D_ASSERT( rect->x >= 0 );
- D_ASSERT( rect->y >= 0 );
- D_ASSERT( rect->x < state->source->config.size.w );
- D_ASSERT( rect->y < state->source->config.size.h );
- D_ASSERT( rect->x + rect->w - 1 < state->source->config.size.w );
- D_ASSERT( rect->y + rect->h - 1 < state->source->config.size.h );
+ D_ASSERT( traps != NULL );
+ D_ASSERT( num > 0 );
+
+ D_DEBUG_AT( Core_GraphicsOps, "%s( %p [%d], %p )\n", __FUNCTION__, traps, num, state );
/* The state is locked during graphics operations. */
dfb_state_lock( state );
-
/* Signal beginning of sequence of operations if not already done. */
dfb_state_start_drawing( state, card );
- if (!(state->render_options & DSRO_MATRIX) &&
- !dfb_clip_blit_precheck( &state->clip, drect.w, drect.h, drect.x, drect.y ))
+ if (dfb_gfxcard_state_check( state, DFXL_FILLTRAPEZOID ) &&
+ dfb_gfxcard_state_acquire( state, DFXL_FILLTRAPEZOID ))
{
- /* no work at all */
- dfb_state_unlock( state );
- return;
- }
+ if (D_FLAGS_IS_SET( card->caps.flags, CCF_CLIPPING ) ||
+ D_FLAGS_IS_SET( card->caps.clip, DFXL_FILLTRAPEZOID ) ||
+ (state->render_options & DSRO_MATRIX))
+ {
+ for (; i < num; i++) {
+ DFBTrapezoid trap = traps[i];
- if (dfb_gfxcard_state_check( state, DFXL_BLIT ) &&
- dfb_gfxcard_state_acquire( state, DFXL_BLIT ))
- {
- if (!D_FLAGS_IS_SET( card->caps.flags, CCF_CLIPPING ) &&
- !D_FLAGS_IS_SET( card->caps.clip, DFXL_BLIT ))
- clip_blit_rotated( rect, &drect, &state->clip, state->blittingflags );
+ hw = card->funcs.FillTrapezoid( card->driver_data,
+ card->device_data, &trap );
+ if (!hw)
+ break;
+ }
- hw = card->funcs.Blit( card->driver_data, card->device_data, rect, drect.x, drect.y );
+ }
dfb_gfxcard_state_release( state );
}
+ if (!hw && i < num) {
+ /* otherwise use two triangles */
- if (!hw) {
- if (state->render_options & DSRO_MATRIX) {
- if (state->matrix[0] < 0 || state->matrix[1] != 0 ||
- state->matrix[3] != 0 || state->matrix[4] < 0 ||
- state->matrix[6] != 0 || state->matrix[7] != 0) {
- D_WARN( "rotation not yet implemented" );
- dfb_state_unlock( state );
- return;
- }
-
- if (gAcquire( state, DFXL_STRETCHBLIT )) {
- DFBRectangle drect;
- int x1, y1, x2, y2;
-
- x1 = dx; y1 = dy;
- x2 = dx+rect->w; y2 = dy+rect->h;
- DFB_TRANSFORM(x1, y1, state->matrix, state->affine_matrix);
- DFB_TRANSFORM(x2, y2, state->matrix, state->affine_matrix);
-
- drect = (DFBRectangle) { x1, y1, x2-x1, y2-y1 };
- if (dfb_clip_blit_precheck( &state->clip,
- drect.w, drect.h, drect.x, drect.y ))
- gStretchBlit( state, rect, &drect );
-
- gRelease( state );
- }
- }
- else {
- if (gAcquire( state, DFXL_BLIT )) {
- clip_blit_rotated( rect, &drect, &state->clip, state->blittingflags );
+ if ( dfb_gfxcard_state_check( state, DFXL_FILLTRIANGLE ) &&
+ dfb_gfxcard_state_acquire( state, DFXL_FILLTRIANGLE ))
+ {
+ for (; i < num; i++) {
+ bool tri1_failed = true;
+ bool tri2_failed = true;
- gBlit( state, rect, drect.x, drect.y );
+ DFBTriangle tri1 = { traps[i].x1, traps[i].y1,
+ traps[i].x1 + traps[i].w1 - 1, traps[i].y1,
+ traps[i].x2, traps[i].y2 };
- gRelease( state );
- }
- }
- }
+ DFBTriangle tri2 = { traps[i].x1 + traps[i].w1 - 1, traps[i].y1,
+ traps[i].x2, traps[i].y2,
+ traps[i].x2 + traps[i].w2 - 1, traps[i].y2 };
- dfb_state_unlock( state );
-}
+ if (D_FLAGS_IS_SET( card->caps.flags, CCF_CLIPPING ) ||
+ D_FLAGS_IS_SET( card->caps.clip, DFXL_FILLTRIANGLE ) ||
+ (state->render_options & DSRO_MATRIX))
+ {
+ tri1_failed = !card->funcs.FillTriangle( card->driver_data,
+ card->device_data, &tri1 );
-void dfb_gfxcard_batchblit( DFBRectangle *rects, DFBPoint *points,
+ tri2_failed = !card->funcs.FillTriangle( card->driver_data,
+ card->device_data, &tri2 );
+ }
+
+ if (tri1_failed || tri2_failed) {
+ dfb_gfxcard_state_release( state );
+
+ if (gAcquire( state, DFXL_FILLTRIANGLE )) {
+
+ if (state->render_options & DSRO_MATRIX) {
+ /* transform first triangle completely */
+ if (tri1_failed || tri2_failed) {
+
+ DFB_TRANSFORM(tri1.x1, tri1.y1, state->matrix, state->affine_matrix);
+ DFB_TRANSFORM(tri1.x2, tri1.y2, state->matrix, state->affine_matrix);
+ DFB_TRANSFORM(tri1.x3, tri1.y3, state->matrix, state->affine_matrix);
+ }
+
+ if (tri2_failed) {
+ /* transform last coordinate of first triangle,
+ and assing first ones from first */
+ DFB_TRANSFORM(tri2.x3, tri2.y3, state->matrix, state->affine_matrix);
+ tri2.x1 = tri1.x2;
+ tri2.y1 = tri1.y2;
+ tri2.x2 = tri1.x3;
+ tri2.x2 = tri1.y3;
+ }
+
+ /* sort triangles (matrix could have rotated them */
+ dfb_sort_triangle( &tri1 );
+ dfb_sort_triangle( &tri2 );
+ }
+
+ if (tri1_failed && (tri1.y3 - tri1.y1 > 0))
+ fill_tri( &tri1, state, false );
+
+ if (tri2_failed && (tri2.y3 - tri2.y1 > 0))
+ fill_tri( &tri2, state, false );
+
+ gRelease( state );
+ }
+ dfb_gfxcard_state_acquire( state, DFXL_FILLTRIANGLE );
+ }
+ }
+ dfb_gfxcard_state_release( state );
+ }
+
+ else if (gAcquire( state, DFXL_FILLTRIANGLE )) {
+ for (; i < num; i++) {
+ DFBTrapezoid trap = traps[i];
+ dfb_sort_trapezoid(&trap);
+
+ if (state->render_options & DSRO_MATRIX) {
+ /* split into triangles, for easier rotation */
+ DFBTriangle tri1 = { trap.x1, traps[i].y1,
+ trap.x1 + traps[i].w1 - 1, traps[i].y1,
+ trap.x2, traps[i].y2 };
+
+ DFBTriangle tri2 = { trap.x1 + traps[i].w1 - 1, traps[i].y1,
+ trap.x2, traps[i].y2,
+ trap.x2 + traps[i].w2 - 1, traps[i].y2 };
+
+
+ /* transform first triangle completely */
+ DFB_TRANSFORM(tri1.x1, tri1.y1, state->matrix, state->affine_matrix);
+ DFB_TRANSFORM(tri1.x2, tri1.y2, state->matrix, state->affine_matrix);
+ DFB_TRANSFORM(tri1.x3, tri1.y3, state->matrix, state->affine_matrix);
+
+ /* transform last coordinate of second triangle, and assign first ones from first */
+ tri2.x1 = tri1.x2;
+ tri2.y1 = tri1.y2;
+ tri2.x2 = tri1.x3;
+ tri2.y2 = tri1.y3;
+ DFB_TRANSFORM(tri2.x3, tri2.y3, state->matrix, state->affine_matrix);
+
+ /* sort triangles (matrix could have rotated them */
+ dfb_sort_triangle( &tri1 );
+ dfb_sort_triangle( &tri2 );
+
+ if (tri1.y3 - tri1.y1 > 0)
+ fill_tri( &tri1, state, false );
+ if (tri2.y3 - tri2.y1 > 0)
+ fill_tri( &tri2, state, false );
+
+ }
+ else
+ fill_trap( &trap, state, false );
+ }
+
+ gRelease( state );
+ }
+
+ }
+ dfb_state_unlock( state );
+
+}
+
+
+D_UNUSED
+static void
+DFBVertex_Transform( DFBVertex *v,
+ unsigned int num,
+ s32 matrix[9],
+ bool affine )
+{
+ unsigned int i;
+
+ if (affine) {
+ for (i=0; i<num; i++) {
+ float _x, _y;
+
+ _x = ((v[i].x) * matrix[0] + (v[i].y) * matrix[1] + matrix[2]) / 0x10000;
+ _y = ((v[i].x) * matrix[3] + (v[i].y) * matrix[4] + matrix[5]) / 0x10000;
+
+ v[i].x = _x;
+ v[i].y = _y;
+ }
+ }
+ else {
+ for (i=0; i<num; i++) {
+ float _x, _y, _w;
+
+ _x = ((v[i].x) * matrix[0] + (v[i].y) * matrix[1] + matrix[2]);
+ _y = ((v[i].x) * matrix[3] + (v[i].y) * matrix[4] + matrix[5]);
+ _w = ((v[i].x) * matrix[6] + (v[i].y) * matrix[7] + matrix[8]);
+ if (!_w) {
+ _x = (_x < 0) ? -0x7fffffff : 0x7fffffff;
+ _y = (_y < 0) ? -0x7fffffff : 0x7fffffff;
+ }
+ else {
+ _x /= _w;
+ _y /= _w;
+ }
+
+ v[i].x = _x;
+ v[i].y = _y;
+ }
+ }
+}
+
+static void
+GenefxVertexAffine_Transform( GenefxVertexAffine *v,
+ unsigned int num,
+ s32 matrix[9],
+ bool affine )
+{
+ unsigned int i;
+
+ if (affine) {
+ for (i=0; i<num; i++) {
+ int _x, _y;
+
+ _x = ((v[i].x) * matrix[0] + (v[i].y) * matrix[1] + matrix[2]) / 0x10000;
+ _y = ((v[i].x) * matrix[3] + (v[i].y) * matrix[4] + matrix[5]) / 0x10000;
+
+ v[i].x = _x;
+ v[i].y = _y;
+ }
+ }
+ else {
+ for (i=0; i<num; i++) {
+ int _x, _y, _w;
+
+ _x = ((v[i].x) * matrix[0] + (v[i].y) * matrix[1] + matrix[2]);
+ _y = ((v[i].x) * matrix[3] + (v[i].y) * matrix[4] + matrix[5]);
+ _w = ((v[i].x) * matrix[6] + (v[i].y) * matrix[7] + matrix[8]);
+ if (!_w) {
+ _x = (_x < 0) ? -0x7fffffff : 0x7fffffff;
+ _y = (_y < 0) ? -0x7fffffff : 0x7fffffff;
+ }
+ else {
+ _x /= _w;
+ _y /= _w;
+ }
+
+ v[i].x = _x;
+ v[i].y = _y;
+ }
+ }
+}
+
+
+void dfb_gfxcard_blit( DFBRectangle *rect, int dx, int dy, CardState *state )
+{
+ bool hw = false;
+ DFBRectangle drect = { dx, dy, rect->w, rect->h };
+
+ DFBSurfaceBlittingFlags blittingflags = state->blittingflags;
+ dfb_simplify_blittingflags( &blittingflags );
+
+ if (blittingflags & DSBLIT_ROTATE90)
+ D_UTIL_SWAP( drect.w, drect.h );
+
+ D_DEBUG_AT( Core_GraphicsOps, "%s( %4d,%4d-%4dx%4d -> %4d,%4d-%4dx%4d, %p )\n",
+ __FUNCTION__, DFB_RECTANGLE_VALS(rect), DFB_RECTANGLE_VALS(&drect), state );
+
+ D_ASSERT( card != NULL );
+ D_ASSERT( card->shared != NULL );
+ D_MAGIC_ASSERT( state, CardState );
+ D_ASSERT( state->source != NULL );
+ D_ASSERT( rect != NULL );
+ D_ASSERT( rect->x >= 0 );
+ D_ASSERT( rect->y >= 0 );
+ D_ASSERT( rect->x < state->source->config.size.w );
+ D_ASSERT( rect->y < state->source->config.size.h );
+ D_ASSERT( rect->x + rect->w - 1 < state->source->config.size.w );
+ D_ASSERT( rect->y + rect->h - 1 < state->source->config.size.h );
+
+ /* The state is locked during graphics operations. */
+ dfb_state_lock( state );
+
+ /* Signal beginning of sequence of operations if not already done. */
+ dfb_state_start_drawing( state, card );
+
+ if (!(state->render_options & DSRO_MATRIX) &&
+ !dfb_clip_blit_precheck( &state->clip, drect.w, drect.h, drect.x, drect.y ))
+ {
+ /* no work at all */
+ dfb_state_unlock( state );
+ return;
+ }
+
+ if (dfb_gfxcard_state_check( state, DFXL_BLIT ) &&
+ dfb_gfxcard_state_acquire( state, DFXL_BLIT ))
+ {
+ if (!D_FLAGS_IS_SET( card->caps.flags, CCF_CLIPPING ) &&
+ !D_FLAGS_IS_SET( card->caps.clip, DFXL_BLIT ))
+ dfb_clip_blit_flipped_rotated( &state->clip, rect, &drect, blittingflags );
+
+ hw = card->funcs.Blit( card->driver_data, card->device_data, rect, drect.x, drect.y );
+
+ dfb_gfxcard_state_release( state );
+ }
+
+ if (!hw) {
+ /* Use software fallback. */
+ if (!(state->render_options & DSRO_MATRIX)) {
+ if (gAcquire( state, DFXL_BLIT )) {
+ dfb_clip_blit_flipped_rotated( &state->clip, rect, &drect, blittingflags );
+
+ gBlit( state, rect, drect.x, drect.y );
+
+ gRelease( state );
+ }
+ }
+ else if (state->matrix[0] == 0x10000 && state->matrix[1] == 0 &&
+ state->matrix[3] == 0 && state->matrix[4] == 0x10000)
+ {
+ state->render_options &= ~DSRO_MATRIX;
+ state->modified |= SMF_RENDER_OPTIONS;
+
+ dfb_gfxcard_blit( rect,
+ dx + ((state->matrix[2] + 0x8000) >> 16),
+ dy + ((state->matrix[5] + 0x8000) >> 16), state );
+
+ state->render_options |= DSRO_MATRIX;
+ state->modified |= SMF_RENDER_OPTIONS;
+ }
+ else {
+ if (state->matrix[0] < 0 || state->matrix[1] != 0 ||
+ state->matrix[3] != 0 || state->matrix[4] < 0 ||
+ state->matrix[6] != 0 || state->matrix[7] != 0)
+ {
+ if (gAcquire( state, DFXL_TEXTRIANGLES )) {
+ GenefxVertexAffine v[4];
+
+ v[0].x = dx;
+ v[0].y = dy;
+ v[0].s = rect->x * 0x10000;
+ v[0].t = rect->y * 0x10000;
+
+ v[1].x = dx + rect->w - 1;
+ v[1].y = dy;
+ v[1].s = (rect->x + rect->w - 1) * 0x10000;
+ v[1].t = v[0].t;
+
+ v[2].x = dx + rect->w - 1;
+ v[2].y = dy + rect->h - 1;
+ v[2].s = v[1].s;
+ v[2].t = (rect->y + rect->h - 1) * 0x10000;
+
+ v[3].x = dx;
+ v[3].y = dy + rect->h - 1;
+ v[3].s = v[0].s;
+ v[3].t = v[2].t;
+
+ GenefxVertexAffine_Transform( v, 4, state->matrix, state->affine_matrix );
+
+ Genefx_TextureTrianglesAffine( state, v, 4, DTTF_FAN, &state->clip );
+
+ gRelease( state );
+ }
+ }
+ else if (gAcquire( state, DFXL_STRETCHBLIT )) {
+ DFBRectangle drect;
+ int x1, y1, x2, y2;
+
+ x1 = dx; y1 = dy;
+ x2 = dx+rect->w; y2 = dy+rect->h;
+ DFB_TRANSFORM(x1, y1, state->matrix, state->affine_matrix);
+ DFB_TRANSFORM(x2, y2, state->matrix, state->affine_matrix);
+
+ drect = (DFBRectangle) { x1, y1, x2-x1, y2-y1 };
+ if (dfb_clip_blit_precheck( &state->clip,
+ drect.w, drect.h, drect.x, drect.y ))
+ gStretchBlit( state, rect, &drect );
+
+ gRelease( state );
+ }
+ }
+ }
+
+ dfb_state_unlock( state );
+}
+
+void dfb_gfxcard_batchblit( DFBRectangle *rects, DFBPoint *points,
int num, CardState *state )
{
- int i = 0;
+ unsigned int i = 0;
+
+ DFBSurfaceBlittingFlags blittingflags = state->blittingflags;
+ dfb_simplify_blittingflags( &blittingflags );
D_DEBUG_AT( Core_GraphicsOps, "%s( %p, %p [%d], %p )\n", __FUNCTION__, rects, points, num, state );
@@ -1849,18 +2129,24 @@ void dfb_gfxcard_batchblit( DFBRectangle *rects, DFBPoint *points,
dfb_gfxcard_state_acquire( state, DFXL_BLIT ))
{
for (; i<num; i++) {
+ DFBRectangle drect = { points[i].x, points[i].y, rects[i].w, rects[i].h };
+
+ if (blittingflags & DSBLIT_ROTATE90)
+ D_UTIL_SWAP( drect.w, drect.h );
+
if ((state->render_options & DSRO_MATRIX) ||
dfb_clip_blit_precheck( &state->clip,
- rects[i].w, rects[i].h,
- points[i].x, points[i].y ))
+ drect.w, drect.h,
+ drect.x, drect.y ))
{
+ DFBRectangle srect = rects[i];
+
if (!D_FLAGS_IS_SET( card->caps.flags, CCF_CLIPPING ) &&
!D_FLAGS_IS_SET( card->caps.clip, DFXL_BLIT ))
- dfb_clip_blit( &state->clip, &rects[i],
- &points[i].x, &points[i].y );
+ dfb_clip_blit_flipped_rotated( &state->clip, &srect, &drect, blittingflags );
if (!card->funcs.Blit( card->driver_data, card->device_data,
- &rects[i], points[i].x, points[i].y ))
+ &srect, drect.x, drect.y ))
break;
}
}
@@ -1872,42 +2158,75 @@ void dfb_gfxcard_batchblit( DFBRectangle *rects, DFBPoint *points,
if (state->render_options & DSRO_MATRIX) {
if (state->matrix[0] < 0 || state->matrix[1] != 0 ||
state->matrix[3] != 0 || state->matrix[4] < 0 ||
- state->matrix[6] != 0 || state->matrix[7] != 0) {
- D_WARN( "rotation not yet implemented" );
- dfb_state_unlock( state );
- return;
+ state->matrix[6] != 0 || state->matrix[7] != 0)
+ {
+ if (gAcquire( state, DFXL_TEXTRIANGLES )) {
+ for (; i<num; i++) {
+ GenefxVertexAffine v[4];
+
+ v[0].x = points[i].x;
+ v[0].y = points[i].y;
+ v[0].s = rects[i].x * 0x10000;
+ v[0].t = rects[i].y * 0x10000;
+
+ v[1].x = points[i].x + rects[i].w - 1;
+ v[1].y = points[i].y;
+ v[1].s = (rects[i].x + rects[i].w - 1) * 0x10000;
+ v[1].t = v[0].t;
+
+ v[2].x = points[i].x + rects[i].w - 1;
+ v[2].y = points[i].y + rects[i].h - 1;
+ v[2].s = v[1].s;
+ v[2].t = (rects[i].y + rects[i].h - 1) * 0x10000;
+
+ v[3].x = points[i].x;
+ v[3].y = points[i].y + rects[i].h - 1;
+ v[3].s = v[0].s;
+ v[3].t = v[2].t;
+
+ GenefxVertexAffine_Transform( v, 4, state->matrix, state->affine_matrix );
+
+ Genefx_TextureTrianglesAffine( state, v, 4, DTTF_FAN, &state->clip );
+ }
+
+ gRelease( state );
+ }
}
-
- if (gAcquire( state, DFXL_STRETCHBLIT )) {
+ else if (gAcquire( state, DFXL_STRETCHBLIT )) {
for (; i<num; i++) {
DFBRectangle drect;
int x1, y1, x2, y2;
-
+
x1 = points[i].x; y1 = points[i].y;
x2 = x1+rects[i].w; y2 = y1+rects[i].h;
DFB_TRANSFORM(x1, y1, state->matrix, state->affine_matrix);
DFB_TRANSFORM(x2, y2, state->matrix, state->affine_matrix);
-
+
drect = (DFBRectangle) { x1, y1, x2-x1, y2-y1 };
- if (dfb_clip_blit_precheck( &state->clip,
+ if (dfb_clip_blit_precheck( &state->clip,
drect.w, drect.h, drect.x, drect.y ))
gStretchBlit( state, &rects[i], &drect );
}
-
+
gRelease( state );
}
}
- else {
+ else {
if (gAcquire( state, DFXL_BLIT )) {
for (; i<num; i++) {
+ DFBRectangle drect = { points[i].x, points[i].y, rects[i].w, rects[i].h };
+
+ if (blittingflags & DSBLIT_ROTATE90)
+ D_UTIL_SWAP( drect.w, drect.h );
+
if (dfb_clip_blit_precheck( &state->clip,
- rects[i].w, rects[i].h,
- points[i].x, points[i].y ))
+ drect.w, drect.h,
+ drect.x, drect.y ))
{
- dfb_clip_blit( &state->clip, &rects[i],
- &points[i].x, &points[i].y );
+ DFBRectangle srect = rects[i];
- gBlit( state, &rects[i], points[i].x, points[i].y );
+ dfb_clip_blit_flipped_rotated( &state->clip, &srect, &drect, blittingflags );
+ gBlit( state, &srect, drect.x, drect.y );
}
}
@@ -1971,28 +2290,30 @@ void dfb_gfxcard_batchblit2( DFBRectangle *rects, DFBPoint *points, DFBPoint *po
}
if (i < num) {
- if (state->render_options & DSRO_MATRIX) {
- D_UNIMPLEMENTED();
- }
- else {
- D_UNIMPLEMENTED();
-/*
- if (gAcquire( state, DFXL_BLIT2 )) {
- for (; i<num; i++) {
- if (dfb_clip_blit_precheck( &state->clip,
- rects[i].w, rects[i].h,
- points[i].x, points[i].y ))
- {
- dfb_clip_blit( &state->clip, &rects[i],
- &points[i].x, &points[i].y );
+ D_UNIMPLEMENTED();
- gBlit( state, &rects[i], points[i].x, points[i].y );
- }
- }
+ for (; i<num; i++) {
+ D_DEBUG_AT( Core_GraphicsOps, " -> rects[%d] %4d,%4d-%4dx%4d\n", i, DFB_RECTANGLE_VALS( &rects[i] ) );
+ D_DEBUG_AT( Core_GraphicsOps, " -> points[%d] %4d,%4d\n", i, points[i].x, points[i].y );
+ D_DEBUG_AT( Core_GraphicsOps, " -> points2[%d] %4d,%4d\n", i, points2[i].x, points2[i].y );
- gRelease( state );
+ if ((state->render_options & DSRO_MATRIX) ||
+ dfb_clip_blit_precheck( &state->clip,
+ rects[i].w, rects[i].h,
+ points[i].x, points[i].y ))
+ {
+ int dx = points[i].x;
+ int dy = points[i].y;
+
+ dfb_clip_blit( &state->clip, &rects[i], &dx, &dy );
+
+ points2[i].x += dx - points[i].x;
+ points2[i].y += dy - points[i].y;
+
+ D_DEBUG_AT( Core_GraphicsOps, " => rects[%d] %4d,%4d-%4dx%4d\n", i, DFB_RECTANGLE_VALS( &rects[i] ) );
+ D_DEBUG_AT( Core_GraphicsOps, " => points[%d] %4d,%4d\n", i, dx, dy );
+ D_DEBUG_AT( Core_GraphicsOps, " => points2[%d] %4d,%4d\n", i, points2[i].x, points2[i].y );
}
-*/
}
}
@@ -2088,7 +2409,7 @@ void dfb_gfxcard_tileblit( DFBRectangle *rect, int dx1, int dy1, int dx2, int dy
break;
dx1 = odx;
}
-
+
dfb_gfxcard_state_release( state );
}
@@ -2096,31 +2417,64 @@ void dfb_gfxcard_tileblit( DFBRectangle *rect, int dx1, int dy1, int dx2, int dy
if (state->render_options & DSRO_MATRIX) {
if (state->matrix[0] < 0 || state->matrix[1] != 0 ||
state->matrix[3] != 0 || state->matrix[4] < 0 ||
- state->matrix[6] != 0 || state->matrix[7] != 0) {
- D_WARN( "rotation not yet implemented" );
- dfb_state_unlock( state );
- return;
+ state->matrix[6] != 0 || state->matrix[7] != 0)
+ {
+ if (gAcquire( state, DFXL_TEXTRIANGLES )) {
+ /* Build mesh */
+ for (; dy1 < dy2; dy1 += rect->h) {
+ for (; dx1 < dx2; dx1 += rect->w) {
+ GenefxVertexAffine v[4];
+
+ v[0].x = dx1;
+ v[0].y = dy1;
+ v[0].s = rect->x * 0x10000;
+ v[0].t = rect->y * 0x10000;
+
+ v[1].x = dx1 + rect->w - 1;
+ v[1].y = dy1;
+ v[1].s = (rect->x + rect->w - 1) * 0x10000;
+ v[1].t = v[0].t;
+
+ v[2].x = dx1 + rect->w - 1;
+ v[2].y = dy1 + rect->h - 1;
+ v[2].s = v[1].s;
+ v[2].t = (rect->y + rect->h - 1) * 0x10000;
+
+ v[3].x = dx1;
+ v[3].y = dy1 + rect->h - 1;
+ v[3].s = v[0].s;
+ v[3].t = v[2].t;
+
+ GenefxVertexAffine_Transform( v, 4, state->matrix, state->affine_matrix );
+
+ Genefx_TextureTrianglesAffine( state, v, 4, DTTF_FAN, &state->clip );
+ }
+
+ dx1 = odx;
+ }
+
+ gRelease( state );
+ }
}
-
- if (gAcquire( state, DFXL_STRETCHBLIT )) {
+ else if (gAcquire( state, DFXL_STRETCHBLIT )) {
for (; dy1 < dy2; dy1 += rect->h) {
for (; dx1 < dx2; dx1 += rect->w) {
DFBRectangle drect;
int x1, y1, x2, y2;
-
+
x1 = dx1; y1 = dy1;
x2 = dx1+rect->w; y2 = dy1+rect->h;
DFB_TRANSFORM(x1, y1, state->matrix, state->affine_matrix);
DFB_TRANSFORM(x2, y2, state->matrix, state->affine_matrix);
-
+
drect = (DFBRectangle) { x1, y1, x2-x1, y2-y1 };
- if (dfb_clip_blit_precheck( &state->clip,
+ if (dfb_clip_blit_precheck( &state->clip,
drect.w, drect.h, drect.x, drect.y ))
gStretchBlit( state, rect, &drect );
}
dx1 = odx;
}
-
+
gRelease( state );
}
}
@@ -2142,7 +2496,7 @@ void dfb_gfxcard_tileblit( DFBRectangle *rect, int dx1, int dy1, int dx2, int dy
}
dx1 = odx;
}
-
+
gRelease( state );
}
}
@@ -2156,6 +2510,9 @@ void dfb_gfxcard_stretchblit( DFBRectangle *srect, DFBRectangle *drect,
{
bool hw = false;
+ DFBSurfaceBlittingFlags blittingflags = state->blittingflags;
+ dfb_simplify_blittingflags( &blittingflags );
+
D_ASSERT( card != NULL );
D_ASSERT( card->shared != NULL );
D_MAGIC_ASSERT( state, CardState );
@@ -2165,7 +2522,7 @@ void dfb_gfxcard_stretchblit( DFBRectangle *srect, DFBRectangle *drect,
D_DEBUG_AT( Core_GraphicsOps, "%s( %d,%d - %dx%d -> %d,%d - %dx%d, %p )\n",
__FUNCTION__, DFB_RECTANGLE_VALS(srect), DFB_RECTANGLE_VALS(drect), state );
- if (state->blittingflags & (DSBLIT_ROTATE90 | DSBLIT_ROTATE270)) {
+ if (state->blittingflags & DSBLIT_ROTATE90) {
if (srect->w == drect->h && srect->h == drect->w) {
dfb_gfxcard_blit( srect, drect->x, drect->y, state );
return;
@@ -2207,30 +2564,60 @@ void dfb_gfxcard_stretchblit( DFBRectangle *srect, DFBRectangle *drect,
if (!hw) {
if (state->render_options & DSRO_MATRIX) {
int x1, y1, x2, y2;
-
+
if (state->matrix[0] < 0 || state->matrix[1] != 0 ||
state->matrix[3] != 0 || state->matrix[4] < 0 ||
- state->matrix[6] != 0 || state->matrix[7] != 0) {
- D_WARN( "rotation not yet implemented" );
+ state->matrix[6] != 0 || state->matrix[7] != 0)
+ {
+ if (gAcquire( state, DFXL_TEXTRIANGLES )) {
+ GenefxVertexAffine v[4];
+
+ v[0].x = drect->x;
+ v[0].y = drect->y;
+ v[0].s = srect->x * 0x10000;
+ v[0].t = srect->y * 0x10000;
+
+ v[1].x = drect->x + drect->w - 1;
+ v[1].y = drect->y;
+ v[1].s = (srect->x + srect->w - 1) * 0x10000;
+ v[1].t = v[0].t;
+
+ v[2].x = drect->x + drect->w - 1;
+ v[2].y = drect->y + drect->h - 1;
+ v[2].s = v[1].s;
+ v[2].t = (srect->y + srect->h - 1) * 0x10000;
+
+ v[3].x = drect->x;
+ v[3].y = drect->y + drect->h - 1;
+ v[3].s = v[0].s;
+ v[3].t = v[2].t;
+
+ GenefxVertexAffine_Transform( v, 4, state->matrix, state->affine_matrix );
+
+ Genefx_TextureTrianglesAffine( state, v, 4, DTTF_FAN, &state->clip );
+
+ gRelease( state );
+ }
+
dfb_state_unlock( state );
return;
}
-
+
x1 = drect->x; y1 = drect->y;
x2 = x1+drect->w; y2 = y1+drect->h;
DFB_TRANSFORM(x1, y1, state->matrix, state->affine_matrix);
- DFB_TRANSFORM(x2, y2, state->matrix, state->affine_matrix);
+ DFB_TRANSFORM(x2, y2, state->matrix, state->affine_matrix);
drect->x = x1; drect->y = y1;
drect->w = x2-x1; drect->h = y2-y1;
-
- if (!dfb_clip_blit_precheck( &state->clip,
+
+ if (!dfb_clip_blit_precheck( &state->clip,
drect->w, drect->h, drect->x, drect->y )) {
dfb_state_unlock( state );
return;
}
}
-
- if (gAcquire( state, DFXL_STRETCHBLIT )) {
+
+ if (gAcquire( state, DFXL_STRETCHBLIT )) {
/* Clipping is performed in the following function. */
gStretchBlit( state, srect, drect );
gRelease( state );
@@ -2276,8 +2663,7 @@ void dfb_gfxcard_texture_triangles( DFBVertex *vertices, int num,
if (!hw) {
if (gAcquire( state, DFXL_TEXTRIANGLES )) {
- //dfb_clip_stretchblit( &state->clip, srect, drect );
- //gStretchBlit( state, srect, drect );
+ Genefx_TextureTriangles( state, vertices, num, formation, &state->clip );
gRelease( state );
}
}
@@ -2285,62 +2671,19 @@ void dfb_gfxcard_texture_triangles( DFBVertex *vertices, int num,
dfb_state_unlock( state );
}
-void
-dfb_gfxcard_drawstring( const u8 *text, int bytes,
- DFBTextEncodingID encoding, int x, int y,
- CoreFont *font, unsigned int layers, CardState *state )
-{
- unsigned int prev = 0;
- unsigned int indices[bytes];
- int i, l, num;
- int kern_x;
- int kern_y;
- CoreSurface *surface;
- DFBSurfaceBlittingFlags orig_flags;
- DFBSurfaceBlendFunction orig_srcblend;
- DFBSurfaceBlendFunction orig_dstblend;
- DFBPoint points[50];
- DFBRectangle rects[50];
- int num_blits = 0;
- int ox = x;
- int oy = y;
-
- if (encoding == DTEID_UTF8)
- D_DEBUG_AT( Core_GraphicsOps, "%s( '%s' [%d], %d,%d, %p, %p )\n",
- __FUNCTION__, text, bytes, x, y, font, state );
- else
- D_DEBUG_AT( Core_GraphicsOps, "%s( %p [%d], %d, %d,%d, %p, %p )\n",
- __FUNCTION__, text, bytes, encoding, x, y, font, state );
-
- D_ASSERT( card != NULL );
- D_ASSERT( card->shared != NULL );
- D_MAGIC_ASSERT( state, CardState );
- D_ASSERT( text != NULL );
- D_ASSERT( bytes > 0 );
- D_ASSERT( font != NULL );
-
- surface = state->destination;
- D_MAGIC_ASSERT( surface, CoreSurface );
-
- /* simple prechecks */
- if (!(state->render_options & DSRO_MATRIX) &&
- (x > state->clip.x2 || y > state->clip.y2 ||
- y + font->ascender - font->descender <= state->clip.y1)) {
- return;
- }
-
- dfb_font_lock( font );
-
- /* Decode string to character indices. */
- dfb_font_decode_text( font, encoding, text, bytes, indices, &num );
-
- orig_flags = state->blittingflags;
- orig_srcblend = state->src_blend;
- orig_dstblend = state->dst_blend;
-
- if (orig_flags != DSBLIT_INDEX_TRANSLATION) {
+static void
+font_state_prepare( CardState *state,
+ CardState *backup,
+ CoreFont *font,
+ CoreSurface *surface )
+{
+ if (state->blittingflags != DSBLIT_INDEX_TRANSLATION) {
DFBSurfaceBlittingFlags flags = font->blittingflags;
+ backup->blittingflags = state->blittingflags;
+ backup->src_blend = state->src_blend;
+ backup->dst_blend = state->dst_blend;
+
/* additional blending? */
if ((state->drawingflags & DSDRAW_BLEND) && (state->color.a != 0xff))
flags |= DSBLIT_BLEND_COLORALPHA;
@@ -2374,6 +2717,80 @@ dfb_gfxcard_drawstring( const u8 *text, int bytes,
dfb_state_set_blitting_flags( state, flags );
}
+ else {
+ backup->blittingflags = 0;
+ backup->src_blend = 0;
+ backup->dst_blend = 0;
+ }
+}
+
+static void
+font_state_restore( CardState *state,
+ CardState *backup )
+{
+ if (state->blittingflags != DSBLIT_INDEX_TRANSLATION) {
+ dfb_state_set_blitting_flags( state, backup->blittingflags );
+ dfb_state_set_src_blend( state, backup->src_blend );
+ dfb_state_set_dst_blend( state, backup->dst_blend );
+ }
+}
+
+void
+dfb_gfxcard_drawstring( const u8 *text, int bytes,
+ DFBTextEncodingID encoding, int x, int y,
+ CoreFont *font, unsigned int layers, CoreGraphicsStateClient *client )
+{
+ DFBResult ret;
+ unsigned int prev = 0;
+ unsigned int indices[bytes];
+ int i, l, num;
+ int kern_x;
+ int kern_y;
+ CoreSurface *surface;
+ CardState state_backup;
+ DFBPoint points[50];
+ DFBRectangle rects[50];
+ int num_blits = 0;
+ int ox = x;
+ int oy = y;
+ CardState *state;
+
+ if (encoding == DTEID_UTF8)
+ D_DEBUG_AT( Core_GraphicsOps, "%s( '%s' [%d], %d,%d, %p, %p )\n",
+ __FUNCTION__, text, bytes, x, y, font, client );
+ else
+ D_DEBUG_AT( Core_GraphicsOps, "%s( %p [%d], %d, %d,%d, %p, %p )\n",
+ __FUNCTION__, text, bytes, encoding, x, y, font, client );
+
+ D_ASSERT( card != NULL );
+ D_ASSERT( card->shared != NULL );
+ D_ASSERT( text != NULL );
+ D_ASSERT( bytes > 0 );
+ D_ASSERT( font != NULL );
+
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
+
+ state = client->state;
+ D_MAGIC_ASSERT( state, CardState );
+
+ surface = state->destination;
+ D_MAGIC_ASSERT( surface, CoreSurface );
+
+ /* simple prechecks */
+ if (!(state->render_options & DSRO_MATRIX) &&
+ (x > state->clip.x2 || y > state->clip.y2 ||
+ y + font->height <= state->clip.y1)) {
+ return;
+ }
+
+ /* Decode string to character indices. */
+ ret = dfb_font_decode_text( font, encoding, text, bytes, indices, &num );
+ if (ret)
+ return;
+
+ font_state_prepare( state, &state_backup, font, surface );
+
+ dfb_font_lock( font );
for (l=layers-1; l>=0; l--) {
x = ox;
@@ -2403,7 +2820,7 @@ dfb_gfxcard_drawstring( const u8 *text, int bytes,
if (glyph->width) {
if (glyph->surface != state->source || num_blits == D_ARRAY_SIZE(rects)) {
if (num_blits) {
- dfb_gfxcard_batchblit( rects, points, num_blits, state );
+ CoreGraphicsStateClient_Blit( client, rects, points, num_blits );
num_blits = 0;
}
@@ -2417,87 +2834,46 @@ dfb_gfxcard_drawstring( const u8 *text, int bytes,
num_blits++;
}
- x += glyph->advance;
+ x += glyph->xadvance;
+ y += glyph->yadvance;
prev = current;
}
if (num_blits) {
- dfb_gfxcard_batchblit( rects, points, num_blits, state );
+ CoreGraphicsStateClient_Blit( client, rects, points, num_blits );
num_blits = 0;
}
}
-
dfb_font_unlock( font );
-
- if (orig_flags != DSBLIT_INDEX_TRANSLATION) {
- dfb_state_set_blitting_flags( state, orig_flags );
- dfb_state_set_src_blend( state, orig_srcblend );
- dfb_state_set_dst_blend( state, orig_dstblend );
- }
+ font_state_restore( state, &state_backup );
}
void dfb_gfxcard_drawglyph( CoreGlyphData **glyph, int x, int y,
- CoreFont *font, unsigned int layers, CardState *state )
+ CoreFont *font, unsigned int layers, CoreGraphicsStateClient *client )
{
- int l;
- CoreSurface *surface;
- DFBSurfaceBlittingFlags orig_flags;
- DFBSurfaceBlendFunction orig_srcblend;
- DFBSurfaceBlendFunction orig_dstblend;
+ int l;
+ CoreSurface *surface;
+ CardState state_backup;
+ CardState *state;
D_DEBUG_AT( Core_GraphicsOps, "%s( %d,%d, %u, %p, %p )\n",
- __FUNCTION__, x, y, layers, font, state );
+ __FUNCTION__, x, y, layers, font, client );
D_ASSERT( card != NULL );
D_ASSERT( card->shared != NULL );
- D_MAGIC_ASSERT( state, CardState );
D_ASSERT( font != NULL );
- surface = state->destination;
- D_MAGIC_ASSERT( surface, CoreSurface );
-
- orig_flags = state->blittingflags;
- orig_srcblend = state->src_blend;
- orig_dstblend = state->dst_blend;
-
- if (orig_flags != DSBLIT_INDEX_TRANSLATION) {
- DFBSurfaceBlittingFlags flags = font->blittingflags;
-
- /* additional blending? */
- if ((state->drawingflags & DSDRAW_BLEND) && (state->color.a != 0xff))
- flags |= DSBLIT_BLEND_COLORALPHA;
+ D_MAGIC_ASSERT( client, CoreGraphicsStateClient );
- if (state->drawingflags & DSDRAW_DST_COLORKEY)
- flags |= DSBLIT_DST_COLORKEY;
-
- if (state->drawingflags & DSDRAW_XOR)
- flags |= DSBLIT_XOR;
-
- if (flags & (DSBLIT_BLEND_ALPHACHANNEL | DSBLIT_BLEND_COLORALPHA)) {
- /* Porter/Duff SRC_OVER composition */
- if ((DFB_PIXELFORMAT_HAS_ALPHA( surface->config.format ) && (surface->config.caps & DSCAPS_PREMULTIPLIED))
- ||
- (font->surface_caps & DSCAPS_PREMULTIPLIED))
- {
- if (font->surface_caps & DSCAPS_PREMULTIPLIED) {
- if (flags & DSBLIT_BLEND_COLORALPHA)
- flags |= DSBLIT_SRC_PREMULTCOLOR;
- }
- else
- flags |= DSBLIT_SRC_PREMULTIPLY;
-
- dfb_state_set_src_blend( state, DSBF_ONE );
- }
- else
- dfb_state_set_src_blend( state, DSBF_SRCALPHA );
+ state = client->state;
+ D_MAGIC_ASSERT( state, CardState );
- dfb_state_set_dst_blend( state, DSBF_INVSRCALPHA );
- }
+ surface = state->destination;
+ D_MAGIC_ASSERT( surface, CoreSurface );
- dfb_state_set_blitting_flags( state, flags );
- }
+ font_state_prepare( state, &state_backup, font, surface );
for (l=layers-1; l>=0; l--) {
if (layers > 1)
@@ -2505,30 +2881,25 @@ void dfb_gfxcard_drawglyph( CoreGlyphData **glyph, int x, int y,
/* blit glyph */
if (glyph[l]->width) {
- DFBRectangle rect = { glyph[l]->start, 0, glyph[l]->width, glyph[l]->height };
-
+ DFBRectangle rect = { glyph[l]->start, 0, glyph[l]->width, glyph[l]->height };
+ DFBPoint point = { x + glyph[l]->left, y + glyph[l]->top };
+
dfb_state_set_source( state, glyph[l]->surface );
-
- dfb_gfxcard_blit( &rect, x + glyph[l]->left, y + glyph[l]->top, state );
+
+ CoreGraphicsStateClient_Blit( client, &rect, &point, 1 );
}
}
- if (orig_flags != DSBLIT_INDEX_TRANSLATION) {
- dfb_state_set_blitting_flags( state, orig_flags );
- dfb_state_set_src_blend( state, orig_srcblend );
- dfb_state_set_dst_blend( state, orig_dstblend );
- }
+ font_state_restore( state, &state_backup );
}
bool dfb_gfxcard_drawstring_check_state( CoreFont *font, CardState *state )
{
- int i;
- bool result;
- CoreSurface *surface;
- DFBSurfaceBlittingFlags orig_flags;
- DFBSurfaceBlendFunction orig_srcblend;
- DFBSurfaceBlendFunction orig_dstblend;
- CoreGlyphData *data = NULL;
+ int i;
+ bool result;
+ CoreSurface *surface;
+ CardState state_backup;
+ CoreGlyphData *data = NULL;
D_ASSERT( card != NULL );
D_ASSERT( card->shared != NULL );
@@ -2550,49 +2921,10 @@ bool dfb_gfxcard_drawstring_check_state( CoreFont *font, CardState *state )
if (!data) {
D_DEBUG_AT( Core_GfxState, " -> No font data!\n" );
dfb_font_unlock( font );
- return;
+ return false;
}
- orig_flags = state->blittingflags;
- orig_srcblend = state->src_blend;
- orig_dstblend = state->dst_blend;
-
- if (orig_flags != DSBLIT_INDEX_TRANSLATION) {
- DFBSurfaceBlittingFlags flags = font->blittingflags;
-
- /* additional blending? */
- if ((state->drawingflags & DSDRAW_BLEND) && (state->color.a != 0xff))
- flags |= DSBLIT_BLEND_COLORALPHA;
-
- if (state->drawingflags & DSDRAW_DST_COLORKEY)
- flags |= DSBLIT_DST_COLORKEY;
-
- if (state->drawingflags & DSDRAW_XOR)
- flags |= DSBLIT_XOR;
-
- if (flags & (DSBLIT_BLEND_ALPHACHANNEL | DSBLIT_BLEND_COLORALPHA)) {
- /* Porter/Duff SRC_OVER composition */
- if ((DFB_PIXELFORMAT_HAS_ALPHA( surface->config.format ) && (surface->config.caps & DSCAPS_PREMULTIPLIED))
- ||
- (font->surface_caps & DSCAPS_PREMULTIPLIED))
- {
- if (font->surface_caps & DSCAPS_PREMULTIPLIED) {
- if (flags & DSBLIT_BLEND_COLORALPHA)
- flags |= DSBLIT_SRC_PREMULTCOLOR;
- }
- else
- flags |= DSBLIT_SRC_PREMULTIPLY;
-
- dfb_state_set_src_blend( state, DSBF_ONE );
- }
- else
- dfb_state_set_src_blend( state, DSBF_SRCALPHA );
-
- dfb_state_set_dst_blend( state, DSBF_INVSRCALPHA );
- }
-
- dfb_state_set_blitting_flags( state, flags );
- }
+ font_state_prepare( state, &state_backup, font, surface );
/* set the source */
dfb_state_set_source( state, data->surface );
@@ -2606,11 +2938,7 @@ bool dfb_gfxcard_drawstring_check_state( CoreFont *font, CardState *state )
dfb_font_unlock( font );
- if (orig_flags != DSBLIT_INDEX_TRANSLATION) {
- dfb_state_set_blitting_flags( state, orig_flags );
- dfb_state_set_src_blend( state, orig_srcblend );
- dfb_state_set_dst_blend( state, orig_dstblend );
- }
+ font_state_restore( state, &state_backup );
return result;
}
diff --git a/src/core/gfxcard.h b/src/core/gfxcard.h
index 535b9b7..b445d22 100644
--- a/src/core/gfxcard.h
+++ b/src/core/gfxcard.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -33,17 +33,20 @@
#include <direct/modules.h>
+#include <fusion/call.h>
#include <fusion/lock.h>
+#include <fusion/property.h>
-#include <directfb.h>
#include <core/coretypes.h>
+#include <directfb.h>
+
typedef enum {
CCF_CLIPPING = 0x00000001,
CCF_NOTRIEMU = 0x00000002,
CCF_READSYSMEM = 0x00000004,
- /* CCF_WRITESYSMEM ?! */
+ CCF_WRITESYSMEM= 0x00000008,
CCF_AUXMEMORY = 0x00000010,
CCF_RENDEROPTS = 0x00000020
} CardCapabilitiesFlags;
@@ -244,6 +247,9 @@ typedef struct _GraphicsDeviceFuncs {
bool (*FillTriangle) ( void *driver_data, void *device_data,
DFBTriangle *tri );
+ bool (*FillTrapezoid) ( void *driver_data, void *device_data,
+ DFBTrapezoid *trap );
+
/*
* blitting functions
*/
@@ -306,7 +312,6 @@ typedef enum {
DFBResult dfb_gfxcard_lock( GraphicsDeviceLockFlags flags );
void dfb_gfxcard_unlock( void );
-void dfb_gfxcard_holdup( void );
bool dfb_gfxcard_state_check( CardState *state, DFBAccelerationMask accel );
@@ -347,6 +352,10 @@ void dfb_gfxcard_filltriangles ( const DFBTriangle *tris,
int num,
CardState *state );
+void dfb_gfxcard_filltrapezoids ( const DFBTrapezoid *traps,
+ int num,
+ CardState *state );
+
void dfb_gfxcard_blit ( DFBRectangle *rect,
int dx,
int dy,
@@ -379,6 +388,11 @@ void dfb_gfxcard_texture_triangles ( DFBVertex *vertices,
DFBTriangleFormation formation,
CardState *state );
+
+
+
+
+
void dfb_gfxcard_drawstring ( const u8 *text,
int bytes,
DFBTextEncodingID encoding,
@@ -386,19 +400,25 @@ void dfb_gfxcard_drawstring ( const u8 *text,
int y,
CoreFont *font,
unsigned int layers,
- CardState *state );
+ CoreGraphicsStateClient *client );
void dfb_gfxcard_drawglyph ( CoreGlyphData **glyph,
int x,
int y,
CoreFont *font,
unsigned int layers,
- CardState *state );
+ CoreGraphicsStateClient *client );
+
+
+
+
bool dfb_gfxcard_drawstring_check_state ( CoreFont *font,
CardState *state );
+
DFBResult dfb_gfxcard_sync( void );
+
void dfb_gfxcard_invalidate_state( void );
DFBResult dfb_gfxcard_wait_serial( const CoreGraphicsSerial *serial );
void dfb_gfxcard_flush_texture_cache( void );
@@ -475,5 +495,52 @@ extern void (*__DFB_CoreRegisterHook)( CoreDFB *core, CoreGraphicsDevice *device
extern void *__DFB_CoreRegisterHookCtx;
+
+
+
+typedef struct {
+ int magic;
+
+ /* amount of usable memory */
+ unsigned int videoram_length;
+ unsigned int auxram_length;
+ unsigned int auxram_offset;
+
+ char *module_name;
+
+ GraphicsDriverInfo driver_info;
+ GraphicsDeviceInfo device_info;
+ void *device_data;
+
+ FusionSkirmish lock;
+ GraphicsDeviceLockFlags lock_flags;
+
+ /*
+ * Points to the current state of the graphics card.
+ */
+ CardState *state;
+ FusionID holder; /* Fusion ID of state owner. */
+} DFBGraphicsCoreShared;
+
+struct __DFB_DFBGraphicsCore {
+ int magic;
+
+ CoreDFB *core;
+
+ DFBGraphicsCoreShared *shared;
+
+ DirectModuleEntry *module;
+ const GraphicsDriverFuncs *driver_funcs;
+
+ void *driver_data;
+ void *device_data; /* copy of shared->device_data */
+
+ CardCapabilities caps; /* local caps */
+ CardLimitations limits; /* local limits */
+
+ GraphicsDeviceFuncs funcs;
+};
+
+
#endif
diff --git a/src/core/graphics_state.c b/src/core/graphics_state.c
new file mode 100644
index 0000000..a2482e7
--- /dev/null
+++ b/src/core/graphics_state.c
@@ -0,0 +1,118 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <directfb.h>
+
+#include <fusion/shmalloc.h>
+
+#include <core/coredefs.h>
+#include <core/coretypes.h>
+
+#include <core/CoreGraphicsState.h>
+
+#include <core/core.h>
+#include <core/state.h>
+
+#include <misc/util.h>
+
+
+D_DEBUG_DOMAIN( Core_GraphicsState, "Core/GraphicsState", "DirectFB Graphics State" );
+
+/**********************************************************************************************************************/
+
+static void
+state_destructor( FusionObject *object, bool zombie, void *ctx )
+{
+ CoreGraphicsState *state = (CoreGraphicsState*) object;
+
+ D_MAGIC_ASSERT( state, CoreGraphicsState );
+
+ D_DEBUG_AT( Core_GraphicsState, "destroying %p%s\n", state, zombie ? " (ZOMBIE)" : "");
+
+ dfb_state_set_destination( &state->state, NULL );
+ dfb_state_set_source( &state->state, NULL );
+ dfb_state_set_source2( &state->state, NULL );
+ dfb_state_set_source_mask( &state->state, NULL );
+
+ dfb_state_destroy( &state->state );
+
+ CoreGraphicsState_Deinit_Dispatch( &state->call );
+
+ D_MAGIC_CLEAR( state );
+
+ fusion_object_destroy( object );
+}
+
+FusionObjectPool *
+dfb_graphics_state_pool_create( const FusionWorld *world )
+{
+ FusionObjectPool *pool;
+
+ pool = fusion_object_pool_create( "GraphicsState Pool",
+ sizeof(CoreGraphicsState),
+ sizeof(CoreGraphicsStateNotification),
+ state_destructor, NULL, world );
+
+ return pool;
+}
+
+/**********************************************************************************************************************/
+
+DFBResult
+dfb_graphics_state_create( CoreDFB *core,
+ CoreGraphicsState **ret_state )
+{
+ CoreGraphicsState *state;
+
+ D_DEBUG_AT( Core_GraphicsState, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_state );
+
+ state = dfb_core_create_graphics_state( core );
+ if (!state)
+ return DFB_FUSION;
+
+ dfb_state_init( &state->state, core );
+
+ CoreGraphicsState_Init_Dispatch( core, state, &state->call );
+
+ D_MAGIC_SET( state, CoreGraphicsState );
+
+ /* activate object */
+ fusion_object_activate( &state->object );
+
+ /* return the new state */
+ *ret_state = state;
+
+ D_DEBUG_AT( Core_GraphicsState, " -> %p\n", state );
+
+ return DFB_OK;
+}
+
diff --git a/src/media/idirectfbfont.h b/src/core/graphics_state.h
similarity index 57%
copy from src/media/idirectfbfont.h
copy to src/core/graphics_state.h
index de41e6a..e48730a 100644
--- a/src/media/idirectfbfont.h
+++ b/src/core/graphics_state.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -26,38 +26,48 @@
Boston, MA 02111-1307, USA.
*/
-#ifndef __IDIRECTFBFONT_H__
-#define __IDIRECTFBFONT_H__
+#ifndef __GRAPHICS_STATE_H__
+#define __GRAPHICS_STATE_H__
#include <directfb.h>
-#include <core/coretypes.h>
+#include <fusion/object.h>
-/*
- * probing context
- */
-typedef struct {
- const char *filename;
-} IDirectFBFont_ProbeContext;
+#include <core/state.h>
+
+
+struct __DFB_CoreGraphicsState {
+ FusionObject object;
+ int magic;
+
+ FusionCall call;
+
+ CardState state;
+};
+
+typedef enum {
+ CGSNF_NONE = 0x00000000
+} CoreGraphicsStateNotificationFlags;
-/*
- * private data struct of IDirectFBFont
- */
typedef struct {
- int ref; /* reference counter */
- CoreFont *font; /* pointer to core font */
+ CoreGraphicsStateNotificationFlags flags;
+} CoreGraphicsStateNotification;
+
+
+DFBResult dfb_graphics_state_create( CoreDFB *core,
+ CoreGraphicsState **ret_state );
- DFBTextEncodingID encoding; /* text encoding */
-} IDirectFBFont_data;
/*
- * common code to construct the interface (internal usage only)
+ * Creates a pool of graphics state objects.
*/
-DFBResult IDirectFBFont_Construct( IDirectFBFont *thiz, CoreFont *font );
+FusionObjectPool *dfb_graphics_state_pool_create( const FusionWorld *world );
/*
- * deinitialize font and its surfaces
+ * Generates dfb_graphics_state_ref(), dfb_graphics_state_attach() etc.
*/
-void IDirectFBFont_Destruct( IDirectFBFont *thiz );
+FUSION_OBJECT_METHODS( CoreGraphicsState, dfb_graphics_state )
+
#endif
+
diff --git a/src/core/input.c b/src/core/input.c
index c9290da..c36aee6 100644
--- a/src/core/input.c
+++ b/src/core/input.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -50,6 +50,8 @@
#include <fusion/reactor.h>
#include <fusion/arena.h>
+#include <core/CoreInputDevice.h>
+
#include <core/core.h>
#include <core/coredefs.h>
#include <core/coretypes.h>
@@ -82,6 +84,10 @@
#include <gfx/convert.h>
+#define CHECK_INTERVAL 20000 // Microseconds
+#define CHECK_NUMBER 200
+
+
D_DEBUG_DOMAIN( Core_Input, "Core/Input", "DirectFB Input Core" );
D_DEBUG_DOMAIN( Core_InputEvt, "Core/Input/Evt", "DirectFB Input Core Events & Dispatch" );
@@ -126,10 +132,7 @@ typedef struct {
InputDeviceKeymap keymap;
- DFBInputDeviceModifierMask modifiers_l;
- DFBInputDeviceModifierMask modifiers_r;
- DFBInputDeviceLockState locks;
- DFBInputDeviceButtonMask buttons;
+ CoreInputDeviceState state;
DFBInputDeviceKeyIdentifier last_key; /* last key pressed */
DFBInputDeviceKeySymbol last_symbol; /* last symbol pressed */
@@ -138,10 +141,11 @@ typedef struct {
FusionReactor *reactor; /* event dispatcher */
FusionSkirmish lock;
- FusionCall call; /* driver call via master */
-
unsigned int axis_num;
DFBInputDeviceAxisInfo *axis_info;
+ FusionRef ref; /* Ref between shared device & local device */
+
+ FusionCall call;
} InputDeviceShared;
struct __DFB_CoreInputDevice {
@@ -159,11 +163,30 @@ struct __DFB_CoreInputDevice {
/**********************************************************************************************************************/
+DirectResult
+CoreInputDevice_Call( CoreInputDevice *device,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_ASSERT( device != NULL );
+ D_ASSERT( device->shared != NULL );
+
+ return fusion_call_execute3( &device->shared->call, flags, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+}
+
+/**********************************************************************************************************************/
+
typedef struct {
int magic;
int num;
InputDeviceShared *devices[MAX_INPUTDEVICES];
+ FusionReactor *reactor; /* For input hot-plug event */
} DFBInputCoreShared;
struct __DFB_DFBInputCore {
@@ -192,20 +215,27 @@ typedef struct {
const DeadKeyCombo *combos;
} DeadKeyMap;
+/* Data struct of input device hotplug event */
+typedef struct {
+ bool is_plugin; /* Hotplug in or not */
+ int dev_id; /* Input device ID*/
+ struct timeval stamp; /* Time stamp of event */
+} InputDeviceHotplugEvent;
+
/**********************************************************************************************************************/
static const DeadKeyCombo combos_grave[] = {
{ DIKS_SPACE, (unsigned char) '`' },
- { DIKS_SMALL_A, (unsigned char) 'à' },
- { DIKS_SMALL_E, (unsigned char) 'è' },
- { DIKS_SMALL_I, (unsigned char) 'ì' },
- { DIKS_SMALL_O, (unsigned char) 'ò' },
- { DIKS_SMALL_U, (unsigned char) 'ù' },
- { DIKS_CAPITAL_A, (unsigned char) 'À' },
- { DIKS_CAPITAL_E, (unsigned char) 'È' },
- { DIKS_CAPITAL_I, (unsigned char) 'Ì' },
- { DIKS_CAPITAL_O, (unsigned char) 'Ò' },
- { DIKS_CAPITAL_U, (unsigned char) 'Ù' },
+ { DIKS_SMALL_A, (unsigned char) 0xe0 }, // 'à'
+ { DIKS_SMALL_E, (unsigned char) 0xe8 }, // 'è'
+ { DIKS_SMALL_I, (unsigned char) 0xec }, // 'ì'
+ { DIKS_SMALL_O, (unsigned char) 0xf2 }, // 'ò'
+ { DIKS_SMALL_U, (unsigned char) 0xf9 }, // 'ù'
+ { DIKS_CAPITAL_A, (unsigned char) 0xc0 }, // 'À'
+ { DIKS_CAPITAL_E, (unsigned char) 0xc8 }, // 'È'
+ { DIKS_CAPITAL_I, (unsigned char) 0xcc }, // 'Ì'
+ { DIKS_CAPITAL_O, (unsigned char) 0xd2 }, // 'Ò'
+ { DIKS_CAPITAL_U, (unsigned char) 0xd9 }, // 'Ù'
{ 0, 0 }
};
@@ -290,13 +320,15 @@ static void allocate_device_keymap( CoreDFB *core, CoreInputDevice *device );
static DFBInputDeviceKeymapEntry *get_keymap_entry( CoreInputDevice *device,
int code );
-static DFBResult set_keymap_entry( CoreInputDevice *device,
- int code,
- DFBInputDeviceKeymapEntry *entry );
+static DFBResult set_keymap_entry( CoreInputDevice *device,
+ int code,
+ const DFBInputDeviceKeymapEntry *entry );
static DFBResult load_keymap( CoreInputDevice *device,
char *filename );
+static DFBResult reload_keymap( CoreInputDevice *device );
+
static DFBInputDeviceKeySymbol lookup_keysymbol( char *symbolname );
static DFBInputDeviceKeyIdentifier lookup_keyidentifier( char *identifiername );
@@ -327,6 +359,10 @@ static DFBInputDeviceKeySymbol id_to_symbol( DFBInputDeviceKeyIdentifier id,
/**********************************************************************************************************************/
+static ReactionResult local_processing_hotplug( const void *msg_data, void *ctx );
+
+/**********************************************************************************************************************/
+
static ReactionFunc dfb_input_globals[MAX_INPUT_GLOBALS+1] = {
/* 0 */ _dfb_windowstack_inputdevice_listener,
NULL
@@ -380,12 +416,20 @@ dfb_input_set_global( ReactionFunc func,
static DFBInputCore *core_local; /* FIXME */
static DFBInputCoreShared *core_input; /* FIXME */
+#if FUSION_BUILD_MULTI
+static Reaction local_processing_react; /* Local reaction to hot-plug event */
+#endif
+
static DFBResult
dfb_input_core_initialize( CoreDFB *core,
DFBInputCore *data,
DFBInputCoreShared *shared )
{
+#if FUSION_BUILD_MULTI
+ DFBResult result = DFB_OK;
+#endif
+
D_DEBUG_AT( Core_Input, "dfb_input_core_initialize( %p, %p, %p )\n", core, data, shared );
D_ASSERT( data != NULL );
@@ -400,6 +444,32 @@ dfb_input_core_initialize( CoreDFB *core,
direct_modules_explore_directory( &dfb_input_modules );
+#if FUSION_BUILD_MULTI
+ /* Create the reactor that responds input device hot-plug events. */
+ core_input->reactor = fusion_reactor_new(
+ sizeof( InputDeviceHotplugEvent ),
+ "Input Hotplug",
+ dfb_core_world(core) );
+ if (!core_input->reactor) {
+ D_ERROR( "DirectFB/Input: fusion_reactor_new() failed!\n" );
+ result = DFB_FAILURE;
+ goto errorExit;
+ }
+
+ fusion_reactor_add_permissions( core_input->reactor, 0, FUSION_REACTOR_PERMIT_ATTACH_DETACH );
+
+ /* Attach local process function to the input hot-plug reactor. */
+ result = fusion_reactor_attach(
+ core_input->reactor,
+ local_processing_hotplug,
+ (void*) core,
+ &local_processing_react );
+ if (result) {
+ D_ERROR( "DirectFB/Input: fusion_reactor_attach() failed!\n" );
+ goto errorExit;
+ }
+#endif
+
init_devices( core );
@@ -407,6 +477,15 @@ dfb_input_core_initialize( CoreDFB *core,
D_MAGIC_SET( shared, DFBInputCoreShared );
return DFB_OK;
+
+#if FUSION_BUILD_MULTI
+errorExit:
+ /* Destroy the hot-plug reactor if it was created. */
+ if (core_input->reactor)
+ fusion_reactor_destroy(core_input->reactor);
+
+ return result;
+#endif
}
static DFBResult
@@ -415,11 +494,15 @@ dfb_input_core_join( CoreDFB *core,
DFBInputCoreShared *shared )
{
int i;
+#if FUSION_BUILD_MULTI
+ DFBResult result;
+#endif
D_DEBUG_AT( Core_Input, "dfb_input_core_join( %p, %p, %p )\n", core, data, shared );
D_ASSERT( data != NULL );
D_MAGIC_ASSERT( shared, DFBInputCoreShared );
+ D_ASSERT( shared->reactor != NULL );
core_local = data; /* FIXME */
core_input = shared; /* FIXME */
@@ -427,6 +510,18 @@ dfb_input_core_join( CoreDFB *core,
data->core = core;
data->shared = shared;
+#if FUSION_BUILD_MULTI
+ /* Attach the local process function to the input hot-plug reactor. */
+ result = fusion_reactor_attach( core_input->reactor,
+ local_processing_hotplug,
+ (void*) core,
+ &local_processing_react );
+ if (result) {
+ D_ERROR( "DirectFB/Input: fusion_reactor_attach failed!\n" );
+ return result;
+ }
+#endif
+
for (i=0; i<core_input->num; i++) {
CoreInputDevice *device;
@@ -438,6 +533,11 @@ dfb_input_core_join( CoreDFB *core,
device->shared = core_input->devices[i];
+#if FUSION_BUILD_MULTI
+ /* Increase the reference counter. */
+ fusion_ref_up( &device->shared->ref, false );
+#endif
+
/* add it to the list */
direct_list_append( &data->devices, &device->link );
@@ -458,6 +558,7 @@ dfb_input_core_shutdown( DFBInputCore *data,
DirectLink *n;
CoreInputDevice *device;
FusionSHMPoolShared *pool = dfb_core_shmpool( data->core );
+ InputDriver *driver;
D_DEBUG_AT( Core_Input, "dfb_input_core_shutdown( %p, %semergency )\n", data, emergency ? "" : "no " );
@@ -466,9 +567,26 @@ dfb_input_core_shutdown( DFBInputCore *data,
shared = data->shared;
+ /* Stop each input provider's hot-plug thread that supports device hot-plugging. */
+ direct_list_foreach_safe (driver, n, core_local->drivers) {
+ if (driver->funcs->GetCapability && driver->funcs->StopHotplug) {
+ if (IDC_HOTPLUG & driver->funcs->GetCapability()) {
+ D_DEBUG_AT( Core_Input, "Stopping hot-plug detection thread "
+ "within %s\n ", driver->module->name );
+ if (driver->funcs->StopHotplug()) {
+ D_ERROR( "DirectFB/Input: StopHotplug() failed with %s\n",
+ driver->module->name );
+ }
+ }
+ }
+ }
+
+#if FUSION_BUILD_MULTI
+ fusion_reactor_detach( core_input->reactor, &local_processing_react );
+ fusion_reactor_destroy( core_input->reactor );
+#endif
direct_list_foreach_safe (device, n, data->devices) {
- InputDriver *driver;
InputDeviceShared *devshared;
D_MAGIC_ASSERT( device, CoreInputDevice );
@@ -479,7 +597,8 @@ dfb_input_core_shutdown( DFBInputCore *data,
devshared = device->shared;
D_ASSERT( devshared != NULL );
- fusion_call_destroy( &devshared->call );
+ CoreInputDevice_Deinit_Dispatch( &devshared->call );
+
fusion_skirmish_destroy( &devshared->lock );
if (device->driver_data != NULL) {
@@ -503,6 +622,10 @@ dfb_input_core_shutdown( DFBInputCore *data,
D_FREE( driver );
}
+#if FUSION_BUILD_MULTI
+ fusion_ref_destroy( &device->shared->ref );
+#endif
+
fusion_reactor_free( devshared->reactor );
if (devshared->keymap.entries)
@@ -539,10 +662,18 @@ dfb_input_core_leave( DFBInputCore *data,
shared = data->shared;
+#if FUSION_BUILD_MULTI
+ fusion_reactor_detach( core_input->reactor, &local_processing_react );
+#endif
direct_list_foreach_safe (device, n, data->devices) {
D_MAGIC_ASSERT( device, CoreInputDevice );
+#if FUSION_BUILD_MULTI
+ /* Decrease the ref between shared device and local device. */
+ fusion_ref_down( &device->shared->ref, false );
+#endif
+
D_FREE( device );
}
@@ -557,6 +688,7 @@ dfb_input_core_suspend( DFBInputCore *data )
{
DFBInputCoreShared *shared;
CoreInputDevice *device;
+ InputDriver *driver;
D_DEBUG_AT( Core_Input, "dfb_input_core_suspend( %p )\n", data );
@@ -567,8 +699,22 @@ dfb_input_core_suspend( DFBInputCore *data )
D_DEBUG_AT( Core_Input, " -> suspending...\n" );
+ /* Go through the drivers list and attempt to suspend all of the drivers that
+ * support the Suspend function.
+ */
+ direct_list_foreach (driver, core_local->drivers) {
+ DFBResult ret;
+
+ D_ASSERT( driver->funcs->Suspend != NULL );
+ ret = driver->funcs->Suspend();
+
+ if (ret != DFB_OK && ret != DFB_UNSUPPORTED) {
+ D_DERROR( ret, "driver->Suspend failed during suspend (%s)\n",
+ driver->info.name );
+ }
+ }
+
direct_list_foreach (device, data->devices) {
- InputDriver *driver;
InputDeviceShared *devshared;
D_MAGIC_ASSERT( device, CoreInputDevice );
@@ -609,6 +755,7 @@ dfb_input_core_resume( DFBInputCore *data )
DFBInputCoreShared *shared;
DFBResult ret;
CoreInputDevice *device;
+ InputDriver *driver;
D_DEBUG_AT( Core_Input, "dfb_input_core_resume( %p )\n", data );
@@ -640,6 +787,19 @@ dfb_input_core_resume( DFBInputCore *data )
}
}
+ /* Go through the drivers list and attempt to resume all of the drivers that
+ * support the Resume function.
+ */
+ direct_list_foreach (driver, core_local->drivers) {
+ D_ASSERT( driver->funcs->Resume != NULL );
+
+ ret = driver->funcs->Resume();
+ if (ret != DFB_OK && ret != DFB_UNSUPPORTED) {
+ D_DERROR( ret, "driver->Resume failed during resume (%s)\n",
+ driver->info.name );
+ }
+ }
+
D_DEBUG_AT( Core_Input, " -> resumed.\n" );
return DFB_OK;
@@ -775,7 +935,10 @@ dfb_input_dispatch( CoreInputDevice *device, DFBInputEvent *event )
D_ASSERT( device != NULL );
D_ASSERT( event != NULL );
- D_ASSUME( device->shared != NULL );
+ /*
+ * When a USB device is hot-removed, it is possible that there are pending events
+ * still being dispatched and the shared field becomes NULL.
+ */
/*
* 0. Sanity checks & debugging...
@@ -930,6 +1093,19 @@ dfb_input_device_at( DFBInputDeviceID id )
return NULL;
}
+/* Get an input device's capabilities. */
+DFBInputDeviceCapabilities
+dfb_input_device_caps( const CoreInputDevice *device )
+{
+ D_MAGIC_ASSERT( device, CoreInputDevice );
+
+ D_ASSERT( core_input != NULL );
+ D_ASSERT( device != NULL );
+ D_ASSERT( device->shared != NULL );
+
+ return device->shared->device_info.desc.caps;
+}
+
void
dfb_input_device_description( const CoreInputDevice *device,
DFBInputDeviceDescription *desc )
@@ -966,9 +1142,9 @@ dfb_input_device_get_keymap_entry( CoreInputDevice *device,
}
DFBResult
-dfb_input_device_set_keymap_entry( CoreInputDevice *device,
- int keycode,
- DFBInputDeviceKeymapEntry *entry )
+dfb_input_device_set_keymap_entry( CoreInputDevice *device,
+ int keycode,
+ const DFBInputDeviceKeymapEntry *entry )
{
D_MAGIC_ASSERT( device, CoreInputDevice );
@@ -995,22 +1171,33 @@ dfb_input_device_load_keymap ( CoreInputDevice *device,
DFBResult
dfb_input_device_reload_keymap( CoreInputDevice *device )
{
- int ret;
InputDeviceShared *shared;
D_MAGIC_ASSERT( device, CoreInputDevice );
shared = device->shared;
-
D_ASSERT( shared != NULL );
D_INFO( "DirectFB/Input: Reloading keymap for '%s' [0x%02x]...\n",
shared->device_info.desc.name, shared->id );
- if (fusion_call_execute( &shared->call, FCEF_NONE, CIDC_RELOAD_KEYMAP, NULL, &ret ))
- return DFB_FUSION;
+ return reload_keymap( device );
+}
+
+DFBResult
+dfb_input_device_get_state( CoreInputDevice *device,
+ CoreInputDeviceState *ret_state )
+{
+ InputDeviceShared *shared;
+
+ D_MAGIC_ASSERT( device, CoreInputDevice );
+
+ shared = device->shared;
+ D_ASSERT( shared != NULL );
- return ret;
+ *ret_state = shared->state;
+
+ return DFB_OK;
}
/** internal **/
@@ -1126,34 +1313,6 @@ reload_keymap( CoreInputDevice *device )
return DFB_OK;
}
-static FusionCallHandlerResult
-input_device_call_handler( int caller, /* fusion id of the caller */
- int call_arg, /* optional call parameter */
- void *call_ptr, /* optional call parameter */
- void *ctx, /* optional handler context */
- unsigned int serial,
- int *ret_val )
-{
- CoreInputDeviceCommand command = call_arg;
- CoreInputDevice *device = ctx;
-
- D_DEBUG_AT( Core_Input, "%s( %d, %d, %p, %p )\n", __FUNCTION__, caller, call_arg, call_ptr, ctx );
-
- D_MAGIC_ASSERT( device, CoreInputDevice );
-
- switch (command) {
- case CIDC_RELOAD_KEYMAP:
- *ret_val = reload_keymap( device );
- break;
-
- default:
- D_BUG( "unknown Core Input Device Command '%d'", command );
- *ret_val = DFB_BUG;
- }
-
- return FCHR_RETURN;
-}
-
static DFBResult
init_axes( CoreInputDevice *device )
{
@@ -1211,6 +1370,10 @@ init_devices( CoreDFB *core )
int n;
InputDriver *driver;
const InputDriverFuncs *funcs;
+ InputDriverCapability driver_cap;
+ DFBResult result;
+
+ driver_cap = IDC_NONE;
funcs = direct_module_ref( module );
if (!funcs)
@@ -1230,7 +1393,18 @@ init_devices( CoreDFB *core )
D_DEBUG_AT( Core_Input, " -> probing '%s'...\n", driver->info.name );
driver->nr_devices = funcs->GetAvailable();
- if (!driver->nr_devices) {
+
+ /*
+ * If the input provider supports hot-plug, always load the module.
+ */
+ if (!funcs->GetCapability) {
+ D_DEBUG_AT(Core_Input, "InputDriverFuncs::GetCapability is NULL\n");
+ }
+ else {
+ driver_cap = funcs->GetCapability();
+ }
+
+ if (!driver->nr_devices && !(driver_cap & IDC_HOTPLUG)) {
direct_module_unref( module );
D_FREE( driver );
continue;
@@ -1296,10 +1470,12 @@ init_devices( CoreDFB *core )
/* create reactor */
shared->reactor = fusion_reactor_new( sizeof(DFBInputEvent), buf, dfb_core_world(core) );
+ fusion_reactor_add_permissions( shared->reactor, 0, FUSION_REACTOR_PERMIT_ATTACH_DETACH );
+
fusion_reactor_set_lock( shared->reactor, &shared->lock );
/* init call */
- fusion_call_init( &shared->call, input_device_call_handler, device, dfb_core_world(core) );
+ CoreInputDevice_Init_Dispatch( core, device, &shared->call );
/* initialize shared data */
shared->id = make_id(device_info.prefered_id);
@@ -1317,6 +1493,17 @@ init_devices( CoreDFB *core )
buf, driver->info.version.major,
driver->info.version.minor, driver->info.vendor );
+#if FUSION_BUILD_MULTI
+ /* Initialize the ref between shared device and local device. */
+ snprintf( buf, sizeof(buf), "Ref of input device(%d)", shared->id );
+ fusion_ref_init( &shared->ref, buf, dfb_core_world(core) );
+
+ fusion_ref_add_permissions( &shared->ref, 0, FUSION_REF_PERMIT_REF_UNREF_LOCAL );
+
+ /* Increase reference counter. */
+ fusion_ref_up( &shared->ref, false );
+#endif
+
if (device_info.desc.min_keycode > device_info.desc.max_keycode) {
D_BUG("min_keycode > max_keycode");
device_info.desc.min_keycode = -1;
@@ -1331,9 +1518,420 @@ init_devices( CoreDFB *core )
/* add it to the list */
input_add_device( device );
}
+
+ /*
+ * If the driver supports hot-plug, launch its hot-plug thread to respond to
+ * hot-plug events. Failures in launching the hot-plug thread will only
+ * result in no hot-plug feature being available.
+ */
+ if (driver_cap == IDC_HOTPLUG) {
+ result = funcs->LaunchHotplug(core, (void*) driver);
+
+ /* On failure, the input provider can still be used without hot-plug. */
+ if (result) {
+ D_INFO( "DirectFB/Input: Failed to enable hot-plug "
+ "detection with %s\n ", driver->info.name);
+ }
+ else {
+ D_INFO( "DirectFB/Input: Hot-plug detection enabled with %s \n",
+ driver->info.name);
+ }
+ }
}
}
+/*
+ * Create the DFB shared core input device, add the input device into the
+ * local device list and shared dev array and broadcast the hot-plug in
+ * message to all slaves.
+ */
+DFBResult
+dfb_input_create_device(int device_index, CoreDFB *core_in, void *driver_in)
+{
+ char buf[128];
+ CoreInputDevice *device;
+ InputDeviceInfo device_info;
+ InputDeviceShared *shared;
+ void *driver_data;
+ InputDriver *driver = NULL;
+ const InputDriverFuncs *funcs;
+ FusionSHMPoolShared *pool;
+ DFBResult result;
+
+ D_DEBUG_AT(Core_Input, "Enter: %s()\n", __FUNCTION__);
+
+ driver = (InputDriver *)driver_in;
+
+ pool = dfb_core_shmpool(core_in);
+ funcs = driver->funcs;
+ if (!funcs) {
+ D_ERROR("DirectFB/Input: driver->funcs is NULL\n");
+ goto errorExit;
+ }
+
+ device = D_CALLOC( 1, sizeof(CoreInputDevice) );
+ if (!device) {
+ D_OOM();
+ goto errorExit;
+ }
+ shared = SHCALLOC( pool, 1, sizeof(InputDeviceShared) );
+ if (!shared) {
+ D_OOM();
+ D_FREE( device );
+ goto errorExit;
+ }
+
+ device->core = core_in;
+
+ memset( &device_info, 0, sizeof(InputDeviceInfo) );
+
+ device_info.desc.min_keycode = -1;
+ device_info.desc.max_keycode = -1;
+
+ D_MAGIC_SET( device, CoreInputDevice );
+
+ if (funcs->OpenDevice( device, device_index, &device_info, &driver_data )) {
+ SHFREE( pool, shared );
+ D_MAGIC_CLEAR( device );
+ D_FREE( device );
+ D_DEBUG_AT( Core_Input,
+ "DirectFB/Input: Cannot open device in %s, at %d in %s\n",
+ __FUNCTION__, __LINE__, __FILE__);
+ goto errorExit;
+ }
+
+ snprintf( buf, sizeof(buf), "%s (%d)", device_info.desc.name, device_index);
+
+ /* init skirmish */
+ result = fusion_skirmish_init( &shared->lock, buf, dfb_core_world(device->core) );
+ if (result) {
+ funcs->CloseDevice( driver_data );
+ SHFREE( pool, shared );
+ D_MAGIC_CLEAR( device );
+ D_FREE( device );
+ D_ERROR("DirectFB/Input: fusion_skirmish_init() failed! in %s, at %d in %s\n",
+ __FUNCTION__, __LINE__, __FILE__);
+ goto errorExit;
+ }
+
+ /* create reactor */
+ shared->reactor = fusion_reactor_new( sizeof(DFBInputEvent),
+ buf,
+ dfb_core_world(device->core) );
+ if (!shared->reactor) {
+ funcs->CloseDevice( driver_data );
+ SHFREE( pool, shared );
+ D_MAGIC_CLEAR( device );
+ D_FREE( device );
+ fusion_skirmish_destroy(&shared->lock);
+ D_ERROR("DirectFB/Input: fusion_reactor_new() failed! in %s, at %d in %s\n",
+ __FUNCTION__, __LINE__, __FILE__);
+ goto errorExit;
+ }
+
+ fusion_reactor_add_permissions( shared->reactor, 0, FUSION_REACTOR_PERMIT_ATTACH_DETACH );
+
+ fusion_reactor_set_lock( shared->reactor, &shared->lock );
+
+ /* init call */
+ CoreInputDevice_Init_Dispatch( device->core, device, &shared->call );
+
+ /* initialize shared data */
+ shared->id = make_id(device_info.prefered_id);
+ shared->num = device_index;
+ shared->device_info = device_info;
+ shared->last_key = DIKI_UNKNOWN;
+ shared->first_press = true;
+
+ /* initialize local data */
+ device->shared = shared;
+ device->driver = driver;
+ device->driver_data = driver_data;
+
+ D_INFO( "DirectFB/Input: %s %d.%d (%s)\n",
+ buf, driver->info.version.major,
+ driver->info.version.minor, driver->info.vendor );
+
+#if FUSION_BUILD_MULTI
+ snprintf( buf, sizeof(buf), "Ref of input device(%d)", shared->id);
+ fusion_ref_init( &shared->ref, buf, dfb_core_world(core_in));
+ fusion_ref_add_permissions( &shared->ref, 0, FUSION_REF_PERMIT_REF_UNREF_LOCAL );
+ fusion_ref_up( &shared->ref, false );
+#endif
+
+ if (device_info.desc.min_keycode > device_info.desc.max_keycode) {
+ D_BUG("min_keycode > max_keycode");
+ device_info.desc.min_keycode = -1;
+ device_info.desc.max_keycode = -1;
+ }
+ else if (device_info.desc.min_keycode >= 0 && device_info.desc.max_keycode >= 0)
+ allocate_device_keymap( device->core, device );
+
+ /* add it into local device list and shared dev array */
+ D_DEBUG_AT(Core_Input,
+ "In master, add a new device with dev_id=%d\n",
+ shared->id);
+
+ input_add_device( device );
+ driver->nr_devices++;
+
+ D_DEBUG_AT(Core_Input,
+ "Successfully added new input device with dev_id=%d in shared array\n",
+ shared->id);
+
+ InputDeviceHotplugEvent message;
+
+ /* Setup the hot-plug in message. */
+ message.is_plugin = true;
+ message.dev_id = shared->id;
+ gettimeofday (&message.stamp, NULL);
+
+ /* Send the hot-plug in message */
+#if FUSION_BUILD_MULTI
+ fusion_reactor_dispatch(core_input->reactor, &message, true, NULL);
+#else
+ local_processing_hotplug((const void *) &message, (void*) core_in);
+#endif
+ return DFB_OK;
+
+errorExit:
+ return DFB_FAILURE;
+}
+
+/*
+ * Tell whether the DFB input device handling of the system input device
+ * indicated by device_index is already created.
+ */
+static CoreInputDevice *
+search_device_created(int device_index, void *driver_in)
+{
+ DirectLink *n;
+ CoreInputDevice *device;
+
+ D_ASSERT(driver_in != NULL);
+
+ direct_list_foreach_safe(device, n, core_local->devices) {
+ if (device->driver != driver_in)
+ continue;
+
+ if (device->driver_data == NULL) {
+ D_DEBUG_AT(Core_Input,
+ "The device %d has been closed!\n",
+ device->shared->id);
+ return NULL;
+ }
+
+ if (device->driver->funcs->IsCreated &&
+ !device->driver->funcs->IsCreated(device_index, device->driver_data)) {
+ return device;
+ }
+ }
+
+ return NULL;
+}
+
+/*
+ * Remove the DFB shared core input device handling of the system input device
+ * indicated by device_index and broadcast the hot-plug out message to all slaves.
+ */
+DFBResult
+dfb_input_remove_device(int device_index, void *driver_in)
+{
+ CoreInputDevice *device;
+ InputDeviceShared *shared;
+ FusionSHMPoolShared *pool;
+ int i;
+ int found = 0;
+ int device_id;
+
+ D_DEBUG_AT(Core_Input, "Enter: %s()\n", __FUNCTION__);
+
+ D_ASSERT(driver_in !=NULL);
+
+ device = search_device_created(device_index, driver_in);
+ if (device == NULL) {
+ D_DEBUG_AT(Core_Input,
+ "DirectFB/input: Failed to find the device[%d] or the device is "
+ "closed.\n",
+ device_index);
+ goto errorExit;
+ }
+
+ shared = device->shared;
+ pool = dfb_core_shmpool( device->core );
+ device_id = shared->id;
+
+ D_DEBUG_AT(Core_Input, "Find the device with dev_id=%d\n", device_id);
+
+ device->driver->funcs->CloseDevice( device->driver_data );
+
+ device->driver->nr_devices--;
+
+ InputDeviceHotplugEvent message;
+
+ /* Setup the hot-plug out message */
+ message.is_plugin = false;
+ message.dev_id = device_id;
+ gettimeofday (&message.stamp, NULL);
+
+ /* Send the hot-plug out message */
+#if FUSION_BUILD_MULTI
+ fusion_reactor_dispatch( core_input->reactor, &message, true, NULL);
+
+ int loop = CHECK_NUMBER;
+
+ while (--loop) {
+ if (fusion_ref_zero_trylock( &device->shared->ref ) == DR_OK) {
+ fusion_ref_unlock(&device->shared->ref);
+ break;
+ }
+
+ usleep(CHECK_INTERVAL);
+ }
+
+ if (!loop)
+ D_DEBUG_AT(Core_Input, "Shared device might be connected to by others\n");
+
+ fusion_ref_destroy(&device->shared->ref);
+#else
+ local_processing_hotplug((const void*) &message, (void*) device->core);
+#endif
+
+ /* Remove the device from shared array */
+ for (i = 0; i < core_input->num; i++) {
+ if (!found && (core_input->devices[i]->id == shared->id))
+ found = 1;
+
+ if (found)
+ core_input->devices[i] = core_input->devices[(i + 1) % MAX_INPUTDEVICES];
+ }
+ if (found)
+ core_input->devices[core_input->num -1] = NULL;
+
+ core_input->num--;
+
+ CoreInputDevice_Deinit_Dispatch( &shared->call );
+
+ fusion_skirmish_destroy( &shared->lock );
+
+ fusion_reactor_free( shared->reactor );
+
+ if (shared->keymap.entries)
+ SHFREE( pool, shared->keymap.entries );
+
+ SHFREE( pool, shared );
+
+ D_DEBUG_AT(Core_Input,
+ "Successfully remove the device with dev_id=%d in shared array\n",
+ device_id);
+
+ return DFB_OK;
+
+errorExit:
+ return DFB_FAILURE;
+}
+
+/*
+ * Create local input device and add it into the local input devices list.
+ */
+static CoreInputDevice *
+add_device_into_local_list(int dev_id)
+{
+ int i;
+ D_DEBUG_AT(Core_Input, "Enter: %s()\n", __FUNCTION__);
+ for (i = 0; i < core_input->num; i++) {
+ if (core_input->devices[i]->id == dev_id) {
+ CoreInputDevice *device;
+
+ D_DEBUG_AT(Core_Input,
+ "Find the device with dev_id=%d in shared array, and "
+ "allocate local device\n",
+ dev_id);
+
+ device = D_CALLOC( 1, sizeof(CoreInputDevice) );
+ if (!device) {
+ return NULL;
+ }
+
+ device->shared = core_input->devices[i];
+
+#if FUSION_BUILD_MULTI
+ /* Increase the reference counter. */
+ fusion_ref_up( &device->shared->ref, false );
+#endif
+
+ /* add it to the list */
+ direct_list_append( &core_local->devices, &device->link );
+
+ D_MAGIC_SET( device, CoreInputDevice );
+ return device;
+ }
+ }
+
+ return NULL;
+}
+
+/*
+ * Local input device function that handles hot-plug in/out messages.
+ */
+static ReactionResult
+local_processing_hotplug( const void *msg_data, void *ctx )
+{
+ const InputDeviceHotplugEvent *message = msg_data;
+ CoreInputDevice *device = NULL;
+
+ D_DEBUG_AT(Core_Input, "Enter: %s()\n", __FUNCTION__);
+
+ D_DEBUG_AT(Core_Input,
+ "<PID:%6d> hotplug-in:%d device_id=%d message!\n",
+ getpid(),
+ message->is_plugin,
+ message->dev_id );
+
+ if (message->is_plugin) {
+
+ device = dfb_input_device_at(message->dev_id);
+
+ if (!device){
+ /* Update local device list according to shared devices array */
+ if (!(device = add_device_into_local_list(message->dev_id))) {
+ D_ERROR("DirectFB/Input: update_local_devices_list() failed\n" );
+ goto errorExit;
+ }
+ }
+
+ /* attach the device to event containers */
+ containers_attach_device( device );
+ /* attach the device to stack containers */
+ stack_containers_attach_device( device );
+ }
+ else {
+ device = dfb_input_device_at(message->dev_id);
+ if (device) {
+
+ direct_list_remove(&core_local->devices, &device->link);
+
+ containers_detach_device(device);
+ stack_containers_detach_device(device);
+
+#if FUSION_BUILD_MULTI
+ /* Decrease reference counter. */
+ fusion_ref_down( &device->shared->ref, false );
+#endif
+ D_MAGIC_CLEAR( device );
+ D_FREE(device);
+ }
+ else
+ D_ERROR("DirectFB/Input:Can't find the device to be removed!\n");
+
+ }
+
+ return DFB_OK;
+
+errorExit:
+ return DFB_FAILURE;
+}
+
static DFBInputDeviceKeymapEntry *
get_keymap_entry( CoreInputDevice *device,
int code )
@@ -1394,9 +1992,9 @@ get_keymap_entry( CoreInputDevice *device,
/* replace a single keymap entry with the code-entry pair */
static DFBResult
-set_keymap_entry( CoreInputDevice *device,
- int code,
- DFBInputDeviceKeymapEntry *entry )
+set_keymap_entry( CoreInputDevice *device,
+ int code,
+ const DFBInputDeviceKeymapEntry *entry )
{
InputDeviceKeymap *map;
@@ -1507,7 +2105,7 @@ load_keymap( CoreInputDevice *device,
/* fall through */
}
- ret = set_keymap_entry( device, keycode, &entry );
+ ret = CoreInputDevice_SetKeymapEntry( device, keycode, &entry );
if( ret )
return ret;
}
@@ -1704,10 +2302,10 @@ fixup_key_event( CoreInputDevice *device, DFBInputEvent *event )
* Use cached values for modifiers/locks if they are missing.
*/
if (missing & DIEF_MODIFIERS)
- event->modifiers = shared->modifiers_l | shared->modifiers_r;
+ event->modifiers = shared->state.modifiers_l | shared->state.modifiers_r;
if (missing & DIEF_LOCKS)
- event->locks = shared->locks;
+ event->locks = shared->state.locks;
/*
* With translation table
@@ -1785,40 +2383,40 @@ fixup_key_event( CoreInputDevice *device, DFBInputEvent *event )
if (event->type == DIET_KEYPRESS) {
switch (event->key_id) {
case DIKI_SHIFT_L:
- shared->modifiers_l |= DIMM_SHIFT;
+ shared->state.modifiers_l |= DIMM_SHIFT;
break;
case DIKI_SHIFT_R:
- shared->modifiers_r |= DIMM_SHIFT;
+ shared->state.modifiers_r |= DIMM_SHIFT;
break;
case DIKI_CONTROL_L:
- shared->modifiers_l |= DIMM_CONTROL;
+ shared->state.modifiers_l |= DIMM_CONTROL;
break;
case DIKI_CONTROL_R:
- shared->modifiers_r |= DIMM_CONTROL;
+ shared->state.modifiers_r |= DIMM_CONTROL;
break;
case DIKI_ALT_L:
- shared->modifiers_l |= DIMM_ALT;
+ shared->state.modifiers_l |= DIMM_ALT;
break;
case DIKI_ALT_R:
- shared->modifiers_r |= (event->key_symbol == DIKS_ALTGR) ? DIMM_ALTGR : DIMM_ALT;
+ shared->state.modifiers_r |= (event->key_symbol == DIKS_ALTGR) ? DIMM_ALTGR : DIMM_ALT;
break;
case DIKI_META_L:
- shared->modifiers_l |= DIMM_META;
+ shared->state.modifiers_l |= DIMM_META;
break;
case DIKI_META_R:
- shared->modifiers_r |= DIMM_META;
+ shared->state.modifiers_r |= DIMM_META;
break;
case DIKI_SUPER_L:
- shared->modifiers_l |= DIMM_SUPER;
+ shared->state.modifiers_l |= DIMM_SUPER;
break;
case DIKI_SUPER_R:
- shared->modifiers_r |= DIMM_SUPER;
+ shared->state.modifiers_r |= DIMM_SUPER;
break;
case DIKI_HYPER_L:
- shared->modifiers_l |= DIMM_HYPER;
+ shared->state.modifiers_l |= DIMM_HYPER;
break;
case DIKI_HYPER_R:
- shared->modifiers_r |= DIMM_HYPER;
+ shared->state.modifiers_r |= DIMM_HYPER;
break;
default:
;
@@ -1827,40 +2425,40 @@ fixup_key_event( CoreInputDevice *device, DFBInputEvent *event )
else {
switch (event->key_id) {
case DIKI_SHIFT_L:
- shared->modifiers_l &= ~DIMM_SHIFT;
+ shared->state.modifiers_l &= ~DIMM_SHIFT;
break;
case DIKI_SHIFT_R:
- shared->modifiers_r &= ~DIMM_SHIFT;
+ shared->state.modifiers_r &= ~DIMM_SHIFT;
break;
case DIKI_CONTROL_L:
- shared->modifiers_l &= ~DIMM_CONTROL;
+ shared->state.modifiers_l &= ~DIMM_CONTROL;
break;
case DIKI_CONTROL_R:
- shared->modifiers_r &= ~DIMM_CONTROL;
+ shared->state.modifiers_r &= ~DIMM_CONTROL;
break;
case DIKI_ALT_L:
- shared->modifiers_l &= ~DIMM_ALT;
+ shared->state.modifiers_l &= ~DIMM_ALT;
break;
case DIKI_ALT_R:
- shared->modifiers_r &= (event->key_symbol == DIKS_ALTGR) ? ~DIMM_ALTGR : ~DIMM_ALT;
+ shared->state.modifiers_r &= (event->key_symbol == DIKS_ALTGR) ? ~DIMM_ALTGR : ~DIMM_ALT;
break;
case DIKI_META_L:
- shared->modifiers_l &= ~DIMM_META;
+ shared->state.modifiers_l &= ~DIMM_META;
break;
case DIKI_META_R:
- shared->modifiers_r &= ~DIMM_META;
+ shared->state.modifiers_r &= ~DIMM_META;
break;
case DIKI_SUPER_L:
- shared->modifiers_l &= ~DIMM_SUPER;
+ shared->state.modifiers_l &= ~DIMM_SUPER;
break;
case DIKI_SUPER_R:
- shared->modifiers_r &= ~DIMM_SUPER;
+ shared->state.modifiers_r &= ~DIMM_SUPER;
break;
case DIKI_HYPER_L:
- shared->modifiers_l &= ~DIMM_HYPER;
+ shared->state.modifiers_l &= ~DIMM_HYPER;
break;
case DIKI_HYPER_R:
- shared->modifiers_r &= ~DIMM_HYPER;
+ shared->state.modifiers_r &= ~DIMM_HYPER;
break;
default:
;
@@ -1869,7 +2467,7 @@ fixup_key_event( CoreInputDevice *device, DFBInputEvent *event )
/* write back to event */
if (missing & DIEF_MODIFIERS)
- event->modifiers = shared->modifiers_l | shared->modifiers_r;
+ event->modifiers = shared->state.modifiers_l | shared->state.modifiers_r;
}
/*
@@ -1881,13 +2479,13 @@ fixup_key_event( CoreInputDevice *device, DFBInputEvent *event )
if (shared->first_press || shared->last_key != event->key_id) {
switch (event->key_id) {
case DIKI_CAPS_LOCK:
- shared->locks ^= DILS_CAPS;
+ shared->state.locks ^= DILS_CAPS;
break;
case DIKI_NUM_LOCK:
- shared->locks ^= DILS_NUM;
+ shared->state.locks ^= DILS_NUM;
break;
case DIKI_SCROLL_LOCK:
- shared->locks ^= DILS_SCROLL;
+ shared->state.locks ^= DILS_SCROLL;
break;
default:
;
@@ -1896,7 +2494,7 @@ fixup_key_event( CoreInputDevice *device, DFBInputEvent *event )
/* write back to event */
if (missing & DIEF_LOCKS)
- event->locks = shared->locks;
+ event->locks = shared->state.locks;
/* store last pressed key */
shared->last_key = event->key_id;
@@ -1939,15 +2537,15 @@ fixup_mouse_event( CoreInputDevice *device, DFBInputEvent *event )
D_MAGIC_ASSERT( device, CoreInputDevice );
if (event->flags & DIEF_BUTTONS) {
- shared->buttons = event->buttons;
+ shared->state.buttons = event->buttons;
}
else {
switch (event->type) {
case DIET_BUTTONPRESS:
- shared->buttons |= (1 << event->button);
+ shared->state.buttons |= (1 << event->button);
break;
case DIET_BUTTONRELEASE:
- shared->buttons &= ~(1 << event->button);
+ shared->state.buttons &= ~(1 << event->button);
break;
default:
;
@@ -1956,7 +2554,7 @@ fixup_mouse_event( CoreInputDevice *device, DFBInputEvent *event )
/* Add missing flag */
event->flags |= DIEF_BUTTONS;
- event->buttons = shared->buttons;
+ event->buttons = shared->state.buttons;
}
switch (event->type) {
@@ -2286,46 +2884,46 @@ flush_keys( CoreInputDevice *device )
{
D_MAGIC_ASSERT( device, CoreInputDevice );
- if (device->shared->modifiers_l) {
- if (device->shared->modifiers_l & DIMM_ALT)
+ if (device->shared->state.modifiers_l) {
+ if (device->shared->state.modifiers_l & DIMM_ALT)
release_key( device, DIKI_ALT_L );
- if (device->shared->modifiers_l & DIMM_CONTROL)
+ if (device->shared->state.modifiers_l & DIMM_CONTROL)
release_key( device, DIKI_CONTROL_L );
- if (device->shared->modifiers_l & DIMM_HYPER)
+ if (device->shared->state.modifiers_l & DIMM_HYPER)
release_key( device, DIKI_HYPER_L );
- if (device->shared->modifiers_l & DIMM_META)
+ if (device->shared->state.modifiers_l & DIMM_META)
release_key( device, DIKI_META_L );
- if (device->shared->modifiers_l & DIMM_SHIFT)
+ if (device->shared->state.modifiers_l & DIMM_SHIFT)
release_key( device, DIKI_SHIFT_L );
- if (device->shared->modifiers_l & DIMM_SUPER)
+ if (device->shared->state.modifiers_l & DIMM_SUPER)
release_key( device, DIKI_SUPER_L );
}
- if (device->shared->modifiers_r) {
- if (device->shared->modifiers_r & DIMM_ALTGR)
+ if (device->shared->state.modifiers_r) {
+ if (device->shared->state.modifiers_r & DIMM_ALTGR)
release_key( device, DIKS_ALTGR );
- if (device->shared->modifiers_r & DIMM_ALT)
+ if (device->shared->state.modifiers_r & DIMM_ALT)
release_key( device, DIKI_ALT_R );
- if (device->shared->modifiers_r & DIMM_CONTROL)
+ if (device->shared->state.modifiers_r & DIMM_CONTROL)
release_key( device, DIKI_CONTROL_R );
- if (device->shared->modifiers_r & DIMM_HYPER)
+ if (device->shared->state.modifiers_r & DIMM_HYPER)
release_key( device, DIKI_HYPER_R );
- if (device->shared->modifiers_r & DIMM_META)
+ if (device->shared->state.modifiers_r & DIMM_META)
release_key( device, DIKI_META_R );
- if (device->shared->modifiers_r & DIMM_SHIFT)
+ if (device->shared->state.modifiers_r & DIMM_SHIFT)
release_key( device, DIKI_SHIFT_R );
- if (device->shared->modifiers_r & DIMM_SUPER)
+ if (device->shared->state.modifiers_r & DIMM_SUPER)
release_key( device, DIKI_SUPER_R );
}
}
diff --git a/src/core/input.h b/src/core/input.h
index 75f1df3..baa4589 100644
--- a/src/core/input.h
+++ b/src/core/input.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -76,6 +76,21 @@ typedef struct {
DFBInputDeviceDescription desc; /* Capabilities, type, etc. */
} InputDeviceInfo;
+/*
+ * Input provider capability flags.
+ */
+typedef enum {
+ IDC_NONE = 0x00, /* None */
+ IDC_HOTPLUG = 0x01, /* Input devices support hot-plug */
+
+ IDC_ALL = 0x01 /* All flags supported */
+} InputDriverCapability;
+
+typedef struct {
+ CoreDFB *core;
+ void *driver;
+} HotplugThreadData;
+
typedef struct {
int (*GetAvailable) (void);
void (*GetDriverInfo) (InputDriverInfo *driver_info);
@@ -87,6 +102,15 @@ typedef struct {
void *driver_data,
DFBInputDeviceKeymapEntry *entry);
void (*CloseDevice) (void *driver_data);
+ DFBResult (*Suspend) (void);
+ DFBResult (*Resume) (void);
+ DFBResult (*IsCreated) (int index,
+ void *data);
+ InputDriverCapability
+ (*GetCapability) (void);
+ DFBResult (*LaunchHotplug) (CoreDFB *core,
+ void *input_driver);
+ DFBResult (*StopHotplug) (void);
DFBResult (*GetAxisInfo) (CoreInputDevice *device,
void *driver_data,
@@ -141,23 +165,65 @@ CoreInputDevice *dfb_input_device_at ( DFBInputDeviceID id );
+DFBInputDeviceCapabilities dfb_input_device_caps( const CoreInputDevice *device );
+
+
+
DFBResult dfb_input_device_get_keymap_entry( CoreInputDevice *device,
int keycode,
DFBInputDeviceKeymapEntry *entry );
-DFBResult dfb_input_device_set_keymap_entry( CoreInputDevice *device,
- int keycode,
- DFBInputDeviceKeymapEntry *entry );
+DFBResult dfb_input_device_set_keymap_entry( CoreInputDevice *device,
+ int keycode,
+ const DFBInputDeviceKeymapEntry *entry );
DFBResult dfb_input_device_load_keymap ( CoreInputDevice *device,
char *filename );
DFBResult dfb_input_device_reload_keymap ( CoreInputDevice *device );
+
+typedef struct {
+ DFBInputDeviceModifierMask modifiers_l;
+ DFBInputDeviceModifierMask modifiers_r;
+ DFBInputDeviceLockState locks;
+ DFBInputDeviceButtonMask buttons;
+} CoreInputDeviceState;
+
+DFBResult dfb_input_device_get_state( CoreInputDevice *device,
+ CoreInputDeviceState *ret_state );
+
+
+
+void containers_attach_device( CoreInputDevice *device );
+
+void containers_detach_device( CoreInputDevice *device );
+
+void stack_containers_attach_device( CoreInputDevice *device );
+
+void stack_containers_detach_device( CoreInputDevice *device );
+
+DFBResult dfb_input_create_device( int device_index,
+ CoreDFB *core_in,
+ void *driver_in );
+
+DFBResult dfb_input_remove_device( int device_index,
+ void *driver_in );
+
/* global reactions */
typedef enum {
DFB_WINDOWSTACK_INPUTDEVICE_LISTENER
} DFB_INPUT_GLOBALS;
+
+DirectResult CoreInputDevice_Call( CoreInputDevice *device,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
#endif
diff --git a/src/core/input_driver.h b/src/core/input_driver.h
index fc371db..f9cbfe2 100644
--- a/src/core/input_driver.h
+++ b/src/core/input_driver.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -60,12 +60,86 @@ driver_get_axis_info( CoreInputDevice *device,
static void
driver_close_device( void *driver_data );
+static DFBResult
+driver_suspend( void );
+
+static DFBResult
+driver_resume( void );
+
+static DFBResult
+is_created( int event_num, void *data);
+
+static InputDriverCapability
+get_capability( void );
+
+static DFBResult
+launch_hotplug(CoreDFB *core,
+ void *input_driver);
+
+static DFBResult
+stop_hotplug( void );
+
+#if !defined(DISABLE_INPUT_HOTPLUG_FUNCTION_STUB)
+/* Add hot-plug stub function implementations for all input providers by
+ * default when DISABLE_INPUT_HOTPLUG_FUNCTION_STUB is not defined.
+ */
+
+static DFBResult
+driver_suspend( void )
+{
+ return DFB_UNSUPPORTED;
+}
+
+static DFBResult
+driver_resume( void )
+{
+ return DFB_UNSUPPORTED;
+}
+
+static DFBResult
+is_created( int event_num, void *data)
+{
+ D_UNUSED_P( event_num );
+ D_UNUSED_P( data );
+
+ return DFB_UNSUPPORTED;
+}
+
+static InputDriverCapability
+get_capability( void )
+{
+ return IDC_NONE;
+}
+
+static DFBResult
+launch_hotplug(CoreDFB *core,
+ void *input_driver)
+{
+ D_UNUSED_P( core );
+ D_UNUSED_P( input_driver );
+
+ return DFB_UNSUPPORTED;
+}
+
+static DFBResult
+stop_hotplug( void )
+{
+ return DFB_UNSUPPORTED;
+}
+#endif
+
static const InputDriverFuncs driver_funcs = {
.GetAvailable = driver_get_available,
.GetDriverInfo = driver_get_info,
.OpenDevice = driver_open_device,
.GetKeymapEntry = driver_get_keymap_entry,
.CloseDevice = driver_close_device,
+ .Suspend = driver_suspend,
+ .Resume = driver_resume,
+ .IsCreated = is_created,
+ .GetCapability = get_capability,
+ .LaunchHotplug = launch_hotplug,
+ .StopHotplug = stop_hotplug,
#ifdef DFB_INPUTDRIVER_HAS_AXIS_INFO
.GetAxisInfo = driver_get_axis_info
diff --git a/src/core/layer_context.c b/src/core/layer_context.c
index e141c0a..60b7d98 100644
--- a/src/core/layer_context.c
+++ b/src/core/layer_context.c
@@ -53,6 +53,8 @@
#include <core/windowstack.h>
#include <core/wm.h>
+#include <core/CoreLayerContext.h>
+
#include <core/layers_internal.h>
#include <core/windows_internal.h>
@@ -72,17 +74,6 @@ static void build_updated_config( CoreLayer *layer,
CoreLayerRegionConfig *ret_config,
CoreLayerRegionConfigFlags *ret_flags );
-static DFBResult allocate_surface ( CoreLayer *layer,
- CoreLayerRegion *region,
- CoreLayerRegionConfig *config );
-
-static DFBResult reallocate_surface ( CoreLayer *layer,
- CoreLayerRegion *region,
- CoreLayerRegionConfig *config );
-
-static DFBResult deallocate_surface ( CoreLayer *layer,
- CoreLayerRegion *region );
-
static void screen_rectangle ( CoreLayerContext *context,
const DFBLocation *location,
DFBRectangle *rect );
@@ -104,6 +95,8 @@ context_destructor( FusionObject *object, bool zombie, void *ctx )
D_MAGIC_ASSERT( context, CoreLayerContext );
+ CoreLayerContext_Deinit_Dispatch( &context->call );
+
/* Remove the context from the layer's context stack. */
dfb_layer_remove_context( layer, context );
@@ -195,9 +188,12 @@ update_stack_geometry( CoreLayerContext *context )
dfb_windowstack_resize( context->stack, size.w, size.h, rotation );
}
+/**********************************************************************************************************************/
+
DFBResult
dfb_layer_context_init( CoreLayerContext *context,
- CoreLayer *layer )
+ CoreLayer *layer,
+ bool stack )
{
CoreLayerShared *shared;
@@ -252,7 +248,7 @@ dfb_layer_context_init( CoreLayerContext *context,
dfb_layer_context_lock( context );
/* Create the window stack. */
- if (layer->shared->description.caps & DLCAPS_SURFACE) {
+ if (stack && layer->shared->description.caps & DLCAPS_SURFACE) {
context->stack = dfb_windowstack_create( context );
if (!context->stack) {
dfb_layer_context_unlock( context );
@@ -264,6 +260,8 @@ dfb_layer_context_init( CoreLayerContext *context,
/* Tell the window stack about its size. */
update_stack_geometry( context );
+ CoreLayerContext_Init_Dispatch( layer->core, context, &context->call );
+
dfb_layer_context_unlock( context );
return DFB_OK;
@@ -275,6 +273,7 @@ dfb_layer_context_activate( CoreLayerContext *context )
DFBResult ret;
int index;
CoreLayer *layer;
+ CoreLayerShared *shared;
CoreLayerRegion *region;
D_DEBUG_AT( Core_LayerContext, "%s( %p )\n", __FUNCTION__, context );
@@ -286,6 +285,9 @@ dfb_layer_context_activate( CoreLayerContext *context )
D_ASSERT( layer != NULL );
D_ASSERT( layer->funcs != NULL );
+ shared = layer->shared;
+ D_ASSERT( shared != NULL );
+
/* Lock the context. */
if (dfb_layer_context_lock( context ))
return DFB_FUSION;
@@ -303,7 +305,7 @@ dfb_layer_context_activate( CoreLayerContext *context )
if (region->surface) {
D_ASSERT( region->surface_lock.buffer == NULL );
- ret = reallocate_surface( layer, region, ®ion->config );
+ ret = dfb_layer_context_reallocate_surface( layer, region, ®ion->config );
if (ret)
D_DERROR( ret, "Core/Layers: Reallocation of layer surface failed!\n" );
}
@@ -315,6 +317,9 @@ dfb_layer_context_activate( CoreLayerContext *context )
context->active = true;
+ /* Remember new primary pixel format. */
+ shared->pixelformat = context->primary.config.format;
+
/* set new adjustment */
if (layer->funcs->SetColorAdjustment)
layer->funcs->SetColorAdjustment( layer, layer->driver_data,
@@ -470,6 +475,17 @@ dfb_layer_context_get_primary_region( CoreLayerContext *context,
restart:
while (context->primary.region) {
+ // Make sure the primary region's reference count is non-zero. If
+ // it is, a failure is returned to indicate that it is unavailable.
+ // In this scenario, this prevents the object_reference_watcher from
+ // being called more than once triggered by the reference count
+ // changing from 1 to 0 again.
+ int num = 0;
+
+ if (dfb_layer_region_ref_stat( context->primary.region, &num ) || num == 0) {
+ dfb_layer_context_unlock( context );
+ return DFB_TEMPUNAVAIL;
+ }
/* Increase the primary region's reference counter. */
ret = dfb_layer_region_ref( context->primary.region );
if (ret == DFB_OK)
@@ -478,6 +494,12 @@ restart:
dfb_layer_context_unlock( context );
if (ret == DFB_LOCKED) {
+ // If the primary region is Fusion zero-locked (being destroyed)
+ // and creating a new primary region is not requested, return
+ // an error immediately.
+ if (!create)
+ return DFB_TEMPUNAVAIL;
+
//sched_yield();
usleep( 10000 );
@@ -729,8 +751,9 @@ dfb_layer_context_set_configuration( CoreLayerContext *context,
/* Unlock the region surface */
if (region->surface) {
if (D_FLAGS_IS_SET( region->state, CLRSF_REALIZED )) {
- if (!D_FLAGS_IS_SET( region->state, CLRSF_FROZEN ))
- D_ASSUME( region->surface_lock.buffer != NULL );
+ // The region surface is now being left in an unlocked
+ // state, so the buffer (region->surface_lock.buffer)
+ // can be NULL even when not frozen.
if (region->surface_lock.buffer)
dfb_surface_unlock_buffer( region->surface, ®ion->surface_lock );
@@ -742,12 +765,12 @@ dfb_layer_context_set_configuration( CoreLayerContext *context,
flags |= CLRCF_SURFACE | CLRCF_PALETTE;
if (region->surface) {
- ret = reallocate_surface( layer, region, ®ion_config );
+ ret = dfb_layer_context_reallocate_surface( layer, region, ®ion_config );
if (ret)
D_DERROR( ret, "Core/Layers: Reallocation of layer surface failed!\n" );
}
else {
- ret = allocate_surface( layer, region, ®ion_config );
+ ret = dfb_layer_context_allocate_surface( layer, region, ®ion_config );
if (ret)
D_DERROR( ret, "Core/Layers: Allocation of layer surface failed!\n" );
}
@@ -760,7 +783,7 @@ dfb_layer_context_set_configuration( CoreLayerContext *context,
}
}
else if (region->surface)
- deallocate_surface( layer, region );
+ dfb_layer_context_deallocate_surface( layer, region );
region->state |= configured;
@@ -777,7 +800,7 @@ dfb_layer_context_set_configuration( CoreLayerContext *context,
dfb_layer_region_disable( region );
if (region->surface)
- deallocate_surface( layer, region );
+ dfb_layer_context_deallocate_surface( layer, region );
}
}
@@ -789,6 +812,9 @@ dfb_layer_context_set_configuration( CoreLayerContext *context,
/* Remember new region config. */
context->primary.config = region_config;
+ /* Remember new primary pixel format. */
+ shared->pixelformat = region_config.format;
+
/*
* Write back modified entries.
*/
@@ -826,8 +852,22 @@ dfb_layer_context_set_configuration( CoreLayerContext *context,
{
update_stack_geometry( context );
- /* FIXME: call only if really needed */
- dfb_windowstack_repaint_all( stack );
+ // Fixed window stack repainting to NOT be performed when the
+ // region is frozen, because a frozen display layer should not
+ // be allocated and made visible until absolutely necessary
+ // (when single buffered IDirectFBDisplayLayer::GetSurface is
+ // called, and when double/triple buffered whe
+ // IDirectFBSurface::Flip is called). This prevents a display
+ // layer surface flip from being done and showing an
+ // uninitialized buffer when the
+ // IDirectFB::GetDisplayLayer function is called without an
+ // associated init-layer directfbrc command.
+ if (context->primary.region &&
+ !D_FLAGS_IS_SET(
+ context->primary.region->state,
+ CLRSF_FROZEN )) {
+ dfb_windowstack_repaint_all( stack );
+ }
}
}
@@ -1386,7 +1426,8 @@ dfb_layer_context_create_window( CoreDFB *core,
if ((layer->shared->description.caps & DLCAPS_SURFACE) == 0)
return DFB_UNSUPPORTED;
- D_ASSERT( context->stack != NULL );
+ if (!context->stack)
+ return DFB_UNSUPPORTED;
D_ASSERT( layer != NULL );
D_ASSERT( layer->funcs != NULL );
@@ -1657,16 +1698,15 @@ build_updated_config( CoreLayer *layer,
/*
* region surface (re/de)allocation
*/
-static DFBResult
-allocate_surface( CoreLayer *layer,
- CoreLayerRegion *region,
- CoreLayerRegionConfig *config )
+DFBResult
+dfb_layer_context_allocate_surface( CoreLayer *layer,
+ CoreLayerRegion *region,
+ CoreLayerRegionConfig *config )
{
DFBResult ret;
const DisplayLayerFuncs *funcs;
CoreLayerContext *context;
CoreSurface *surface = NULL;
- DFBSurfaceCapabilities caps = DSCAPS_VIDEOONLY;
CoreSurfaceTypeFlags type = CSTF_LAYER;
CoreSurfaceConfig scon;
@@ -1700,7 +1740,8 @@ allocate_surface( CoreLayer *layer,
}
}
else {
- CoreLayerShared *shared = layer->shared;
+ CoreLayerShared *shared = layer->shared;
+ DFBSurfaceCapabilities caps = shared->description.surface_caps ?: DSCAPS_VIDEOONLY;
/* Choose surface capabilities depending on the buffer mode. */
switch (config->buffermode) {
@@ -1758,6 +1799,9 @@ allocate_surface( CoreLayer *layer,
else
surface->rotation = (context->rotation == 180) ? 180 : 0;
+ if (dfb_config->layers_clear)
+ dfb_surface_clear_buffers( surface );
+
/* Tell the region about its new surface (adds a global reference). */
ret = dfb_layer_region_set_surface( region, surface );
@@ -1767,10 +1811,10 @@ allocate_surface( CoreLayer *layer,
return ret;
}
-static DFBResult
-reallocate_surface( CoreLayer *layer,
- CoreLayerRegion *region,
- CoreLayerRegionConfig *config )
+DFBResult
+dfb_layer_context_reallocate_surface( CoreLayer *layer,
+ CoreLayerRegion *region,
+ CoreLayerRegionConfig *config )
{
DFBResult ret;
const DisplayLayerFuncs *funcs;
@@ -1876,13 +1920,16 @@ reallocate_surface( CoreLayer *layer,
else
surface->rotation = (context->rotation == 180) ? 180 : 0;
+ if (dfb_config->layers_clear)
+ dfb_surface_clear_buffers( surface );
+
dfb_surface_unlock( surface );
return DFB_OK;
}
-static DFBResult
-deallocate_surface( CoreLayer *layer, CoreLayerRegion *region )
+DFBResult
+dfb_layer_context_deallocate_surface( CoreLayer *layer, CoreLayerRegion *region )
{
DFBResult ret;
const DisplayLayerFuncs *funcs;
@@ -1912,6 +1959,9 @@ deallocate_surface( CoreLayer *layer, CoreLayerRegion *region )
/* Detach the global listener. */
dfb_surface_detach_global( surface, ®ion->surface_reaction );
+
+ dfb_surface_deallocate_buffers( region->surface );
+
/* Unlink from structure. */
dfb_surface_unlink( ®ion->surface );
}
diff --git a/src/core/layer_context.h b/src/core/layer_context.h
index ab9d2fb..c3e207f 100644
--- a/src/core/layer_context.h
+++ b/src/core/layer_context.h
@@ -56,7 +56,25 @@ FUSION_OBJECT_METHODS( CoreLayerContext, dfb_layer_context )
DFBResult dfb_layer_context_init( CoreLayerContext *context,
- CoreLayer *layer );
+ CoreLayer *layer,
+ bool stack );
+
+/*
+ * Locking
+ */
+DirectResult dfb_layer_context_lock ( CoreLayerContext *context );
+DirectResult dfb_layer_context_unlock( CoreLayerContext *context );
+
+
+CoreWindowStack *dfb_layer_context_windowstack( const CoreLayerContext *context );
+
+bool dfb_layer_context_active ( const CoreLayerContext *context );
+
+
+
+
+
+
DFBResult dfb_layer_context_get_primary_region( CoreLayerContext *context,
bool create,
@@ -136,14 +154,19 @@ DFBResult dfb_layer_context_create_window( CoreDFB *core,
CoreWindow *dfb_layer_context_find_window( CoreLayerContext *context,
DFBWindowID id );
-CoreWindowStack *dfb_layer_context_windowstack( const CoreLayerContext *context );
-bool dfb_layer_context_active ( const CoreLayerContext *context );
-/*
- * Locking
- */
-DirectResult dfb_layer_context_lock ( CoreLayerContext *context );
-DirectResult dfb_layer_context_unlock( CoreLayerContext *context );
+
+DFBResult dfb_layer_context_allocate_surface ( CoreLayer *layer,
+ CoreLayerRegion *region,
+ CoreLayerRegionConfig *config );
+
+DFBResult dfb_layer_context_reallocate_surface ( CoreLayer *layer,
+ CoreLayerRegion *region,
+ CoreLayerRegionConfig *config );
+
+DFBResult dfb_layer_context_deallocate_surface ( CoreLayer *layer,
+ CoreLayerRegion *region );
#endif
+
diff --git a/src/core/layer_control.c b/src/core/layer_control.c
index b190cc5..70e5708 100644
--- a/src/core/layer_control.c
+++ b/src/core/layer_control.c
@@ -166,6 +166,7 @@ dfb_layer_resume( CoreLayer *layer )
DFBResult
dfb_layer_create_context( CoreLayer *layer,
+ bool stack,
CoreLayerContext **ret_context )
{
DFBResult ret;
@@ -194,7 +195,7 @@ dfb_layer_create_context( CoreLayer *layer,
}
/* Initialize the new context. */
- ret = dfb_layer_context_init( context, layer );
+ ret = dfb_layer_context_init( context, layer, stack );
if (ret) {
fusion_skirmish_dismiss( &shared->lock );
return ret;
@@ -304,7 +305,7 @@ dfb_layer_get_primary_context( CoreLayer *layer,
fusion_skirmish_dismiss( &shared->lock );
/* Create the primary (shared) context. */
- ret = dfb_layer_create_context( layer, &primary );
+ ret = dfb_layer_create_context( layer, true, &primary );
if (ret)
return ret;
diff --git a/src/core/layer_control.h b/src/core/layer_control.h
index 51b7ae2..e4e198f 100644
--- a/src/core/layer_control.h
+++ b/src/core/layer_control.h
@@ -35,6 +35,7 @@
DFBResult dfb_layer_create_context ( CoreLayer *layer,
+ bool stack,
CoreLayerContext **ret_context );
DFBResult dfb_layer_get_active_context ( CoreLayer *layer,
diff --git a/src/core/layer_region.c b/src/core/layer_region.c
index 3e5f694..63c222c 100644
--- a/src/core/layer_region.c
+++ b/src/core/layer_region.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -47,12 +47,17 @@
#include <core/layers_internal.h>
#include <core/surface.h>
+#include <core/CoreLayerRegion.h>
+
#include <gfx/util.h>
D_DEBUG_DOMAIN( Core_Layers, "Core/Layers", "DirectFB Display Layer Core" );
+static DFBResult region_buffer_unlock( CoreLayerRegion *region,
+ bool unlockSurface );
+
static DFBResult region_buffer_lock( CoreLayerRegion *region,
CoreSurface *surface,
CoreSurfaceBufferRole role );
@@ -113,6 +118,8 @@ region_destructor( FusionObject *object, bool zombie, void *ctx )
if (region->region_data)
SHFREE( shared->shmpool, region->region_data );
+ CoreLayerRegion_Deinit_Dispatch( ®ion->call );
+
/* Deinitialize the lock. */
fusion_skirmish_destroy( ®ion->lock );
@@ -138,6 +145,7 @@ dfb_layer_region_create( CoreLayerContext *context,
CoreLayerRegion **ret_region )
{
CoreLayer *layer;
+ CoreLayerShared *shared;
CoreLayerRegion *region;
D_ASSERT( context != NULL );
@@ -145,6 +153,9 @@ dfb_layer_region_create( CoreLayerContext *context,
layer = dfb_layer_at( context->layer_id );
+ shared = layer->shared;
+ D_ASSERT( shared != NULL );
+
/* Create the object. */
region = dfb_core_create_layer_region( layer->core );
if (!region)
@@ -168,6 +179,13 @@ dfb_layer_region_create( CoreLayerContext *context,
region->state = CLRSF_FROZEN;
+ if (shared->description.surface_accessor)
+ region->surface_accessor = shared->description.surface_accessor;
+ else
+ region->surface_accessor = CSAID_LAYER0 + context->layer_id;
+
+ CoreLayerRegion_Init_Dispatch( layer->core, region, ®ion->call );
+
/* Activate the object. */
fusion_object_activate( ®ion->object );
@@ -509,7 +527,8 @@ dfb_layer_region_flip_update( CoreLayerRegion *region,
region->region_data,
surface, flags, ®ion->surface_lock );
- dfb_surface_unlock( surface );
+ /* Unlock region buffer since the lock is no longer needed. */
+ region_buffer_unlock(region, true);
}
else {
D_DEBUG_AT( Core_Layers, " -> Flipping region not using driver...\n" );
@@ -549,6 +568,10 @@ dfb_layer_region_flip_update( CoreLayerRegion *region,
case DLBM_FRONTONLY:
/* Tell the driver about the update if the region is realized. */
if (funcs->UpdateRegion && D_FLAGS_IS_SET( region->state, CLRSF_REALIZED )) {
+
+ /* Lock region buffer before it is used. */
+ region_buffer_lock( region, surface, CSBR_FRONT );
+
if (surface) {
CoreSurfaceAllocation *allocation;
@@ -585,6 +608,9 @@ dfb_layer_region_flip_update( CoreLayerRegion *region,
layer->layer_data,
region->region_data,
surface, &rotated, ®ion->surface_lock );
+
+ /* Unlock region buffer since the lock is no longer needed. */
+ region_buffer_unlock(region, true);
}
break;
@@ -814,6 +840,9 @@ _dfb_layer_region_surface_listener( const void *msg_data, void *ctx )
return RS_REMOVE;
}
+ if (flags & CSNF_DISPLAY)
+ return RS_OK;
+
if (dfb_layer_region_lock( region ))
return RS_OK;
@@ -821,12 +850,20 @@ _dfb_layer_region_surface_listener( const void *msg_data, void *ctx )
!D_FLAGS_IS_SET( region->state, CLRSF_FROZEN ))
{
if (D_FLAGS_IS_SET( flags, CSNF_PALETTE_CHANGE | CSNF_PALETTE_UPDATE )) {
- if (surface->palette)
+ if (surface->palette) {
+ /* Lock region buffer before it is used. */
+ region_buffer_lock( region, surface, CSBR_BACK );
+ D_ASSERT(region->surface_lock.buffer != NULL);
+
funcs->SetRegion( layer,
layer->driver_data, layer->layer_data,
region->region_data, ®ion->config,
CLRCF_PALETTE, surface, surface->palette,
®ion->surface_lock );
+
+ /* Unlock region buffer since the lock is no longer needed. */
+ region_buffer_unlock(region, true);
+ }
}
if ((flags & CSNF_FIELD) && funcs->SetInputField)
@@ -840,11 +877,18 @@ _dfb_layer_region_surface_listener( const void *msg_data, void *ctx )
region->config.alpha_ramp[2] = surface->alpha_ramp[2];
region->config.alpha_ramp[3] = surface->alpha_ramp[3];
+ /* Lock region buffer before it is used. */
+ region_buffer_lock( region, surface, CSBR_BACK );
+ D_ASSERT(region->surface_lock.buffer != NULL);
+
funcs->SetRegion( layer,
layer->driver_data, layer->layer_data,
region->region_data, ®ion->config,
CLRCF_ALPHA_RAMP, surface, surface->palette,
®ion->surface_lock );
+
+ /* Unlock region buffer since the lock is no longer needed. */
+ region_buffer_unlock(region, true);
}
}
@@ -854,13 +898,42 @@ _dfb_layer_region_surface_listener( const void *msg_data, void *ctx )
}
/******************************************************************************/
+/*
+ * This function was added to avoid locking the region buffer for the lifetime
+ * of the display layer and it now only needs to be locked whenever needed.
+ * This allows more than a single process to lock the region context and
+ * prevents them from deadlocking.
+ */
+static DFBResult
+region_buffer_unlock( CoreLayerRegion *region,
+ bool unlockSurface)
+{
+ DFBResult ret = DFB_OK;
+
+ D_ASSERT(region != NULL);
+
+ /* Unlock any previously locked buffer. */
+ if (region->surface_lock.buffer) {
+ D_MAGIC_ASSERT( region->surface_lock.buffer, CoreSurfaceBuffer );
+
+ ret = dfb_surface_unlock_buffer( region->surface_lock.buffer->surface, ®ion->surface_lock );
+ }
+
+ /* Unlock the surface Fusion skirmish. */
+ if (unlockSurface) {
+ if (dfb_surface_unlock( region->surface ))
+ return DFB_FUSION;
+ }
+
+ return ret;
+}
static DFBResult
region_buffer_lock( CoreLayerRegion *region,
CoreSurface *surface,
CoreSurfaceBufferRole role )
{
- DFBResult ret;
+ DFBResult ret = DFB_OK;
CoreSurfaceBuffer *buffer;
CoreSurfaceAllocation *allocation;
CoreLayerContext *context;
@@ -875,7 +948,9 @@ region_buffer_lock( CoreLayerRegion *region,
if (region->surface_lock.buffer) {
D_MAGIC_ASSERT( region->surface_lock.buffer, CoreSurfaceBuffer );
- dfb_surface_unlock_buffer( region->surface_lock.buffer->surface, ®ion->surface_lock );
+ ret = dfb_surface_unlock_buffer( region->surface_lock.buffer->surface, ®ion->surface_lock );
+ if (ret != DFB_OK)
+ return ret;
}
if (dfb_surface_lock( surface ))
@@ -885,7 +960,7 @@ region_buffer_lock( CoreLayerRegion *region,
D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
/* Lock the surface buffer. */
- ret = dfb_surface_buffer_lock( buffer, CSAID_LAYER0 + context->layer_id, CSAF_READ, ®ion->surface_lock );
+ ret = dfb_surface_buffer_lock( buffer, region->surface_accessor, CSAF_READ, ®ion->surface_lock );
if (ret) {
D_DERROR( ret, "Core/LayerRegion: Could not lock region surface for SetRegion()!\n" );
dfb_surface_unlock( surface );
@@ -907,7 +982,7 @@ region_buffer_lock( CoreLayerRegion *region,
/* surface is unlocked by caller */
- return DFB_OK;
+ return ret;
}
static DFBResult
@@ -950,7 +1025,8 @@ set_region( CoreLayerRegion *region,
funcs = layer->funcs;
if (surface) {
- if (flags & (CLRCF_SURFACE | CLRCF_WIDTH | CLRCF_HEIGHT | CLRCF_FORMAT)) {
+ if (flags & (CLRCF_SURFACE | CLRCF_WIDTH | CLRCF_HEIGHT | CLRCF_FORMAT | CLRCF_SRCKEY |
+ CLRCF_DSTKEY | CLRCF_OPACITY | CLRCF_SOURCE | CLRCF_DEST)) {
ret = region_buffer_lock( region, surface, CSBR_FRONT );
if (ret)
return ret;
@@ -958,7 +1034,7 @@ set_region( CoreLayerRegion *region,
dfb_surface_unlock( surface );
}
- D_ASSERT( region->surface_lock.buffer != NULL );
+ /* The buffer is often NULL since the region is no longer kept locked. */
}
else if (region->surface_lock.buffer) {
D_MAGIC_ASSERT( region->surface_lock.buffer, CoreSurfaceBuffer );
@@ -969,9 +1045,14 @@ set_region( CoreLayerRegion *region,
D_DEBUG_AT( Core_Layers, " => setting region of '%s'\n", shared->description.name );
/* Setup hardware. */
- return funcs->SetRegion( layer, layer->driver_data, layer->layer_data,
+ ret = funcs->SetRegion( layer, layer->driver_data, layer->layer_data,
region->region_data, config, flags,
surface, surface ? surface->palette : NULL, ®ion->surface_lock );
+
+ /* Unlock the region buffer since the lock is no longer necessary. */
+ region_buffer_unlock(region, false);
+
+ return ret;
}
static DFBResult
@@ -1114,10 +1195,13 @@ unrealize_region( CoreLayerRegion *region )
D_FLAGS_CLEAR( region->state, CLRSF_REALIZED );
D_FLAGS_SET( region->state, CLRSF_FROZEN );
- if (region->surface && region->surface_lock.buffer) {
+ /* Unlock the region buffer if it is locked. */
+ if (region->surface && region->surface_lock.buffer)
dfb_surface_unlock_buffer( region->surface, ®ion->surface_lock );
- dfb_surface_destroy_buffers( region->surface );
- }
+
+ /* Destroy the surface region if it exists. */
+ if (region->surface && !region->config.keep_buffers)
+ dfb_surface_deallocate_buffers( region->surface );
return DFB_OK;
}
diff --git a/src/core/layers.c b/src/core/layers.c
index 19bc8bb..5bfb14a 100644
--- a/src/core/layers.c
+++ b/src/core/layers.c
@@ -44,6 +44,8 @@
#include <fusion/arena.h>
#include <fusion/property.h>
+#include <core/CoreLayer.h>
+
#include <core/core.h>
#include <core/coredefs.h>
#include <core/coretypes.h>
@@ -211,6 +213,10 @@ dfb_layer_core_initialize( CoreDFB *core,
layer->shared = lshared;
layer->core = core;
+ CoreLayer_Init_Dispatch( core, layer, &lshared->call );
+
+ fusion_call_add_permissions( &lshared->call, 0, FUSION_CALL_PERMIT_EXECUTE );
+
/* Add the layer to the shared list. */
shared->layers[ shared->num++ ] = lshared;
}
@@ -312,6 +318,8 @@ dfb_layer_core_shutdown( DFBLayerCore *data,
"Failed to shutdown layer %d!\n", shared->layer_id );
}
+ CoreLayer_Deinit_Dispatch( &shared->call );
+
/* Deinitialize the lock. */
fusion_skirmish_destroy( &shared->lock );
@@ -622,29 +630,35 @@ dfb_layer_id_translated( const CoreLayer *layer )
return shared->layer_id;
}
+DFBDisplayLayerID
+dfb_layer_id_translate( DFBDisplayLayerID layer_id )
+{
+ D_ASSERT( dfb_config != NULL );
+
+ if (dfb_config->primary_layer > 0 &&
+ dfb_config->primary_layer < dfb_num_layers)
+ {
+ if (layer_id == DLID_PRIMARY)
+ return dfb_config->primary_layer;
+
+ if (layer_id == dfb_config->primary_layer)
+ return DLID_PRIMARY;
+ }
+
+ return layer_id;
+}
+
DFBSurfacePixelFormat
dfb_primary_layer_pixelformat( void )
{
- CoreLayerShared *shared;
- CoreLayerContext *context;
- CoreLayer *layer = dfb_layer_at_translated(DLID_PRIMARY);
- DFBSurfacePixelFormat format = DSPF_UNKNOWN;
+ CoreLayerShared *shared;
+ CoreLayer *layer = dfb_layer_at_translated(DLID_PRIMARY);
D_ASSERT( layer != NULL );
- D_ASSERT( layer->shared != NULL );
shared = layer->shared;
+ D_ASSERT( shared != NULL );
- /* If no context is active, return the default format. */
- if (dfb_layer_get_active_context( layer, &context ) != DFB_OK)
- return shared->default_config.pixelformat;
-
- /* Use the format from the current configuration. */
- format = context->config.pixelformat;
-
- /* Decrease the context's reference counter. */
- dfb_layer_context_unref( context );
-
- return format;
+ return shared->pixelformat;
}
diff --git a/src/core/layers.h b/src/core/layers.h
index 6832f81..e2b1b5f 100644
--- a/src/core/layers.h
+++ b/src/core/layers.h
@@ -63,6 +63,8 @@ struct __DFB_CoreLayerRegionConfig {
DFBRegion *clips; /* clip regions */
int num_clips; /* number of clip regions */
DFBBoolean positive; /* show or cut out regions */
+
+ bool keep_buffers;
};
#if D_DEBUG_ENABLED
@@ -362,6 +364,8 @@ DFBDisplayLayerID dfb_layer_id( const CoreLayer *layer );
DFBDisplayLayerID dfb_layer_id_translated( const CoreLayer *layer );
+DFBDisplayLayerID dfb_layer_id_translate( DFBDisplayLayerID layer_id );
+
DFBSurfacePixelFormat dfb_primary_layer_pixelformat( void );
#endif
diff --git a/src/core/layers_internal.h b/src/core/layers_internal.h
index c546a33..0d3a795 100644
--- a/src/core/layers_internal.h
+++ b/src/core/layers_internal.h
@@ -74,6 +74,10 @@ typedef struct {
FusionVector added_regions;
FusionSHMPoolShared *shmpool;
+
+ FusionCall call;
+
+ DFBSurfacePixelFormat pixelformat;
} CoreLayerShared;
struct __DFB_CoreLayer {
@@ -138,6 +142,8 @@ struct __DFB_CoreLayerContext {
its own pixel buffer. */
FusionSHMPoolShared *shmpool;
+
+ FusionCall call;
};
typedef enum {
@@ -169,6 +175,10 @@ struct __DFB_CoreLayerRegion {
GlobalReaction surface_reaction;
void *region_data;
+
+ CoreSurfaceAccessorID surface_accessor;
+
+ FusionCall call;
};
diff --git a/src/core/local_surface_pool.c b/src/core/local_surface_pool.c
index 8da06de..04c4c10 100644
--- a/src/core/local_surface_pool.c
+++ b/src/core/local_surface_pool.c
@@ -31,8 +31,6 @@
#include <direct/debug.h>
#include <direct/mem.h>
-#include <fusion/fusion.h>
-
#include <core/core.h>
#include <core/surface_pool.h>
@@ -43,7 +41,6 @@ typedef struct {
} LocalPoolData;
typedef struct {
- FusionCall call;
} LocalPoolLocalData;
typedef struct {
@@ -52,30 +49,10 @@ typedef struct {
void *addr;
int pitch;
int size;
-
- FusionCall call;
- FusionID fid;
} LocalAllocationData;
/**********************************************************************************************************************/
-static FusionCallHandlerResult
-local_surface_pool_call_handler( int caller,
- int call_arg,
- void *call_ptr,
- void *ctx,
- unsigned int serial,
- int *ret_val )
-{
- D_FREE( call_ptr );
-
- *ret_val = 0;
-
- return FCHR_RETURN;
-}
-
-/**********************************************************************************************************************/
-
static int
localPoolDataSize( void )
{
@@ -102,21 +79,16 @@ localInitPool( CoreDFB *core,
void *system_data,
CoreSurfacePoolDescription *ret_desc )
{
- LocalPoolLocalData *local = pool_local;
-
D_MAGIC_ASSERT( pool, CoreSurfacePool );
- D_ASSERT( pool_local != NULL );
D_ASSERT( ret_desc != NULL );
- ret_desc->caps = CSPCAPS_NONE;
- ret_desc->access[CSAID_CPU] = CSAF_READ | CSAF_WRITE;
- ret_desc->types = CSTF_FONT | CSTF_INTERNAL;
- ret_desc->priority = CSPP_PREFERED;
+ ret_desc->caps = CSPCAPS_VIRTUAL;
+ ret_desc->access[CSAID_CPU] = CSAF_READ | CSAF_WRITE | CSAF_SHARED;
+ ret_desc->types = CSTF_LAYER | CSTF_WINDOW | CSTF_CURSOR | CSTF_FONT | CSTF_SHARED | CSTF_INTERNAL;
+ ret_desc->priority = CSPP_DEFAULT;
snprintf( ret_desc->name, DFB_SURFACE_POOL_DESC_NAME_LENGTH, "System Memory" );
- fusion_call_init( &local->call, local_surface_pool_call_handler, local, dfb_core_world(core) );
-
return DFB_OK;
}
@@ -127,12 +99,9 @@ localJoinPool( CoreDFB *core,
void *pool_local,
void *system_data )
{
- LocalPoolLocalData *local = pool_local;
-
D_MAGIC_ASSERT( pool, CoreSurfacePool );
- D_ASSERT( pool_local != NULL );
- return fusion_call_init( &local->call, local_surface_pool_call_handler, local, dfb_core_world(core) );
+ return DFB_OK;
}
static DFBResult
@@ -140,28 +109,9 @@ localDestroyPool( CoreSurfacePool *pool,
void *pool_data,
void *pool_local )
{
- CoreSurfaceAllocation *allocation;
- LocalPoolLocalData *local = pool_local;
- LocalAllocationData *data;
- FusionID fid;
-
- DFBResult res;
- int i;
-
D_MAGIC_ASSERT( pool, CoreSurfacePool );
- D_ASSERT( pool_local != NULL );
- res = fusion_call_destroy( &local->call );
- fid = fusion_id( dfb_core_world(NULL) );
-
- /* remove the local allocations */
- fusion_vector_foreach (allocation, i, pool->allocs) {
- data = allocation->data;
- if( data->fid == fid )
- D_FREE( data->addr );
- }
-
- return res;
+ return DFB_OK;
}
static DFBResult
@@ -169,28 +119,9 @@ localLeavePool( CoreSurfacePool *pool,
void *pool_data,
void *pool_local )
{
- CoreSurfaceAllocation *allocation;
- LocalPoolLocalData *local = pool_local;
- LocalAllocationData *data;
- FusionID fid;
-
- DFBResult res;
- int i;
-
D_MAGIC_ASSERT( pool, CoreSurfacePool );
- D_ASSERT( pool_local != NULL );
-
- res = fusion_call_destroy( &local->call );
- fid = fusion_id( dfb_core_world(NULL) );
-
- /* remove the local allocations */
- fusion_vector_foreach (allocation, i, pool->allocs) {
- data = allocation->data;
- if( data->fid == fid )
- D_FREE( data->addr );
- }
- return res;
+ return DFB_OK;
}
static DFBResult
@@ -202,7 +133,6 @@ localAllocateBuffer( CoreSurfacePool *pool,
void *alloc_data )
{
CoreSurface *surface;
- LocalPoolLocalData *local = pool_local;
LocalAllocationData *alloc = alloc_data;
D_MAGIC_ASSERT( pool, CoreSurfacePool );
@@ -218,9 +148,6 @@ localAllocateBuffer( CoreSurfacePool *pool,
if (!alloc->addr)
return D_OOM();
- alloc->call = local->call;
- alloc->fid = fusion_id( dfb_core_world(NULL) );
-
D_MAGIC_SET( alloc, LocalAllocationData );
allocation->flags = CSALF_VOLATILE;
@@ -237,16 +164,12 @@ localDeallocateBuffer( CoreSurfacePool *pool,
CoreSurfaceAllocation *allocation,
void *alloc_data )
{
- DFBResult ret;
LocalAllocationData *alloc = alloc_data;
D_MAGIC_ASSERT( pool, CoreSurfacePool );
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
D_MAGIC_ASSERT( alloc, LocalAllocationData );
- ret = fusion_call_execute( &alloc->call, FCEF_ONEWAY, 0, alloc->addr, NULL );
-// if (ret)
-// D_DERROR( ret, "SurfPool/Local: Could not call buffer owner to free it there!\n" );
+ D_FREE( alloc->addr );
D_MAGIC_CLEAR( alloc );
diff --git a/src/core/palette.c b/src/core/palette.c
index 3d66a54..291b4ac 100644
--- a/src/core/palette.c
+++ b/src/core/palette.c
@@ -35,6 +35,8 @@
#include <core/coredefs.h>
#include <core/coretypes.h>
+#include <core/CorePalette.h>
+
#include <core/core.h>
#include <core/surface.h>
#include <core/gfxcard.h>
@@ -77,14 +79,14 @@ static void palette_destructor( FusionObject *object, bool zombie, void *ctx )
dfb_palette_dispatch( palette, ¬ification, dfb_palette_globals );
- if (palette->hash_attached) {
- dfb_colorhash_invalidate( NULL, palette );
- dfb_colorhash_detach( NULL, palette );
- }
+ // FIXME-SECUREFUSION: invalidate in other processes as well
+ dfb_colorhash_invalidate( NULL, palette );
SHFREE( palette->shmpool, palette->entries_yuv );
SHFREE( palette->shmpool, palette->entries );
+ CorePalette_Deinit_Dispatch( &palette->call );
+
D_MAGIC_CLEAR( palette );
fusion_object_destroy( object );
@@ -139,8 +141,12 @@ dfb_palette_create( CoreDFB *core,
palette->num_entries = size;
+#if 0 //FIXME-SECUREFUSION
/* reset cache */
palette->search_cache.index = -1;
+#endif
+
+ CorePalette_Init_Dispatch( core, palette, &palette->call );
D_MAGIC_SET( palette, CorePalette );
@@ -159,6 +165,7 @@ void
dfb_palette_generate_rgb332_map( CorePalette *palette )
{
unsigned int i;
+ DFBColor entries[256];
D_DEBUG_AT( Core_Palette, "%s( %p )\n", __FUNCTION__, palette );
@@ -168,24 +175,20 @@ dfb_palette_generate_rgb332_map( CorePalette *palette )
return;
for (i=0; i<palette->num_entries; i++) {
- palette->entries[i].a = i ? 0xff : 0x00;
- palette->entries[i].r = lookup3to8[ (i & 0xE0) >> 5 ];
- palette->entries[i].g = lookup3to8[ (i & 0x1C) >> 2 ];
- palette->entries[i].b = lookup2to8[ (i & 0x03) ];
-
- palette->entries_yuv[i].a = palette->entries[i].a;
-
- RGB_TO_YCBCR( palette->entries[i].r, palette->entries[i].g, palette->entries[i].b,
- palette->entries_yuv[i].y, palette->entries_yuv[i].u, palette->entries_yuv[i].v );
+ entries[i].a = i ? 0xff : 0x00;
+ entries[i].r = lookup3to8[ (i & 0xE0) >> 5 ];
+ entries[i].g = lookup3to8[ (i & 0x1C) >> 2 ];
+ entries[i].b = lookup2to8[ (i & 0x03) ];
}
- dfb_palette_update( palette, 0, palette->num_entries - 1 );
+ CorePalette_SetEntries( palette, entries, palette->num_entries, 0 );
}
void
dfb_palette_generate_rgb121_map( CorePalette *palette )
{
unsigned int i;
+ DFBColor entries[256];
D_DEBUG_AT( Core_Palette, "%s( %p )\n", __FUNCTION__, palette );
@@ -195,18 +198,13 @@ dfb_palette_generate_rgb121_map( CorePalette *palette )
return;
for (i=0; i<palette->num_entries; i++) {
- palette->entries[i].a = i ? 0xff : 0x00;
- palette->entries[i].r = (i & 0x8) ? 0xff : 0x00;
- palette->entries[i].g = lookup2to8[ (i & 0x6) >> 1 ];
- palette->entries[i].b = (i & 0x1) ? 0xff : 0x00;
-
- palette->entries_yuv[i].a = palette->entries[i].a;
-
- RGB_TO_YCBCR( palette->entries[i].r, palette->entries[i].g, palette->entries[i].b,
- palette->entries_yuv[i].y, palette->entries_yuv[i].u, palette->entries_yuv[i].v );
+ entries[i].a = i ? 0xff : 0x00;
+ entries[i].r = (i & 0x8) ? 0xff : 0x00;
+ entries[i].g = lookup2to8[ (i & 0x6) >> 1 ];
+ entries[i].b = (i & 0x1) ? 0xff : 0x00;
}
- dfb_palette_update( palette, 0, palette->num_entries - 1 );
+ CorePalette_SetEntries( palette, entries, palette->num_entries, 0 );
}
unsigned int
@@ -220,6 +218,7 @@ dfb_palette_search( CorePalette *palette,
D_MAGIC_ASSERT( palette, CorePalette );
+#if 0 //FIXME-SECUREFUSION
/* check local cache first */
if (palette->search_cache.index != -1 &&
palette->search_cache.color.a == a &&
@@ -227,21 +226,18 @@ dfb_palette_search( CorePalette *palette,
palette->search_cache.color.g == g &&
palette->search_cache.color.b == b)
return palette->search_cache.index;
-
- /* check the global color hash table, returns the closest match */
- if (!palette->hash_attached) {
- dfb_colorhash_attach( NULL, palette );
- palette->hash_attached = true;
- }
+#endif
index = dfb_colorhash_lookup( NULL, palette, r, g, b, a );
+#if 0 //FIXME-SECUREFUSION
/* write into local cache */
palette->search_cache.index = index;
palette->search_cache.color.a = a;
palette->search_cache.color.r = r;
palette->search_cache.color.g = g;
palette->search_cache.color.b = b;
+#endif
return index;
}
@@ -265,14 +261,16 @@ dfb_palette_update( CorePalette *palette, int first, int last )
notification.first = first;
notification.last = last;
+#if 0 //FIXME-SECUREFUSION
/* reset cache */
if (palette->search_cache.index >= first &&
palette->search_cache.index <= last)
palette->search_cache.index = -1;
+#endif
/* invalidate entries in colorhash */
- if (palette->hash_attached)
- dfb_colorhash_invalidate( NULL, palette );
+ // FIXME-SECUREFUSION: invalidate in other processes as well
+ dfb_colorhash_invalidate( NULL, palette );
/* post message about palette update */
dfb_palette_dispatch( palette, ¬ification, dfb_palette_globals );
diff --git a/src/core/palette.h b/src/core/palette.h
index 10886be..a393f7d 100644
--- a/src/core/palette.h
+++ b/src/core/palette.h
@@ -44,11 +44,13 @@ struct _CorePalette {
struct {
int index;
DFBColor color;
- } search_cache;
+ } __obsolete__search_cache;
- bool hash_attached;
+ bool __obsolete__hash_attached;
FusionSHMPoolShared *shmpool;
+
+ FusionCall call;
};
typedef enum {
diff --git a/src/core/prealloc_surface_pool.c b/src/core/prealloc_surface_pool.c
index f7d9051..c5917a2 100644
--- a/src/core/prealloc_surface_pool.c
+++ b/src/core/prealloc_surface_pool.c
@@ -42,6 +42,8 @@ typedef struct {
int pitch;
} PreallocAllocationData;
+D_DEBUG_DOMAIN( Core_PreAlloc, "Core/PreAlloc", "Core PreAlloc Surface Pool" );
+
/**********************************************************************************************************************/
static int
@@ -58,6 +60,8 @@ preallocInitPool( CoreDFB *core,
void *system_data,
CoreSurfacePoolDescription *ret_desc )
{
+ D_DEBUG_AT( Core_PreAlloc, "%s()\n", __FUNCTION__ );
+
D_MAGIC_ASSERT( pool, CoreSurfacePool );
D_ASSERT( ret_desc != NULL );
@@ -78,10 +82,47 @@ preallocTestConfig( CoreSurfacePool *pool,
CoreSurfaceBuffer *buffer,
const CoreSurfaceConfig *config )
{
+ D_DEBUG_AT( Core_PreAlloc, "%s()\n", __FUNCTION__ );
+
D_MAGIC_ASSERT( pool, CoreSurfacePool );
D_ASSERT( config != NULL );
- return (config->flags & CSCONF_PREALLOCATED) ? DFB_OK : DFB_UNSUPPORTED;
+ if (!(config->flags & CSCONF_PREALLOCATED))
+ return DFB_UNSUPPORTED;
+
+ if (Core_GetIdentity() != buffer->surface->object.identity)
+ return DFB_UNSUPPORTED;
+
+ return DFB_OK;
+}
+
+static DFBResult
+preallocPrealloc( CoreSurfacePool *pool,
+ void *pool_data,
+ void *pool_local,
+ const DFBSurfaceDescription *description,
+ CoreSurfaceConfig *config )
+{
+ unsigned int i, num = 1;
+
+ D_DEBUG_AT( Core_PreAlloc, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( pool, CoreSurfacePool );
+
+ if (config->caps & DSCAPS_VIDEOONLY)
+ return DFB_UNSUPPORTED;
+
+ if (config->caps & DSCAPS_DOUBLE)
+ num = 2;
+ else if (config->caps & DSCAPS_TRIPLE)
+ num = 3;
+
+ for (i=0; i<num; i++) {
+ config->preallocated[i].addr = description->preallocated[i].data;
+ config->preallocated[i].pitch = description->preallocated[i].pitch;
+ }
+
+ return DFB_OK;
}
static DFBResult
@@ -94,7 +135,10 @@ preallocAllocateBuffer( CoreSurfacePool *pool,
{
int index;
CoreSurface *surface;
- PreallocAllocationData *alloc = alloc_data;
+ PreallocAllocationData *alloc = alloc_data;
+ FusionID identity = Core_GetIdentity();
+
+ D_DEBUG_AT( Core_PreAlloc, "%s()\n", __FUNCTION__ );
D_MAGIC_ASSERT( pool, CoreSurfacePool );
D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
@@ -102,26 +146,28 @@ preallocAllocateBuffer( CoreSurfacePool *pool,
surface = buffer->surface;
D_MAGIC_ASSERT( surface, CoreSurface );
- for (index=0; index<MAX_SURFACE_BUFFERS; index++) {
- if (surface->buffers[index] == buffer)
- break;
- }
-
- if (index == MAX_SURFACE_BUFFERS)
- return DFB_BUG;
+ D_DEBUG_AT( Core_PreAlloc, " -> surface identity %lu\n", surface->object.identity );
+ D_DEBUG_AT( Core_PreAlloc, " -> core identity %lu\n", identity );
if (!(surface->config.flags & CSCONF_PREALLOCATED))
return DFB_BUG;
+ if (identity != surface->object.identity) {
+ D_ERROR( "DirectFB/PreAlloc: Cannot allocate buffer for other (%lu) than creator (%lu)!\n", identity, surface->object.identity );
+ return DFB_ACCESSDENIED;
+ }
+
+ index = dfb_surface_buffer_index( buffer );
+
if (!surface->config.preallocated[index].addr ||
surface->config.preallocated[index].pitch < DFB_BYTES_PER_LINE(surface->config.format,
surface->config.size.w))
- return DFB_INVARG;
+ return DFB_BUG;
alloc->addr = surface->config.preallocated[index].addr;
alloc->pitch = surface->config.preallocated[index].pitch;
- allocation->flags = CSALF_PREALLOCATED | CSALF_VOLATILE;
+ allocation->flags = CSALF_PREALLOCATED;
allocation->size = surface->config.preallocated[index].pitch *
DFB_PLANE_MULTIPLY( surface->config.format, surface->config.size.h );
@@ -136,6 +182,8 @@ preallocDeallocateBuffer( CoreSurfacePool *pool,
CoreSurfaceAllocation *allocation,
void *alloc_data )
{
+ D_DEBUG_AT( Core_PreAlloc, "%s()\n", __FUNCTION__ );
+
D_MAGIC_ASSERT( pool, CoreSurfacePool );
D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
@@ -150,12 +198,24 @@ preallocLock( CoreSurfacePool *pool,
void *alloc_data,
CoreSurfaceBufferLock *lock )
{
- PreallocAllocationData *alloc = alloc_data;
+ CoreSurface *surface;
+ PreallocAllocationData *alloc = alloc_data;
+ FusionID identity = Core_GetIdentity();
+
+ D_DEBUG_AT( Core_PreAlloc, "%s()\n", __FUNCTION__ );
D_MAGIC_ASSERT( pool, CoreSurfacePool );
D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
D_MAGIC_ASSERT( lock, CoreSurfaceBufferLock );
+ surface = allocation->surface;
+ D_MAGIC_ASSERT( surface, CoreSurface );
+
+ if (identity != surface->object.identity) {
+ D_ERROR( "DirectFB/PreAlloc: Cannot lock buffer by other (%lu) than creator (%lu)!\n", identity, surface->object.identity );
+ return DFB_ACCESSDENIED;
+ }
+
lock->addr = alloc->addr;
lock->pitch = alloc->pitch;
@@ -170,6 +230,8 @@ preallocUnlock( CoreSurfacePool *pool,
void *alloc_data,
CoreSurfaceBufferLock *lock )
{
+ D_DEBUG_AT( Core_PreAlloc, "%s()\n", __FUNCTION__ );
+
D_MAGIC_ASSERT( pool, CoreSurfacePool );
D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
D_MAGIC_ASSERT( lock, CoreSurfaceBufferLock );
@@ -183,6 +245,7 @@ const SurfacePoolFuncs preallocSurfacePoolFuncs = {
.TestConfig = preallocTestConfig,
+ .PreAlloc = preallocPrealloc,
.AllocateBuffer = preallocAllocateBuffer,
.DeallocateBuffer = preallocDeallocateBuffer,
diff --git a/src/core/prealloc_surface_pool_bridge.c b/src/core/prealloc_surface_pool_bridge.c
new file mode 100644
index 0000000..485e14e
--- /dev/null
+++ b/src/core/prealloc_surface_pool_bridge.c
@@ -0,0 +1,395 @@
+/*
+ (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+//#define DIRECT_ENABLE_DEBUG
+
+#include <config.h>
+
+#include <alloca.h>
+
+#include <direct/debug.h>
+#include <direct/hash.h>
+#include <direct/mem.h>
+
+#include <core/CoreSlave.h>
+
+#include <core/core.h>
+
+#include <core/surface_core.h>
+#include <core/surface_pool.h>
+
+#include <core/surface_pool_bridge.h>
+
+D_DEBUG_DOMAIN( PreAlloc_Bridge, "Core/PreAlloc/Bridge", "PreAlloc Surface Pool Bridge" );
+
+/**********************************************************************************************************************/
+
+typedef struct {
+ CoreSurfacePool *shared_pool;
+ CoreSurfacePool *prealloc_pool;
+} preallocPoolBridgeData;
+
+typedef struct {
+} preallocPoolBridgeLocalData;
+
+typedef struct {
+} preallocPoolTransferData;
+
+/**********************************************************************************************************************/
+
+static int
+preallocPoolBridgeDataSize( void )
+{
+ return sizeof(preallocPoolBridgeData);
+}
+
+static int
+preallocPoolBridgeLocalDataSize( void )
+{
+ return sizeof(preallocPoolBridgeLocalData);
+}
+
+static int
+preallocPoolTransferDataSize( void )
+{
+ return sizeof(preallocPoolTransferData);
+}
+
+static DFBResult
+preallocInitPoolBridge( CoreDFB *core,
+ CoreSurfacePoolBridge *bridge,
+ void *bridge_data,
+ void *bridge_local,
+ void *context,
+ CoreSurfacePoolBridgeDescription *ret_desc )
+{
+ preallocPoolBridgeData *data = bridge_data;
+ DFBSurfaceCore *sc = context;
+
+ D_DEBUG_AT( PreAlloc_Bridge, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( bridge, CoreSurfacePoolBridge );
+ D_ASSERT( bridge_data != NULL );
+ D_ASSERT( context != NULL );
+ D_ASSERT( ret_desc != NULL );
+
+ ret_desc->caps = CSPBCAPS_NONE;
+
+ snprintf( ret_desc->name, DFB_SURFACE_POOL_BRIDGE_DESC_NAME_LENGTH, "PreAlloc Pool Bridge" );
+
+ data->shared_pool = sc->shared->surface_pool;
+ data->prealloc_pool = sc->shared->prealloc_pool;
+
+ return DFB_OK;
+}
+
+static DFBResult
+preallocJoinPoolBridge( CoreDFB *core,
+ CoreSurfacePoolBridge *bridge,
+ void *bridge_data,
+ void *bridge_local,
+ void *context )
+{
+ D_DEBUG_AT( PreAlloc_Bridge, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( bridge, CoreSurfacePoolBridge );
+ D_ASSERT( bridge_data != NULL );
+ D_ASSERT( context != NULL );
+
+ return DFB_OK;
+}
+
+static DFBResult
+preallocDestroyPoolBridge( CoreSurfacePoolBridge *bridge,
+ void *bridge_data,
+ void *bridge_local )
+{
+ D_DEBUG_AT( PreAlloc_Bridge, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( bridge, CoreSurfacePoolBridge );
+
+ return DFB_OK;
+}
+
+static DFBResult
+preallocLeavePoolBridge( CoreSurfacePoolBridge *bridge,
+ void *bridge_data,
+ void *bridge_local )
+{
+ D_DEBUG_AT( PreAlloc_Bridge, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( bridge, CoreSurfacePoolBridge );
+
+ return DFB_OK;
+}
+
+static DFBResult
+preallocCheckTransfer( CoreSurfacePoolBridge *bridge,
+ void *bridge_data,
+ void *bridge_local,
+ CoreSurfaceBuffer *buffer,
+ CoreSurfaceAllocation *from,
+ CoreSurfaceAllocation *to )
+{
+ preallocPoolBridgeData *data = bridge_data;
+
+ D_DEBUG_AT( PreAlloc_Bridge, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( bridge_data != NULL );
+
+ if (!Core_Resource_GetSlave( buffer->surface->object.identity )) {
+ D_DEBUG_AT( PreAlloc_Bridge, " -> no slave\n" );
+
+ return DFB_NOIMPL;
+ }
+
+ if (from->pool == data->prealloc_pool) {
+ D_DEBUG_AT( PreAlloc_Bridge, " -> from preallocated\n" );
+
+ return DFB_OK;
+ }
+
+ if (to->pool == data->prealloc_pool) {
+ D_DEBUG_AT( PreAlloc_Bridge, " -> to preallocated\n" );
+
+ return DFB_OK;
+ }
+
+ return DFB_UNSUPPORTED;
+}
+
+static DFBResult
+prealloc_transfer_locked( CoreSurface *surface,
+ CoreSurfacePoolTransfer *transfer,
+ CoreSurfaceAllocation *locked,
+ CoreSurfaceAccessFlags flags,
+ CoreSlave *slave )
+{
+ DFBResult ret;
+ CoreSurfaceBufferLock lock;
+ int index;
+ int i, y;
+
+ D_MAGIC_ASSERT( surface, CoreSurface );
+ D_ASSERT( transfer != NULL );
+ CORE_SURFACE_ALLOCATION_ASSERT( locked );
+
+ index = dfb_surface_buffer_index( locked->buffer );
+
+ D_DEBUG_AT( PreAlloc_Bridge, "%s()\n", __FUNCTION__ );
+
+ D_DEBUG_AT( PreAlloc_Bridge, " -> Transfer locked %s Fusion ID %lu (index %d)\n",
+ (flags & CSAF_WRITE) ? "from" : "to", surface->object.identity, index );
+
+
+ dfb_surface_buffer_lock_init( &lock, CSAID_CPU, flags );
+
+ ret = dfb_surface_pool_lock( locked->pool, locked, &lock );
+ if (ret) {
+ dfb_surface_buffer_lock_deinit( &lock );
+ return ret;
+ }
+
+
+ for (i=0; i<transfer->num_rects; i++) {
+ const DFBRectangle *rect = &transfer->rects[i];
+ int offset = DFB_BYTES_PER_LINE( surface->config.format, rect->x );
+ int length = DFB_BYTES_PER_LINE( surface->config.format, rect->w );
+
+ for (y=0; y<rect->h; y++) {
+ if (flags & CSAF_WRITE)
+ ret = CoreSlave_GetData( slave,
+ surface->config.preallocated[index].addr +
+ (rect->y + y) * surface->config.preallocated[index].pitch + offset,
+ length,
+ lock.addr + (rect->y + y) * lock.pitch + offset );
+ else
+ ret = CoreSlave_PutData( slave,
+ surface->config.preallocated[index].addr +
+ (rect->y + y) * surface->config.preallocated[index].pitch + offset,
+ length,
+ lock.addr + (rect->y + y) * lock.pitch + offset );
+ if (ret)
+ break;
+ }
+ if (ret)
+ break;
+ }
+
+
+ dfb_surface_pool_unlock( locked->pool, locked, &lock );
+
+ dfb_surface_buffer_lock_deinit( &lock );
+
+ return ret;
+}
+
+static DFBResult
+prealloc_transfer_readwrite( CoreSurface *surface,
+ CoreSurfacePoolTransfer *transfer,
+ CoreSurfaceAllocation *alloc,
+ CoreSurfaceAccessFlags flags,
+ CoreSlave *slave )
+{
+ DFBResult ret = DFB_OK;
+ int index;
+ int i, y;
+
+ D_MAGIC_ASSERT( surface, CoreSurface );
+ D_ASSERT( transfer != NULL );
+ CORE_SURFACE_ALLOCATION_ASSERT( alloc );
+
+ index = dfb_surface_buffer_index( alloc->buffer );
+
+ D_DEBUG_AT( PreAlloc_Bridge, "%s()\n", __FUNCTION__ );
+
+ D_DEBUG_AT( PreAlloc_Bridge, " ->Transfer read/write %s Fusion ID %lu (index %d)\n",
+ (flags & CSAF_WRITE) ? "from" : "to", surface->object.identity, index );
+
+
+ for (i=0; i<transfer->num_rects; i++) {
+ const DFBRectangle *rect = &transfer->rects[i];
+ int offset = DFB_BYTES_PER_LINE( surface->config.format, rect->x );
+ int length = DFB_BYTES_PER_LINE( surface->config.format, rect->w );
+ u8 *temp = alloca( length ); // FIXME
+
+ for (y=0; y<rect->h; y++) {
+ DFBRectangle lrect = { rect->x, rect->y + y, rect->w, 1 };
+
+ if (flags & CSAF_WRITE) {
+ ret = CoreSlave_GetData( slave,
+ surface->config.preallocated[index].addr +
+ (rect->y + y) * surface->config.preallocated[index].pitch + offset,
+ length,
+ temp );
+ if (ret)
+ break;
+
+ ret = dfb_surface_pool_write( alloc->pool, alloc, temp, length, &lrect );
+ }
+ else {
+ ret = dfb_surface_pool_read( alloc->pool, alloc, temp, length, &lrect );
+ if (ret)
+ break;
+
+ ret = CoreSlave_PutData( slave,
+ surface->config.preallocated[index].addr +
+ (rect->y + y) * surface->config.preallocated[index].pitch + offset,
+ length,
+ temp );
+ }
+ if (ret)
+ break;
+ }
+ if (ret)
+ break;
+ }
+
+
+ return ret;
+}
+
+static DFBResult
+preallocStartTransfer( CoreSurfacePoolBridge *bridge,
+ void *bridge_data,
+ void *bridge_local,
+ CoreSurfacePoolTransfer *transfer,
+ void *transfer_data )
+{
+ DFBResult ret = DFB_BUG;
+ preallocPoolBridgeData *data = bridge_data;
+ CoreSurfaceAllocation *from = transfer->from;
+ CoreSurfaceAllocation *to = transfer->to;
+ CoreSurface *surface;
+ CoreSlave *slave;
+
+ D_DEBUG_AT( PreAlloc_Bridge, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( bridge_data != NULL );
+ D_ASSERT( transfer != NULL );
+
+ CORE_SURFACE_BUFFER_ASSERT( transfer->buffer );
+
+ surface = transfer->buffer->surface;
+ CORE_SURFACE_ASSERT( surface );
+
+ slave = Core_Resource_GetSlave( surface->object.identity );
+ if (!slave) {
+ D_WARN( "no slave object for id %lu", surface->object.identity );
+ return DFB_NOIMPL;
+ }
+
+ if (from->pool == data->prealloc_pool) {
+ if (to->pool->desc.access[CSAID_CPU] & CSAF_WRITE)
+ ret = prealloc_transfer_locked( surface, transfer, to, CSAF_WRITE, slave );
+ else
+ ret = prealloc_transfer_readwrite( surface, transfer, to, CSAF_WRITE, slave );
+ }
+ else if (to->pool == data->prealloc_pool) {
+ if (from->pool->desc.access[CSAID_CPU] & CSAF_READ)
+ ret = prealloc_transfer_locked( surface, transfer, from, CSAF_READ, slave );
+ else
+ ret = prealloc_transfer_readwrite( surface, transfer, from, CSAF_READ, slave );
+ }
+
+ return ret;
+}
+
+static DFBResult
+preallocFinishTransfer( CoreSurfacePoolBridge *bridge,
+ void *bridge_data,
+ void *bridge_local,
+ CoreSurfacePoolTransfer *transfer,
+ void *transfer_data )
+{
+ D_DEBUG_AT( PreAlloc_Bridge, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( bridge_data != NULL );
+
+ return DFB_OK;
+}
+
+
+static const SurfacePoolBridgeFuncs _preallocSurfacePoolBridgeFuncs = {
+ .PoolBridgeDataSize = preallocPoolBridgeDataSize,
+ .PoolBridgeLocalDataSize = preallocPoolBridgeLocalDataSize,
+ .PoolTransferDataSize = preallocPoolTransferDataSize,
+
+ .InitPoolBridge = preallocInitPoolBridge,
+ .JoinPoolBridge = preallocJoinPoolBridge,
+ .DestroyPoolBridge = preallocDestroyPoolBridge,
+ .LeavePoolBridge = preallocLeavePoolBridge,
+
+ .CheckTransfer = preallocCheckTransfer,
+
+ .StartTransfer = preallocStartTransfer,
+ .FinishTransfer = preallocFinishTransfer,
+};
+
+const SurfacePoolBridgeFuncs *preallocSurfacePoolBridgeFuncs = &_preallocSurfacePoolBridgeFuncs;
+
diff --git a/src/core/screen.c b/src/core/screen.c
index 4b233e0..290e894 100644
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@ -111,6 +111,26 @@ dfb_screen_wait_vsync( CoreScreen *screen )
return DFB_UNSUPPORTED;
}
+DFBResult
+dfb_screen_get_vsync_count( CoreScreen *screen, unsigned long *ret_count )
+{
+ ScreenFuncs *funcs;
+
+ D_ASSERT( screen != NULL );
+ D_ASSERT( screen->funcs != NULL );
+ D_ASSERT( ret_count != NULL );
+
+ funcs = screen->funcs;
+
+ if (funcs->GetVSyncCount)
+ return funcs->GetVSyncCount( screen,
+ screen->driver_data,
+ screen->screen_data,
+ ret_count );
+
+ return DFB_UNSUPPORTED;
+}
+
/*********************************** Mixers ***********************************/
@@ -186,7 +206,7 @@ dfb_screen_set_mixer_config( CoreScreen *screen,
const DFBScreenMixerConfig *config )
{
DFBResult ret;
- DFBScreenMixerConfigFlags failed = DSOCONF_NONE;
+ DFBScreenMixerConfigFlags failed = DSMCONF_NONE;
D_ASSERT( screen != NULL );
D_ASSERT( screen->shared != NULL );
diff --git a/src/core/screen.h b/src/core/screen.h
index b5491f4..72cea82 100644
--- a/src/core/screen.h
+++ b/src/core/screen.h
@@ -45,6 +45,8 @@ DFBResult dfb_screen_set_powermode ( CoreScreen *screen,
DFBScreenPowerMode mode );
DFBResult dfb_screen_wait_vsync ( CoreScreen *screen );
+DFBResult dfb_screen_get_vsync_count ( CoreScreen *screen,
+ unsigned long *ret_count );
/* Mixers */
diff --git a/src/core/screens.c b/src/core/screens.c
index 9f46a6c..8a838e8 100644
--- a/src/core/screens.c
+++ b/src/core/screens.c
@@ -37,6 +37,8 @@
#include <fusion/shmalloc.h>
+#include <core/CoreScreen.h>
+
#include <core/core.h>
#include <core/core_parts.h>
@@ -249,6 +251,10 @@ dfb_screen_core_initialize( CoreDFB *core,
screen->shared = sshared;
screen->core = core;
+ CoreScreen_Init_Dispatch( core, screen, &sshared->call );
+
+ fusion_call_add_permissions( &sshared->call, 0, FUSION_CALL_PERMIT_EXECUTE );
+
/* Add the screen to the sshared list. */
core_screens->screens[ core_screens->num++ ] = sshared;
}
@@ -331,6 +337,8 @@ dfb_screen_core_shutdown( DFBScreenCore *data,
D_ERROR("DirectFB/Core/screens: "
"Failed to shutdown screen %d!\n", shared->screen_id);
+ CoreScreen_Deinit_Dispatch( &shared->call );
+
/* Deinitialize the lock. */
fusion_skirmish_destroy( &shared->lock );
@@ -544,6 +552,12 @@ dfb_screens_enumerate( CoreScreenCallback callback,
}
}
+unsigned int
+dfb_screens_num()
+{
+ return num_screens;
+}
+
CoreScreen *
dfb_screens_at( DFBScreenID screen_id )
{
@@ -575,7 +589,20 @@ dfb_screens_at_translated( DFBScreenID screen_id )
}
DFBScreenID
-dfb_screen_id_translated( CoreScreen *screen )
+dfb_screen_id( const CoreScreen *screen )
+{
+ CoreScreenShared *shared;
+
+ D_ASSERT( screen != NULL );
+ D_ASSERT( screen->shared != NULL );
+
+ shared = screen->shared;
+
+ return shared->screen_id;
+}
+
+DFBScreenID
+dfb_screen_id_translated( const CoreScreen *screen )
{
CoreScreenShared *shared;
CoreScreen *primary;
diff --git a/src/core/screens.h b/src/core/screens.h
index 40fc084..cb196c8 100644
--- a/src/core/screens.h
+++ b/src/core/screens.h
@@ -220,6 +220,17 @@ typedef struct {
void *screen_data,
int mixer,
CoreMixerState *ret_state );
+
+ /** Synchronization **/
+
+ /*
+ * Wait for the vertical retrace.
+ */
+ DFBResult (*GetVSyncCount) ( CoreScreen *screen,
+ void *driver_data,
+ void *screen_data,
+ unsigned long *ret_count );
+
} ScreenFuncs;
@@ -258,6 +269,11 @@ void dfb_screens_enumerate( CoreScreenCallback callback,
void *ctx );
/*
+ * Returns the number of screens.
+ */
+unsigned int dfb_screens_num( void );
+
+/*
* Returns the screen with the specified ID.
*/
CoreScreen *dfb_screens_at( DFBScreenID screen_id );
@@ -265,8 +281,13 @@ CoreScreen *dfb_screens_at( DFBScreenID screen_id );
CoreScreen *dfb_screens_at_translated( DFBScreenID screen_id );
/*
+ * Return the ID of the specified screen.
+ */
+DFBScreenID dfb_screen_id( const CoreScreen *screen );
+
+/*
* Return the (translated) ID of the specified screen.
*/
-DFBScreenID dfb_screen_id_translated( CoreScreen *screen );
+DFBScreenID dfb_screen_id_translated( const CoreScreen *screen );
#endif
diff --git a/src/core/screens_internal.h b/src/core/screens_internal.h
index 361b571..d58ee6b 100644
--- a/src/core/screens_internal.h
+++ b/src/core/screens_internal.h
@@ -63,6 +63,8 @@ typedef struct {
CoreScreenOutput *outputs;
void *screen_data;
+
+ FusionCall call;
} CoreScreenShared;
struct __DFB_CoreScreen {
diff --git a/src/core/shared_secure_surface_pool.c b/src/core/shared_secure_surface_pool.c
new file mode 100644
index 0000000..49d0785
--- /dev/null
+++ b/src/core/shared_secure_surface_pool.c
@@ -0,0 +1,345 @@
+/*
+ (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <direct/debug.h>
+
+#include <fusion/fusion.h>
+#include <fusion/shm/shm_internal.h>
+
+#include <core/core.h>
+#include <core/surface_pool.h>
+#include <core/system.h>
+
+#include <misc/conf.h>
+
+D_DEBUG_DOMAIN( Core_SharedSecure, "Core/SharedSecure", "Core Shared Secure Surface Pool" );
+
+/**********************************************************************************************************************/
+
+typedef struct {
+ char tmpfs_dir[FUSION_SHM_TMPFS_PATH_NAME_LEN + 20];
+} SharedPoolData;
+
+typedef struct {
+ CoreDFB *core;
+ FusionWorld *world;
+} SharedPoolLocalData;
+
+typedef struct {
+ int pitch;
+ int size;
+
+ DFBSurfaceID surface_id;
+
+ void *master_map;
+} SharedAllocationData;
+
+/**********************************************************************************************************************/
+
+static int
+sharedSecurePoolDataSize( void )
+{
+ return sizeof(SharedPoolData);
+}
+
+static int
+sharedSecurePoolLocalDataSize( void )
+{
+ return sizeof(SharedPoolLocalData);
+}
+
+static int
+sharedSecureAllocationDataSize( void )
+{
+ return sizeof(SharedAllocationData);
+}
+
+static DFBResult
+sharedSecureInitPool( CoreDFB *core,
+ CoreSurfacePool *pool,
+ void *pool_data,
+ void *pool_local,
+ void *system_data,
+ CoreSurfacePoolDescription *ret_desc )
+{
+ SharedPoolData *data = pool_data;
+ SharedPoolLocalData *local = pool_local;
+
+ D_DEBUG_AT( Core_SharedSecure, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( pool, CoreSurfacePool );
+ D_ASSERT( ret_desc != NULL );
+
+ ret_desc->caps = CSPCAPS_VIRTUAL;
+ ret_desc->access[CSAID_CPU] = CSAF_READ | CSAF_WRITE | CSAF_SHARED;
+ ret_desc->types = CSTF_LAYER | CSTF_WINDOW | CSTF_CURSOR | CSTF_FONT | CSTF_SHARED | CSTF_INTERNAL;
+ ret_desc->priority = CSPP_DEFAULT;
+
+ snprintf( ret_desc->name, DFB_SURFACE_POOL_DESC_NAME_LENGTH, "Shared Secure Memory" );
+
+ local->core = core;
+ local->world = dfb_core_world( core );
+
+ snprintf( data->tmpfs_dir, sizeof(data->tmpfs_dir), "%s/dfb.%d",
+ fusion_get_tmpfs( local->world ), fusion_world_index( local->world ) );
+
+ if (mkdir( data->tmpfs_dir, 0750 ) < 0) {
+ DIR *dir;
+ struct dirent *entry = NULL;
+ struct dirent tmp;
+
+ if (errno != EEXIST) {
+ D_PERROR( "Core/Surface/SHM: Could not create '%s'!\n", data->tmpfs_dir );
+ return DFB_IO;
+ }
+
+ D_WARN( "%s exists, cleaning up", data->tmpfs_dir );
+
+ dir = opendir( data->tmpfs_dir );
+ if (!dir) {
+ D_PERROR( "Core/Surface/SHM: Could not open '%s'!\n", data->tmpfs_dir );
+ return DFB_IO;
+ }
+
+ while (readdir_r( dir, &tmp, &entry ) == 0 && entry) {
+ char buf[FUSION_SHM_TMPFS_PATH_NAME_LEN + 99];
+
+ if (!direct_strcmp( entry->d_name, "." ) ||
+ !direct_strcmp( entry->d_name, ".." ))
+ continue;
+
+ snprintf( buf, sizeof(buf), "%s/%s", data->tmpfs_dir, entry->d_name );
+
+ if (unlink( buf ) < 0) {
+ D_PERROR( "Core/Surface/SHM: Could not remove '%s'!\n", buf );
+ closedir( dir );
+ return DFB_IO;
+ }
+ }
+
+ closedir( dir );
+ }
+
+ return DFB_OK;
+}
+
+static DFBResult
+sharedSecureDestroyPool( CoreSurfacePool *pool,
+ void *pool_data,
+ void *pool_local )
+{
+ SharedPoolData *data = pool_data;
+
+ D_DEBUG_AT( Core_SharedSecure, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( pool, CoreSurfacePool );
+
+ if (rmdir( data->tmpfs_dir ) < 0)
+ D_PERROR( "Core/Surface/SHM: Could not remove '%s'!\n", data->tmpfs_dir );
+
+ return DFB_OK;
+}
+
+static DFBResult
+sharedSecureAllocateBuffer( CoreSurfacePool *pool,
+ void *pool_data,
+ void *pool_local,
+ CoreSurfaceBuffer *buffer,
+ CoreSurfaceAllocation *allocation,
+ void *alloc_data )
+{
+ CoreSurface *surface;
+ SharedPoolData *data = pool_data;
+ SharedAllocationData *alloc = alloc_data;
+ char buf[FUSION_SHM_TMPFS_PATH_NAME_LEN + 99];
+ int fd;
+
+ D_DEBUG_AT( Core_SharedSecure, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( pool, CoreSurfacePool );
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ surface = buffer->surface;
+ D_MAGIC_ASSERT( surface, CoreSurface );
+
+ alloc->surface_id = surface->object.id;
+
+ dfb_surface_calc_buffer_size( surface, 8, 0, &alloc->pitch, &alloc->size );
+
+ snprintf( buf, sizeof(buf), "%s/surface_0x%08x_shared_allocation_%p", data->tmpfs_dir, alloc->surface_id, alloc );
+
+ fd = open( buf, O_RDWR | O_CREAT | O_EXCL, 0660 );
+ if (fd < 0) {
+ D_PERROR( "Core/Surface/SHM: Could not create '%s'!\n", buf );
+ return DFB_IO;
+ }
+
+ fchmod( fd, 0660 );
+
+ if (ftruncate( fd, alloc->size ) < 0) {
+ D_PERROR( "Core/Surface/SHM: Setting file size for '%s' to %d failed!\n", buf, alloc->size );
+ unlink( buf );
+ return DFB_IO;
+ }
+
+ alloc->master_map = mmap( NULL, alloc->size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 );
+
+ close( fd );
+
+ if (alloc->master_map == MAP_FAILED) {
+ D_PERROR( "Core/Surface/SHM: Could not mmap '%s'!\n", buf );
+
+ if (unlink( buf ) < 0)
+ D_PERROR( "Core/Surface/SHM: Could not remove '%s'!\n", buf );
+
+ return DFB_IO;
+ }
+
+ allocation->flags = CSALF_VOLATILE;
+ allocation->size = alloc->size;
+
+ return DFB_OK;
+}
+
+static DFBResult
+sharedSecureDeallocateBuffer( CoreSurfacePool *pool,
+ void *pool_data,
+ void *pool_local,
+ CoreSurfaceBuffer *buffer,
+ CoreSurfaceAllocation *allocation,
+ void *alloc_data )
+{
+ SharedPoolData *data = pool_data;
+ SharedAllocationData *alloc = alloc_data;
+ char buf[FUSION_SHM_TMPFS_PATH_NAME_LEN + 99];
+
+ D_DEBUG_AT( Core_SharedSecure, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( pool, CoreSurfacePool );
+// D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ snprintf( buf, sizeof(buf), "%s/surface_0x%08x_shared_allocation_%p", data->tmpfs_dir, alloc->surface_id, alloc );
+
+ munmap( alloc->master_map, alloc->size );
+
+ if (unlink( buf ) < 0) {
+ D_PERROR( "Core/Surface/SHM: Could not remove '%s'!\n", buf );
+ return DFB_IO;
+ }
+
+ return DFB_OK;
+}
+
+static DFBResult
+sharedSecureLock( CoreSurfacePool *pool,
+ void *pool_data,
+ void *pool_local,
+ CoreSurfaceAllocation *allocation,
+ void *alloc_data,
+ CoreSurfaceBufferLock *lock )
+{
+ SharedPoolData *data = pool_data;
+ SharedAllocationData *alloc = alloc_data;
+ char buf[FUSION_SHM_TMPFS_PATH_NAME_LEN + 99];
+ int fd;
+
+ D_DEBUG_AT( Core_SharedSecure, "%s() <- size %d\n", __FUNCTION__, alloc->size );
+
+ D_MAGIC_ASSERT( pool, CoreSurfacePool );
+ D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
+ D_MAGIC_ASSERT( lock, CoreSurfaceBufferLock );
+
+ if (dfb_core_is_master( core_dfb )) {
+ lock->addr = alloc->master_map;
+ }
+ else {
+ snprintf( buf, sizeof(buf), "%s/surface_0x%08x_shared_allocation_%p", data->tmpfs_dir, alloc->surface_id, alloc );
+
+ fd = open( buf, O_RDWR );
+ if (fd < 0) {
+ D_PERROR( "Core/Surface/SHM: Could not open '%s'!\n", buf );
+ return DFB_IO;
+ }
+
+
+ lock->addr = lock->handle = mmap( NULL, alloc->size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 );
+
+ D_DEBUG_AT( Core_SharedSecure, " -> mapped to %p\n", lock->addr );
+
+ close( fd );
+
+ if (lock->addr == MAP_FAILED) {
+ D_PERROR( "Core/Surface/SHM: Could not mmap '%s'!\n", buf );
+ return DFB_IO;
+ }
+ }
+
+
+ lock->pitch = alloc->pitch;
+
+ return DFB_OK;
+}
+
+static DFBResult
+sharedSecureUnlock( CoreSurfacePool *pool,
+ void *pool_data,
+ void *pool_local,
+ CoreSurfaceAllocation *allocation,
+ void *alloc_data,
+ CoreSurfaceBufferLock *lock )
+{
+ SharedAllocationData *alloc = alloc_data;
+
+ D_DEBUG_AT( Core_SharedSecure, "%s()\n", __FUNCTION__ );
+
+ D_MAGIC_ASSERT( pool, CoreSurfacePool );
+ D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
+ D_MAGIC_ASSERT( lock, CoreSurfaceBufferLock );
+
+ if (!dfb_core_is_master( core_dfb ))
+ munmap( lock->handle, alloc->size );
+
+ return DFB_OK;
+}
+
+const SurfacePoolFuncs sharedSecureSurfacePoolFuncs = {
+ .PoolDataSize = sharedSecurePoolDataSize,
+ .PoolLocalDataSize = sharedSecurePoolLocalDataSize,
+ .AllocationDataSize = sharedSecureAllocationDataSize,
+ .InitPool = sharedSecureInitPool,
+ .DestroyPool = sharedSecureDestroyPool,
+
+ .AllocateBuffer = sharedSecureAllocateBuffer,
+ .DeallocateBuffer = sharedSecureDeallocateBuffer,
+
+ .Lock = sharedSecureLock,
+ .Unlock = sharedSecureUnlock,
+};
+
diff --git a/src/core/shared_surface_pool.c b/src/core/shared_surface_pool.c
index b0e9cf5..f5fcb28 100644
--- a/src/core/shared_surface_pool.c
+++ b/src/core/shared_surface_pool.c
@@ -99,7 +99,7 @@ sharedInitPool( CoreDFB *core,
if (ret)
return ret;
- ret_desc->caps = CSPCAPS_NONE;
+ ret_desc->caps = CSPCAPS_VIRTUAL;
ret_desc->access[CSAID_CPU] = CSAF_READ | CSAF_WRITE | CSAF_SHARED;
ret_desc->types = CSTF_LAYER | CSTF_WINDOW | CSTF_CURSOR | CSTF_FONT | CSTF_SHARED | CSTF_INTERNAL;
ret_desc->priority = CSPP_DEFAULT;
@@ -167,7 +167,6 @@ sharedDeallocateBuffer( CoreSurfacePool *pool,
SharedAllocationData *alloc = alloc_data;
D_MAGIC_ASSERT( pool, CoreSurfacePool );
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
SHFREE( data->shmpool, alloc->addr );
diff --git a/src/core/state.c b/src/core/state.c
index d5a4561..9c30fc3 100644
--- a/src/core/state.c
+++ b/src/core/state.c
@@ -139,6 +139,7 @@ dfb_state_destroy( CardState *state )
D_ASSERT( state->destination == NULL );
D_ASSERT( state->source == NULL );
+ D_ASSERT( state->source2 == NULL );
D_ASSERT( state->source_mask == NULL );
D_MAGIC_CLEAR( state );
diff --git a/src/core/state.h b/src/core/state.h
index 4725512..20c810a 100644
--- a/src/core/state.h
+++ b/src/core/state.h
@@ -270,7 +270,7 @@ do { \
\
if ((value) != (state)->member) { \
(state)->member = (value); \
- (state)->modified |= SMF_##flag; \
+ (state)->modified = (StateModificationFlags)((state)->modified | SMF_##flag); \
} \
} while (0)
@@ -336,7 +336,7 @@ static inline void dfb_state_set_colorkey( CardState *state, const DFBColorKey *
if (! DFB_COLORKEY_EQUAL( state->colorkey, *key )) {
state->colorkey = *key;
- state->modified = (StateModificationFlags)( state->modified | SMF_COLOR );
+ state->modified = (StateModificationFlags)( state->modified | SMF_COLORKEY );
}
}
diff --git a/src/core/surface.c b/src/core/surface.c
index 87c10fd..0a2c9f5 100644
--- a/src/core/surface.c
+++ b/src/core/surface.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -33,11 +33,21 @@
#include <core/core.h>
#include <core/palette.h>
#include <core/surface.h>
+#include <core/surface_pool.h>
+
+#include <core/system.h>
+
+#include <fusion/conf.h>
+#include <fusion/shmalloc.h>
#include <core/layers_internal.h>
#include <core/windows_internal.h>
+#include <core/CoreDFB.h>
+#include <core/CoreSurface.h>
+
#include <gfx/convert.h>
+#include <gfx/util.h>
D_DEBUG_DOMAIN( Core_Surface, "Core/Surface", "DirectFB Core Surface" );
@@ -61,6 +71,10 @@ surface_destructor( FusionObject *object, bool zombie, void *ctx )
D_DEBUG_AT( Core_Surface, "destroying %p (%dx%d%s)\n", surface,
surface->config.size.w, surface->config.size.h, zombie ? " ZOMBIE" : "");
+ Core_Resource_RemoveSurface( surface );
+
+ CoreSurface_Deinit_Dispatch( &surface->call );
+
dfb_surface_lock( surface );
surface->state |= CSSF_DESTROYED;
@@ -77,7 +91,15 @@ surface_destructor( FusionObject *object, bool zombie, void *ctx )
/* destroy buffers */
for (i=0; i<MAX_SURFACE_BUFFERS; i++) {
if (surface->buffers[i])
- dfb_surface_buffer_destroy( surface->buffers[i] );
+ dfb_surface_buffer_decouple( surface->buffers[i] );
+ }
+
+ dfb_system_surface_data_destroy( surface, surface->data );
+
+ /* release the system driver specific surface data */
+ if (surface->data) {
+ SHFREE( surface->shmpool, surface->data );
+ surface->data = NULL;
}
direct_serial_deinit( &surface->serial );
@@ -115,7 +137,7 @@ dfb_surface_create( CoreDFB *core,
CoreSurface **ret_surface )
{
DFBResult ret = DFB_BUG;
- int i;
+ int i, data_size;
int buffers;
CoreSurface *surface;
char buf[64];
@@ -131,6 +153,8 @@ dfb_surface_create( CoreDFB *core,
if (!surface)
return DFB_FUSION;
+ surface->data = NULL;
+
if (config) {
D_FLAGS_ASSERT( config->flags, CSCONF_ALL );
@@ -164,6 +188,8 @@ dfb_surface_create( CoreDFB *core,
direct_memcpy( surface->config.preallocated, config->preallocated, sizeof(config->preallocated) );
+ surface->config.preallocated_pool_id = config->preallocated_pool_id;
+
type |= CSTF_PREALLOCATED;
}
}
@@ -210,9 +236,9 @@ dfb_surface_create( CoreDFB *core,
fusion_ref_set_name( &surface->object.ref, buf );
- fusion_skirmish_init( &surface->lock, buf, dfb_core_world(core) );
+ fusion_skirmish_init2( &surface->lock, buf, dfb_core_world(core), fusion_config->secure_fusion );
- fusion_object_set_lock( &surface->object, &surface->lock );
+// fusion_skirmish_add_permissions( &surface->lock, 0, FUSION_SKIRMISH_PERMIT_PREVAIL | FUSION_SKIRMISH_PERMIT_DISMISS );
D_MAGIC_SET( surface, CoreSurface );
@@ -234,17 +260,32 @@ dfb_surface_create( CoreDFB *core,
goto error;
}
+ /* Create the system driver specific surface data information */
+ data_size = dfb_system_surface_data_size();
+
+ if (data_size) {
+ surface->data = SHCALLOC( surface->shmpool, 1, data_size );
+ if (!surface->data) {
+ ret = D_OOSHM();
+ goto error;
+ }
+ }
+
+ dfb_system_surface_data_init(surface,surface->data);
+
+ dfb_surface_lock( surface );
+
/* Create the Surface Buffers. */
for (i=0; i<buffers; i++) {
- CoreSurfaceBuffer *buffer;
-
- ret = dfb_surface_buffer_new( surface, CSBF_NONE, &buffer );
+ ret = dfb_surface_buffer_create( core, surface, CSBF_NONE, &surface->buffers[i] );
if (ret) {
D_DERROR( ret, "Core/Surface: Error creating surface buffer!\n" );
goto error;
}
- surface->buffers[surface->num_buffers++] = buffer;
+ surface->num_buffers++;
+
+ dfb_surface_buffer_globalize( surface->buffers[i] );
switch (i) {
case 0:
@@ -256,6 +297,11 @@ dfb_surface_create( CoreDFB *core,
}
}
+ dfb_surface_unlock( surface );
+
+
+ CoreSurface_Init_Dispatch( core, surface, &surface->call );
+
fusion_object_activate( &surface->object );
*ret_surface = surface;
@@ -263,17 +309,24 @@ dfb_surface_create( CoreDFB *core,
return DFB_OK;
error:
- D_MAGIC_CLEAR( surface );
-
for (i=0; i<MAX_SURFACE_BUFFERS; i++) {
if (surface->buffers[i])
- dfb_surface_buffer_destroy( surface->buffers[i] );
+ dfb_surface_buffer_decouple( surface->buffers[i] );
+ }
+
+ /* release the system driver specific surface data */
+ if (surface->data) {
+ dfb_system_surface_data_destroy( surface, surface->data );
+ SHFREE( surface->shmpool, surface->data );
+ surface->data = NULL;
}
fusion_skirmish_destroy( &surface->lock );
direct_serial_deinit( &surface->serial );
+ D_MAGIC_CLEAR( surface );
+
fusion_object_destroy( &surface->object );
return ret;
@@ -304,7 +357,7 @@ dfb_surface_create_simple ( CoreDFB *core,
config.format = format;
config.caps = caps;
- return dfb_surface_create( core, &config, type, resource_id, palette, ret_surface );
+ return CoreDFB_CreateSurface( core, &config, type, resource_id, palette, ret_surface );
}
DFBResult
@@ -367,17 +420,35 @@ dfb_surface_notify( CoreSurface *surface,
}
DFBResult
+dfb_surface_notify_display( CoreSurface *surface,
+ CoreSurfaceBuffer *buffer )
+{
+ CoreSurfaceNotification notification;
+
+ D_MAGIC_ASSERT( surface, CoreSurface );
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ direct_serial_increase( &surface->serial );
+
+ notification.flags = CSNF_DISPLAY;
+ notification.surface = surface;
+ notification.index = dfb_surface_buffer_index( buffer );
+
+ return dfb_surface_dispatch( surface, ¬ification, dfb_surface_globals );
+}
+
+DFBResult
dfb_surface_flip( CoreSurface *surface, bool swap )
{
unsigned int back, front;
D_MAGIC_ASSERT( surface, CoreSurface );
+ FUSION_SKIRMISH_ASSERT( &surface->lock );
+
if (surface->num_buffers == 0)
return DFB_SUSPENDED;
- FUSION_SKIRMISH_ASSERT( &surface->lock );
-
back = (surface->flips + CSBR_BACK) % surface->num_buffers;
front = (surface->flips + CSBR_FRONT) % surface->num_buffers;
@@ -407,6 +478,7 @@ dfb_surface_reconfig( CoreSurface *surface,
{
int i, buffers;
DFBResult ret;
+ CoreSurfaceConfig new_config;
D_DEBUG_AT( Core_Surface, "%s( %p, %dx%d %s -> %dx%d %s )\n", __FUNCTION__, surface,
surface->config.size.w, surface->config.size.h, dfb_pixelformat_name( surface->config.format ),
@@ -418,15 +490,17 @@ dfb_surface_reconfig( CoreSurface *surface,
D_MAGIC_ASSERT( surface, CoreSurface );
D_ASSERT( config != NULL );
- if (surface->type & CSTF_PREALLOCATED)
- return DFB_UNSUPPORTED;
-
if (config->flags & CSCONF_PREALLOCATED)
return DFB_UNSUPPORTED;
if (fusion_skirmish_prevail( &surface->lock ))
return DFB_FUSION;
+ if (surface->type & CSTF_PREALLOCATED) {
+ fusion_skirmish_dismiss( &surface->lock );
+ return DFB_UNSUPPORTED;
+ }
+
if ( (config->flags == CSCONF_SIZE ||
((config->flags == (CSCONF_SIZE | CSCONF_FORMAT)) && (config->format == surface->config.format))) &&
config->size.w <= surface->config.min_size.w &&
@@ -438,64 +512,66 @@ dfb_surface_reconfig( CoreSurface *surface,
return DFB_OK;
}
-#if 1
- /* Precheck the Surface Buffers. */
- for (i=0; i<surface->num_buffers; i++) {
- if (surface->buffers[i]->locked) {
- fusion_skirmish_dismiss( &surface->lock );
- return DFB_LOCKED;
- }
- }
-#endif
-
- /* Destroy the Surface Buffers. */
- for (i=0; i<surface->num_buffers; i++) {
- dfb_surface_buffer_destroy( surface->buffers[i] );
- surface->buffers[i] = NULL;
- }
-
- surface->num_buffers = 0;
+ new_config = surface->config;
if (config->flags & CSCONF_SIZE)
- surface->config.size = config->size;
+ new_config.size = config->size;
if (config->flags & CSCONF_FORMAT)
- surface->config.format = config->format;
+ new_config.format = config->format;
if (config->flags & CSCONF_CAPS) {
if (config->caps & DSCAPS_ROTATED)
D_UNIMPLEMENTED();
- surface->config.caps = config->caps & ~DSCAPS_ROTATED;
+ new_config.caps = config->caps & ~DSCAPS_ROTATED;
}
- if (surface->config.caps & DSCAPS_SYSTEMONLY)
+ if (new_config.caps & DSCAPS_SYSTEMONLY)
surface->type = (surface->type & ~CSTF_EXTERNAL) | CSTF_INTERNAL;
- else if (surface->config.caps & DSCAPS_VIDEOONLY)
+ else if (new_config.caps & DSCAPS_VIDEOONLY)
surface->type = (surface->type & ~CSTF_INTERNAL) | CSTF_EXTERNAL;
else
surface->type = surface->type & ~(CSTF_INTERNAL | CSTF_EXTERNAL);
- if (surface->config.caps & DSCAPS_TRIPLE)
+ if (new_config.caps & DSCAPS_TRIPLE)
buffers = 3;
- else if (surface->config.caps & DSCAPS_DOUBLE)
+ else if (new_config.caps & DSCAPS_DOUBLE)
buffers = 2;
else {
buffers = 1;
- surface->config.caps &= ~DSCAPS_ROTATED;
+ new_config.caps &= ~DSCAPS_ROTATED;
+ }
+
+ ret = Core_Resource_CheckSurfaceUpdate( surface, &new_config );
+ if (ret)
+ return ret;
+
+ /* Destroy the Surface Buffers. */
+ for (i=0; i<surface->num_buffers; i++) {
+ dfb_surface_buffer_decouple( surface->buffers[i] );
+ surface->buffers[i] = NULL;
}
+ surface->num_buffers = 0;
+
+ Core_Resource_UpdateSurface( surface, &new_config );
+
+ surface->config = new_config;
+
/* Recreate the Surface Buffers. */
for (i=0; i<buffers; i++) {
CoreSurfaceBuffer *buffer;
- ret = dfb_surface_buffer_new( surface, CSBF_NONE, &buffer );
+ ret = dfb_surface_buffer_create( core_dfb, surface, CSBF_NONE, &buffer );
if (ret) {
D_DERROR( ret, "Core/Surface: Error creating surface buffer!\n" );
goto error;
}
+ dfb_surface_buffer_globalize( buffer );
+
surface->buffers[surface->num_buffers++] = buffer;
switch (i) {
@@ -527,17 +603,21 @@ dfb_surface_destroy_buffers( CoreSurface *surface )
{
int i;
- D_MAGIC_ASSERT( surface, CoreSurface );
+ D_DEBUG_AT( Core_Surface, "%s( %p )\n", __FUNCTION__, surface );
- if (surface->type & CSTF_PREALLOCATED)
- return DFB_UNSUPPORTED;
+ D_MAGIC_ASSERT( surface, CoreSurface );
if (fusion_skirmish_prevail( &surface->lock ))
return DFB_FUSION;
+ if (surface->type & CSTF_PREALLOCATED) {
+ fusion_skirmish_dismiss( &surface->lock );
+ return DFB_UNSUPPORTED;
+ }
+
/* Destroy the Surface Buffers. */
for (i=0; i<surface->num_buffers; i++) {
- dfb_surface_buffer_destroy( surface->buffers[i] );
+ dfb_surface_buffer_decouple( surface->buffers[i] );
surface->buffers[i] = NULL;
}
@@ -549,31 +629,69 @@ dfb_surface_destroy_buffers( CoreSurface *surface )
}
DFBResult
+dfb_surface_deallocate_buffers( CoreSurface *surface )
+{
+ int i;
+
+ D_DEBUG_AT( Core_Surface, "%s( %p )\n", __FUNCTION__, surface );
+
+ D_MAGIC_ASSERT( surface, CoreSurface );
+
+ if (fusion_skirmish_prevail( &surface->lock ))
+ return DFB_FUSION;
+
+ if (surface->type & CSTF_PREALLOCATED) {
+ fusion_skirmish_dismiss( &surface->lock );
+ return DFB_UNSUPPORTED;
+ }
+
+ /* Deallocate the Surface Buffers. */
+ for (i = 0; i < surface->num_buffers; i++)
+ dfb_surface_buffer_deallocate( surface->buffers[i] );
+
+ fusion_skirmish_dismiss( &surface->lock );
+
+ return DFB_OK;
+}
+
+DFBResult
dfb_surface_lock_buffer( CoreSurface *surface,
CoreSurfaceBufferRole role,
CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access,
CoreSurfaceBufferLock *ret_lock )
{
- DFBResult ret;
- CoreSurfaceBuffer *buffer;
+ DFBResult ret;
+ CoreSurfaceAllocation *allocation;
D_MAGIC_ASSERT( surface, CoreSurface );
- if (surface->num_buffers == 0)
- return DFB_SUSPENDED;
+ D_DEBUG_AT( Core_Surface, "%s( 0x%02x 0x%02x ) <- %dx%d %s [%d]\n", __FUNCTION__, accessor, access,
+ surface->config.size.w, surface->config.size.h, dfb_pixelformat_name(surface->config.format),
+ role );
- if (fusion_skirmish_prevail( &surface->lock ))
- return DFB_FUSION;
+ ret = CoreSurface_PreLockBuffer2( surface, role, accessor, access, true, &allocation );
+ if (ret)
+ return ret;
- buffer = dfb_surface_get_buffer( surface, role );
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+ D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
- ret = dfb_surface_buffer_lock( buffer, accessor, access, ret_lock );
+ D_DEBUG_AT( Core_Surface, " -> PreLockBuffer returned allocation %p (%s)\n", allocation, allocation->pool->desc.name );
- fusion_skirmish_dismiss( &surface->lock );
+ /* Lock the allocation. */
+ dfb_surface_buffer_lock_init( ret_lock, accessor, access );
- return ret;
+ ret = dfb_surface_pool_lock( allocation->pool, allocation, ret_lock );
+ if (ret) {
+ D_DERROR( ret, "Core/SurfBuffer: Locking allocation failed! [%s]\n",
+ allocation->pool->desc.name );
+ dfb_surface_buffer_lock_deinit( ret_lock );
+
+ dfb_surface_allocation_unref( allocation );
+ return ret;
+ }
+
+ return DFB_OK;
}
DFBResult
@@ -584,13 +702,8 @@ dfb_surface_unlock_buffer( CoreSurface *surface,
D_MAGIC_ASSERT( surface, CoreSurface );
- if (fusion_skirmish_prevail( &surface->lock ))
- return DFB_FUSION;
-
ret = dfb_surface_buffer_unlock( lock );
- fusion_skirmish_dismiss( &surface->lock );
-
return ret;
}
@@ -599,30 +712,97 @@ dfb_surface_read_buffer( CoreSurface *surface,
CoreSurfaceBufferRole role,
void *destination,
int pitch,
- const DFBRectangle *rect )
+ const DFBRectangle *prect )
{
- DFBResult ret;
- CoreSurfaceBuffer *buffer;
+ DFBResult ret;
+ int y;
+ int bytes;
+ DFBRectangle rect;
+ DFBSurfacePixelFormat format;
+ CoreSurfaceAllocation *allocation;
D_MAGIC_ASSERT( surface, CoreSurface );
D_ASSERT( destination != NULL );
D_ASSERT( pitch > 0 );
- DFB_RECTANGLE_ASSERT_IF( rect );
+ DFB_RECTANGLE_ASSERT_IF( prect );
- if (surface->num_buffers == 0)
- return DFB_SUSPENDED;
+ D_DEBUG_AT( Core_Surface, "%s( %p, %p [%d] )\n", __FUNCTION__, surface, destination, pitch );
- if (fusion_skirmish_prevail( &surface->lock ))
- return DFB_FUSION;
+ /* Determine area. */
+ rect.x = 0;
+ rect.y = 0;
+ rect.w = surface->config.size.w;
+ rect.h = surface->config.size.h;
- buffer = dfb_surface_get_buffer( surface, role );
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+ if (prect && (!dfb_rectangle_intersect( &rect, prect ) || !DFB_RECTANGLE_EQUAL( rect, *prect )))
+ return DFB_INVAREA;
- ret = dfb_surface_buffer_read( buffer, destination, pitch, rect );
+ /* Calculate bytes per read line. */
+ format = surface->config.format;
+ bytes = DFB_BYTES_PER_LINE( format, rect.w );
- fusion_skirmish_dismiss( &surface->lock );
+ D_DEBUG_AT( Core_Surface, " -> %d,%d - %dx%d (%s)\n", DFB_RECTANGLE_VALS(&rect),
+ dfb_pixelformat_name( format ) );
- return ret;
+ ret = CoreSurface_PreLockBuffer2( surface, role, CSAID_CPU, CSAF_READ, false, &allocation );
+ if (ret == DFB_NOALLOCATION) {
+ for (y=0; y<rect.h; y++) {
+ memset( destination, 0, bytes );
+
+ destination += pitch;
+ }
+
+ return DFB_OK;
+ }
+ if (ret)
+ return ret;
+
+ D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
+
+ D_DEBUG_AT( Core_Surface, " -> PreLockBuffer returned allocation %p (%s)\n", allocation, allocation->pool->desc.name );
+
+ /* Try reading from allocation directly... */
+ ret = dfb_surface_pool_read( allocation->pool, allocation, destination, pitch, &rect );
+ if (ret) {
+ /* ...otherwise use fallback method via locking if possible. */
+ if (allocation->access[CSAID_CPU] & CSAF_READ) {
+ CoreSurfaceBufferLock lock;
+
+ /* Lock the allocation. */
+ dfb_surface_buffer_lock_init( &lock, CSAID_CPU, CSAF_READ );
+
+ ret = dfb_surface_pool_lock( allocation->pool, allocation, &lock );
+ if (ret) {
+ D_DERROR( ret, "Core/SurfBuffer: Locking allocation failed! [%s]\n",
+ allocation->pool->desc.name );
+ dfb_surface_buffer_lock_deinit( &lock );
+ dfb_surface_allocation_unref( allocation );
+ return ret;
+ }
+
+ /* Move to start of read. */
+ lock.addr += DFB_BYTES_PER_LINE( format, rect.x ) + rect.y * lock.pitch;
+
+ /* Copy the data. */
+ for (y=0; y<rect.h; y++) {
+ direct_memcpy( destination, lock.addr, bytes );
+
+ destination += pitch;
+ lock.addr += lock.pitch;
+ }
+
+ /* Unlock the allocation. */
+ ret = dfb_surface_pool_unlock( allocation->pool, allocation, &lock );
+ if (ret)
+ D_DERROR( ret, "Core/SurfBuffer: Unlocking allocation failed! [%s]\n", allocation->pool->desc.name );
+
+ dfb_surface_buffer_lock_deinit( &lock );
+ }
+ }
+
+ dfb_surface_allocation_unref( allocation );
+
+ return DFB_OK;
}
DFBResult
@@ -630,15 +810,115 @@ dfb_surface_write_buffer( CoreSurface *surface,
CoreSurfaceBufferRole role,
const void *source,
int pitch,
- const DFBRectangle *rect )
+ const DFBRectangle *prect )
{
- DFBResult ret;
- CoreSurfaceBuffer *buffer;
+ DFBResult ret;
+ int bytes;
+ DFBRectangle rect;
+ DFBSurfacePixelFormat format;
+ CoreSurfaceAllocation *allocation;
+
+ D_MAGIC_ASSERT( surface, CoreSurface );
+ D_ASSERT( pitch > 0 || source == NULL );
+ DFB_RECTANGLE_ASSERT_IF( prect );
+
+ D_DEBUG_AT( Core_Surface, "%s( %p, %p [%d] )\n", __FUNCTION__, surface, source, pitch );
+
+ /* Determine area. */
+ rect.x = 0;
+ rect.y = 0;
+ rect.w = surface->config.size.w;
+ rect.h = surface->config.size.h;
+
+ if (prect) {
+ if (!dfb_rectangle_intersect( &rect, prect )) {
+ D_DEBUG_AT( Core_Surface, " -> no intersection!\n" );
+ return DFB_INVAREA;
+ }
+
+ if (!DFB_RECTANGLE_EQUAL( rect, *prect )) {
+ D_DEBUG_AT( Core_Surface, " -> got clipped to %d,%d-%dx%d!\n", DFB_RECTANGLE_VALS(&rect) );
+ return DFB_INVAREA;
+ }
+ }
+
+ /* Calculate bytes per read line. */
+ format = surface->config.format;
+ bytes = DFB_BYTES_PER_LINE( format, rect.w );
+
+ D_DEBUG_AT( Core_Surface, " -> %d,%d - %dx%d (%s)\n", DFB_RECTANGLE_VALS(&rect),
+ dfb_pixelformat_name( format ) );
+
+ ret = CoreSurface_PreLockBuffer2( surface, role, CSAID_CPU, CSAF_WRITE, false, &allocation );
+ if (ret)
+ return ret;
+
+ D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
+
+ D_DEBUG_AT( Core_Surface, " -> PreLockBuffer returned allocation %p (%s)\n", allocation, allocation->pool->desc.name );
+
+ /* Try writing to allocation directly... */
+ ret = source ? dfb_surface_pool_write( allocation->pool, allocation, source, pitch, &rect ) : DFB_UNSUPPORTED;
+ if (ret) {
+ /* ...otherwise use fallback method via locking if possible. */
+ if (allocation->access[CSAID_CPU] & CSAF_WRITE) {
+ int y;
+ int bytes;
+ DFBSurfacePixelFormat format;
+ CoreSurfaceBufferLock lock;
+
+ /* Calculate bytes per written line. */
+ format = surface->config.format;
+ bytes = DFB_BYTES_PER_LINE( format, rect.w );
+
+ /* Lock the allocation. */
+ dfb_surface_buffer_lock_init( &lock, CSAID_CPU, CSAF_WRITE );
+
+ ret = dfb_surface_pool_lock( allocation->pool, allocation, &lock );
+ if (ret) {
+ D_DERROR( ret, "Core/SurfBuffer: Locking allocation failed! [%s]\n",
+ allocation->pool->desc.name );
+ dfb_surface_buffer_lock_deinit( &lock );
+ dfb_surface_allocation_unref( allocation );
+ return ret;
+ }
+
+ /* Move to start of write. */
+ lock.addr += DFB_BYTES_PER_LINE( format, rect.x ) + rect.y * lock.pitch;
+
+ /* Copy the data. */
+ for (y=0; y<rect.h; y++) {
+ if (source) {
+ direct_memcpy( lock.addr, source, bytes );
+
+ source += pitch;
+ }
+ else
+ memset( lock.addr, 0, bytes );
+
+ lock.addr += lock.pitch;
+ }
+
+ /* Unlock the allocation. */
+ ret = dfb_surface_pool_unlock( allocation->pool, allocation, &lock );
+ if (ret)
+ D_DERROR( ret, "Core/SurfBuffer: Unlocking allocation failed! [%s]\n", allocation->pool->desc.name );
+
+ dfb_surface_buffer_lock_deinit( &lock );
+ }
+ }
+
+ dfb_surface_allocation_unref( allocation );
+
+ return DFB_OK;
+}
+
+DFBResult
+dfb_surface_clear_buffers( CoreSurface *surface )
+{
+ DFBResult ret = DFB_OK;
D_MAGIC_ASSERT( surface, CoreSurface );
- D_ASSERT( source != NULL );
- D_ASSERT( pitch > 0 );
- DFB_RECTANGLE_ASSERT_IF( rect );
if (surface->num_buffers == 0)
return DFB_SUSPENDED;
@@ -646,16 +926,20 @@ dfb_surface_write_buffer( CoreSurface *surface,
if (fusion_skirmish_prevail( &surface->lock ))
return DFB_FUSION;
- buffer = dfb_surface_get_buffer( surface, role );
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+ dfb_gfx_clear( surface, CSBR_FRONT );
+
+ if (surface->config.caps & DSCAPS_FLIPPING)
+ dfb_gfx_clear( surface, CSBR_BACK );
- ret = dfb_surface_buffer_write( buffer, source, pitch, rect );
+ if (surface->config.caps & DSCAPS_TRIPLE)
+ dfb_gfx_clear( surface, CSBR_IDLE );
fusion_skirmish_dismiss( &surface->lock );
return ret;
}
+
DFBResult
dfb_surface_dump_buffer( CoreSurface *surface,
CoreSurfaceBufferRole role,
@@ -669,12 +953,14 @@ dfb_surface_dump_buffer( CoreSurface *surface,
D_ASSERT( path != NULL );
D_ASSERT( prefix != NULL );
- if (surface->num_buffers == 0)
- return DFB_SUSPENDED;
-
if (fusion_skirmish_prevail( &surface->lock ))
return DFB_FUSION;
+ if (surface->num_buffers == 0) {
+ fusion_skirmish_dismiss( &surface->lock );
+ return DFB_SUSPENDED;
+ }
+
buffer = dfb_surface_get_buffer( surface, role );
D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
diff --git a/src/core/surface.h b/src/core/surface.h
index 1d2d452..b82c785 100644
--- a/src/core/surface.h
+++ b/src/core/surface.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -54,13 +54,16 @@ typedef enum {
CSNF_PALETTE_CHANGE = 0x00000040, /* another palette has been set */
CSNF_PALETTE_UPDATE = 0x00000080, /* current palette has been altered */
CSNF_ALPHA_RAMP = 0x00000100, /* alpha ramp was modified */
+ CSNF_DISPLAY = 0x00000200, /* surface buffer displayed */
- CSNF_ALL = 0x000001FF
+ CSNF_ALL = 0x000003FF
} CoreSurfaceNotificationFlags;
typedef struct {
CoreSurfaceNotificationFlags flags;
CoreSurface *surface;
+
+ int index;
} CoreSurfaceNotification;
@@ -102,10 +105,16 @@ typedef struct {
DFBSurfaceCapabilities caps;
struct {
- void *addr;
- int pitch;
+ void *addr; /* " */
+ unsigned long phys; /* " */
+ unsigned long offset; /* " */
+ unsigned int pitch; /* " */
+
+ void *handle; /* " */
} preallocated[MAX_SURFACE_BUFFERS];
+ CoreSurfacePoolID preallocated_pool_id;
+
DFBDimension min_size;
} CoreSurfaceConfig;
@@ -145,7 +154,7 @@ typedef enum {
CSAID_ACCEL4 = 0x00000006,
CSAID_ACCEL5 = 0x00000007,
- CSAID_LAYER0 = 0x00000008, /* display layers, registered by layer core (CSAID_LAYER0 + layer_id<0-7>) */
+ CSAID_LAYER0 = 0x00000008, /* display layers, registered by layer core (CSAID_LAYER0 + layer_id<0-MAX_LAYERS>) */
CSAID_LAYER1 = 0x00000009,
CSAID_LAYER2 = 0x0000000a,
CSAID_LAYER3 = 0x0000000b,
@@ -153,8 +162,16 @@ typedef enum {
CSAID_LAYER5 = 0x0000000d,
CSAID_LAYER6 = 0x0000000e,
CSAID_LAYER7 = 0x0000000f,
+ CSAID_LAYER8 = 0x00000010,
+ CSAID_LAYER9 = 0x00000011,
+ CSAID_LAYER10 = 0x00000012,
+ CSAID_LAYER11 = 0x00000013,
+ CSAID_LAYER12 = 0x00000014,
+ CSAID_LAYER13 = 0x00000015,
+ CSAID_LAYER14 = 0x00000016,
+ CSAID_LAYER15 = 0x00000017,
- _CSAID_NUM = 0x00000010, /* number of statically assigned IDs for usage in static arrays */
+ _CSAID_NUM = 0x00000018, /* number of statically assigned IDs for usage in static arrays */
CSAID_ANY = 0x00000100, /* any other accessor needs to be registered using IDs starting from here */
} CoreSurfaceAccessorID;
@@ -206,8 +223,17 @@ struct __DFB_CoreSurface
GlobalReaction palette_reaction;
FusionSHMPoolShared *shmpool;
+
+ void *data; /* Shared system driver-specific data for this surface. */
+
+ FusionCall call;
};
+#define CORE_SURFACE_ASSERT(surface) \
+ do { \
+ D_MAGIC_ASSERT( surface, CoreSurface ); \
+ } while (0)
+
/*
* Creates a pool of surface objects.
@@ -243,6 +269,9 @@ DFBResult dfb_surface_init_palette ( CoreDFB *core,
DFBResult dfb_surface_notify ( CoreSurface *surface,
CoreSurfaceNotificationFlags flags);
+DFBResult dfb_surface_notify_display( CoreSurface *surface,
+ CoreSurfaceBuffer *buffer);
+
DFBResult dfb_surface_flip ( CoreSurface *surface,
bool swap );
@@ -251,6 +280,8 @@ DFBResult dfb_surface_reconfig ( CoreSurface *surface,
DFBResult dfb_surface_destroy_buffers( CoreSurface *surface );
+DFBResult dfb_surface_deallocate_buffers( CoreSurface *surface );
+
DFBResult dfb_surface_lock_buffer ( CoreSurface *surface,
CoreSurfaceBufferRole role,
CoreSurfaceAccessorID accessor,
@@ -289,6 +320,8 @@ DFBResult dfb_surface_set_alpha_ramp( CoreSurface *surface,
u8 a2,
u8 a3 );
+DFBResult dfb_surface_clear_buffers ( CoreSurface *surface );
+
static inline DirectResult
dfb_surface_lock( CoreSurface *surface )
diff --git a/src/core/surface_allocation.c b/src/core/surface_allocation.c
new file mode 100644
index 0000000..7433b6d
--- /dev/null
+++ b/src/core/surface_allocation.c
@@ -0,0 +1,543 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+//#define DIRECT_ENABLE_DEBUG
+
+#include <config.h>
+
+#include <string.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#ifdef USE_ZLIB
+#include <zlib.h>
+#endif
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/memcpy.h>
+
+#include <fusion/shmalloc.h>
+
+#include <core/CoreSurface.h>
+
+#include <core/gfxcard.h>
+#include <core/palette.h>
+#include <core/surface.h>
+#include <core/surface_buffer.h>
+#include <core/surface_pool.h>
+#include <core/surface_pool_bridge.h>
+
+#include <misc/conf.h>
+
+#include <gfx/convert.h>
+
+
+D_DEBUG_DOMAIN( Core_SurfAllocation, "Core/SurfAllocation", "DirectFB Core Surface Allocation" );
+
+/**********************************************************************************************************************/
+
+static void
+surface_allocation_destructor( FusionObject *object, bool zombie, void *ctx )
+{
+ CoreSurfaceAllocation *allocation = (CoreSurfaceAllocation*) object;
+
+ D_DEBUG_AT( Core_SurfAllocation, "destroying %p (size %d)\n", allocation, allocation->size );
+
+ D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
+
+ if (!D_FLAGS_IS_SET(allocation->flags, CSALF_INITIALIZING)) {
+ if (allocation->surface)
+ dfb_surface_lock( allocation->surface );
+
+ CORE_SURFACE_ALLOCATION_ASSERT( allocation );
+
+ dfb_surface_pool_deallocate( allocation->pool, allocation );
+
+ if (allocation->surface)
+ dfb_surface_unlock( allocation->surface );
+ }
+
+ if (allocation->data)
+ SHFREE( allocation->pool->shmpool, allocation->data );
+
+ direct_serial_deinit( &allocation->serial );
+
+ D_MAGIC_CLEAR( allocation );
+
+ fusion_object_destroy( object );
+}
+
+FusionObjectPool *
+dfb_surface_allocation_pool_create( const FusionWorld *world )
+{
+ FusionObjectPool *pool;
+
+ pool = fusion_object_pool_create( "Surface Allocation Pool",
+ sizeof(CoreSurfaceAllocation),
+ sizeof(CoreSurfaceAllocationNotification),
+ surface_allocation_destructor, NULL, world );
+
+ return pool;
+}
+
+/**********************************************************************************************************************/
+
+DFBResult
+dfb_surface_allocation_create( CoreDFB *core,
+ CoreSurfaceBuffer *buffer,
+ CoreSurfacePool *pool,
+ CoreSurfaceAllocation **ret_allocation )
+{
+ DFBResult ret;
+ CoreSurface *surface;
+ CoreSurfaceAllocation *allocation;
+
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+ D_ASSERT( pool != NULL );
+ D_ASSERT( ret_allocation != NULL );
+
+ D_DEBUG_AT( Core_SurfAllocation, "%s( %dx%d %s )\n", __FUNCTION__,
+ buffer->config.size.w, buffer->config.size.h, dfb_pixelformat_name( buffer->config.format ) );
+
+ surface = buffer->surface;
+ D_MAGIC_ASSERT( surface, CoreSurface );
+
+ allocation = dfb_core_create_surface_allocation( core );
+ if (!allocation)
+ return DFB_FUSION;
+
+ allocation->buffer = buffer;
+ allocation->surface = surface;
+ allocation->pool = pool;
+ allocation->access = pool->desc.access;
+ allocation->config = buffer->config;
+ allocation->type = buffer->type;
+ allocation->resource_id = buffer->resource_id;
+ allocation->flags = CSALF_INITIALIZING;
+
+ if (pool->alloc_data_size) {
+ allocation->data = SHCALLOC( pool->shmpool, 1, pool->alloc_data_size );
+ if (!allocation->data) {
+ ret = D_OOSHM();
+ goto error;
+ }
+ }
+
+ direct_serial_init( &allocation->serial );
+
+ fusion_ref_add_permissions( &allocation->object.ref, 0, FUSION_REF_PERMIT_REF_UNREF_LOCAL );
+
+ D_MAGIC_SET( allocation, CoreSurfaceAllocation );
+
+ fusion_object_activate( &allocation->object );
+
+ *ret_allocation = allocation;
+
+ D_DEBUG_AT( Core_SurfAllocation, "%s(): allocation=%p\n", __FUNCTION__, (void *)allocation );
+
+ return DFB_OK;
+
+
+error:
+ if (allocation->data)
+ SHFREE( pool->shmpool, allocation->data );
+
+ fusion_object_destroy( &allocation->object );
+
+ return ret;
+}
+
+DFBResult
+dfb_surface_allocation_decouple( CoreSurfaceAllocation *allocation )
+{
+ int i;
+ int locks;
+ CoreSurfaceBuffer *buffer;
+ CoreSurfaceAllocation *alloc;
+
+ D_DEBUG_AT( Core_SurfAllocation, "%s( %p )\n", __FUNCTION__, allocation );
+
+ D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
+
+ buffer = allocation->buffer;
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ allocation->buffer = NULL;
+ allocation->surface = NULL;
+
+ fusion_vector_remove( &buffer->allocs, fusion_vector_index_of( &buffer->allocs, allocation ) );
+
+ locks = dfb_surface_allocation_locks( allocation );
+ if (!locks)
+ dfb_surface_pool_deallocate( allocation->pool, allocation );
+
+ /* Reset 'read' allocation pointer of buffer */
+ if (buffer->read == allocation)
+ buffer->read = NULL;
+
+ /* Update 'written' allocation pointer of buffer */
+ if (buffer->written == allocation) {
+ /* Reset pointer first */
+ buffer->written = NULL;
+
+ /* Iterate through remaining allocations */
+ fusion_vector_foreach (alloc, i, buffer->allocs) {
+ CORE_SURFACE_ALLOCATION_ASSERT( alloc );
+
+ /* Check if allocation is up to date and set it as 'written' allocation */
+ if (direct_serial_check( &alloc->serial, &buffer->serial )) {
+ buffer->written = alloc;
+ break;
+ }
+ }
+ }
+
+ dfb_surface_allocation_unlink( &allocation );
+
+ return DFB_OK;
+}
+
+/**********************************************************************************************************************/
+
+static void
+transfer_buffer( CoreSurfaceBuffer *buffer,
+ const void *src,
+ void *dst,
+ int srcpitch,
+ int dstpitch )
+{
+ int i;
+ CoreSurface *surface;
+
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ surface = buffer->surface;
+ D_MAGIC_ASSERT( surface, CoreSurface );
+
+ D_DEBUG_AT( Core_SurfAllocation, "%s( %p, %p [%d] -> %p [%d] ) * %d\n",
+ __FUNCTION__, buffer, src, srcpitch, dst, dstpitch, surface->config.size.h );
+
+ D_ASSERT( src != NULL );
+ D_ASSERT( dst != NULL );
+ D_ASSERT( srcpitch > 0 );
+ D_ASSERT( dstpitch > 0 );
+
+ D_ASSERT( srcpitch >= DFB_BYTES_PER_LINE( buffer->format, surface->config.size.w ) );
+ D_ASSERT( dstpitch >= DFB_BYTES_PER_LINE( buffer->format, surface->config.size.w ) );
+
+ for (i=0; i<surface->config.size.h; i++) {
+ direct_memcpy( dst, src, DFB_BYTES_PER_LINE( buffer->format, surface->config.size.w ) );
+
+ src += srcpitch;
+ dst += dstpitch;
+ }
+
+ switch (buffer->format) {
+ case DSPF_YV12:
+ case DSPF_I420:
+ for (i=0; i<surface->config.size.h; i++) {
+ direct_memcpy( dst, src,
+ DFB_BYTES_PER_LINE( buffer->format, surface->config.size.w / 2 ) );
+ src += srcpitch / 2;
+ dst += dstpitch / 2;
+ }
+ break;
+
+ case DSPF_YV16:
+ for (i=0; i<surface->config.size.h*2; i++) {
+ direct_memcpy( dst, src,
+ DFB_BYTES_PER_LINE( buffer->format, surface->config.size.w / 2 ) );
+ src += srcpitch / 2;
+ dst += dstpitch / 2;
+ }
+ break;
+
+ case DSPF_NV12:
+ case DSPF_NV21:
+ for (i=0; i<surface->config.size.h/2; i++) {
+ direct_memcpy( dst, src,
+ DFB_BYTES_PER_LINE( buffer->format, surface->config.size.w ) );
+ src += srcpitch;
+ dst += dstpitch;
+ }
+ break;
+
+ case DSPF_NV16:
+ for (i=0; i<surface->config.size.h; i++) {
+ direct_memcpy( dst, src,
+ DFB_BYTES_PER_LINE( buffer->format, surface->config.size.w ) );
+ src += srcpitch;
+ dst += dstpitch;
+ }
+ break;
+
+ case DSPF_YUV444P:
+ for (i=0; i<surface->config.size.h*2; i++) {
+ direct_memcpy( dst, src,
+ DFB_BYTES_PER_LINE( buffer->format, surface->config.size.w ) );
+ src += srcpitch;
+ dst += dstpitch;
+ }
+ break;
+
+ default:
+ break;
+ }
+}
+
+static DFBResult
+allocation_update_copy( CoreSurfaceAllocation *allocation,
+ CoreSurfaceAllocation *source )
+{
+ DFBResult ret;
+ CoreSurfaceBufferLock src;
+ CoreSurfaceBufferLock dst;
+ CoreSurfaceBuffer *buffer;
+
+ D_DEBUG_AT( Core_SurfAllocation, "%s( %p )\n", __FUNCTION__, (void *)allocation);
+
+ D_ASSERT( allocation != source );
+
+ D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
+ D_MAGIC_ASSERT( source, CoreSurfaceAllocation );
+
+ D_ASSERT( source->buffer == allocation->buffer );
+
+ buffer = allocation->buffer;
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ /* Lock the source allocation. */
+ dfb_surface_buffer_lock_init( &src, CSAID_CPU, CSAF_READ );
+
+ ret = dfb_surface_pool_lock( source->pool, source, &src );
+ if (ret) {
+ D_DERROR( ret, "Core/SurfBuffer: Could not lock source for transfer!\n" );
+ dfb_surface_buffer_lock_deinit( &src );
+ return ret;
+ }
+
+ /* Lock the destination allocation. */
+ dfb_surface_buffer_lock_init( &dst, CSAID_CPU, CSAF_WRITE );
+
+ ret = dfb_surface_pool_lock( allocation->pool, allocation, &dst );
+ if (ret) {
+ D_DERROR( ret, "Core/SurfBuffer: Could not lock destination for transfer!\n" );
+ dfb_surface_pool_unlock( source->pool, source, &src );
+ dfb_surface_buffer_lock_deinit( &dst );
+ dfb_surface_buffer_lock_deinit( &src );
+ return ret;
+ }
+
+ transfer_buffer( buffer, src.addr, dst.addr, src.pitch, dst.pitch );
+
+ dfb_surface_pool_unlock( allocation->pool, allocation, &dst );
+ dfb_surface_pool_unlock( source->pool, source, &src );
+
+ dfb_surface_buffer_lock_deinit( &dst );
+ dfb_surface_buffer_lock_deinit( &src );
+
+ return DFB_OK;
+}
+
+static DFBResult
+allocation_update_write( CoreSurfaceAllocation *allocation,
+ CoreSurfaceAllocation *source )
+{
+ DFBResult ret;
+ CoreSurfaceBufferLock src;
+ CoreSurfaceBuffer *buffer;
+
+ D_DEBUG_AT( Core_SurfAllocation, "%s( %p )\n", __FUNCTION__, (void *)allocation );
+
+ D_ASSERT( allocation != source );
+
+ D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
+ D_MAGIC_ASSERT( source, CoreSurfaceAllocation );
+
+ D_ASSERT( source->buffer == allocation->buffer );
+
+ buffer = allocation->buffer;
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ /* Lock the source allocation. */
+ dfb_surface_buffer_lock_init( &src, CSAID_CPU, CSAF_READ );
+
+ ret = dfb_surface_pool_lock( source->pool, source, &src );
+ if (ret) {
+ D_DERROR( ret, "Core/SurfBuffer: Could not lock source for transfer!\n" );
+ dfb_surface_buffer_lock_deinit( &src );
+ return ret;
+ }
+
+ /* Write to the destination allocation. */
+ ret = dfb_surface_pool_write( allocation->pool, allocation, src.addr, src.pitch, NULL );
+ if (ret)
+ D_DERROR( ret, "Core/SurfBuffer: Could not write from destination allocation!\n" );
+
+ dfb_surface_pool_unlock( source->pool, source, &src );
+
+ dfb_surface_buffer_lock_deinit( &src );
+
+ return ret;
+}
+
+static DFBResult
+allocation_update_read( CoreSurfaceAllocation *allocation,
+ CoreSurfaceAllocation *source )
+{
+ DFBResult ret;
+ CoreSurfaceBufferLock dst;
+ CoreSurfaceBuffer *buffer;
+
+ D_DEBUG_AT( Core_SurfAllocation, "%s( %p )\n", __FUNCTION__, (void *)allocation );
+
+ D_ASSERT( allocation != source );
+
+ D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
+ D_MAGIC_ASSERT( source, CoreSurfaceAllocation );
+
+ D_ASSERT( source->buffer == allocation->buffer );
+
+ buffer = allocation->buffer;
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ /* Lock the destination allocation. */
+ dfb_surface_buffer_lock_init( &dst, CSAID_CPU, CSAF_WRITE );
+
+ ret = dfb_surface_pool_lock( allocation->pool, allocation, &dst );
+ if (ret) {
+ D_DERROR( ret, "Core/SurfBuffer: Could not lock destination for transfer!\n" );
+ dfb_surface_buffer_lock_deinit( &dst );
+ return ret;
+ }
+
+ /* Read from the source allocation. */
+ ret = dfb_surface_pool_read( source->pool, source, dst.addr, dst.pitch, NULL );
+ if (ret)
+ D_DERROR( ret, "Core/SurfBuffer: Could not read from source allocation!\n" );
+
+ dfb_surface_pool_unlock( allocation->pool, allocation, &dst );
+
+ dfb_surface_buffer_lock_deinit( &dst );
+
+ return ret;
+}
+
+DFBResult
+dfb_surface_allocation_update( CoreSurfaceAllocation *allocation,
+ CoreSurfaceAccessFlags access )
+{
+ DFBResult ret;
+ int i;
+ CoreSurfaceAllocation *alloc;
+ CoreSurfaceBuffer *buffer;
+
+ D_DEBUG_AT( Core_SurfAllocation, "%s( %p )\n", __FUNCTION__, (void *)allocation );
+
+ D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
+ D_FLAGS_ASSERT( access, CSAF_ALL );
+
+ buffer = allocation->buffer;
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ if (direct_serial_update( &allocation->serial, &buffer->serial ) && buffer->written) {
+ CoreSurfaceAllocation *source = buffer->written;
+
+ D_ASSUME( allocation != source );
+
+ D_DEBUG_AT( Core_SurfAllocation, " -> updating allocation %p from %p...\n", allocation, source );
+
+ D_MAGIC_ASSERT( source, CoreSurfaceAllocation );
+ D_ASSERT( source->buffer == allocation->buffer );
+
+ ret = dfb_surface_pool_bridges_transfer( buffer, source, allocation, NULL, 0 );
+ if (ret) {
+ if ((source->access[CSAID_CPU] & CSAF_READ) && (allocation->access[CSAID_CPU] & CSAF_WRITE))
+ ret = allocation_update_copy( allocation, source );
+ else if (source->access[CSAID_CPU] & CSAF_READ)
+ ret = allocation_update_write( allocation, source );
+ else if (allocation->access[CSAID_CPU] & CSAF_WRITE)
+ ret = allocation_update_read( allocation, source );
+ else {
+ D_UNIMPLEMENTED();
+ ret = DFB_UNSUPPORTED;
+ }
+ }
+
+ if (ret) {
+ D_DERROR( ret, "Core/SurfaceBuffer: Updating allocation failed!\n" );
+ return ret;
+ }
+ }
+
+ if (access & CSAF_WRITE) {
+ D_DEBUG_AT( Core_SurfAllocation, " -> increasing serial...\n" );
+
+ direct_serial_increase( &buffer->serial );
+
+ direct_serial_copy( &allocation->serial, &buffer->serial );
+
+ buffer->written = allocation;
+ buffer->read = NULL;
+
+ /* Zap volatile allocations (freed when no longer up to date). */
+ fusion_vector_foreach (alloc, i, buffer->allocs) {
+ D_MAGIC_ASSERT( alloc, CoreSurfaceAllocation );
+
+ if (alloc != allocation && (alloc->flags & CSALF_VOLATILE)) {
+ dfb_surface_allocation_decouple( alloc );
+ i--;
+ }
+ }
+ }
+ else
+ buffer->read = allocation;
+
+ /* Zap all other allocations? */
+ if (dfb_config->thrifty_surface_buffers) {
+ buffer->written = buffer->read = allocation;
+
+ fusion_vector_foreach (alloc, i, buffer->allocs) {
+ D_MAGIC_ASSERT( alloc, CoreSurfaceAllocation );
+
+ /* Don't zap preallocated which would not really free up memory, but just loose the handle. */
+ if (alloc != allocation && !(alloc->flags & (CSALF_PREALLOCATED | CSALF_MUCKOUT))) {
+ dfb_surface_allocation_decouple( alloc );
+ i--;
+ }
+ }
+ }
+
+ return DFB_OK;
+}
+
diff --git a/src/core/surface_allocation.h b/src/core/surface_allocation.h
new file mode 100644
index 0000000..6256dcc
--- /dev/null
+++ b/src/core/surface_allocation.h
@@ -0,0 +1,139 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef __CORE__SURFACE_ALLOCATION_H__
+#define __CORE__SURFACE_ALLOCATION_H__
+
+#include <direct/debug.h>
+
+#include <fusion/object.h>
+#include <fusion/vector.h>
+
+#include <core/surface.h>
+
+#include <directfb.h>
+
+
+/*
+ * Configuration and State flags of a Surface Buffer Allocation
+ */
+typedef enum {
+ CSALF_NONE = 0x00000000, /* None of these. */
+ CSALF_INITIALIZING = 0x00000001, /* Allocation is being initialized */
+
+ CSALF_VOLATILE = 0x00000002, /* Allocation should be freed when no longer up to date. */
+ CSALF_PREALLOCATED = 0x00000004, /* Preallocated memory, don't zap when "thrifty-surface-buffers" is active. */
+
+ CSALF_MUCKOUT = 0x00001000, /* Indicates surface pool being in the progress of mucking out this and possibly
+ other allocations to have enough space for a new allocation to be made. */
+
+ CSALF_DEALLOCATED = 0x00002000, /* Decoupled and deallocated surface buffer allocation */
+
+ CSALF_ALL = 0x00003006 /* All of these. */
+} CoreSurfaceAllocationFlags;
+
+typedef enum {
+ CSANF_NONE = 0x00000000
+} CoreSurfaceAllocationNotificationFlags;
+
+typedef struct {
+ CoreSurfaceAllocationNotificationFlags flags;
+} CoreSurfaceAllocationNotification;
+
+/*
+ * An Allocation of a Surface Buffer
+ */
+struct __DFB_CoreSurfaceAllocation {
+ FusionObject object;
+
+ int magic;
+
+ DirectSerial serial; /* Equals serial of buffer if content is up to date. */
+
+ CoreSurfaceBuffer *buffer; /* Surface Buffer owning this allocation. */
+ CoreSurface *surface; /* Surface owning the Buffer of this allocation. */
+ CoreSurfacePool *pool; /* Surface Pool providing the allocation. */
+ void *data; /* Pool's private data for this allocation. */
+ int size; /* Amount of data used by this allocation. */
+ unsigned long offset; /* Offset within address range of pool if contiguous. */
+
+ CoreSurfaceAllocationFlags flags; /* Pool can return CSALF_ONEFORALL upon allocation of first buffer. */
+
+ const CoreSurfaceAccessFlags *access; /* Possible access flags (pointer to pool description). */
+ CoreSurfaceAccessFlags accessed[_CSAID_NUM]; /* Access since last synchronization. */
+
+ CoreSurfaceConfig config; /* Configuration of its surface at the time of the allocation creation */
+ CoreSurfaceTypeFlags type;
+ unsigned long resource_id; /* layer id, window id, or user specified */
+};
+
+#define CORE_SURFACE_ALLOCATION_ASSERT(alloc) \
+ do { \
+ D_MAGIC_ASSERT( alloc, CoreSurfaceAllocation ); \
+ D_ASSUME( (alloc)->size > 0 ); \
+ D_ASSERT( (alloc)->size >= 0 ); \
+ D_ASSERT( (alloc)->offset + (alloc)->size <= ((alloc)->pool->desc.size ?:~0UL) ); \
+ D_FLAGS_ASSERT( (alloc)->access[CSAID_CPU], CSAF_ALL ); \
+ D_FLAGS_ASSERT( (alloc)->access[CSAID_GPU], CSAF_ALL ); \
+ D_FLAGS_ASSERT( (alloc)->flags, CSALF_ALL ); \
+ D_FLAGS_ASSERT( (alloc)->accessed[CSAID_CPU], CSAF_ALL ); \
+ D_FLAGS_ASSERT( (alloc)->accessed[CSAID_GPU], CSAF_ALL ); \
+ } while (0)
+
+
+DFBResult dfb_surface_allocation_create ( CoreDFB *core,
+ CoreSurfaceBuffer *buffer,
+ CoreSurfacePool *pool,
+ CoreSurfaceAllocation **ret_allocation );
+
+DFBResult dfb_surface_allocation_decouple( CoreSurfaceAllocation *allocation );
+
+
+DFBResult dfb_surface_allocation_update ( CoreSurfaceAllocation *allocation,
+ CoreSurfaceAccessFlags access );
+
+
+static inline int
+dfb_surface_allocation_locks( CoreSurfaceAllocation *allocation )
+{
+ int refs;
+
+ fusion_ref_stat( &allocation->object.ref, &refs );
+
+ D_ASSERT( refs > 0 );
+
+ return refs - 1;
+}
+
+
+FUSION_OBJECT_METHODS( CoreSurfaceAllocation, dfb_surface_allocation )
+
+FusionObjectPool *dfb_surface_allocation_pool_create( const FusionWorld *world );
+
+#endif
+
diff --git a/src/core/surface_buffer.c b/src/core/surface_buffer.c
index a61760a..c7d2060 100644
--- a/src/core/surface_buffer.c
+++ b/src/core/surface_buffer.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -48,6 +48,8 @@
#include <fusion/shmalloc.h>
+#include <core/CoreSurface.h>
+
#include <core/gfxcard.h>
#include <core/palette.h>
#include <core/surface.h>
@@ -67,11 +69,65 @@ D_DEBUG_DOMAIN( Core_SurfBuffer, "Core/SurfBuffer", "DirectFB Core Surface Buffe
/**********************************************************************************************************************/
+static void
+surface_buffer_destructor( FusionObject *object, bool zombie, void *ctx )
+{
+ CoreSurfaceAllocation *allocation;
+ unsigned int i;
+ CoreSurfaceBuffer *buffer = (CoreSurfaceBuffer*) object;
+
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ D_DEBUG_AT( Core_SurfBuffer, "destroying %p (%dx%d%s)\n", buffer,
+ buffer->config.size.w, buffer->config.size.h, zombie ? " ZOMBIE" : "");
+
+ D_DEBUG_AT( Core_SurfBuffer, " -> allocs %d\n", buffer->allocs.count );
+
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ if (buffer->surface)
+ dfb_surface_lock( buffer->surface );
+
+ fusion_vector_foreach_reverse (allocation, i, buffer->allocs) {
+ CORE_SURFACE_ALLOCATION_ASSERT( allocation );
+
+ dfb_surface_allocation_decouple( allocation );
+ }
+
+ if (buffer->surface)
+ dfb_surface_unlock( buffer->surface );
+
+ fusion_vector_destroy( &buffer->allocs );
+
+ direct_serial_deinit( &buffer->serial );
+
+ D_MAGIC_CLEAR( buffer );
+
+ fusion_object_destroy( object );
+}
+
+FusionObjectPool *
+dfb_surface_buffer_pool_create( const FusionWorld *world )
+{
+ FusionObjectPool *pool;
+
+ pool = fusion_object_pool_create( "Surface Buffer Pool",
+ sizeof(CoreSurfaceBuffer),
+ sizeof(CoreSurfaceBufferNotification),
+ surface_buffer_destructor, NULL, world );
+
+ return pool;
+}
+
+/**********************************************************************************************************************/
+
DFBResult
-dfb_surface_buffer_new( CoreSurface *surface,
- CoreSurfaceBufferFlags flags,
- CoreSurfaceBuffer **ret_buffer )
+dfb_surface_buffer_create( CoreDFB *core,
+ CoreSurface *surface,
+ CoreSurfaceBufferFlags flags,
+ CoreSurfaceBuffer **ret_buffer )
{
+ DFBResult ret;
CoreSurfaceBuffer *buffer;
D_MAGIC_ASSERT( surface, CoreSurface );
@@ -85,16 +141,19 @@ dfb_surface_buffer_new( CoreSurface *surface,
D_DEBUG_AT( Core_SurfBuffer, " -> STICKED\n" );
#endif
- buffer = SHCALLOC( surface->shmpool, 1, sizeof(CoreSurfaceBuffer) );
+ buffer = dfb_core_create_surface_buffer( core );
if (!buffer)
- return D_OOSHM();
+ return DFB_FUSION;
direct_serial_init( &buffer->serial );
direct_serial_increase( &buffer->serial );
- buffer->surface = surface;
- buffer->flags = flags;
- buffer->format = surface->config.format;
+ buffer->surface = surface;
+ buffer->flags = flags;
+ buffer->format = surface->config.format;
+ buffer->config = surface->config;
+ buffer->type = surface->type;
+ buffer->resource_id = surface->resource_id;
if (surface->config.caps & DSCAPS_VIDEOONLY)
buffer->policy = CSP_VIDEOONLY;
@@ -105,56 +164,126 @@ dfb_surface_buffer_new( CoreSurface *surface,
fusion_vector_init( &buffer->allocs, 2, surface->shmpool );
+ fusion_object_set_lock( &buffer->object, &surface->lock );
+
+ fusion_ref_add_permissions( &buffer->object.ref, 0, FUSION_REF_PERMIT_REF_UNREF_LOCAL );
+
D_MAGIC_SET( buffer, CoreSurfaceBuffer );
*ret_buffer = buffer;
+ if (surface->type & CSTF_PREALLOCATED) {
+ CoreSurfacePool *pool;
+ CoreSurfaceAllocation *alloc;
+
+ ret = dfb_surface_pools_lookup( surface->config.preallocated_pool_id, &pool );
+ if (ret) {
+ fusion_object_destroy( &buffer->object );
+ return ret;
+ }
+
+ ret = dfb_surface_pool_allocate( pool, buffer, &alloc );
+ if (ret) {
+ fusion_object_destroy( &buffer->object );
+ return ret;
+ }
+
+ dfb_surface_allocation_update( alloc, CSAF_WRITE );
+ }
+
+ fusion_object_activate( &buffer->object );
+
return DFB_OK;
}
DFBResult
-dfb_surface_buffer_destroy( CoreSurfaceBuffer *buffer )
+dfb_surface_buffer_decouple( CoreSurfaceBuffer *buffer )
{
- CoreSurface *surface;
- CoreSurfaceAllocation *allocation;
- int i;
+ D_DEBUG_AT( Core_SurfBuffer, "%s( %p )\n", __FUNCTION__, buffer );
D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
- surface = buffer->surface;
- D_MAGIC_ASSERT( surface, CoreSurface );
- FUSION_SKIRMISH_ASSERT( &surface->lock );
+ dfb_surface_buffer_deallocate( buffer );
- D_DEBUG_AT( Core_SurfBuffer, "dfb_surface_buffer_destroy( %p [%dx%d] )\n",
- buffer, surface->config.size.w, surface->config.size.h );
+ buffer->surface = NULL;
- fusion_vector_foreach_reverse (allocation, i, buffer->allocs)
- dfb_surface_pool_deallocate( allocation->pool, allocation );
+ dfb_surface_buffer_unlink( &buffer );
- fusion_vector_destroy( &buffer->allocs );
+ return DFB_OK;
+}
- direct_serial_deinit( &buffer->serial );
+DFBResult
+dfb_surface_buffer_deallocate( CoreSurfaceBuffer *buffer )
+{
+ CoreSurfaceAllocation *allocation;
+ int i;
- D_MAGIC_CLEAR( buffer );
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ D_DEBUG_AT( Core_SurfBuffer, "%s( %p [%dx%d] )\n", __FUNCTION__,
+ buffer, buffer->config.size.w, buffer->config.size.h );
+
+ fusion_vector_foreach_reverse (allocation, i, buffer->allocs) {
+ CORE_SURFACE_ALLOCATION_ASSERT( allocation );
- SHFREE( surface->shmpool, buffer );
+ dfb_surface_allocation_decouple( allocation );
+ }
return DFB_OK;
}
-static CoreSurfaceAllocation *
-find_allocation( CoreSurfaceBuffer *buffer,
- CoreSurfaceAccessorID accessor,
- CoreSurfaceAccessFlags flags,
- bool lock )
+CoreSurfaceAllocation *
+dfb_surface_buffer_find_allocation( CoreSurfaceBuffer *buffer,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags flags,
+ bool lock )
{
int i;
CoreSurfaceAllocation *alloc;
CoreSurfaceAllocation *uptodate = NULL;
CoreSurfaceAllocation *outdated = NULL;
+ D_DEBUG_AT( Core_SurfBuffer, "%s( %p )\n", __FUNCTION__, buffer );
+
+ /*
+ * For preallocated surfaces, when the client specified DSCAPS_STATIC_ALLOC,
+ * it is forced to always get the same preallocated buffer again on each Lock.
+ */
+ if (buffer->type & CSTF_PREALLOCATED && buffer->config.caps & DSCAPS_STATIC_ALLOC) {
+ D_MAGIC_ASSERT( buffer->surface, CoreSurface );
+
+ if (buffer->surface->object.identity == Core_GetIdentity()) {
+ D_DEBUG_AT( Core_SurfBuffer, " -> DSCAPS_STATIC_ALLOC, returning preallocated buffer\n" );
+
+ D_ASSERT( buffer->allocs.count > 0 );
+
+ alloc = buffer->allocs.elements[0];
+
+ D_MAGIC_ASSERT( alloc, CoreSurfaceAllocation );
+
+ D_ASSERT( alloc->flags & CSALF_PREALLOCATED );
+
+ return alloc;
+ }
+ }
+
/* Prefer allocations which are up to date. */
fusion_vector_foreach (alloc, i, buffer->allocs) {
+ if (lock && alloc->flags & CSALF_PREALLOCATED) {
+ if (!(alloc->access[accessor] & CSAF_SHARED)) {
+ D_DEBUG_AT( Core_SurfBuffer, " -> non-shared preallocated buffer, surface identity %lu, core identity %lu\n",
+ buffer->surface->object.identity, Core_GetIdentity() );
+
+ /*
+ * If this is a non-shared preallocated allocation and the lock is not
+ * for the creator, we need to skip it and possibly allocate/update in
+ * a different pool.
+ */
+ if (buffer->surface->object.identity != Core_GetIdentity())
+ continue;
+ }
+ }
+
if (direct_serial_check( &alloc->serial, &buffer->serial )) {
/* Return immediately if up to date allocation has required flags. */
if (D_FLAGS_ARE_SET( alloc->access[accessor], flags ))
@@ -186,7 +315,6 @@ dfb_surface_buffer_lock( CoreSurfaceBuffer *buffer,
DFBResult ret;
CoreSurface *surface;
CoreSurfaceAllocation *allocation = NULL;
- bool allocated = false;
D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
D_FLAGS_ASSERT( access, CSAF_ALL );
@@ -208,7 +336,7 @@ dfb_surface_buffer_lock( CoreSurfaceBuffer *buffer,
return DFB_INVARG;
#if DIRECT_BUILD_DEBUG
- D_DEBUG_AT( Core_SurfBuffer, "dfb_surface_buffer_lock( %p, 0x%02x, %p ) <- %dx%d %s [%d]\n", buffer, access, lock,
+ D_DEBUG_AT( Core_SurfBuffer, "%s( %p, 0x%02x, %p ) <- %dx%d %s [%d]\n", __FUNCTION__, buffer, access, lock,
surface->config.size.w, surface->config.size.h, dfb_pixelformat_name(buffer->format),
dfb_surface_buffer_index(buffer) );
@@ -231,6 +359,14 @@ dfb_surface_buffer_lock( CoreSurfaceBuffer *buffer,
case CSAID_LAYER5:
case CSAID_LAYER6:
case CSAID_LAYER7:
+ case CSAID_LAYER8:
+ case CSAID_LAYER9:
+ case CSAID_LAYER10:
+ case CSAID_LAYER11:
+ case CSAID_LAYER12:
+ case CSAID_LAYER13:
+ case CSAID_LAYER14:
+ case CSAID_LAYER15:
D_DEBUG_AT( Core_SurfBuffer, " -> LAYER %d %s%s\n", accessor - CSAID_LAYER0,
(access & CSAF_READ) ? "READ" : "", (access & CSAF_WRITE) ? "WRITE" : "" );
break;
@@ -244,115 +380,35 @@ dfb_surface_buffer_lock( CoreSurfaceBuffer *buffer,
D_DEBUG_AT( Core_SurfBuffer, " -> SHARED\n" );
#endif
- /* Look for allocation with proper access. */
- allocation = find_allocation( buffer, accessor, access, true );
- if (!allocation) {
- /* If no allocation exists, create one. */
- ret = dfb_surface_pools_allocate( buffer, accessor, access, &allocation );
- if (ret) {
- if (ret != DFB_NOVIDEOMEMORY && ret != DFB_UNSUPPORTED)
- D_DERROR( ret, "Core/SurfBuffer: Buffer allocation failed!\n" );
+ D_DEBUG_AT( Core_SurfBuffer, " -> Calling PreLockBuffer( buffer %p )...\n", buffer );
- return ret;
- }
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
- allocated = true;
- }
+ /* Run all code that modifies shared memory in master process (IPC call) */
+ ret = CoreSurface_PreLockBuffer( surface, buffer, accessor, access, &allocation );
+ if (ret)
+ return ret;
- CORE_SURFACE_ALLOCATION_ASSERT( allocation );
+ D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
- /* Synchronize with other allocations. */
- ret = dfb_surface_allocation_update( allocation, access );
- if (ret) {
- /* Destroy if newly created. */
- if (allocated)
- dfb_surface_pool_deallocate( allocation->pool, allocation );
- return ret;
- }
+ D_DEBUG_AT( Core_SurfBuffer, " -> PreLockBuffer returned allocation %p (%s)\n", allocation, allocation->pool->desc.name );
+
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
/* Lock the allocation. */
dfb_surface_buffer_lock_init( lock, accessor, access );
+
ret = dfb_surface_pool_lock( allocation->pool, allocation, lock );
if (ret) {
D_DERROR( ret, "Core/SurfBuffer: Locking allocation failed! [%s]\n",
allocation->pool->desc.name );
dfb_surface_buffer_lock_deinit( lock );
- /* Destroy if newly created. */
- if (allocated)
- dfb_surface_pool_deallocate( allocation->pool, allocation );
-
+ dfb_surface_allocation_unref( allocation );
return ret;
}
-#if 1
- /*
- * Manage access interlocks.
- *
- * SOON FIXME: Clearing flags only when not locked yet. Otherwise nested GPU/CPU locks are a problem.
- */
- /* Software read/write access... */
- if (accessor == CSAID_CPU) {
- /* If hardware has written or is writing... */
- if (allocation->accessed[CSAID_GPU] & CSAF_WRITE) {
- /* ...wait for the operation to finish. */
- dfb_gfxcard_sync(); /* TODO: wait for serial instead */
-
- /* Software read access after hardware write requires flush of the (bus) read cache. */
- dfb_gfxcard_flush_read_cache();
-
- if (!buffer->locked) {
- /* ...clear hardware write access. */
- allocation->accessed[CSAID_GPU] &= ~CSAF_WRITE;
-
- /* ...clear hardware read access (to avoid syncing twice). */
- allocation->accessed[CSAID_GPU] &= ~CSAF_READ;
- }
- }
-
- /* Software write access... */
- if (access & CSAF_WRITE) {
- /* ...if hardware has (to) read... */
- if (allocation->accessed[CSAID_GPU] & CSAF_READ) {
- /* ...wait for the operation to finish. */
- dfb_gfxcard_sync(); /* TODO: wait for serial instead */
-
- /* ...clear hardware read access. */
- if (!buffer->locked)
- allocation->accessed[CSAID_GPU] &= ~CSAF_READ;
- }
- }
- }
-
- /* Hardware read access... */
- if (accessor == CSAID_GPU && access & CSAF_READ) {
- /* ...if software has written before... */
- if (allocation->accessed[CSAID_CPU] & CSAF_WRITE) {
- /* ...flush texture cache. */
- dfb_gfxcard_flush_texture_cache();
-
- /* ...clear software write access. */
- if (!buffer->locked)
- allocation->accessed[CSAID_CPU] &= ~CSAF_WRITE;
- }
- }
-
- if (! D_FLAGS_ARE_SET( allocation->accessed[accessor], access )) {
- /* FIXME: surface_enter */
- }
-#endif
-
- /* Collect... */
- allocation->accessed[accessor] |= access;
-
-#if 1
- /* FIXME: don't use weak counter */
- buffer->locked++;
-
- D_DEBUG_AT( Core_SurfBuffer, " -> locked %dx now\n", buffer->locked );
-#endif
-
return DFB_OK;
}
@@ -361,24 +417,15 @@ dfb_surface_buffer_unlock( CoreSurfaceBufferLock *lock )
{
DFBResult ret;
CoreSurfacePool *pool;
- CoreSurfaceBuffer *buffer;
CoreSurfaceAllocation *allocation;
D_DEBUG_AT( Core_SurfBuffer, "dfb_surface_buffer_unlock( %p )\n", lock );
D_MAGIC_ASSERT( lock, CoreSurfaceBufferLock );
- D_MAGIC_ASSERT( lock->buffer, CoreSurfaceBuffer );
- D_MAGIC_ASSERT( lock->buffer->surface, CoreSurface );
-
- FUSION_SKIRMISH_ASSERT( &lock->buffer->surface->lock );
-
allocation = lock->allocation;
CORE_SURFACE_ALLOCATION_ASSERT( allocation );
- buffer = lock->buffer;
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
-
pool = allocation->pool;
D_MAGIC_ASSERT( pool, CoreSurfacePool );
@@ -393,14 +440,12 @@ dfb_surface_buffer_unlock( CoreSurfaceBufferLock *lock )
return ret;
}
-#if 1
- buffer->locked--;
-#endif
-
dfb_surface_buffer_lock_reset( lock );
dfb_surface_buffer_lock_deinit( lock );
+ dfb_surface_allocation_unref( allocation );
+
return DFB_OK;
}
@@ -416,7 +461,6 @@ dfb_surface_buffer_read( CoreSurfaceBuffer *buffer,
DFBRectangle rect;
CoreSurface *surface;
CoreSurfaceAllocation *allocation = NULL;
- bool allocated = false;
DFBSurfacePixelFormat format;
D_DEBUG_AT( Core_SurfBuffer, "%s( %p, %p [%d] )\n", __FUNCTION__, buffer, destination, pitch );
@@ -458,34 +502,14 @@ dfb_surface_buffer_read( CoreSurfaceBuffer *buffer,
return DFB_OK;
}
- /* Use last written allocation if it's up to date... */
- if (buffer->written && direct_serial_check( &buffer->written->serial, &buffer->serial ))
- allocation = buffer->written;
- else {
- /* ...otherwise look for allocation with CPU access. */
- allocation = find_allocation( buffer, CSAID_CPU, CSAF_READ, false );
- if (!allocation) {
- /* If no allocation exists, create one. */
- ret = dfb_surface_pools_allocate( buffer, CSAID_CPU, CSAF_READ, &allocation );
- if (ret) {
- D_DERROR( ret, "Core/SurfBuffer: Buffer allocation failed!\n" );
- return ret;
- }
+ D_DEBUG_AT( Core_SurfBuffer, " -> Calling PreReadBuffer...\n" );
- allocated = true;
- }
- }
-
- CORE_SURFACE_ALLOCATION_ASSERT( allocation );
-
- /* Synchronize with other allocations. */
- ret = dfb_surface_allocation_update( allocation, CSAF_READ );
- if (ret) {
- /* Destroy if newly created. */
- if (allocated)
- dfb_surface_pool_deallocate( allocation->pool, allocation );
+ /* Run all code that modifies shared memory in master process (IPC call) */
+ ret = CoreSurface_PreReadBuffer( surface, buffer, &rect, &allocation );
+ if (ret)
return ret;
- }
+
+ D_DEBUG_AT( Core_SurfBuffer, " -> PreReadBuffer returned allocation %p (%s)\n", allocation, allocation->pool->desc.name );
/* Try reading from allocation directly... */
ret = dfb_surface_pool_read( allocation->pool, allocation, destination, pitch, &rect );
@@ -502,6 +526,7 @@ dfb_surface_buffer_read( CoreSurfaceBuffer *buffer,
D_DERROR( ret, "Core/SurfBuffer: Locking allocation failed! [%s]\n",
allocation->pool->desc.name );
dfb_surface_buffer_lock_deinit( &lock );
+ dfb_surface_allocation_unref( allocation );
return ret;
}
@@ -525,6 +550,8 @@ dfb_surface_buffer_read( CoreSurfaceBuffer *buffer,
}
}
+ dfb_surface_allocation_unref( allocation );
+
return ret;
}
@@ -538,7 +565,6 @@ dfb_surface_buffer_write( CoreSurfaceBuffer *buffer,
DFBRectangle rect;
CoreSurface *surface;
CoreSurfaceAllocation *allocation = NULL;
- bool allocated = false;
D_DEBUG_AT( Core_SurfBuffer, "%s( %p, %p [%d] )\n", __FUNCTION__, buffer, source, pitch );
@@ -557,40 +583,29 @@ dfb_surface_buffer_write( CoreSurfaceBuffer *buffer,
rect.w = surface->config.size.w;
rect.h = surface->config.size.h;
- if (prect && (!dfb_rectangle_intersect( &rect, prect ) || !DFB_RECTANGLE_EQUAL( rect, *prect )))
- return DFB_INVAREA;
+ if (prect) {
+ if (!dfb_rectangle_intersect( &rect, prect )) {
+ D_DEBUG_AT( Core_SurfBuffer, " -> no intersection!\n" );
+ return DFB_INVAREA;
+ }
+
+ if (!DFB_RECTANGLE_EQUAL( rect, *prect )) {
+ D_DEBUG_AT( Core_SurfBuffer, " -> got clipped to %d,%d-%dx%d!\n", DFB_RECTANGLE_VALS(&rect) );
+ return DFB_INVAREA;
+ }
+ }
D_DEBUG_AT( Core_SurfBuffer, " -> %d,%d - %dx%d (%s)\n", DFB_RECTANGLE_VALS(&rect),
dfb_pixelformat_name( surface->config.format ) );
- /* Use last read allocation if it's up to date... */
- if (buffer->read && direct_serial_check( &buffer->read->serial, &buffer->serial ))
- allocation = buffer->read;
- else {
- /* ...otherwise look for allocation with CPU access. */
- allocation = find_allocation( buffer, CSAID_CPU, CSAF_WRITE, false );
- if (!allocation) {
- /* If no allocation exists, create one. */
- ret = dfb_surface_pools_allocate( buffer, CSAID_CPU, CSAF_WRITE, &allocation );
- if (ret) {
- D_DERROR( ret, "Core/SurfBuffer: Buffer allocation failed!\n" );
- return ret;
- }
+ D_DEBUG_AT( Core_SurfBuffer, " -> Calling PreWriteBuffer...\n" );
- allocated = true;
- }
- }
-
- CORE_SURFACE_ALLOCATION_ASSERT( allocation );
-
- /* Synchronize with other allocations. */
- ret = dfb_surface_allocation_update( allocation, CSAF_WRITE );
- if (ret) {
- /* Destroy if newly created. */
- if (allocated)
- dfb_surface_pool_deallocate( allocation->pool, allocation );
+ /* Run all code that modifies shared memory in master process (IPC call) */
+ ret = CoreSurface_PreWriteBuffer( surface, buffer, &rect, &allocation );
+ if (ret)
return ret;
- }
+
+ D_DEBUG_AT( Core_SurfBuffer, " -> PreWriteBuffer returned allocation %p (%s)\n", allocation, allocation->pool->desc.name );
/* Try writing to allocation directly... */
ret = source ? dfb_surface_pool_write( allocation->pool, allocation, source, pitch, &rect ) : DFB_UNSUPPORTED;
@@ -614,6 +629,7 @@ dfb_surface_buffer_write( CoreSurfaceBuffer *buffer,
D_DERROR( ret, "Core/SurfBuffer: Locking allocation failed! [%s]\n",
allocation->pool->desc.name );
dfb_surface_buffer_lock_deinit( &lock );
+ dfb_surface_allocation_unref( allocation );
return ret;
}
@@ -642,6 +658,8 @@ dfb_surface_buffer_write( CoreSurfaceBuffer *buffer,
}
}
+ dfb_surface_allocation_unref( allocation );
+
return ret;
}
@@ -721,6 +739,7 @@ dfb_surface_buffer_dump( CoreSurfaceBuffer *buffer,
case DSPF_YUY2:
case DSPF_UYVY:
case DSPF_NV16:
+ case DSPF_YV16:
case DSPF_RGB444:
case DSPF_RGB555:
case DSPF_BGR555:
@@ -918,306 +937,3 @@ dfb_surface_buffer_dump( CoreSurfaceBuffer *buffer,
return DFB_OK;
}
-/**********************************************************************************************************************/
-
-static void
-transfer_buffer( CoreSurfaceBuffer *buffer,
- const void *src,
- void *dst,
- int srcpitch,
- int dstpitch )
-{
- int i;
- CoreSurface *surface;
-
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
-
- surface = buffer->surface;
- D_MAGIC_ASSERT( surface, CoreSurface );
-
- D_DEBUG_AT( Core_SurfBuffer, "%s( %p, %p [%d] -> %p [%d] ) * %d\n",
- __FUNCTION__, buffer, src, srcpitch, dst, dstpitch, surface->config.size.h );
-
- D_ASSERT( src != NULL );
- D_ASSERT( dst != NULL );
- D_ASSERT( srcpitch > 0 );
- D_ASSERT( dstpitch > 0 );
-
- D_ASSERT( srcpitch >= DFB_BYTES_PER_LINE( buffer->format, surface->config.size.w ) );
- D_ASSERT( dstpitch >= DFB_BYTES_PER_LINE( buffer->format, surface->config.size.w ) );
-
- for (i=0; i<surface->config.size.h; i++) {
- direct_memcpy( dst, src, DFB_BYTES_PER_LINE( buffer->format, surface->config.size.w ) );
-
- src += srcpitch;
- dst += dstpitch;
- }
-
- switch (buffer->format) {
- case DSPF_YV12:
- case DSPF_I420:
- for (i=0; i<surface->config.size.h; i++) {
- direct_memcpy( dst, src,
- DFB_BYTES_PER_LINE( buffer->format, surface->config.size.w / 2 ) );
- src += srcpitch / 2;
- dst += dstpitch / 2;
- }
- break;
-
- case DSPF_NV12:
- case DSPF_NV21:
- for (i=0; i<surface->config.size.h/2; i++) {
- direct_memcpy( dst, src,
- DFB_BYTES_PER_LINE( buffer->format, surface->config.size.w ) );
- src += srcpitch;
- dst += dstpitch;
- }
- break;
-
- case DSPF_NV16:
- for (i=0; i<surface->config.size.h; i++) {
- direct_memcpy( dst, src,
- DFB_BYTES_PER_LINE( buffer->format, surface->config.size.w ) );
- src += srcpitch;
- dst += dstpitch;
- }
- break;
-
- case DSPF_YUV444P:
- for (i=0; i<surface->config.size.h*2; i++) {
- direct_memcpy( dst, src,
- DFB_BYTES_PER_LINE( buffer->format, surface->config.size.w ) );
- src += srcpitch;
- dst += dstpitch;
- }
- break;
-
- default:
- break;
- }
-}
-
-static DFBResult
-allocation_update_copy( CoreSurfaceAllocation *allocation,
- CoreSurfaceAllocation *source )
-{
- DFBResult ret;
- CoreSurfaceBufferLock src;
- CoreSurfaceBufferLock dst;
- CoreSurfaceBuffer *buffer;
-
- D_DEBUG_AT( Core_SurfBuffer, "%s()\n", __FUNCTION__ );
-
- D_ASSERT( allocation != source );
-
- D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
- D_MAGIC_ASSERT( source, CoreSurfaceAllocation );
-
- D_ASSERT( source->buffer == allocation->buffer );
-
- buffer = allocation->buffer;
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
-
- /* Lock the source allocation. */
- dfb_surface_buffer_lock_init( &src, CSAID_CPU, CSAF_READ );
-
- ret = dfb_surface_pool_lock( source->pool, source, &src );
- if (ret) {
- D_DERROR( ret, "Core/SurfBuffer: Could not lock source for transfer!\n" );
- dfb_surface_buffer_lock_deinit( &src );
- return ret;
- }
-
- /* Lock the destination allocation. */
- dfb_surface_buffer_lock_init( &dst, CSAID_CPU, CSAF_WRITE );
-
- ret = dfb_surface_pool_lock( allocation->pool, allocation, &dst );
- if (ret) {
- D_DERROR( ret, "Core/SurfBuffer: Could not lock destination for transfer!\n" );
- dfb_surface_pool_unlock( source->pool, source, &src );
- return ret;
- }
-
- transfer_buffer( buffer, src.addr, dst.addr, src.pitch, dst.pitch );
-
- dfb_surface_pool_unlock( allocation->pool, allocation, &dst );
- dfb_surface_pool_unlock( source->pool, source, &src );
-
- dfb_surface_buffer_lock_deinit( &dst );
- dfb_surface_buffer_lock_deinit( &src );
-
- return DFB_OK;
-}
-
-static DFBResult
-allocation_update_write( CoreSurfaceAllocation *allocation,
- CoreSurfaceAllocation *source )
-{
- DFBResult ret;
- CoreSurfaceBufferLock src;
- CoreSurfaceBuffer *buffer;
-
- D_DEBUG_AT( Core_SurfBuffer, "%s()\n", __FUNCTION__ );
-
- D_ASSERT( allocation != source );
-
- D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
- D_MAGIC_ASSERT( source, CoreSurfaceAllocation );
-
- D_ASSERT( source->buffer == allocation->buffer );
-
- buffer = allocation->buffer;
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
-
- /* Lock the source allocation. */
- dfb_surface_buffer_lock_init( &src, CSAID_CPU, CSAF_READ );
-
- ret = dfb_surface_pool_lock( source->pool, source, &src );
- if (ret) {
- D_DERROR( ret, "Core/SurfBuffer: Could not lock source for transfer!\n" );
- dfb_surface_buffer_lock_deinit( &src );
- return ret;
- }
-
- /* Write to the destination allocation. */
- ret = dfb_surface_pool_write( allocation->pool, allocation, src.addr, src.pitch, NULL );
- if (ret)
- D_DERROR( ret, "Core/SurfBuffer: Could not write from destination allocation!\n" );
-
- dfb_surface_pool_unlock( source->pool, source, &src );
-
- dfb_surface_buffer_lock_deinit( &src );
-
- return ret;
-}
-
-static DFBResult
-allocation_update_read( CoreSurfaceAllocation *allocation,
- CoreSurfaceAllocation *source )
-{
- DFBResult ret;
- CoreSurfaceBufferLock dst;
- CoreSurfaceBuffer *buffer;
-
- D_DEBUG_AT( Core_SurfBuffer, "%s()\n", __FUNCTION__ );
-
- D_ASSERT( allocation != source );
-
- D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
- D_MAGIC_ASSERT( source, CoreSurfaceAllocation );
-
- D_ASSERT( source->buffer == allocation->buffer );
-
- buffer = allocation->buffer;
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
-
- /* Lock the destination allocation. */
- dfb_surface_buffer_lock_init( &dst, CSAID_CPU, CSAF_WRITE );
-
- ret = dfb_surface_pool_lock( allocation->pool, allocation, &dst );
- if (ret) {
- D_DERROR( ret, "Core/SurfBuffer: Could not lock destination for transfer!\n" );
- dfb_surface_buffer_lock_deinit( &dst );
- return ret;
- }
-
- /* Read from the source allocation. */
- ret = dfb_surface_pool_read( source->pool, source, dst.addr, dst.pitch, NULL );
- if (ret)
- D_DERROR( ret, "Core/SurfBuffer: Could not read from source allocation!\n" );
-
- dfb_surface_pool_unlock( allocation->pool, allocation, &dst );
-
- dfb_surface_buffer_lock_deinit( &dst );
-
- return ret;
-}
-
-DFBResult
-dfb_surface_allocation_update( CoreSurfaceAllocation *allocation,
- CoreSurfaceAccessFlags access )
-{
- DFBResult ret;
- int i;
- CoreSurfaceAllocation *alloc;
- CoreSurfaceBuffer *buffer;
-
- D_DEBUG_AT( Core_SurfBuffer, "%s()\n", __FUNCTION__ );
-
- D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
- D_FLAGS_ASSERT( access, CSAF_ALL );
-
- buffer = allocation->buffer;
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
-
- if (direct_serial_update( &allocation->serial, &buffer->serial ) && buffer->written) {
- CoreSurfaceAllocation *source = buffer->written;
-
- D_ASSUME( allocation != source );
-
- D_DEBUG_AT( Core_SurfBuffer, " -> updating allocation...\n" );
-
- D_MAGIC_ASSERT( source, CoreSurfaceAllocation );
- D_ASSERT( source->buffer == allocation->buffer );
-
- ret = dfb_surface_pool_bridges_transfer( buffer, source, allocation, NULL, 0 );
- if (ret) {
- if ((source->access[CSAID_CPU] & CSAF_READ) && (allocation->access[CSAID_CPU] & CSAF_WRITE))
- ret = allocation_update_copy( allocation, source );
- else if (source->access[CSAID_CPU] & CSAF_READ)
- ret = allocation_update_write( allocation, source );
- else if (allocation->access[CSAID_CPU] & CSAF_WRITE)
- ret = allocation_update_read( allocation, source );
- else {
- D_UNIMPLEMENTED();
- ret = DFB_UNSUPPORTED;
- }
- }
-
- if (ret) {
- D_DERROR( ret, "Core/SurfaceBuffer: Updating allocation failed!\n" );
- return ret;
- }
- }
-
- if (access & CSAF_WRITE) {
- D_DEBUG_AT( Core_SurfBuffer, " -> increasing serial...\n" );
-
- direct_serial_increase( &buffer->serial );
-
- direct_serial_copy( &allocation->serial, &buffer->serial );
-
- buffer->written = allocation;
- buffer->read = NULL;
-
- /* Zap volatile allocations (freed when no longer up to date). */
- fusion_vector_foreach (alloc, i, buffer->allocs) {
- D_MAGIC_ASSERT( alloc, CoreSurfaceAllocation );
-
- if (alloc != allocation && (alloc->flags & CSALF_VOLATILE)) {
- dfb_surface_pool_deallocate( alloc->pool, alloc );
- i--;
- }
- }
- }
- else
- buffer->read = allocation;
-
- /* Zap all other allocations? */
- if (dfb_config->thrifty_surface_buffers) {
- buffer->written = buffer->read = allocation;
-
- fusion_vector_foreach (alloc, i, buffer->allocs) {
- D_MAGIC_ASSERT( alloc, CoreSurfaceAllocation );
-
- /* Don't zap preallocated which would not really free up memory, but just loose the handle. */
- if (alloc != allocation && !(alloc->flags & (CSALF_PREALLOCATED | CSALF_MUCKOUT))) {
- dfb_surface_pool_deallocate( alloc->pool, alloc );
- i--;
- }
- }
- }
-
- return DFB_OK;
-}
-
diff --git a/src/core/surface_buffer.h b/src/core/surface_buffer.h
index 13e8d0e..26a8393 100644
--- a/src/core/surface_buffer.h
+++ b/src/core/surface_buffer.h
@@ -31,9 +31,11 @@
#include <direct/debug.h>
+#include <fusion/object.h>
#include <fusion/vector.h>
#include <core/surface.h>
+#include <core/surface_allocation.h>
#include <directfb.h>
@@ -49,55 +51,15 @@ typedef enum {
CSBF_ALL = 0x00000001 /* All of these. */
} CoreSurfaceBufferFlags;
-/*
- * Configuration and State flags of a Surface Buffer Allocation
- */
-typedef enum {
- CSALF_NONE = 0x00000000, /* None of these. */
- CSALF_ONEFORALL = 0x00000001, /* Only one allocation in pool for all buffers. */
- CSALF_VOLATILE = 0x00000002, /* Allocation should be freed when no longer up to date. */
- CSALF_PREALLOCATED = 0x00000004, /* Preallocated memory, don't zap when "thrifty-surface-buffers" is active. */
+typedef enum {
+ CSBNF_NONE = 0x00000000
+} CoreSurfaceBufferNotificationFlags;
- CSALF_MUCKOUT = 0x00001000, /* Indicates surface pool being in the progress of mucking out this and possibly
- other allocations to have enough space for a new allocation to be made. */
+typedef struct {
+ CoreSurfaceBufferNotificationFlags flags;
+} CoreSurfaceBufferNotification;
- CSALF_ALL = 0x00001007 /* All of these. */
-} CoreSurfaceAllocationFlags;
-
-/*
- * An Allocation of a Surface Buffer
- */
-struct __DFB_CoreSurfaceAllocation {
- int magic;
-
- DirectSerial serial; /* Equals serial of buffer if content is up to date. */
-
- CoreSurfaceBuffer *buffer; /* Surface Buffer owning this allocation. */
- CoreSurface *surface; /* Surface owning the Buffer of this allocation. */
- CoreSurfacePool *pool; /* Surface Pool providing the allocation. */
- void *data; /* Pool's private data for this allocation. */
- int size; /* Amount of data used by this allocation. */
- unsigned long offset; /* Offset within address range of pool if contiguous. */
-
- CoreSurfaceAllocationFlags flags; /* Pool can return CSALF_ONEFORALL upon allocation of first buffer. */
-
- const CoreSurfaceAccessFlags *access; /* Possible access flags (pointer to pool description). */
- CoreSurfaceAccessFlags accessed[_CSAID_NUM]; /* Access since last synchronization. */
-};
-
-#define CORE_SURFACE_ALLOCATION_ASSERT(alloc) \
- do { \
- D_MAGIC_ASSERT( alloc, CoreSurfaceAllocation ); \
- D_ASSUME( (alloc)->size > 0 ); \
- D_ASSERT( (alloc)->size >= 0 ); \
- D_ASSERT( (alloc)->offset + (alloc)->size <= ((alloc)->pool->desc.size ?:~0UL) ); \
- D_FLAGS_ASSERT( (alloc)->access[CSAID_CPU], CSAF_ALL ); \
- D_FLAGS_ASSERT( (alloc)->access[CSAID_GPU], CSAF_ALL ); \
- D_FLAGS_ASSERT( (alloc)->flags, CSALF_ALL ); \
- D_FLAGS_ASSERT( (alloc)->accessed[CSAID_CPU], CSAF_ALL ); \
- D_FLAGS_ASSERT( (alloc)->accessed[CSAID_GPU], CSAF_ALL ); \
- } while (0)
/*
* A Lock on a Surface Buffer
@@ -159,15 +121,14 @@ dfb_surface_buffer_lock_deinit( CoreSurfaceBufferLock *lock )
do { \
D_MAGIC_ASSERT( lock, CoreSurfaceBufferLock ); \
D_FLAGS_ASSERT( (lock)->access, CSAF_ALL ); \
- if ((lock)->buffer) { \
- D_ASSERT( (lock)->allocation != NULL ); \
- D_ASSERT( (lock)->buffer == (lock)->allocation->buffer ); \
+ if ((lock)->allocation) { \
+ /*D_ASSERT( (lock)->buffer == (lock)->allocation->buffer );*/ \
D_ASSUME( (lock)->addr != NULL || (lock)->phys != 0 || (lock)->offset != ~0 || (lock)->handle != NULL );\
D_ASSUME( (lock)->offset == (lock)->allocation->offset || (lock)->offset == ~0 ); \
D_ASSERT( (lock)->pitch > 0 || ((lock)->addr == NULL && (lock)->phys == 0) ); \
} \
else { \
- D_ASSERT( (lock)->allocation == NULL ); \
+ D_ASSERT( (lock)->buffer == NULL ); \
D_ASSERT( (lock)->addr == NULL ); \
D_ASSERT( (lock)->phys == 0 ); \
D_ASSERT( (lock)->offset == ~0 ); \
@@ -180,6 +141,8 @@ dfb_surface_buffer_lock_deinit( CoreSurfaceBufferLock *lock )
* A Surface Buffer of a Surface
*/
struct __DFB_CoreSurfaceBuffer {
+ FusionObject object;
+
int magic;
DirectSerial serial; /* Increased when content is written. */
@@ -194,18 +157,25 @@ struct __DFB_CoreSurfaceBuffer {
FusionVector allocs; /* Allocations within Surface Pools. */
-#if 1
- unsigned int locked; /* Lock count. FIXME: Add fail safe cleanup! */
-#endif
+ CoreSurfaceConfig config; /* Configuration of its surface at the time of the buffer creation */
+ CoreSurfaceTypeFlags type;
+ unsigned long resource_id; /* layer id, window id, or user specified */
};
+#define CORE_SURFACE_BUFFER_ASSERT(buffer) \
+ do { \
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer ); \
+ } while (0)
+
-DFBResult dfb_surface_buffer_new ( CoreSurface *surface,
+DFBResult dfb_surface_buffer_create ( CoreDFB *core,
+ CoreSurface *surface,
CoreSurfaceBufferFlags flags,
CoreSurfaceBuffer **ret_buffer );
-DFBResult dfb_surface_buffer_destroy( CoreSurfaceBuffer *buffer );
+DFBResult dfb_surface_buffer_decouple( CoreSurfaceBuffer *buffer );
+DFBResult dfb_surface_buffer_deallocate( CoreSurfaceBuffer *buffer );
DFBResult dfb_surface_buffer_lock ( CoreSurfaceBuffer *buffer,
CoreSurfaceAccessorID accessor,
@@ -228,6 +198,12 @@ DFBResult dfb_surface_buffer_dump ( CoreSurfaceBuffer *buffer,
const char *directory,
const char *prefix );
+CoreSurfaceAllocation *
+dfb_surface_buffer_find_allocation( CoreSurfaceBuffer *buffer,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags flags,
+ bool lock );
+
static inline int
dfb_surface_buffer_index( CoreSurfaceBuffer *buffer )
{
@@ -249,8 +225,10 @@ dfb_surface_buffer_index( CoreSurfaceBuffer *buffer )
return 0;
}
-DFBResult dfb_surface_allocation_update( CoreSurfaceAllocation *allocation,
- CoreSurfaceAccessFlags access );
+
+FUSION_OBJECT_METHODS( CoreSurfaceBuffer, dfb_surface_buffer )
+
+FusionObjectPool *dfb_surface_buffer_pool_create( const FusionWorld *world );
#endif
diff --git a/src/core/surface_core.c b/src/core/surface_core.c
index 11aa286..3796d7d 100644
--- a/src/core/surface_core.c
+++ b/src/core/surface_core.c
@@ -34,41 +34,31 @@
#include <direct/mem.h>
#include <direct/messages.h>
+#include <fusion/conf.h>
#include <fusion/shmalloc.h>
#include <core/core_parts.h>
#include <core/surface.h>
#include <core/surface_buffer.h>
+#include <core/surface_core.h>
#include <core/surface_pool.h>
+#include <core/surface_pool_bridge.h>
-extern SurfacePoolFuncs localSurfacePoolFuncs;
+#if FUSION_BUILD_MULTI
extern SurfacePoolFuncs sharedSurfacePoolFuncs;
+extern SurfacePoolFuncs sharedSecureSurfacePoolFuncs;
+#else
+extern SurfacePoolFuncs localSurfacePoolFuncs;
+#endif
extern SurfacePoolFuncs preallocSurfacePoolFuncs;
-
+extern const SurfacePoolBridgeFuncs *preallocSurfacePoolBridgeFuncs;
D_DEBUG_DOMAIN( Core_Surface, "Core/SurfaceCore", "DirectFB Surface Core" );
/**********************************************************************************************************************/
-typedef struct {
- int magic;
-
- CoreSurfacePool *local_pool;
- CoreSurfacePool *shared_pool;
- CoreSurfacePool *prealloc_pool;
-} DFBSurfaceCoreShared;
-
-typedef struct {
- int magic;
-
- CoreDFB *core;
-
- DFBSurfaceCoreShared *shared;
-} DFBSurfaceCore;
-
-
DFB_CORE_PART( surface_core, SurfaceCore );
/**********************************************************************************************************************/
@@ -88,24 +78,41 @@ dfb_surface_core_initialize( CoreDFB *core,
data->core = core;
data->shared = shared;
- ret = dfb_surface_pool_initialize( core, &sharedSurfacePoolFuncs, &shared->shared_pool );
+#if FUSION_BUILD_MULTI
+ if (fusion_config->secure_fusion) {
+ ret = dfb_surface_pool_initialize2( core, &sharedSecureSurfacePoolFuncs, data, &shared->surface_pool );
+ if (ret) {
+ D_DERROR( ret, "Core/Surface: Could not register 'shared' surface pool!\n" );
+ return ret;
+ }
+ }
+ else {
+ ret = dfb_surface_pool_initialize2( core, &sharedSurfacePoolFuncs, data, &shared->surface_pool );
+ if (ret) {
+ D_DERROR( ret, "Core/Surface: Could not register 'shared' surface pool!\n" );
+ return ret;
+ }
+ }
+#else
+ ret = dfb_surface_pool_initialize2( core, &localSurfacePoolFuncs, data, &shared->surface_pool );
if (ret) {
- D_DERROR( ret, "Core/Surface: Could not register 'shared' surface pool!\n" );
+ D_DERROR( ret, "Core/Surface: Could not register 'local' surface pool!\n" );
return ret;
}
+#endif
- ret = dfb_surface_pool_initialize( core, &localSurfacePoolFuncs, &shared->local_pool );
+ ret = dfb_surface_pool_initialize2( core, &preallocSurfacePoolFuncs, data, &shared->prealloc_pool );
if (ret) {
- D_DERROR( ret, "Core/Surface: Could not register 'local' surface pool!\n" );
- dfb_surface_pool_destroy( shared->shared_pool );
+ D_DERROR( ret, "Core/Surface: Could not register 'prealloc' surface pool!\n" );
+ dfb_surface_pool_destroy( shared->surface_pool );
return ret;
}
- ret = dfb_surface_pool_initialize( core, &preallocSurfacePoolFuncs, &shared->prealloc_pool );
+ ret = dfb_surface_pool_bridge_initialize( core, preallocSurfacePoolBridgeFuncs, data, &shared->prealloc_pool_bridge );
if (ret) {
- D_DERROR( ret, "Core/Surface: Could not register 'prealloc' surface pool!\n" );
- dfb_surface_pool_destroy( shared->local_pool );
- dfb_surface_pool_destroy( shared->shared_pool );
+ D_DERROR( ret, "Core/Surface: Could not register 'prealloc' surface pool bridge!\n" );
+ dfb_surface_pool_destroy( shared->prealloc_pool );
+ dfb_surface_pool_destroy( shared->surface_pool );
return ret;
}
@@ -128,9 +135,18 @@ dfb_surface_core_join( CoreDFB *core,
data->core = core;
data->shared = shared;
- dfb_surface_pool_join( core, shared->shared_pool, &sharedSurfacePoolFuncs );
- dfb_surface_pool_join( core, shared->local_pool, &localSurfacePoolFuncs );
- dfb_surface_pool_join( core, shared->prealloc_pool, &preallocSurfacePoolFuncs );
+#if FUSION_BUILD_MULTI
+ if (fusion_config->secure_fusion)
+ dfb_surface_pool_join2( core, shared->surface_pool, &sharedSecureSurfacePoolFuncs, data );
+ else
+ dfb_surface_pool_join2( core, shared->surface_pool, &sharedSurfacePoolFuncs, data );
+#else
+ dfb_surface_pool_join2( core, shared->surface_pool, &localSurfacePoolFuncs, data );
+#endif
+
+ dfb_surface_pool_join2( core, shared->prealloc_pool, &preallocSurfacePoolFuncs, data );
+
+ dfb_surface_pool_bridge_join( core, shared->prealloc_pool_bridge, preallocSurfacePoolBridgeFuncs, data );
D_MAGIC_SET( data, DFBSurfaceCore );
@@ -150,9 +166,15 @@ dfb_surface_core_shutdown( DFBSurfaceCore *data,
shared = data->shared;
+ dfb_surface_pool_bridge_destroy( shared->prealloc_pool_bridge );
+
dfb_surface_pool_destroy( shared->prealloc_pool );
- dfb_surface_pool_destroy( shared->local_pool );
- dfb_surface_pool_destroy( shared->shared_pool );
+
+#if FUSION_BUILD_MULTI
+ dfb_surface_pool_destroy( shared->surface_pool );
+#else
+ dfb_surface_pool_destroy( shared->surface_pool );
+#endif
D_MAGIC_CLEAR( data );
D_MAGIC_CLEAR( shared );
@@ -173,10 +195,16 @@ dfb_surface_core_leave( DFBSurfaceCore *data,
shared = data->shared;
- dfb_surface_pool_leave( shared->shared_pool );
- dfb_surface_pool_leave( shared->local_pool );
+ dfb_surface_pool_bridge_leave( shared->prealloc_pool_bridge );
+
dfb_surface_pool_leave( shared->prealloc_pool );
+#if FUSION_BUILD_MULTI
+ dfb_surface_pool_leave( shared->surface_pool );
+#else
+ dfb_surface_pool_leave( shared->surface_pool );
+#endif
+
D_MAGIC_CLEAR( data );
return DFB_OK;
diff --git a/gfxdrivers/omap/omap.h b/src/core/surface_core.h
similarity index 70%
copy from gfxdrivers/omap/omap.h
copy to src/core/surface_core.h
index 3eeaa7a..c6f7117 100644
--- a/gfxdrivers/omap/omap.h
+++ b/src/core/surface_core.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -26,23 +26,27 @@
Boston, MA 02111-1307, USA.
*/
-#ifndef OMAP_H
-#define OMAP_H
+#ifndef __CORE__SURFACE_CORE_H__
+#define __CORE__SURFACE_CORE_H__
-#include <direct/debug.h>
+#include <core/coretypes.h>
-#include <core/layers.h>
+typedef struct {
+ int magic;
-D_DEBUG_DOMAIN( omap, "OMAP", "TI OMAP gfx driver" );
+ CoreSurfacePool *surface_pool;
+ CoreSurfacePool *prealloc_pool;
-#if 0
-typedef struct {
-} OmapDeviceData;
+ CoreSurfacePoolBridge *prealloc_pool_bridge;
+} DFBSurfaceCoreShared;
typedef struct {
-} OmapDriverData;
-#endif
+ int magic;
-extern DisplayLayerFuncs omapPrimaryLayerFuncs;
+ CoreDFB *core;
+
+ DFBSurfaceCoreShared *shared;
+} DFBSurfaceCore;
#endif
+
diff --git a/src/core/surface_pool.c b/src/core/surface_pool.c
index 0518df2..82195d5 100644
--- a/src/core/surface_pool.c
+++ b/src/core/surface_pool.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -88,7 +88,8 @@ get_local( const CoreSurfacePool *pool )
static DFBResult init_pool( CoreDFB *core,
CoreSurfacePool *pool,
- const SurfacePoolFuncs *funcs );
+ const SurfacePoolFuncs *funcs,
+ void *ctx );
/**********************************************************************************************************************/
@@ -98,20 +99,36 @@ static void remove_pool_local( CoreSurfacePoolID pool_id );
/**********************************************************************************************************************/
static void remove_allocation( CoreSurfacePool *pool,
- CoreSurfaceBuffer *buffer,
CoreSurfaceAllocation *allocation );
-static DFBResult backup_allocation( CoreSurfacePool *pool,
- CoreSurfaceBuffer *buffer,
- CoreSurfaceAllocation *allocation );
+static DFBResult backup_allocation( CoreSurfaceAllocation *allocation );
/**********************************************************************************************************************/
+/*
+ * Enable a surface pool to obtain its own local data without having to
+ * explicitly store a static local pointer to it during init/join.
+ */
+void *
+dfb_surface_pool_get_local( const CoreSurfacePool *pool )
+{
+ return get_local( pool );
+}
+
DFBResult
dfb_surface_pool_initialize( CoreDFB *core,
const SurfacePoolFuncs *funcs,
CoreSurfacePool **ret_pool )
{
+ return dfb_surface_pool_initialize2( core, funcs, dfb_system_data(), ret_pool );
+}
+
+DFBResult
+dfb_surface_pool_initialize2( CoreDFB *core,
+ const SurfacePoolFuncs *funcs,
+ void *ctx,
+ CoreSurfacePool **ret_pool )
+{
DFBResult ret;
CoreSurfacePool *pool;
FusionSHMPoolShared *shmpool;
@@ -151,7 +168,7 @@ dfb_surface_pool_initialize( CoreDFB *core,
D_MAGIC_SET( pool, CoreSurfacePool );
- ret = init_pool( core, pool, funcs );
+ ret = init_pool( core, pool, funcs, ctx );
if (ret) {
pool_funcs[pool->pool_id] = NULL;
pool_array[pool->pool_id] = NULL;
@@ -179,6 +196,15 @@ dfb_surface_pool_join( CoreDFB *core,
CoreSurfacePool *pool,
const SurfacePoolFuncs *funcs )
{
+ return dfb_surface_pool_join2( core, pool, funcs, dfb_system_data() );
+}
+
+DFBResult
+dfb_surface_pool_join2( CoreDFB *core,
+ CoreSurfacePool *pool,
+ const SurfacePoolFuncs *funcs,
+ void *ctx )
+{
DFBResult ret;
D_MAGIC_ASSERT( pool, CoreSurfacePool );
@@ -217,7 +243,7 @@ dfb_surface_pool_join( CoreDFB *core,
funcs = get_funcs( pool );
if (funcs->JoinPool) {
- ret = funcs->JoinPool( core, pool, pool->data, get_local(pool), dfb_system_data() );
+ ret = funcs->JoinPool( core, pool, pool->data, get_local(pool), ctx );
if (ret) {
D_DERROR( ret, "Core/SurfacePool: Joining '%s' failed!\n", pool->desc.name );
@@ -307,6 +333,61 @@ dfb_surface_pool_leave( CoreSurfacePool *pool )
/**********************************************************************************************************************/
DFBResult
+dfb_surface_pools_prealloc( const DFBSurfaceDescription *description,
+ CoreSurfaceConfig *config )
+{
+ DFBResult ret;
+ int i;
+ CoreSurfaceTypeFlags type;
+
+ D_DEBUG_AT( Core_SurfacePool, "%s( %p, %p )\n", __FUNCTION__, description, config );
+
+ D_ASSERT( description != NULL );
+ D_ASSERT( config != NULL );
+
+ type = CSTF_PREALLOCATED;
+
+ if (description->flags & DSDESC_CAPS) {
+ if (description->caps & DSCAPS_SYSTEMONLY)
+ type |= CSTF_INTERNAL;
+
+ if (description->caps & DSCAPS_VIDEOONLY)
+ type |= CSTF_EXTERNAL;
+ }
+
+ D_DEBUG_AT( Core_SurfacePool, " -> type 0x%03x required\n", type );
+
+ for (i=0; i<pool_count; i++) {
+ CoreSurfacePool *pool;
+
+ D_ASSERT( pool_order[i] >= 0 );
+ D_ASSERT( pool_order[i] < pool_count );
+
+ pool = pool_array[pool_order[i]];
+ D_MAGIC_ASSERT( pool, CoreSurfacePool );
+
+ if (D_FLAGS_ARE_SET( pool->desc.types, type )) {
+ const SurfacePoolFuncs *funcs;
+
+ D_DEBUG_AT( Core_SurfacePool, " -> [%d] 0x%02x 0x%03x (%d) [%s]\n", pool->pool_id,
+ pool->desc.caps, pool->desc.types, pool->desc.priority, pool->desc.name );
+
+ funcs = get_funcs( pool );
+
+ if (funcs->PreAlloc) {
+ ret = funcs->PreAlloc( pool, pool->data, get_local(pool), description, config );
+ if (ret == DFB_OK) {
+ config->preallocated_pool_id = pool->pool_id;
+ return DFB_OK;
+ }
+ }
+ }
+ }
+
+ return DFB_UNSUPPORTED;
+}
+
+DFBResult
dfb_surface_pools_negotiate( CoreSurfaceBuffer *buffer,
CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access,
@@ -362,8 +443,43 @@ dfb_surface_pools_negotiate( CoreSurfaceBuffer *buffer,
break;
}
+#if D_DEBUG_ENABLED
D_DEBUG_AT( Core_SurfacePool, " -> 0x%02x 0x%03x required\n", access, type );
+ if (access & CSAF_READ)
+ D_DEBUG_AT( Core_SurfacePool, " -> READ\n" );
+
+ if (access & CSAF_WRITE)
+ D_DEBUG_AT( Core_SurfacePool, " -> WRITE\n" );
+
+ if (access & CSAF_SHARED)
+ D_DEBUG_AT( Core_SurfacePool, " -> SHARED\n" );
+
+ if (type & CSTF_LAYER)
+ D_DEBUG_AT( Core_SurfacePool, " -> LAYER\n" );
+
+ if (type & CSTF_WINDOW)
+ D_DEBUG_AT( Core_SurfacePool, " -> WINDOW\n" );
+
+ if (type & CSTF_CURSOR)
+ D_DEBUG_AT( Core_SurfacePool, " -> CURSOR\n" );
+
+ if (type & CSTF_FONT)
+ D_DEBUG_AT( Core_SurfacePool, " -> FONT\n" );
+
+ if (type & CSTF_SHARED)
+ D_DEBUG_AT( Core_SurfacePool, " -> SHARED\n" );
+
+ if (type & CSTF_INTERNAL)
+ D_DEBUG_AT( Core_SurfacePool, " -> INTERNAL\n" );
+
+ if (type & CSTF_EXTERNAL)
+ D_DEBUG_AT( Core_SurfacePool, " -> EXTERNAL\n" );
+
+ if (type & CSTF_PREALLOCATED)
+ D_DEBUG_AT( Core_SurfacePool, " -> PREALLOCATED\n" );
+#endif
+
for (i=0; i<pool_count; i++) {
CoreSurfacePool *pool;
@@ -374,7 +490,7 @@ dfb_surface_pools_negotiate( CoreSurfaceBuffer *buffer,
D_MAGIC_ASSERT( pool, CoreSurfacePool );
if (D_FLAGS_ARE_SET( pool->desc.access[accessor], access ) &&
- D_FLAGS_ARE_SET( pool->desc.types, type ))
+ D_FLAGS_ARE_SET( pool->desc.types, type & ~CSTF_PREALLOCATED ))
{
const SurfacePoolFuncs *funcs;
@@ -439,6 +555,30 @@ dfb_surface_pools_enumerate( CoreSurfacePoolCallback callback,
}
DFBResult
+dfb_surface_pools_lookup( CoreSurfacePoolID pool_id,
+ CoreSurfacePool **ret_pool )
+{
+ int i;
+
+ D_DEBUG_AT( Core_SurfacePool, "%s( pool id %u, %p )\n", __FUNCTION__, pool_id, ret_pool );
+
+ D_ASSERT( ret_pool != NULL );
+
+ for (i=0; i<pool_count; i++) {
+ CoreSurfacePool *pool = pool_array[i];
+
+ D_MAGIC_ASSERT( pool, CoreSurfacePool );
+
+ if (pool->pool_id == pool_id) {
+ *ret_pool = pool;
+ return DFB_OK;
+ }
+ }
+
+ return DFB_IDNOTFOUND;
+}
+
+DFBResult
dfb_surface_pools_allocate( CoreSurfaceBuffer *buffer,
CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access,
@@ -552,7 +692,6 @@ dfb_surface_pool_allocate( CoreSurfacePool *pool,
CoreSurfaceAllocation **ret_allocation )
{
DFBResult ret;
- int i;
CoreSurface *surface;
CoreSurfaceAllocation *allocation = NULL;
const SurfacePoolFuncs *funcs;
@@ -560,7 +699,7 @@ dfb_surface_pool_allocate( CoreSurfacePool *pool,
D_MAGIC_ASSERT( pool, CoreSurfacePool );
D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
- D_DEBUG_AT( Core_SurfacePool, "%s( %p [%d], %p )\n", __FUNCTION__, pool, pool->pool_id, buffer );
+ D_DEBUG_AT( Core_SurfacePool, "%s( %p [%d - %s], %p )\n", __FUNCTION__, pool, pool->pool_id, pool->desc.name, buffer );
D_ASSERT( ret_allocation != NULL );
@@ -572,24 +711,10 @@ dfb_surface_pool_allocate( CoreSurfacePool *pool,
D_ASSERT( funcs->AllocateBuffer != NULL );
- allocation = SHCALLOC( pool->shmpool, 1, sizeof(CoreSurfaceAllocation) );
- if (!allocation)
- return D_OOSHM();
-
- allocation->buffer = buffer;
- allocation->surface = surface;
- allocation->pool = pool;
- allocation->access = pool->desc.access;
-
- if (pool->alloc_data_size) {
- allocation->data = SHCALLOC( pool->shmpool, 1, pool->alloc_data_size );
- if (!allocation->data) {
- ret = D_OOSHM();
- goto error;
- }
- }
+ ret = dfb_surface_allocation_create( core_dfb, buffer, pool, &allocation );
+ if (ret)
+ return ret;
- D_MAGIC_SET( allocation, CoreSurfaceAllocation );
if (fusion_skirmish_prevail( &pool->lock )) {
ret = DFB_FUSION;
@@ -606,31 +731,21 @@ dfb_surface_pool_allocate( CoreSurfacePool *pool,
ret = funcs->AllocateBuffer( pool, pool->data, get_local(pool), buffer, allocation, allocation->data );
if (ret) {
D_DEBUG_AT( Core_SurfacePool, " -> %s\n", DirectFBErrorString( ret ) );
- D_MAGIC_CLEAR( allocation );
+ allocation->flags |= CSALF_DEALLOCATED;
fusion_skirmish_dismiss( &pool->lock );
goto error;
}
D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
- if (allocation->flags & CSALF_ONEFORALL) {
- for (i=0; i<surface->num_buffers; i++) {
- buffer = surface->buffers[i];
+ D_DEBUG_AT( Core_SurfacePool, " -> %p\n", allocation );
- D_ASSUME( fusion_vector_is_empty( &buffer->allocs ) );
+ D_FLAGS_CLEAR(allocation->flags, CSALF_INITIALIZING);
- D_DEBUG_AT( Core_SurfacePool, " -> %p (%d)\n", allocation, i );
- fusion_vector_add( &buffer->allocs, allocation );
- fusion_vector_add( &pool->allocs, allocation );
- }
- }
- else {
- D_DEBUG_AT( Core_SurfacePool, " -> %p\n", allocation );
- fusion_vector_add( &buffer->allocs, allocation );
- fusion_vector_add( &pool->allocs, allocation );
- }
+ fusion_vector_add( &buffer->allocs, allocation );
+ fusion_vector_add( &pool->allocs, allocation );
- direct_serial_init( &allocation->serial );
+ dfb_surface_allocation_globalize( allocation );
fusion_skirmish_dismiss( &pool->lock );
@@ -640,11 +755,9 @@ dfb_surface_pool_allocate( CoreSurfacePool *pool,
return DFB_OK;
-error:
- if (allocation->data)
- SHFREE( pool->shmpool, allocation->data );
- SHFREE( pool->shmpool, allocation );
+error:
+ dfb_surface_allocation_unref( allocation );
return ret;
}
@@ -654,27 +767,21 @@ dfb_surface_pool_deallocate( CoreSurfacePool *pool,
CoreSurfaceAllocation *allocation )
{
DFBResult ret;
- int i;
const SurfacePoolFuncs *funcs;
- CoreSurfaceBuffer *buffer;
- CoreSurface *surface;
D_MAGIC_ASSERT( pool, CoreSurfacePool );
CORE_SURFACE_ALLOCATION_ASSERT( allocation );
- D_DEBUG_AT( Core_SurfacePool, "%s( %p [%d], %p )\n", __FUNCTION__, pool, pool->pool_id, allocation );
+ D_DEBUG_AT( Core_SurfacePool, "%s( %p [%d - %s], %p )\n", __FUNCTION__, pool, pool->pool_id, pool->desc.name, allocation );
D_ASSERT( pool == allocation->pool );
- buffer = allocation->buffer;
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
-
- surface = buffer->surface;
- D_MAGIC_ASSERT( surface, CoreSurface );
- FUSION_SKIRMISH_ASSERT( &surface->lock );
+ if (allocation->flags & CSALF_DEALLOCATED) {
+ D_DEBUG_AT( Core_SurfacePool, " -> already deallocated\n" );
+ return DFB_OK;
+ }
funcs = get_funcs( pool );
-
D_ASSERT( funcs->DeallocateBuffer != NULL );
if (fusion_skirmish_prevail( &pool->lock ))
@@ -687,23 +794,11 @@ dfb_surface_pool_deallocate( CoreSurfacePool *pool,
return ret;
}
- if (allocation->flags & CSALF_ONEFORALL) {
- for (i=0; i<surface->num_buffers; i++)
- remove_allocation( pool, surface->buffers[i], allocation );
- }
- else
- remove_allocation( pool, buffer, allocation );
+ remove_allocation( pool, allocation );
- fusion_skirmish_dismiss( &pool->lock );
+ allocation->flags |= CSALF_DEALLOCATED;
- if (allocation->data)
- SHFREE( pool->shmpool, allocation->data );
-
- direct_serial_deinit( &allocation->serial );
-
- D_MAGIC_CLEAR( allocation );
-
- SHFREE( pool->shmpool, allocation );
+ fusion_skirmish_dismiss( &pool->lock );
return DFB_OK;
}
@@ -722,7 +817,7 @@ dfb_surface_pool_displace( CoreSurfacePool *pool,
D_MAGIC_ASSERT( pool, CoreSurfacePool );
D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
- D_DEBUG_AT( Core_SurfacePool, "%s( %p [%d], %p )\n", __FUNCTION__, pool, pool->pool_id, buffer );
+ D_DEBUG_AT( Core_SurfacePool, "%s( %p [%d - %s], %p )\n", __FUNCTION__, pool, pool->pool_id, pool->desc.name, buffer );
D_ASSERT( ret_allocation != NULL );
@@ -775,7 +870,7 @@ fixme_retry:
}
/* Ensure mucked out allocation is backed up in another pool */
- ret = backup_allocation( pool, buffer, allocation );
+ ret = backup_allocation( allocation );
if (ret) {
D_WARN( "could not backup allocation (%s)", DirectFBErrorString(ret) );
dfb_surface_unlock( alloc_surface );
@@ -783,7 +878,7 @@ fixme_retry:
}
/* Deallocate mucked out allocation */
- dfb_surface_pool_deallocate( pool, allocation );
+ dfb_surface_allocation_decouple( allocation );
i--;
dfb_surface_unlock( alloc_surface );
@@ -821,6 +916,35 @@ error_cleanup:
}
DFBResult
+dfb_surface_pool_prelock( CoreSurfacePool *pool,
+ CoreSurfaceAllocation *allocation,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access )
+{
+ DFBResult ret;
+ const SurfacePoolFuncs *funcs;
+
+ D_MAGIC_ASSERT( pool, CoreSurfacePool );
+
+ D_DEBUG_AT( Core_SurfPoolLock, "%s( %p [%d - %s], %p )\n", __FUNCTION__, pool, pool->pool_id, pool->desc.name, allocation );
+
+ CORE_SURFACE_ALLOCATION_ASSERT( allocation );
+ D_ASSERT( pool == allocation->pool );
+
+ funcs = get_funcs( pool );
+
+ if (funcs->PreLock) {
+ ret = funcs->PreLock( pool, pool->data, get_local(pool), allocation, allocation->data, accessor, access );
+ if (ret) {
+ D_DERROR( ret, "Core/SurfacePool: Could not prelock allocation!\n" );
+ return ret;
+ }
+ }
+
+ return DFB_OK;
+}
+
+DFBResult
dfb_surface_pool_lock( CoreSurfacePool *pool,
CoreSurfaceAllocation *allocation,
CoreSurfaceBufferLock *lock )
@@ -830,7 +954,7 @@ dfb_surface_pool_lock( CoreSurfacePool *pool,
D_MAGIC_ASSERT( pool, CoreSurfacePool );
- D_DEBUG_AT( Core_SurfPoolLock, "%s( %p [%d], %p )\n", __FUNCTION__, pool, pool->pool_id, allocation );
+ D_DEBUG_AT( Core_SurfPoolLock, "%s( %p [%d - %s], %p )\n", __FUNCTION__, pool, pool->pool_id, pool->desc.name, allocation );
CORE_SURFACE_ALLOCATION_ASSERT( allocation );
CORE_SURFACE_BUFFER_LOCK_ASSERT( lock );
@@ -853,7 +977,7 @@ dfb_surface_pool_lock( CoreSurfacePool *pool,
}
CORE_SURFACE_BUFFER_LOCK_ASSERT( lock );
- D_ASSERT( lock->buffer != NULL );
+ D_ASSERT( lock->allocation != NULL );
return DFB_OK;
}
@@ -868,11 +992,11 @@ dfb_surface_pool_unlock( CoreSurfacePool *pool,
D_MAGIC_ASSERT( pool, CoreSurfacePool );
- D_DEBUG_AT( Core_SurfPoolLock, "%s( %p [%d], %p )\n", __FUNCTION__, pool, pool->pool_id, allocation );
+ D_DEBUG_AT( Core_SurfPoolLock, "%s( %p [%d - %s], %p )\n", __FUNCTION__, pool, pool->pool_id, pool->desc.name, allocation );
CORE_SURFACE_ALLOCATION_ASSERT( allocation );
CORE_SURFACE_BUFFER_LOCK_ASSERT( lock );
- D_ASSERT( lock->buffer != NULL );
+ D_ASSERT( lock->allocation == allocation );
D_ASSERT( pool == allocation->pool );
@@ -887,7 +1011,7 @@ dfb_surface_pool_unlock( CoreSurfacePool *pool,
}
CORE_SURFACE_BUFFER_LOCK_ASSERT( lock );
- D_ASSERT( lock->buffer != NULL );
+ D_ASSERT( lock->allocation != NULL );
dfb_surface_buffer_lock_reset( lock );
@@ -908,7 +1032,7 @@ dfb_surface_pool_read( CoreSurfacePool *pool,
D_MAGIC_ASSERT( pool, CoreSurfacePool );
- D_DEBUG_AT( Core_SurfPoolLock, "%s( %p [%d], %p )\n", __FUNCTION__, pool, pool->pool_id, allocation );
+ D_DEBUG_AT( Core_SurfPoolLock, "%s( %p [%d - %s], %p )\n", __FUNCTION__, pool, pool->pool_id, pool->desc.name, allocation );
CORE_SURFACE_ALLOCATION_ASSERT( allocation );
D_ASSERT( data != NULL );
@@ -955,7 +1079,7 @@ dfb_surface_pool_write( CoreSurfacePool *pool,
D_MAGIC_ASSERT( pool, CoreSurfacePool );
- D_DEBUG_AT( Core_SurfPoolLock, "%s( %p [%d], %p )\n", __FUNCTION__, pool, pool->pool_id, allocation );
+ D_DEBUG_AT( Core_SurfPoolLock, "%s( %p [%d - %s], %p )\n", __FUNCTION__, pool, pool->pool_id, pool->desc.name, allocation );
CORE_SURFACE_ALLOCATION_ASSERT( allocation );
D_ASSERT( data != NULL );
@@ -1014,7 +1138,8 @@ dfb_surface_pool_enumerate ( CoreSurfacePool *pool,
static DFBResult
init_pool( CoreDFB *core,
CoreSurfacePool *pool,
- const SurfacePoolFuncs *funcs )
+ const SurfacePoolFuncs *funcs,
+ void *ctx )
{
DFBResult ret;
@@ -1050,7 +1175,7 @@ init_pool( CoreDFB *core,
fusion_vector_init( &pool->allocs, 4, pool->shmpool );
- ret = funcs->InitPool( core, pool, pool->data, get_local(pool), dfb_system_data(), &pool->desc );
+ ret = funcs->InitPool( core, pool, pool->data, get_local(pool), ctx, &pool->desc );
if (ret) {
D_DERROR( ret, "Core/SurfacePool: Initializing '%s' failed!\n", pool->desc.name );
@@ -1065,6 +1190,14 @@ init_pool( CoreDFB *core,
return ret;
}
+ pool->desc.caps &= ~(CSPCAPS_READ | CSPCAPS_WRITE);
+
+ if (funcs->Read)
+ pool->desc.caps |= CSPCAPS_READ;
+
+ if (funcs->Write)
+ pool->desc.caps |= CSPCAPS_WRITE;
+
fusion_skirmish_init( &pool->lock, pool->desc.name, dfb_core_world(core) );
return DFB_OK;
@@ -1138,71 +1271,46 @@ remove_pool_local( CoreSurfacePoolID pool_id )
static void
remove_allocation( CoreSurfacePool *pool,
- CoreSurfaceBuffer *buffer,
CoreSurfaceAllocation *allocation )
{
- int index_buffer;
int index_pool;
D_MAGIC_ASSERT( pool, CoreSurfacePool );
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
CORE_SURFACE_ALLOCATION_ASSERT( allocation );
- D_MAGIC_ASSERT( buffer->surface, CoreSurface );
- FUSION_SKIRMISH_ASSERT( &buffer->surface->lock );
FUSION_SKIRMISH_ASSERT( &pool->lock );
D_ASSERT( pool == allocation->pool );
/* Lookup indices within vectors */
- index_buffer = fusion_vector_index_of( &buffer->allocs, allocation );
- index_pool = fusion_vector_index_of( &pool->allocs, allocation );
+ index_pool = fusion_vector_index_of( &pool->allocs, allocation );
- D_ASSERT( index_buffer >= 0 );
D_ASSERT( index_pool >= 0 );
/* Remove allocation from buffer and pool */
- fusion_vector_remove( &buffer->allocs, index_buffer );
- fusion_vector_remove( &pool->allocs, index_pool );
-
- /* Update 'written' allocation pointer of buffer */
- if (buffer->written == allocation) {
- /* Reset pointer first */
- buffer->written = NULL;
-
- /* Iterate through remaining allocations */
- fusion_vector_foreach (allocation, index_buffer, buffer->allocs) {
- CORE_SURFACE_ALLOCATION_ASSERT( allocation );
-
- /* Check if allocation is up to date and set it as 'written' allocation */
- if (direct_serial_check( &allocation->serial, &buffer->serial )) {
- buffer->written = allocation;
- break;
- }
- }
- }
-
- /* Reset 'read' allocation pointer of buffer */
- if (buffer->read == allocation)
- buffer->read = NULL;
+ fusion_vector_remove( &pool->allocs, index_pool );
}
static DFBResult
-backup_allocation( CoreSurfacePool *pool,
- CoreSurfaceBuffer *buffer,
- CoreSurfaceAllocation *allocation )
+backup_allocation( CoreSurfaceAllocation *allocation )
{
DFBResult ret = DFB_OK;
int i;
CoreSurfaceAllocation *backup = NULL;
+ CoreSurfacePool *pool;
+ CoreSurfaceBuffer *buffer;
- D_DEBUG_AT( Core_SurfacePool, "%s( %p, %p )\n", __FUNCTION__, pool, allocation );
+ D_DEBUG_AT( Core_SurfacePool, "%s( %p )\n", __FUNCTION__, allocation );
+ CORE_SURFACE_ALLOCATION_ASSERT( allocation );
+
+ pool = allocation->pool;
D_MAGIC_ASSERT( pool, CoreSurfacePool );
+
+ buffer = allocation->buffer;
D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
- CORE_SURFACE_ALLOCATION_ASSERT( allocation );
+
D_MAGIC_ASSERT( buffer->surface, CoreSurface );
FUSION_SKIRMISH_ASSERT( &buffer->surface->lock );
FUSION_SKIRMISH_ASSERT( &pool->lock );
- D_ASSERT( pool == allocation->pool );
/* Check if allocation is the only up to date (requiring a backup) */
if (direct_serial_check( &allocation->serial, &buffer->serial )) {
@@ -1243,7 +1351,7 @@ backup_allocation( CoreSurfacePool *pool,
ret = dfb_surface_allocation_update( backup, CSAF_NONE );
if (ret) {
D_DEBUG_AT( Core_SurfacePool, " -> update failed! (%s)\n", DirectFBErrorString(ret) );
- dfb_surface_pool_deallocate( backup_pool, backup );
+ dfb_surface_allocation_decouple( backup );
backup = NULL;
}
else
diff --git a/src/core/surface_pool.h b/src/core/surface_pool.h
index fc049e0..6c08586 100644
--- a/src/core/surface_pool.h
+++ b/src/core/surface_pool.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -43,7 +43,10 @@ typedef enum {
CSPCAPS_PHYSICAL = 0x00000001, /* pool provides physical address to buffer */
CSPCAPS_VIRTUAL = 0x00000002, /* pool provides virtual address to buffer */
- CSPCAPS_ALL = 0x00000003
+ CSPCAPS_READ = 0x00000004, /* pool provides Read() function (set automatically) */
+ CSPCAPS_WRITE = 0x00000008, /* pool provides Write() function (set automatically) */
+
+ CSPCAPS_ALL = 0x0000000F
} CoreSurfacePoolCapabilities;
typedef enum {
@@ -168,6 +171,30 @@ typedef struct {
void *pool_data,
void *pool_local,
CoreSurfaceBuffer *buffer );
+
+ /*
+ * Manage interlocks
+ */
+ DFBResult (*PreLock) ( CoreSurfacePool *pool,
+ void *pool_data,
+ void *pool_local,
+ CoreSurfaceAllocation *allocation,
+ void *alloc_data,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access );
+
+ /*
+ * Handle preallocation
+ *
+ * The surface pool checks the description and extracts/generates
+ * information for the surface configuration, to be later used in
+ * the AllocateBuffer function.
+ */
+ DFBResult (*PreAlloc)( CoreSurfacePool *pool,
+ void *pool_data,
+ void *pool_local,
+ const DFBSurfaceDescription *description,
+ CoreSurfaceConfig *config );
} SurfacePoolFuncs;
@@ -202,6 +229,9 @@ typedef DFBEnumerationResult (*CoreSurfaceAllocCallback)( CoreSurfaceAllocation
+DFBResult dfb_surface_pools_prealloc ( const DFBSurfaceDescription *description,
+ CoreSurfaceConfig *config );
+
DFBResult dfb_surface_pools_negotiate( CoreSurfaceBuffer *buffer,
CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access,
@@ -212,6 +242,9 @@ DFBResult dfb_surface_pools_negotiate( CoreSurfaceBuffer *buffer,
DFBResult dfb_surface_pools_enumerate( CoreSurfacePoolCallback callback,
void *ctx );
+DFBResult dfb_surface_pools_lookup ( CoreSurfacePoolID pool_id,
+ CoreSurfacePool **ret_pool );
+
DFBResult dfb_surface_pools_allocate ( CoreSurfaceBuffer *buffer,
CoreSurfaceAccessorID accessor,
CoreSurfaceAccessFlags access,
@@ -222,10 +255,20 @@ DFBResult dfb_surface_pool_initialize( CoreDFB *core,
const SurfacePoolFuncs *funcs,
CoreSurfacePool **ret_pool );
+DFBResult dfb_surface_pool_initialize2( CoreDFB *core,
+ const SurfacePoolFuncs *funcs,
+ void *ctx,
+ CoreSurfacePool **ret_pool );
+
DFBResult dfb_surface_pool_join ( CoreDFB *core,
CoreSurfacePool *pool,
const SurfacePoolFuncs *funcs );
+DFBResult dfb_surface_pool_join2 ( CoreDFB *core,
+ CoreSurfacePool *pool,
+ const SurfacePoolFuncs *funcs,
+ void *ctx );
+
DFBResult dfb_surface_pool_destroy ( CoreSurfacePool *pool );
DFBResult dfb_surface_pool_leave ( CoreSurfacePool *pool );
@@ -243,6 +286,11 @@ DFBResult dfb_surface_pool_displace ( CoreSurfacePool *pool,
CoreSurfaceBuffer *buffer,
CoreSurfaceAllocation **ret_allocation );
+DFBResult dfb_surface_pool_prelock ( CoreSurfacePool *pool,
+ CoreSurfaceAllocation *allocation,
+ CoreSurfaceAccessorID accessor,
+ CoreSurfaceAccessFlags access );
+
DFBResult dfb_surface_pool_lock ( CoreSurfacePool *pool,
CoreSurfaceAllocation *allocation,
CoreSurfaceBufferLock *lock );
@@ -268,5 +316,10 @@ DFBResult dfb_surface_pool_enumerate ( CoreSurfacePool *pool,
void *ctx );
+/*
+ Get a surface pool's process-specific void data pointer.
+*/
+void *dfb_surface_pool_get_local( const CoreSurfacePool *pool );
+
#endif
diff --git a/src/core/surface_pool_bridge.c b/src/core/surface_pool_bridge.c
index 244ca2d..13994cd 100644
--- a/src/core/surface_pool_bridge.c
+++ b/src/core/surface_pool_bridge.c
@@ -59,6 +59,7 @@ static const SurfacePoolBridgeFuncs *bridge_funcs[MAX_SURFACE_POOL_BRIDGES];
static void *bridge_locals[MAX_SURFACE_POOL_BRIDGES];
static int bridge_count;
static CoreSurfacePoolBridge *bridge_array[MAX_SURFACE_POOL_BRIDGES];
+static unsigned int bridge_order[MAX_SURFACE_POOLS];
/**********************************************************************************************************************/
@@ -96,6 +97,11 @@ static DFBResult init_bridge( CoreDFB *core,
/**********************************************************************************************************************/
+static void insert_bridge_local( CoreSurfacePoolBridge *bridge );
+static void remove_bridge_local( CoreSurfacePoolBridgeID bridge_id );
+
+/**********************************************************************************************************************/
+
DFBResult
dfb_surface_pool_bridge_initialize( CoreDFB *core,
const SurfacePoolBridgeFuncs *funcs,
@@ -143,12 +149,17 @@ dfb_surface_pool_bridge_initialize( CoreDFB *core,
ret = init_bridge( core, bridge, funcs, context );
if (ret) {
+ bridge_funcs[bridge->bridge_id] = NULL;
+ bridge_array[bridge->bridge_id] = NULL;
bridge_count--;
D_MAGIC_CLEAR( bridge );
SHFREE( shmpool, bridge );
return ret;
}
+ /* Insert new bridge into priority order */
+ insert_bridge_local( bridge );
+
/* Return the new bridge. */
*ret_bridge = bridge;
@@ -217,6 +228,9 @@ dfb_surface_pool_bridge_join( CoreDFB *core,
}
}
+ /* Insert new bridge into priority order */
+ insert_bridge_local( bridge );
+
return DFB_OK;
}
@@ -245,14 +259,8 @@ dfb_surface_pool_bridge_destroy( CoreSurfacePoolBridge *bridge )
if (bridge->data)
SHFREE( bridge->shmpool, bridge->data );
- /* Free local bridge data. */
- if (bridge_locals[bridge_id])
- D_FREE( bridge_locals[bridge_id] );
-
- /* Remove from arrays. */
- bridge_array[bridge_id] = NULL;
- bridge_funcs[bridge_id] = NULL;
- bridge_locals[bridge_id] = NULL;
+ /* Free local pool data and remove from lists */
+ remove_bridge_local( bridge_id );
fusion_skirmish_destroy( &bridge->lock );
@@ -284,14 +292,8 @@ dfb_surface_pool_bridge_leave( CoreSurfacePoolBridge *bridge )
if (funcs->LeavePoolBridge)
funcs->LeavePoolBridge( bridge, bridge->data, get_local(bridge) );
- /* Free local bridge data. */
- if (bridge_locals[bridge_id])
- D_FREE( bridge_locals[bridge_id] );
-
- /* Remove from arrays. */
- bridge_array[bridge_id] = NULL;
- bridge_funcs[bridge_id] = NULL;
- bridge_locals[bridge_id] = NULL;
+ /* Free local pool data and remove from lists */
+ remove_bridge_local( bridge_id );
return DFB_OK;
}
@@ -420,7 +422,10 @@ dfb_surface_pool_bridges_transfer( CoreSurfaceBuffer *buffer,
}
for (i=0; i<bridge_count; i++) {
- bridge = bridge_array[i];
+ D_ASSERT( bridge_order[i] >= 0 );
+ D_ASSERT( bridge_order[i] < bridge_count );
+
+ bridge = bridge_array[bridge_order[i]];
D_MAGIC_ASSERT( bridge, CoreSurfacePoolBridge );
funcs = get_funcs( bridge );
@@ -512,15 +517,10 @@ init_bridge( CoreDFB *core,
D_FREE( bridge_locals[bridge->bridge_id] );
bridge_locals[bridge->bridge_id] = NULL;
}
-
if (bridge->data) {
SHFREE( bridge->shmpool, bridge->data );
bridge->data = NULL;
}
-
- bridge_array[bridge->bridge_id] = NULL;
- bridge_funcs[bridge->bridge_id] = NULL;
-
return ret;
}
@@ -529,3 +529,67 @@ init_bridge( CoreDFB *core,
return DFB_OK;
}
+static void
+insert_bridge_local( CoreSurfacePoolBridge *bridge )
+{
+ int i, n;
+
+ for (i=0; i<bridge_count-1; i++) {
+ D_ASSERT( bridge_order[i] >= 0 );
+ D_ASSERT( bridge_order[i] < bridge_count-1 );
+
+ D_MAGIC_ASSERT( bridge_array[bridge_order[i]], CoreSurfacePoolBridge );
+
+ if (bridge_array[bridge_order[i]]->desc.priority < bridge->desc.priority)
+ break;
+ }
+
+ for (n=bridge_count-1; n>i; n--) {
+ D_ASSERT( bridge_order[n-1] >= 0 );
+ D_ASSERT( bridge_order[n-1] < bridge_count-1 );
+
+ D_MAGIC_ASSERT( bridge_array[bridge_order[n-1]], CoreSurfacePoolBridge );
+
+ bridge_order[n] = bridge_order[n-1];
+ }
+
+ bridge_order[n] = bridge_count - 1;
+
+#if D_DEBUG_ENABLED
+ for (i=0; i<bridge_count; i++) {
+ D_DEBUG_AT( Core_SurfPoolBridge, " %c> [%d] %p - '%s' [%d] (%d), %p\n",
+ (i == n) ? '=' : '-', i, bridge_array[bridge_order[i]], bridge_array[bridge_order[i]]->desc.name,
+ bridge_array[bridge_order[i]]->bridge_id, bridge_array[bridge_order[i]]->desc.priority,
+ bridge_funcs[bridge_order[i]] );
+ D_ASSERT( bridge_order[i] == bridge_array[bridge_order[i]]->bridge_id );
+ }
+#endif
+}
+
+static void
+remove_bridge_local( CoreSurfacePoolBridgeID bridge_id )
+{
+ int i;
+
+ /* Free local bridge data. */
+ if (bridge_locals[bridge_id]) {
+ D_FREE( bridge_locals[bridge_id] );
+ bridge_locals[bridge_id] = NULL;
+ }
+
+ /* Erase entries of the bridge. */
+ bridge_array[bridge_id] = NULL;
+ bridge_funcs[bridge_id] = NULL;
+
+ while (bridge_count > 0 && !bridge_array[bridge_count-1]) {
+ bridge_count--;
+
+ for (i=0; i<bridge_count; i++) {
+ if (bridge_order[i] == bridge_count) {
+ direct_memmove( &bridge_order[i], &bridge_order[i+1], sizeof(bridge_order[0]) * (bridge_count - i) );
+ break;
+ }
+ }
+ }
+}
+
diff --git a/src/core/surface_pool_bridge.h b/src/core/surface_pool_bridge.h
index 8fb6dda..24dd5d5 100644
--- a/src/core/surface_pool_bridge.h
+++ b/src/core/surface_pool_bridge.h
@@ -35,6 +35,7 @@
#include <core/surface.h>
#include <core/surface_buffer.h>
+#include <core/surface_pool.h>
typedef enum {
@@ -54,6 +55,7 @@ typedef enum {
typedef struct {
CoreSurfacePoolBridgeCapabilities caps;
char name[DFB_SURFACE_POOL_BRIDGE_DESC_NAME_LENGTH];
+ CoreSurfacePoolPriority priority;
} CoreSurfacePoolBridgeDescription;
diff --git a/src/core/system.c b/src/core/system.c
index 6a78eb0..37a7a9f 100644
--- a/src/core/system.c
+++ b/src/core/system.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -462,3 +462,29 @@ dfb_system_get_deviceid( unsigned int *ret_vendor_id,
*ret_device_id = device_id;
}
+int
+dfb_system_surface_data_size( void )
+{
+ D_ASSERT( system_funcs != NULL );
+
+ return system_funcs->SurfaceDataSize();
+}
+
+void
+dfb_system_surface_data_init( CoreSurface *surface, void *data )
+{
+ D_ASSERT( surface );
+ D_ASSERT( system_funcs != NULL );
+
+ system_funcs->SurfaceDataInit(surface,data);
+}
+
+void
+dfb_system_surface_data_destroy( CoreSurface *surface, void *data )
+{
+ D_ASSERT( surface );
+ D_ASSERT( system_funcs != NULL );
+
+ system_funcs->SurfaceDataDestroy(surface,data);
+}
+
diff --git a/src/core/system.h b/src/core/system.h
index 8ecc564..4ea3893 100644
--- a/src/core/system.h
+++ b/src/core/system.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -189,6 +189,21 @@ typedef struct {
void (*GetBusID)( int *ret_bus, int *ret_dev, int *ret_func );
void (*GetDeviceID)( unsigned int *ret_vendor_id,
unsigned int *ret_device_id );
+
+ /*
+ * Shared Surface Data Creation/Destruction Functions
+ *
+ * These functions are used to create and destroy the shared CoreSurface
+ * data. The Init function is called before the surface's buffers are
+ * created. The Destroy function is called after the surface buffers are
+ * released. The allocated data is only used by the systems driver.
+ *
+ * Note: In the init and destroy functions it is legal for the data
+ * parameter to be null.
+ */
+ int (*SurfaceDataSize)( void );
+ void (*SurfaceDataInit)( CoreSurface *surface, void *data );
+ void (*SurfaceDataDestroy)( CoreSurface *surface, void *data );
} CoreSystemFuncs;
@@ -254,5 +269,14 @@ void
dfb_system_get_deviceid( unsigned int *ret_vendor_id,
unsigned int *ret_device_id );
+int
+dfb_system_surface_data_size( void );
+
+void
+dfb_system_surface_data_init( CoreSurface *surface, void *data );
+
+void
+dfb_system_surface_data_destroy( CoreSurface *surface, void *data );
+
#endif
diff --git a/src/core/windows.c b/src/core/windows.c
index 0abe2c0..2399f56 100644
--- a/src/core/windows.c
+++ b/src/core/windows.c
@@ -55,6 +55,8 @@
#include <core/windowstack.h>
#include <core/wm.h>
+#include <core/CoreWindow.h>
+
#include <misc/conf.h>
#include <misc/util.h>
@@ -113,11 +115,16 @@ window_destructor( FusionObject *object, bool zombie, void *ctx )
return;
}
+ CoreWindow_Deinit_Dispatch( &window->call );
+
dfb_windowstack_lock( stack );
dfb_window_destroy( window );
+ if (window->cursor.surface)
+ dfb_surface_unlink( &window->cursor.surface );
+
if (window->caps & DWCAPS_SUBWINDOW) {
int index;
CoreWindow *toplevel;
@@ -140,7 +147,6 @@ window_destructor( FusionObject *object, bool zombie, void *ctx )
dfb_windowstack_unlock( stack );
-
/* Unlink the primary region of the context. */
if (window->primary_region)
dfb_layer_region_unlink( &window->primary_region );
@@ -348,7 +354,7 @@ dfb_window_create( CoreWindowStack *stack,
surface_caps = desc->surface_caps & (DSCAPS_INTERLACED | DSCAPS_SEPARATED |
DSCAPS_PREMULTIPLIED | DSCAPS_DEPTH |
DSCAPS_STATIC_ALLOC | DSCAPS_SYSTEMONLY |
- DSCAPS_VIDEOONLY);
+ DSCAPS_VIDEOONLY | DSCAPS_TRIPLE);
toplevel_id = (desc->flags & DWDESC_TOPLEVEL_ID) ? desc->toplevel_id : 0;
if (toplevel_id != 0)
@@ -415,8 +421,10 @@ dfb_window_create( CoreWindowStack *stack,
dfb_surface_caps_apply_policy( surface_policy, &surface_caps );
- if (caps & DWCAPS_DOUBLEBUFFER)
- surface_caps |= DSCAPS_DOUBLE;
+ if (caps & DWCAPS_DOUBLEBUFFER) {
+ if (!(surface_caps & DSCAPS_TRIPLE))
+ surface_caps |= DSCAPS_DOUBLE;
+ }
memset( &config, 0, sizeof(CoreWindowConfig) );
@@ -441,6 +449,10 @@ dfb_window_create( CoreWindowStack *stack,
/* Create the window object. */
window = dfb_core_create_window( layer->core );
+ if (!window) {
+ dfb_windowstack_unlock( stack );
+ return DFB_FUSION;
+ }
window->id = ++stack->id_pool;
window->caps = caps;
@@ -596,6 +608,8 @@ dfb_window_create( CoreWindowStack *stack,
/* Increase number of windows. */
stack->num++;
+ CoreWindow_Init_Dispatch( layer->core, window, &window->call );
+
/* Finally activate the object. */
fusion_object_activate( &window->object );
@@ -683,6 +697,7 @@ dfb_window_destroy( CoreWindow *window )
/* Unlink the window's surface. */
if (window->surface) {
+ dfb_surface_deallocate_buffers( window->surface );
dfb_surface_unlink( &window->surface );
}
@@ -942,6 +957,47 @@ dfb_window_set_config( CoreWindow *window,
return ret;
}
+DFBResult
+dfb_window_set_cursor_shape( CoreWindow *window,
+ CoreSurface *surface,
+ unsigned int hot_x,
+ unsigned int hot_y )
+{
+ DFBResult ret = DFB_OK;
+ CoreWindowStack *stack = window->stack;
+
+ D_MAGIC_ASSERT( window, CoreWindow );
+
+ /* Lock the window stack. */
+ if (dfb_windowstack_lock( stack ))
+ return DFB_FUSION;
+
+ /* Never call WM after destroying the window. */
+ if (DFB_WINDOW_DESTROYED( window )) {
+ dfb_windowstack_unlock( stack );
+ return DFB_DESTROYED;
+ }
+
+ window->cursor.hot_x = hot_x;
+ window->cursor.hot_y = hot_y;
+
+ if (window->cursor.surface)
+ dfb_surface_unlink( &window->cursor.surface );
+
+ if (surface) {
+ ret = dfb_surface_link( &window->cursor.surface, surface );
+ if (ret == DFB_OK) {
+ if (window->flags & CWF_FOCUSED)
+ dfb_windowstack_cursor_set_shape( stack, surface, hot_x, hot_y );
+ }
+ }
+
+ /* Unlock the window stack. */
+ dfb_windowstack_unlock( stack );
+
+ return ret;
+}
+
static DFBResult
move_window( CoreWindow *window,
int x,
@@ -1704,15 +1760,6 @@ dfb_window_post_event( CoreWindow *window,
event->clazz = DFEC_WINDOW;
event->window_id = window->id;
- D_ASSUME( window->stack != NULL );
-
- if (window->stack) {
- CoreWindowStack *stack = window->stack;
-
- event->cx = stack->cursor.x;
- event->cy = stack->cursor.y;
- }
-
if (!core_window_filter( window, event ))
dfb_window_dispatch( window, event, dfb_window_globals );
}
diff --git a/src/core/windows.h b/src/core/windows.h
index 6140bbb..adebb7f 100644
--- a/src/core/windows.h
+++ b/src/core/windows.h
@@ -60,6 +60,8 @@ typedef enum {
CWCF_COLOR = 0x00000400,
CWCF_KEY_SELECTION = 0x00001000,
+ CWCF_CURSOR_FLAGS = 0x00002000,
+ CWCF_CURSOR_RESOLUTION = 0x00004000,
CWCF_SRC_GEOMETRY = 0x00010000,
CWCF_DST_GEOMETRY = 0x00020000,
@@ -68,7 +70,7 @@ typedef enum {
CWCF_APPLICATION_ID= 0x00080000,
- CWCF_ALL = 0x000F177F
+ CWCF_ALL = 0x000F777F
} CoreWindowConfigFlags;
struct __DFB_CoreWindowConfig {
@@ -77,7 +79,7 @@ struct __DFB_CoreWindowConfig {
DFBWindowStackingClass stacking; /* level boundaries */
DFBWindowOptions options; /* flags for appearance/behaviour */
DFBWindowEventType events; /* mask of enabled events */
- DFBColor color; /* color for DWCAPS_COLOR */
+ DFBColor color; /* color for DWCAPS_COLOR, never premultiplied! */
u32 color_key; /* transparent pixel */
DFBRegion opaque; /* region of the window forced to be opaque */
@@ -94,6 +96,9 @@ struct __DFB_CoreWindowConfig {
unsigned long application_id; /* this can be changed at runtime by the application.
* it's here so appman can get a callback on change. */
+
+ DFBWindowCursorFlags cursor_flags;
+ DFBDimension cursor_resolution;
};
@@ -239,6 +244,15 @@ dfb_window_set_config( CoreWindow *window,
CoreWindowConfigFlags flags );
/*
+ * change window cursor
+ */
+DFBResult
+dfb_window_set_cursor_shape( CoreWindow *window,
+ CoreSurface *surface,
+ unsigned int hot_x,
+ unsigned int hot_y );
+
+/*
* sets the global alpha factor
*/
DFBResult
diff --git a/src/core/windows_internal.h b/src/core/windows_internal.h
index c0849a8..f52a69f 100644
--- a/src/core/windows_internal.h
+++ b/src/core/windows_internal.h
@@ -108,6 +108,14 @@ struct __DFB_CoreWindow {
CoreWindow *subfocus; /* which of the sub windows has the focus? */
unsigned long resource_id;
+
+ FusionCall call;
+
+ struct {
+ int hot_x;
+ int hot_y;
+ CoreSurface *surface;
+ } cursor;
};
typedef enum {
@@ -185,6 +193,8 @@ struct __DFB_CoreWindowStack {
FusionSHMPoolShared *shmpool;
CoreWindowStackFlags flags;
+
+ FusionCall call;
};
diff --git a/src/core/windowstack.c b/src/core/windowstack.c
index c8f30aa..848b2df 100644
--- a/src/core/windowstack.c
+++ b/src/core/windowstack.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -34,11 +34,15 @@
#include <direct/debug.h>
#include <direct/list.h>
+#include <direct/mem.h>
#include <direct/messages.h>
#include <fusion/reactor.h>
#include <fusion/shmalloc.h>
+#include <core/CoreWindowStack.h>
+
+#include <core/core.h>
#include <core/input.h>
#include <core/layer_context.h>
#include <core/layers_internal.h>
@@ -76,6 +80,14 @@ typedef struct {
CoreWindow *owner;
} GrabbedKey;
+typedef struct {
+ DirectLink link;
+ void *ctx;
+} Stack_Container;
+
+static DirectLink *stack_containers = NULL;
+static pthread_mutex_t stack_containers_lock = PTHREAD_MUTEX_INITIALIZER;
+
/**********************************************************************************************************************/
static DFBResult load_default_cursor ( CoreDFB *core,
@@ -89,8 +101,85 @@ static DFBResult create_cursor_surface( CoreWindowStack *stack,
static DFBEnumerationResult stack_attach_devices( CoreInputDevice *device,
void *ctx );
+static DFBEnumerationResult stack_detach_devices( CoreInputDevice *device,
+ void *ctx );
+
/**********************************************************************************************************************/
+// Implement stack_containers_XXX function family to maintain the connections
+// between windowstacks and input devices.
+static void
+stack_containers_add(CoreWindowStack *p)
+{
+ Stack_Container *stack_cntr;
+
+ D_DEBUG_AT( Core_WindowStack, "Enter:%s()\n", __FUNCTION__);
+
+ pthread_mutex_lock( &stack_containers_lock );
+
+ stack_cntr = (Stack_Container *) D_CALLOC(1, sizeof(Stack_Container));
+ if (stack_cntr != NULL) {
+ stack_cntr->ctx = (void *)p;
+ direct_list_append(&stack_containers, &stack_cntr->link);
+ }
+ else{
+ D_ERROR( "Core/WindowStack: stack_cntr = NULL\n");
+ }
+
+ pthread_mutex_unlock( &stack_containers_lock );
+}
+
+static void
+stack_containers_remove(CoreWindowStack *p)
+{
+ Stack_Container *stack_cntr = NULL;
+
+ D_DEBUG_AT( Core_WindowStack, "Enter:%s()\n", __FUNCTION__);
+
+ pthread_mutex_lock( &stack_containers_lock );
+
+ direct_list_foreach(stack_cntr, stack_containers) {
+ if((void *)p == stack_cntr->ctx) {
+ direct_list_remove(&stack_containers, &stack_cntr->link);
+ D_FREE(stack_cntr);
+ }
+ }
+
+ pthread_mutex_unlock( &stack_containers_lock );
+}
+
+void
+stack_containers_attach_device(CoreInputDevice *device)
+{
+ Stack_Container *stack_container;
+
+ D_DEBUG_AT( Core_WindowStack, "Enter:%s()\n", __FUNCTION__);
+
+ pthread_mutex_lock( &stack_containers_lock );
+
+ direct_list_foreach(stack_container, stack_containers) {
+ stack_attach_devices(device, stack_container->ctx);
+ }
+
+ pthread_mutex_unlock( &stack_containers_lock );
+}
+
+void
+stack_containers_detach_device(CoreInputDevice *device)
+{
+ Stack_Container *stack_container;
+
+ D_DEBUG_AT( Core_WindowStack, "Enter:%s()\n", __FUNCTION__);
+
+ pthread_mutex_lock( &stack_containers_lock );
+
+ direct_list_foreach(stack_container, stack_containers) {
+ stack_detach_devices(device, stack_container->ctx);
+ }
+
+ pthread_mutex_unlock( &stack_containers_lock );
+}
+
/*
* Allocates and initializes a window stack.
*/
@@ -99,12 +188,15 @@ dfb_windowstack_create( CoreLayerContext *context )
{
DFBResult ret;
CoreWindowStack *stack;
+ CoreLayer *layer;
CoreSurfacePolicy policy = CSP_SYSTEMONLY;
D_DEBUG_AT( Core_WindowStack, "%s( %p )\n", __FUNCTION__, context );
D_ASSERT( context != NULL );
+ layer = dfb_layer_at( context->layer_id );
+
/* Allocate window stack data (completely shared) */
stack = (CoreWindowStack*) SHCALLOC( context->shmpool, 1, sizeof(CoreWindowStack) );
if (!stack) {
@@ -157,6 +249,10 @@ dfb_windowstack_create( CoreLayerContext *context )
/* Attach to all input devices */
dfb_input_enumerate_devices( stack_attach_devices, stack, DICAPS_ALL );
+ stack_containers_add(stack);
+
+ CoreWindowStack_Init_Dispatch( layer->core, stack, &stack->call );
+
D_DEBUG_AT( Core_WindowStack, " -> %p\n", stack );
return stack;
@@ -171,6 +267,8 @@ dfb_windowstack_detach_devices( CoreWindowStack *stack )
D_MAGIC_ASSERT( stack, CoreWindowStack );
+ stack_containers_remove(stack);
+
/* Detach all input devices. */
l = stack->devices;
while (l) {
@@ -209,6 +307,8 @@ dfb_windowstack_destroy( CoreWindowStack *stack )
dfb_surface_unlink( &stack->bg.image );
}
+ CoreWindowStack_Deinit_Dispatch( &stack->call );
+
/* Deallocate shared stack data. */
if (stack->stack_data) {
SHFREE( stack->shmpool, stack->stack_data );
@@ -718,9 +818,29 @@ _dfb_windowstack_inputdevice_listener( const void *msg_data,
D_ASSERT( msg_data != NULL );
D_MAGIC_ASSERT( stack, CoreWindowStack );
+ // Dynamically add/decrease the ref to the layer context when using the
+ // layer context. This will prevent the layer context from being
+ // destroyed when it is being used.
+
+ int num = 0;
+
+ // Make sure the layer context's reference count is non-zero. If it is,
+ // return early and indicate the listener should be removed. In this
+ // scenario, this prevents the object_reference_watcher from being called
+ // more than once triggered by the reference count changing from 1 to 0
+ // again.
+ if (dfb_layer_context_ref_stat( stack->context, &num ) || num == 0)
+ return RS_REMOVE;
+
+ // Increase the layer context's reference count.
+ if (dfb_layer_context_ref( stack->context ))
+ return RS_REMOVE;
+
/* Lock the window stack. */
- if (dfb_windowstack_lock( stack ))
+ if (dfb_windowstack_lock( stack )) {
+ dfb_layer_context_unref( stack->context );
return RS_REMOVE;
+ }
/* Call the window manager to dispatch the event. */
if (dfb_layer_context_active( stack->context ))
@@ -729,6 +849,9 @@ _dfb_windowstack_inputdevice_listener( const void *msg_data,
/* Unlock the window stack. */
dfb_windowstack_unlock( stack );
+ // Decrease the layer context's reference count.
+ dfb_layer_context_unref( stack->context );
+
return RS_OK;
}
@@ -797,6 +920,33 @@ stack_attach_devices( CoreInputDevice *device,
return DFENUM_OK;
}
+static DFBEnumerationResult
+stack_detach_devices( CoreInputDevice *device,
+ void *ctx )
+{
+ DirectLink *link;
+ CoreWindowStack *stack = (CoreWindowStack*) ctx;
+
+ D_ASSERT( stack != NULL );
+ D_ASSERT( device != NULL );
+
+ link = stack->devices;
+ while (link) {
+ DirectLink *next = link->next;
+ StackDevice *dev = (StackDevice*) link;
+
+ if (dfb_input_device_id(device) == dev->id) {
+ direct_list_remove( &stack->devices, &dev->link );
+
+ dfb_input_detach_global(device, &dev->reaction );
+ SHFREE( stack->shmpool, dev );
+ return DFENUM_OK;
+ }
+ link = next;
+ }
+ return DFENUM_CANCEL;
+}
+
/*
* internal function that installs the cursor window
* and fills it with data from 'cursor.dat'
diff --git a/src/core/windowstack.h b/src/core/windowstack.h
index 6d7bed5..ae55539 100644
--- a/src/core/windowstack.h
+++ b/src/core/windowstack.h
@@ -52,6 +52,10 @@ DirectResult dfb_windowstack_lock ( CoreWindowStack *stack );
DirectResult dfb_windowstack_unlock ( CoreWindowStack *stack );
+
+
+
+
/*
* repaints all window on a window stack
*/
@@ -102,4 +106,5 @@ DFBResult dfb_windowstack_get_cursor_position (CoreWindowStack *stack,
int *x,
int *y);
+
#endif
diff --git a/src/core/wm.c b/src/core/wm.c
index 2c32182..e7e50bc 100644
--- a/src/core/wm.c
+++ b/src/core/wm.c
@@ -1140,6 +1140,26 @@ dfb_wm_begin_updates( CoreWindow *window,
}
DFBResult
+dfb_wm_set_cursor_position( CoreWindow *window,
+ int x,
+ int y )
+{
+ D_ASSERT( wm_local != NULL );
+ D_ASSERT( wm_local->funcs != NULL );
+ D_ASSERT( wm_local->funcs->SetCursorPosition != NULL );
+
+ D_ASSERT( window != NULL );
+
+ D_MAGIC_ASSERT( window->stack, CoreWindowStack );
+ D_MAGIC_ASSERT( window->stack->context, CoreLayerContext );
+ FUSION_SKIRMISH_ASSERT( &window->stack->context->lock );
+
+ D_DEBUG_AT( Core_WM, "%s( %p [%d,%d] )\n", __FUNCTION__, window, x, y );
+
+ return wm_local->funcs->SetCursorPosition( window, wm_local->data, window->window_data, x, y );
+}
+
+DFBResult
dfb_wm_update_stack( CoreWindowStack *stack,
const DFBRegion *region,
DFBSurfaceFlipFlags flags )
@@ -1204,7 +1224,7 @@ dfb_wm_update_cursor( CoreWindowStack *stack,
D_FLAGS_ASSERT( flags, CCUF_ALL );
- if (dfb_config->no_cursor_updates)
+ if (dfb_config->no_cursor || dfb_config->no_cursor_updates)
return DFB_OK;
return wm_local->funcs->UpdateCursor( stack, wm_local->data,
diff --git a/src/core/wm.h b/src/core/wm.h
index 45df62f..acc46b5 100644
--- a/src/core/wm.h
+++ b/src/core/wm.h
@@ -260,6 +260,12 @@ typedef struct {
void *window_data,
const DFBRegion *update );
+ DFBResult (*SetCursorPosition) ( CoreWindow *window,
+ void *wm_data,
+ void *window_data,
+ int x,
+ int y );
+
/** Updates **/
@@ -364,6 +370,10 @@ DFBResult dfb_wm_request_focus ( CoreWindow *window );
DFBResult dfb_wm_begin_updates ( CoreWindow *window,
const DFBRegion *update );
+DFBResult dfb_wm_set_cursor_position( CoreWindow *window,
+ int x,
+ int y );
+
DFBResult dfb_wm_update_stack ( CoreWindowStack *stack,
const DFBRegion *region,
diff --git a/src/core/wm_module.h b/src/core/wm_module.h
index 8e965ec..92b1666 100644
--- a/src/core/wm_module.h
+++ b/src/core/wm_module.h
@@ -191,6 +191,12 @@ static DFBResult wm_begin_updates ( CoreWindow *window,
void *window_data,
const DFBRegion *update );
+static DFBResult wm_set_cursor_position( CoreWindow *window,
+ void *wm_data,
+ void *window_data,
+ int x,
+ int y );
+
/** Updates **/
static DFBResult wm_update_stack ( CoreWindowStack *stack,
@@ -245,6 +251,7 @@ static CoreWMFuncs wm_funcs = {
.Ungrab = wm_ungrab,
.RequestFocus = wm_request_focus,
.BeginUpdates = wm_begin_updates,
+ .SetCursorPosition = wm_set_cursor_position,
.UpdateStack = wm_update_stack,
.UpdateWindow = wm_update_window,
diff --git a/src/directfb.c b/src/directfb.c
index b56e28b..fe7477a 100644
--- a/src/directfb.c
+++ b/src/directfb.c
@@ -69,10 +69,16 @@
#include <idirectfb.h>
+#ifndef DIRECTFB_VERSION_VENDOR
+#define DIRECTFB_VERSION_VENDOR
+#endif
+
+
IDirectFB *idirectfb_singleton = NULL;
static DFBResult CreateRemote( const char *host, int session, IDirectFB **ret_interface );
+
/*
* Version checking
*/
@@ -180,15 +186,16 @@ DirectFBCreate( IDirectFB **interface )
if ( !(direct_config->quiet & DMT_BANNER) && dfb_config->banner) {
direct_log_printf( NULL,
"\n"
- " ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB " DIRECTFB_VERSION " |~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
- " (c) 2001-2009 The world wide DirectFB Open Source Community\n"
+ " ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB " DIRECTFB_VERSION DIRECTFB_VERSION_VENDOR " |~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
+ " (c) 2001-2012 The world wide DirectFB Open Source Community\n"
" (c) 2000-2004 Convergence (integrated media) GmbH\n"
" ----------------------------------------------------------------\n"
"\n" );
}
+#if !DIRECTFB_BUILD_PURE_VOODOO
if (dfb_config->remote.host)
- return CreateRemote( dfb_config->remote.host, dfb_config->remote.session, interface );
+ return CreateRemote( dfb_config->remote.host, dfb_config->remote.port, interface );
ret = dfb_core_create( &core_dfb );
if (ret)
@@ -214,6 +221,9 @@ DirectFBCreate( IDirectFB **interface )
*interface = idirectfb_singleton = dfb;
return DFB_OK;
+#else
+ return CreateRemote( dfb_config->remote.host ?: "", dfb_config->remote.port, interface );
+#endif
}
DFBResult
@@ -262,7 +272,7 @@ DirectFBErrorFatal( const char *msg, DFBResult error )
/**************************************************************************************************/
static DFBResult
-CreateRemote( const char *host, int session, IDirectFB **ret_interface )
+CreateRemote( const char *host, int port, IDirectFB **ret_interface )
{
DFBResult ret;
DirectInterfaceFuncs *funcs;
@@ -279,7 +289,7 @@ CreateRemote( const char *host, int session, IDirectFB **ret_interface )
if (ret)
return ret;
- ret = funcs->Construct( interface, host, session );
+ ret = funcs->Construct( interface, host, port );
if (ret)
return ret;
diff --git a/src/display/Makefile.am b/src/display/Makefile.am
index ddb1456..3489c5c 100644
--- a/src/display/Makefile.am
+++ b/src/display/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/src/display
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/src/display/Makefile.in b/src/display/Makefile.in
index 6557fc6..c851577 100644
--- a/src/display/Makefile.in
+++ b/src/display/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,6 +47,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libdirectfb_display_la_LIBADD =
am_libdirectfb_display_la_OBJECTS = idirectfbpalette.lo \
@@ -52,18 +55,35 @@ am_libdirectfb_display_la_OBJECTS = idirectfbpalette.lo \
idirectfbsurface_window.lo idirectfbdisplaylayer.lo \
idirectfbscreen.lo
libdirectfb_display_la_OBJECTS = $(am_libdirectfb_display_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_display_la_SOURCES)
DIST_SOURCES = $(libdirectfb_display_la_SOURCES)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -71,15 +91,36 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(internalincludedir)"
-internalincludeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(internalinclude_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -103,11 +144,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -121,16 +165,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -151,12 +196,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -167,21 +215,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -189,6 +245,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -202,6 +262,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -209,9 +270,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -258,11 +320,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -293,14 +357,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/display/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/display/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/display/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/display/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -318,6 +382,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@@ -327,8 +392,8 @@ clean-noinstLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_display.la: $(libdirectfb_display_la_OBJECTS) $(libdirectfb_display_la_DEPENDENCIES)
- $(LINK) $(libdirectfb_display_la_OBJECTS) $(libdirectfb_display_la_LIBADD) $(LIBS)
+libdirectfb_display.la: $(libdirectfb_display_la_OBJECTS) $(libdirectfb_display_la_DEPENDENCIES) $(EXTRA_libdirectfb_display_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libdirectfb_display_la_OBJECTS) $(libdirectfb_display_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -344,25 +409,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbsurface_window.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -372,34 +437,35 @@ clean-libtool:
install-internalincludeHEADERS: $(internalinclude_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(internalincludedir)" || $(MKDIR_P) "$(DESTDIR)$(internalincludedir)"
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(internalincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(internalincludedir)/$$f'"; \
- $(internalincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(internalincludedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(internalincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(internalincludedir)" || exit $$?; \
done
uninstall-internalincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(internalincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(internalincludedir)/$$f"; \
- done
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(internalincludedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -407,29 +473,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -450,13 +521,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -477,16 +552,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -508,6 +589,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -516,18 +599,28 @@ install-data-am: install-internalincludeHEADERS
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -566,6 +659,7 @@ uninstall-am: uninstall-internalincludeHEADERS
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-internalincludeHEADERS
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/display/idirectfbdisplaylayer.c b/src/display/idirectfbdisplaylayer.c
index cd8a2ad..7311e9d 100644
--- a/src/display/idirectfbdisplaylayer.c
+++ b/src/display/idirectfbdisplaylayer.c
@@ -49,7 +49,15 @@
#include <core/layer_region.h>
#include <core/state.h>
#include <core/windows.h>
+#include <core/windows_internal.h>
#include <core/windowstack.h>
+#include <core/wm.h>
+
+#include <core/CoreDFB.h>
+#include <core/CoreLayer.h>
+#include <core/CoreLayerContext.h>
+#include <core/CoreLayerRegion.h>
+#include <core/CoreWindowStack.h>
#include <windows/idirectfbwindow.h>
@@ -113,7 +121,7 @@ IDirectFBDisplayLayer_AddRef( IDirectFBDisplayLayer *thiz )
data->ref++;
- return DFB_OK;
+ return DR_OK;
}
static DirectResult
@@ -124,7 +132,7 @@ IDirectFBDisplayLayer_Release( IDirectFBDisplayLayer *thiz )
if (--data->ref == 0)
IDirectFBDisplayLayer_Destruct( thiz );
- return DFB_OK;
+ return DR_OK;
}
static DFBResult
@@ -174,7 +182,7 @@ IDirectFBDisplayLayer_GetSurface( IDirectFBDisplayLayer *thiz,
"call pass until cooperative level handling is finished" );
}
- ret = dfb_layer_context_get_primary_region( data->context, true, ®ion );
+ ret = CoreLayerContext_GetPrimaryRegion( data->context, true, ®ion );
if (ret)
return ret;
@@ -183,9 +191,24 @@ IDirectFBDisplayLayer_GetSurface( IDirectFBDisplayLayer *thiz,
ret = IDirectFBSurface_Layer_Construct( surface, NULL, NULL, NULL,
region, DSCAPS_NONE, data->core );
- if (region->config.buffermode == DLBM_FRONTONLY && data->level == DLSCL_EXCLUSIVE) {
- surface->Clear( surface, 0, 0, 0, 0 );
- dfb_layer_region_flip_update( region, NULL, DSFLIP_NONE );
+ // Fix to only perform single buffered clearing using a background when
+ // configured to do so AND the display layer region is frozen. Also
+ // added support for this behavior when the cooperative level is
+ // DLSCL_ADMINISTRATIVE.
+ if (region->config.buffermode == DLBM_FRONTONLY &&
+ data->level != DLSCL_SHARED &&
+ D_FLAGS_IS_SET( region->state, CLRSF_FROZEN )) {
+ // If a window stack is available, give it the opportunity to
+ // render the background (optionally based on configuration) and
+ // flip the display layer so it is visible. Otherwise, just
+ // directly flip the display layer and make it visible.
+ D_ASSERT( region->context );
+ if (region->context->stack) {
+ CoreWindowStack_RepaintAll( region->context->stack );
+ }
+ else {
+ CoreLayerRegion_FlipUpdate( region, NULL, DSFLIP_NONE );
+ }
}
*interface = ret ? NULL : surface;
@@ -233,11 +256,11 @@ IDirectFBDisplayLayer_SetCooperativeLevel( IDirectFBDisplayLayer *thiz
case DLSCL_SHARED:
case DLSCL_ADMINISTRATIVE:
if (data->level == DLSCL_EXCLUSIVE) {
- ret = dfb_layer_get_primary_context( data->layer, false, &context );
+ ret = CoreLayer_GetPrimaryContext( data->layer, false, &context );
if (ret)
return ret;
- ret = dfb_layer_context_get_primary_region( context, true, ®ion );
+ ret = CoreLayerContext_GetPrimaryRegion( context, true, ®ion );
if (ret) {
dfb_layer_context_unref( context );
return ret;
@@ -254,19 +277,19 @@ IDirectFBDisplayLayer_SetCooperativeLevel( IDirectFBDisplayLayer *thiz
break;
case DLSCL_EXCLUSIVE:
- ret = dfb_layer_create_context( data->layer, &context );
+ ret = CoreLayer_CreateContext( data->layer, &context );
if (ret)
return ret;
if (data->switch_exclusive) {
- ret = dfb_layer_activate_context( data->layer, context );
+ ret = CoreLayer_ActivateContext( data->layer, context );
if (ret) {
dfb_layer_context_unref( context );
return ret;
}
}
- ret = dfb_layer_context_get_primary_region( context, true, ®ion );
+ ret = CoreLayerContext_GetPrimaryRegion( context, true, ®ion );
if (ret) {
dfb_layer_context_unref( context );
return ret;
@@ -299,7 +322,7 @@ IDirectFBDisplayLayer_SetOpacity( IDirectFBDisplayLayer *thiz,
if (data->level == DLSCL_SHARED)
return DFB_ACCESSDENIED;
- return dfb_layer_context_set_opacity( data->context, opacity );
+ return CoreLayerContext_SetOpacity( data->context, opacity );
}
static DFBResult
@@ -307,7 +330,7 @@ IDirectFBDisplayLayer_GetCurrentOutputField( IDirectFBDisplayLayer *thiz, int *f
{
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer)
- return dfb_layer_get_current_output_field( data->layer, field );
+ return CoreLayer_GetCurrentOutputField( data->layer, field );
}
static DFBResult
@@ -318,7 +341,7 @@ IDirectFBDisplayLayer_SetFieldParity( IDirectFBDisplayLayer *thiz, int field )
if (data->level != DLSCL_EXCLUSIVE)
return DFB_ACCESSDENIED;
- return dfb_layer_context_set_field_parity( data->context, field );
+ return CoreLayerContext_SetFieldParity( data->context, field );
}
static DFBResult
@@ -338,7 +361,7 @@ IDirectFBDisplayLayer_SetClipRegions( IDirectFBDisplayLayer *thiz,
if (data->level != DLSCL_EXCLUSIVE)
return DFB_ACCESSDENIED;
- return dfb_layer_context_set_clip_regions( data->context, regions, num_regions, positive );
+ return CoreLayerContext_SetClipRegions( data->context, regions, num_regions, positive );
}
static DFBResult
@@ -358,7 +381,7 @@ IDirectFBDisplayLayer_SetSourceRectangle( IDirectFBDisplayLayer *thiz,
if (data->level == DLSCL_SHARED)
return DFB_ACCESSDENIED;
- return dfb_layer_context_set_sourcerectangle( data->context, &source );
+ return CoreLayerContext_SetSourceRectangle( data->context, &source );
}
static DFBResult
@@ -381,7 +404,7 @@ IDirectFBDisplayLayer_SetScreenLocation( IDirectFBDisplayLayer *thiz,
if (data->level == DLSCL_SHARED)
return DFB_ACCESSDENIED;
- return dfb_layer_context_set_screenlocation( data->context, &location );
+ return CoreLayerContext_SetScreenLocation( data->context, &location );
}
static DFBResult
@@ -389,6 +412,8 @@ IDirectFBDisplayLayer_SetScreenPosition( IDirectFBDisplayLayer *thiz,
int x,
int y )
{
+ DFBPoint position;
+
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer)
if (! D_FLAGS_IS_SET( data->desc.caps, DLCAPS_SCREEN_POSITION ))
@@ -397,7 +422,10 @@ IDirectFBDisplayLayer_SetScreenPosition( IDirectFBDisplayLayer *thiz,
if (data->level == DLSCL_SHARED)
return DFB_ACCESSDENIED;
- return dfb_layer_context_set_screenposition( data->context, x, y );
+ position.x = x;
+ position.y = y;
+
+ return CoreLayerContext_SetScreenPosition( data->context, &position );
}
static DFBResult
@@ -420,7 +448,7 @@ IDirectFBDisplayLayer_SetScreenRectangle( IDirectFBDisplayLayer *thiz,
if (data->level == DLSCL_SHARED)
return DFB_ACCESSDENIED;
- return dfb_layer_context_set_screenrectangle( data->context, &rect );
+ return CoreLayerContext_SetScreenRectangle( data->context, &rect );
}
static DFBResult
@@ -429,12 +457,19 @@ IDirectFBDisplayLayer_SetSrcColorKey( IDirectFBDisplayLayer *thiz,
u8 g,
u8 b )
{
+ DFBColorKey key;
+
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer)
if (data->level == DLSCL_SHARED)
return DFB_ACCESSDENIED;
- return dfb_layer_context_set_src_colorkey( data->context, r, g, b, -1 );
+ key.r = r;
+ key.g = g;
+ key.b = b;
+ key.index = -1;
+
+ return CoreLayerContext_SetSrcColorKey( data->context, &key );
}
static DFBResult
@@ -443,12 +478,19 @@ IDirectFBDisplayLayer_SetDstColorKey( IDirectFBDisplayLayer *thiz,
u8 g,
u8 b )
{
+ DFBColorKey key;
+
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer)
if (data->level == DLSCL_SHARED)
return DFB_ACCESSDENIED;
- return dfb_layer_context_set_dst_colorkey( data->context, r, g, b, -1 );
+ key.r = r;
+ key.g = g;
+ key.b = b;
+ key.index = -1;
+
+ return CoreLayerContext_SetDstColorKey( data->context, &key );
}
static DFBResult
@@ -484,7 +526,7 @@ IDirectFBDisplayLayer_SetLevel( IDirectFBDisplayLayer *thiz,
if (data->level == DLSCL_SHARED)
return DFB_ACCESSDENIED;
- return dfb_layer_set_level( data->layer, level );
+ return CoreLayer_SetLevel( data->layer, level );
}
static DFBResult
@@ -513,7 +555,7 @@ IDirectFBDisplayLayer_TestConfiguration( IDirectFBDisplayLayer *thiz,
((config->flags & DLCONF_HEIGHT) && (config->height < 0)))
return DFB_INVARG;
- return dfb_layer_context_test_configuration( data->context, config, failed );
+ return CoreLayerContext_TestConfiguration( data->context, config, failed );
}
static DFBResult
@@ -532,7 +574,7 @@ IDirectFBDisplayLayer_SetConfiguration( IDirectFBDisplayLayer *thiz,
switch (data->level) {
case DLSCL_EXCLUSIVE:
case DLSCL_ADMINISTRATIVE:
- return dfb_layer_context_set_configuration( data->context, config );
+ return CoreLayerContext_SetConfiguration( data->context, config );
default:
break;
@@ -561,7 +603,10 @@ IDirectFBDisplayLayer_SetBackgroundMode( IDirectFBDisplayLayer *thiz,
return DFB_INVARG;
}
- return dfb_windowstack_set_background_mode( data->stack, background_mode );
+ if (!data->stack)
+ return DFB_OK;
+
+ return CoreWindowStack_BackgroundSetMode( data->stack, background_mode );
}
static DFBResult
@@ -586,22 +631,28 @@ IDirectFBDisplayLayer_SetBackgroundImage( IDirectFBDisplayLayer *thiz,
if (!surface_data->surface)
return DFB_DESTROYED;
- return dfb_windowstack_set_background_image( data->stack,
- surface_data->surface );
+ if (!data->stack)
+ return DFB_OK;
+
+ return CoreWindowStack_BackgroundSetImage( data->stack,
+ surface_data->surface );
}
static DFBResult
IDirectFBDisplayLayer_SetBackgroundColor( IDirectFBDisplayLayer *thiz,
u8 r, u8 g, u8 b, u8 a )
{
- DFBColor color = { a: a, r: r, g: g, b: b };
+ DFBColor color = { .a = a, .r = r, .g = g, .b = b };
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer)
if (data->level == DLSCL_SHARED)
return DFB_ACCESSDENIED;
- return dfb_windowstack_set_background_color( data->stack, &color );
+ if (!data->stack)
+ return DFB_OK;
+
+ return CoreWindowStack_BackgroundSetColor( data->stack, &color );
}
static DFBResult
@@ -612,6 +663,8 @@ IDirectFBDisplayLayer_CreateWindow( IDirectFBDisplayLayer *thiz,
CoreWindow *w;
DFBResult ret;
DFBWindowDescription wd;
+ CoreWindow *parent = NULL;
+ CoreWindow *toplevel = NULL;
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer)
@@ -627,8 +680,18 @@ IDirectFBDisplayLayer_CreateWindow( IDirectFBDisplayLayer *thiz,
D_DEBUG_AT( Layer, "CreateWindow() <- %d,%d - %dx%d )\n", wd.posx, wd.posy, wd.width, wd.height );
- if (desc->flags & DWDESC_CAPS)
+ if (wd.width < 1 || wd.width > 4096 || wd.height < 1 || wd.height > 4096)
+ return DFB_INVARG;
+
+ if (!window)
+ return DFB_INVARG;
+
+ if (desc->flags & DWDESC_CAPS) {
+ if (desc->caps & ~DWCAPS_ALL)
+ return DFB_INVARG;
+
wd.caps = desc->caps;
+ }
if (desc->flags & DWDESC_PIXELFORMAT)
wd.pixelformat = desc->pixelformat;
@@ -637,6 +700,10 @@ IDirectFBDisplayLayer_CreateWindow( IDirectFBDisplayLayer *thiz,
wd.surface_caps = desc->surface_caps;
if (desc->flags & DWDESC_PARENT) {
+ ret = dfb_core_get_window( data->core, desc->parent_id, &parent );
+ if (ret)
+ goto out;
+
wd.flags |= DWDESC_PARENT;
wd.parent_id = desc->parent_id;
}
@@ -657,24 +724,31 @@ IDirectFBDisplayLayer_CreateWindow( IDirectFBDisplayLayer *thiz,
}
if (desc->flags & DWDESC_TOPLEVEL_ID) {
+ ret = dfb_core_get_window( data->core, desc->toplevel_id, &toplevel );
+ if (ret)
+ goto out;
+
wd.flags |= DWDESC_TOPLEVEL_ID;
wd.toplevel_id = desc->toplevel_id;
}
- if ((wd.caps & ~DWCAPS_ALL) || !window)
- return DFB_INVARG;
-
- if (wd.width < 1 || wd.width > 4096 || wd.height < 1 || wd.height > 4096)
- return DFB_INVARG;
-
- ret = dfb_layer_context_create_window( data->core, data->context, &wd, &w );
+ ret = CoreLayerContext_CreateWindow( data->context, &wd, parent, toplevel, &w );
if (ret)
- return ret;
+ goto out;
DIRECT_ALLOCATE_INTERFACE( *window, IDirectFBWindow );
- return IDirectFBWindow_Construct( *window, w, data->layer, data->core );
+ ret = IDirectFBWindow_Construct( *window, w, data->layer, data->core, true );
+
+out:
+ if (toplevel)
+ dfb_window_unref( toplevel );
+
+ if (parent)
+ dfb_window_unref( parent );
+
+ return ret;
}
static DFBResult
@@ -682,6 +756,7 @@ IDirectFBDisplayLayer_GetWindow( IDirectFBDisplayLayer *thiz,
DFBWindowID id,
IDirectFBWindow **window )
{
+ DFBResult ret;
CoreWindow *w;
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer)
@@ -689,17 +764,14 @@ IDirectFBDisplayLayer_GetWindow( IDirectFBDisplayLayer *thiz,
if (!window)
return DFB_INVARG;
- //remove for now
- //if (data->level == DLSCL_SHARED)
- // return DFB_ACCESSDENIED;
-
- w = dfb_layer_context_find_window( data->context, id );
- if (!w)
- return DFB_IDNOTFOUND;
+ /* IDirectFBWindow_Construct won't ref it, so we don't unref it */
+ ret = CoreLayerContext_FindWindow( data->context, id, &w );
+ if (ret)
+ return ret;
DIRECT_ALLOCATE_INTERFACE( *window, IDirectFBWindow );
- return IDirectFBWindow_Construct( *window, w, data->layer, data->core );
+ return IDirectFBWindow_Construct( *window, w, data->layer, data->core, false );
}
static DFBResult
@@ -710,30 +782,45 @@ IDirectFBDisplayLayer_EnableCursor( IDirectFBDisplayLayer *thiz, int enable )
if (data->level == DLSCL_SHARED)
return DFB_ACCESSDENIED;
- return dfb_windowstack_cursor_enable( data->core, data->stack, enable );
+ return CoreWindowStack_CursorEnable( data->stack, enable );
}
static DFBResult
IDirectFBDisplayLayer_GetCursorPosition( IDirectFBDisplayLayer *thiz,
int *x, int *y )
{
+ DFBResult ret;
+ DFBPoint point;
+
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer)
if (!x && !y)
return DFB_INVARG;
- return dfb_windowstack_get_cursor_position( data->stack, x, y );
+ ret = CoreWindowStack_CursorGetPosition( data->stack, &point );
+ if (ret)
+ return ret;
+
+ if (x)
+ *x = point.x;
+
+ if (y)
+ *y = point.y;
+
+ return ret;
}
static DFBResult
IDirectFBDisplayLayer_WarpCursor( IDirectFBDisplayLayer *thiz, int x, int y )
{
+ DFBPoint point = { x, y };
+
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer)
if (data->level == DLSCL_SHARED)
return DFB_ACCESSDENIED;
- return dfb_windowstack_cursor_warp( data->stack, x, y );
+ return CoreWindowStack_CursorWarp( data->stack, &point );
}
static DFBResult
@@ -750,8 +837,8 @@ IDirectFBDisplayLayer_SetCursorAcceleration( IDirectFBDisplayLayer *thiz,
if (data->level == DLSCL_SHARED)
return DFB_ACCESSDENIED;
- return dfb_windowstack_cursor_set_acceleration( data->stack, numerator,
- denominator, threshold );
+ return CoreWindowStack_CursorSetAcceleration( data->stack, numerator,
+ denominator, threshold );
}
static DFBResult
@@ -760,6 +847,7 @@ IDirectFBDisplayLayer_SetCursorShape( IDirectFBDisplayLayer *thiz,
int hot_x,
int hot_y )
{
+ DFBPoint hotspot = { hot_x, hot_y };
IDirectFBSurface_data *shape_data;
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer)
@@ -778,9 +866,9 @@ IDirectFBDisplayLayer_SetCursorShape( IDirectFBDisplayLayer *thiz,
hot_y >= shape_data->surface->config.size.h)
return DFB_INVARG;
- return dfb_windowstack_cursor_set_shape( data->stack,
- shape_data->surface,
- hot_x, hot_y );
+ return CoreWindowStack_CursorSetShape( data->stack,
+ shape_data->surface,
+ &hotspot );
}
static DFBResult
@@ -792,7 +880,7 @@ IDirectFBDisplayLayer_SetCursorOpacity( IDirectFBDisplayLayer *thiz,
if (data->level == DLSCL_SHARED)
return DFB_ACCESSDENIED;
- return dfb_windowstack_cursor_set_opacity( data->stack, opacity );
+ return CoreWindowStack_CursorSetOpacity( data->stack, opacity );
}
static DFBResult
@@ -822,7 +910,7 @@ IDirectFBDisplayLayer_SetColorAdjustment( IDirectFBDisplayLayer *thiz,
if (!adj->flags)
return DFB_OK;
- return dfb_layer_context_set_coloradjustment( data->context, adj );
+ return CoreLayerContext_SetColorAdjustment( data->context, adj );
}
static DFBResult
@@ -830,7 +918,7 @@ IDirectFBDisplayLayer_WaitForSync( IDirectFBDisplayLayer *thiz )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer)
- return dfb_layer_wait_vsync( data->layer );
+ return CoreLayer_WaitVSync( data->layer );
}
static DFBResult
@@ -863,16 +951,16 @@ IDirectFBDisplayLayer_SwitchContext( IDirectFBDisplayLayer *thiz,
DFBResult ret;
CoreLayerContext *context;
- ret = dfb_layer_get_primary_context( data->layer, false, &context );
+ ret = CoreLayer_GetPrimaryContext( data->layer, false, &context );
if (ret)
return ret;
- dfb_layer_activate_context( data->layer, context );
+ CoreLayer_ActivateContext( data->layer, context );
dfb_layer_context_unref( context );
}
else
- dfb_layer_activate_context( data->layer, data->context );
+ CoreLayer_ActivateContext( data->layer, data->context );
data->switch_exclusive = exclusive;
@@ -888,7 +976,7 @@ IDirectFBDisplayLayer_SetRotation( IDirectFBDisplayLayer *thiz,
if (data->level == DLSCL_SHARED)
return DFB_ACCESSDENIED;
- return dfb_layer_context_set_rotation( data->context, rotation );
+ return CoreLayerContext_SetRotation( data->context, rotation );
}
static DFBResult
@@ -906,17 +994,41 @@ IDirectFBDisplayLayer_GetRotation( IDirectFBDisplayLayer *thiz,
D_MAGIC_ASSERT( context, CoreLayerContext );
/* Lock the context. */
- if (dfb_layer_context_lock( context ))
- return DFB_FUSION;
+// if (dfb_layer_context_lock( context ))
+// return DFB_FUSION;
*ret_rotation = context->rotation;
/* Unlock the context. */
- dfb_layer_context_unlock( context );
+// dfb_layer_context_unlock( context );
return DFB_OK;
}
+
+static DFBResult
+IDirectFBDisplayLayer_GetWindowByResourceID( IDirectFBDisplayLayer *thiz,
+ unsigned long resource_id,
+ IDirectFBWindow **ret_window )
+{
+ DFBResult ret;
+ CoreWindow *w;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer)
+
+ if (!ret_window)
+ return DFB_INVARG;
+
+ /* IDirectFBWindow_Construct won't ref it, so we don't unref it */
+ ret = CoreLayerContext_FindWindowByResourceID( data->context, resource_id, &w );
+ if (ret)
+ return ret;
+
+ DIRECT_ALLOCATE_INTERFACE( *ret_window, IDirectFBWindow );
+
+ return IDirectFBWindow_Construct( *ret_window, w, data->layer, data->core, false );
+}
+
DFBResult
IDirectFBDisplayLayer_Construct( IDirectFBDisplayLayer *thiz,
CoreLayer *layer,
@@ -928,13 +1040,13 @@ IDirectFBDisplayLayer_Construct( IDirectFBDisplayLayer *thiz,
DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IDirectFBDisplayLayer)
- ret = dfb_layer_get_primary_context( layer, true, &context );
+ ret = CoreLayer_GetPrimaryContext( layer, true, &context );
if (ret) {
DIRECT_DEALLOCATE_INTERFACE( thiz )
return ret;
}
- ret = dfb_layer_context_get_primary_region( context, true, ®ion );
+ ret = CoreLayerContext_GetPrimaryRegion( context, true, ®ion );
if (ret) {
dfb_layer_context_unref( context );
DIRECT_DEALLOCATE_INTERFACE( thiz )
@@ -992,6 +1104,7 @@ IDirectFBDisplayLayer_Construct( IDirectFBDisplayLayer *thiz,
thiz->SwitchContext = IDirectFBDisplayLayer_SwitchContext;
thiz->SetRotation = IDirectFBDisplayLayer_SetRotation;
thiz->GetRotation = IDirectFBDisplayLayer_GetRotation;
+ thiz->GetWindowByResourceID = IDirectFBDisplayLayer_GetWindowByResourceID;
return DFB_OK;
}
diff --git a/src/display/idirectfbpalette.c b/src/display/idirectfbpalette.c
index 213af4d..2f13874 100644
--- a/src/display/idirectfbpalette.c
+++ b/src/display/idirectfbpalette.c
@@ -38,6 +38,9 @@
#include <directfb.h>
+#include <core/CoreDFB.h>
+#include <core/CorePalette.h>
+
#include <core/surface.h>
#include <core/palette.h>
@@ -71,7 +74,7 @@ IDirectFBPalette_AddRef( IDirectFBPalette *thiz )
data->ref++;
- return DFB_OK;
+ return DR_OK;
}
static DirectResult
@@ -82,7 +85,7 @@ IDirectFBPalette_Release( IDirectFBPalette *thiz )
if (--data->ref == 0)
IDirectFBPalette_Destruct( thiz );
- return DFB_OK;
+ return DR_OK;
}
static DFBResult
@@ -132,7 +135,6 @@ IDirectFBPalette_SetEntries( IDirectFBPalette *thiz,
unsigned int num_entries,
unsigned int offset )
{
- int i;
CorePalette *palette;
DIRECT_INTERFACE_GET_DATA(IDirectFBPalette)
@@ -144,20 +146,7 @@ IDirectFBPalette_SetEntries( IDirectFBPalette *thiz,
if (!entries || offset + num_entries > palette->num_entries)
return DFB_INVARG;
- if (num_entries) {
- direct_memcpy( palette->entries + offset, entries, num_entries * sizeof(DFBColor));
-
- for (i=offset; i<offset+num_entries; i++) {
- palette->entries_yuv[i].a = palette->entries[i].a;
-
- RGB_TO_YCBCR( palette->entries[i].r, palette->entries[i].g, palette->entries[i].b,
- palette->entries_yuv[i].y, palette->entries_yuv[i].u, palette->entries_yuv[i].v );
- }
-
- dfb_palette_update( palette, offset, offset + num_entries - 1 );
- }
-
- return DFB_OK;
+ return CorePalette_SetEntries( palette, entries, num_entries, offset );
}
static DFBResult
@@ -222,20 +211,16 @@ IDirectFBPalette_CreateCopy( IDirectFBPalette *thiz,
if (!interface)
return DFB_INVARG;
- ret = dfb_palette_create( NULL, /* FIXME */
- data->palette->num_entries, &palette );
+ ret = CoreDFB_CreatePalette( data->core, data->palette->num_entries, &palette );
if (ret)
return ret;
- direct_memcpy( palette->entries, data->palette->entries,
- palette->num_entries * sizeof(DFBColor));
-
- dfb_palette_update( palette, 0, palette->num_entries - 1 );
+ CorePalette_SetEntries( palette, data->palette->entries, palette->num_entries, 0 );
DIRECT_ALLOCATE_INTERFACE( iface, IDirectFBPalette );
- ret = IDirectFBPalette_Construct( iface, palette );
+ ret = IDirectFBPalette_Construct( iface, palette, data->core );
dfb_palette_unref( palette );
@@ -251,7 +236,6 @@ IDirectFBPalette_SetEntriesYUV( IDirectFBPalette *thiz,
unsigned int num_entries,
unsigned int offset )
{
- int i;
CorePalette *palette;
DIRECT_INTERFACE_GET_DATA(IDirectFBPalette)
@@ -263,20 +247,7 @@ IDirectFBPalette_SetEntriesYUV( IDirectFBPalette *thiz,
if (!entries || offset + num_entries > palette->num_entries)
return DFB_INVARG;
- if (num_entries) {
- direct_memcpy( palette->entries_yuv + offset, entries, num_entries * sizeof(DFBColorYUV));
-
- for (i=offset; i<offset+num_entries; i++) {
- palette->entries[i].a = palette->entries_yuv[i].a;
-
- YCBCR_TO_RGB( palette->entries_yuv[i].y, palette->entries_yuv[i].u, palette->entries_yuv[i].v,
- palette->entries[i].r, palette->entries[i].g, palette->entries[i].b );
- }
-
- dfb_palette_update( palette, offset, offset + num_entries - 1 );
- }
-
- return DFB_OK;
+ return CorePalette_SetEntriesYUV( palette, entries, num_entries, offset );
}
static DFBResult
@@ -331,7 +302,8 @@ IDirectFBPalette_FindBestMatchYUV( IDirectFBPalette *thiz,
/******/
DFBResult IDirectFBPalette_Construct( IDirectFBPalette *thiz,
- CorePalette *palette )
+ CorePalette *palette,
+ CoreDFB *core )
{
DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IDirectFBPalette)
@@ -342,7 +314,7 @@ DFBResult IDirectFBPalette_Construct( IDirectFBPalette *thiz,
data->ref = 1;
data->palette = palette;
-
+ data->core = core;
thiz->AddRef = IDirectFBPalette_AddRef;
thiz->Release = IDirectFBPalette_Release;
diff --git a/src/display/idirectfbpalette.h b/src/display/idirectfbpalette.h
index 2bedfa2..38969a4 100644
--- a/src/display/idirectfbpalette.h
+++ b/src/display/idirectfbpalette.h
@@ -39,13 +39,16 @@ typedef struct {
int ref; /* reference counter */
CorePalette *palette; /* the palette object */
+
+ CoreDFB *core;
} IDirectFBPalette_data;
/*
* initializes interface struct and private data
*/
DFBResult IDirectFBPalette_Construct( IDirectFBPalette *thiz,
- CorePalette *palette );
+ CorePalette *palette,
+ CoreDFB *core );
#endif
diff --git a/src/display/idirectfbscreen.c b/src/display/idirectfbscreen.c
index 9fcebdc..3798f78 100644
--- a/src/display/idirectfbscreen.c
+++ b/src/display/idirectfbscreen.c
@@ -36,6 +36,8 @@
#include <directfb.h>
+#include <core/CoreScreen.h>
+
#include <core/layers.h>
#include <core/screen.h>
#include <core/screens.h>
@@ -96,7 +98,7 @@ IDirectFBScreen_AddRef( IDirectFBScreen *thiz )
data->ref++;
- return DFB_OK;
+ return DR_OK;
}
static DirectResult
@@ -107,7 +109,7 @@ IDirectFBScreen_Release( IDirectFBScreen *thiz )
if (--data->ref == 0)
IDirectFBScreen_Destruct( thiz );
- return DFB_OK;
+ return DR_OK;
}
static DFBResult
@@ -143,22 +145,21 @@ IDirectFBScreen_GetSize( IDirectFBScreen *thiz,
int *ret_width,
int *ret_height )
{
- DFBResult ret;
- int width = 0;
- int height = 0;
+ DFBResult ret;
+ DFBDimension size;
DIRECT_INTERFACE_GET_DATA(IDirectFBScreen)
if (!ret_width && !ret_height)
return DFB_INVARG;
- ret = dfb_screen_get_screen_size( data->screen, &width, &height );
+ ret = CoreScreen_GetScreenSize( data->screen, &size );
if (ret_width)
- *ret_width = width;
+ *ret_width = size.w;
if (ret_height)
- *ret_height = height;
+ *ret_height = size.h;
return ret;
}
@@ -201,7 +202,7 @@ IDirectFBScreen_SetPowerMode( IDirectFBScreen *thiz,
return DFB_INVARG;
}
- return dfb_screen_set_powermode( data->screen, mode );
+ return CoreScreen_SetPowerMode( data->screen, mode );
}
static DFBResult
@@ -209,7 +210,27 @@ IDirectFBScreen_WaitForSync( IDirectFBScreen *thiz )
{
DIRECT_INTERFACE_GET_DATA(IDirectFBScreen)
- return dfb_screen_wait_vsync( data->screen );
+ return CoreScreen_WaitVSync( data->screen );
+}
+
+static DFBResult
+IDirectFBScreen_GetVSyncCount( IDirectFBScreen *thiz,
+ unsigned long *ret_count )
+{
+ DFBResult ret;
+ u64 count;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBScreen)
+
+ D_ASSERT( ret_count != NULL );
+
+ ret = CoreScreen_GetVSyncCount( data->screen, &count );
+ if (ret)
+ return ret;
+
+ *ret_count = count;
+
+ return DFB_OK;
}
static DFBResult
@@ -282,8 +303,8 @@ IDirectFBScreen_TestMixerConfiguration( IDirectFBScreen *thiz,
return ret;
/* Test the patched configuration. */
- return dfb_screen_test_mixer_config( data->screen,
- mixer, &patched, failed );
+ return CoreScreen_TestMixerConfig( data->screen,
+ mixer, &patched, failed );
}
static DFBResult
@@ -316,7 +337,7 @@ IDirectFBScreen_SetMixerConfiguration( IDirectFBScreen *thiz,
return ret;
/* Set the patched configuration. */
- return dfb_screen_set_mixer_config( data->screen, mixer, &patched );
+ return CoreScreen_SetMixerConfig( data->screen, mixer, &patched );
}
static DFBResult
@@ -389,8 +410,8 @@ IDirectFBScreen_TestEncoderConfiguration( IDirectFBScreen *thiz,
return ret;
/* Test the patched configuration. */
- return dfb_screen_test_encoder_config( data->screen,
- encoder, &patched, failed );
+ return CoreScreen_TestEncoderConfig( data->screen,
+ encoder, &patched, failed );
}
static DFBResult
@@ -423,7 +444,7 @@ IDirectFBScreen_SetEncoderConfiguration( IDirectFBScreen *thiz,
return ret;
/* Set the patched configuration. */
- return dfb_screen_set_encoder_config( data->screen, encoder, &patched );
+ return CoreScreen_SetEncoderConfig( data->screen, encoder, &patched );
}
static DFBResult
@@ -437,7 +458,7 @@ IDirectFBScreen_GetOutputDescriptions( IDirectFBScreen *thiz,
if (!descriptions)
return DFB_INVARG;
- if (!data->description.caps & DSCCAPS_OUTPUTS)
+ if (! (data->description.caps & DSCCAPS_OUTPUTS))
return DFB_UNSUPPORTED;
for (i=0; i<data->description.outputs; i++)
@@ -496,8 +517,8 @@ IDirectFBScreen_TestOutputConfiguration( IDirectFBScreen *thiz,
return ret;
/* Test the patched configuration. */
- return dfb_screen_test_output_config( data->screen,
- output, &patched, failed );
+ return CoreScreen_TestOutputConfig( data->screen,
+ output, &patched, failed );
}
static DFBResult
@@ -530,7 +551,7 @@ IDirectFBScreen_SetOutputConfiguration( IDirectFBScreen *thiz,
return ret;
/* Set the patched configuration. */
- return dfb_screen_set_output_config( data->screen, output, &patched );
+ return CoreScreen_SetOutputConfig( data->screen, output, &patched );
}
/******************************************************************************/
@@ -555,6 +576,7 @@ IDirectFBScreen_Construct( IDirectFBScreen *thiz,
thiz->EnumDisplayLayers = IDirectFBScreen_EnumDisplayLayers;
thiz->SetPowerMode = IDirectFBScreen_SetPowerMode;
thiz->WaitForSync = IDirectFBScreen_WaitForSync;
+ thiz->GetVSyncCount = IDirectFBScreen_GetVSyncCount;
thiz->GetMixerDescriptions = IDirectFBScreen_GetMixerDescriptions;
thiz->GetMixerConfiguration = IDirectFBScreen_GetMixerConfiguration;
thiz->TestMixerConfiguration = IDirectFBScreen_TestMixerConfiguration;
@@ -631,7 +653,7 @@ PatchEncoderConfig( DFBScreenEncoderConfig *patched,
case DSETV_PAL_60:
case DSETV_PAL_M:
patched->resolution = DSOR_720_480;
- patched->frequency = DSEF_60HZ;
+ patched->frequency = DSEF_59_94HZ;
break;
case DSETV_SECAM:
@@ -643,7 +665,7 @@ PatchEncoderConfig( DFBScreenEncoderConfig *patched,
case DSETV_NTSC_M_JPN:
case DSETV_NTSC_443:
patched->resolution = DSOR_720_480;
- patched->frequency = DSEF_60HZ;
+ patched->frequency = DSEF_59_94HZ;
break;
default:
diff --git a/src/display/idirectfbsurface.c b/src/display/idirectfbsurface.c
index c532849..4c8b0b4 100644
--- a/src/display/idirectfbsurface.c
+++ b/src/display/idirectfbsurface.c
@@ -50,6 +50,10 @@
#include <core/surface.h>
#include <core/surface_buffer.h>
+#include <core/CoreDFB.h>
+#include <core/CoreGraphicsState.h>
+#include <core/CoreSurface.h>
+
#include <media/idirectfbfont.h>
#include <display/idirectfbsurface.h>
@@ -76,6 +80,57 @@ static ReactionResult IDirectFBSurface_listener( const void *msg_data, void *ctx
/**********************************************************************************************************************/
+static DFBResult
+register_prealloc( IDirectFBSurface_data *data )
+{
+ DFBResult ret;
+ unsigned int i;
+ CoreSurface *surface = data->surface;
+
+ if (surface->config.caps & DSCAPS_TRIPLE)
+ data->memory_permissions_count = 3;
+ else if (surface->config.caps & DSCAPS_DOUBLE)
+ data->memory_permissions_count = 2;
+ else
+ data->memory_permissions_count = 1;
+
+ for (i=0; i<data->memory_permissions_count; i++) {
+ ret = dfb_core_memory_permissions_add( data->core, CMPF_READ | CMPF_WRITE,
+ surface->config.preallocated[i].addr,
+ surface->config.preallocated[i].pitch *
+ DFB_PLANE_MULTIPLY( surface->config.format, surface->config.size.h ),
+ &data->memory_permissions[i] );
+ if (ret)
+ goto error;
+ }
+
+ return DFB_OK;
+
+
+error:
+ for (--i; i>=0; --i)
+ dfb_core_memory_permissions_remove( data->core, data->memory_permissions[i] );
+
+ data->memory_permissions_count = 0;
+
+ return ret;
+}
+
+static DFBResult
+unregister_prealloc( IDirectFBSurface_data *data )
+{
+ unsigned int i;
+
+ for (i=0; i<data->memory_permissions_count; i++)
+ dfb_core_memory_permissions_remove( data->core, data->memory_permissions[i] );
+
+ data->memory_permissions_count = 0;
+
+ return DFB_OK;
+}
+
+/**********************************************************************************************************************/
+
void
IDirectFBSurface_Destruct( IDirectFBSurface *thiz )
{
@@ -91,6 +146,10 @@ IDirectFBSurface_Destruct( IDirectFBSurface *thiz )
D_ASSERT( data != NULL );
D_ASSERT( data->children_data == NULL );
+ CoreDFB_WaitIdle( data->core );
+
+ unregister_prealloc( data );
+
parent = data->parent;
if (parent) {
IDirectFBSurface_data *parent_data;
@@ -110,6 +169,8 @@ IDirectFBSurface_Destruct( IDirectFBSurface *thiz )
if (data->surface)
dfb_surface_detach( data->surface, &data->reaction );
+ CoreGraphicsStateClient_Deinit( &data->state_client );
+
dfb_state_stop_drawing( &data->state );
dfb_state_set_destination( &data->state, NULL );
@@ -214,6 +275,9 @@ IDirectFBSurface_GetAccelerationMask( IDirectFBSurface *thiz,
if (dfb_gfxcard_state_check( &data->state, DFXL_FILLTRIANGLE ))
mask |= DFXL_FILLTRIANGLE;
+ if (dfb_gfxcard_state_check( &data->state, DFXL_FILLTRAPEZOID ))
+ mask |= DFXL_FILLTRAPEZOID;
+
dfb_state_unlock( &data->state );
/* Check blitting functions */
@@ -336,6 +400,7 @@ IDirectFBSurface_GetPalette( IDirectFBSurface *thiz,
{
DFBResult ret;
CoreSurface *surface;
+ CorePalette *core_palette;
IDirectFBPalette *palette;
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface)
@@ -352,15 +417,22 @@ IDirectFBSurface_GetPalette( IDirectFBSurface *thiz,
if (!interface)
return DFB_INVARG;
+ ret = CoreSurface_GetPalette( surface, &core_palette );
+ if (ret)
+ return ret;
+
DIRECT_ALLOCATE_INTERFACE( palette, IDirectFBPalette );
- ret = IDirectFBPalette_Construct( palette, surface->palette );
+ ret = IDirectFBPalette_Construct( palette, core_palette, data->core );
if (ret)
- return ret;
+ goto out;
*interface = palette;
- return DFB_OK;
+out:
+ dfb_palette_unref( core_palette );
+
+ return ret;
}
static DFBResult
@@ -391,7 +463,7 @@ IDirectFBSurface_SetPalette( IDirectFBSurface *thiz,
if (!palette_data->palette)
return DFB_DESTROYED;
- dfb_surface_set_palette( surface, palette_data->palette );
+ CoreSurface_SetPalette( surface, palette_data->palette );
return DFB_OK;
}
@@ -410,7 +482,7 @@ IDirectFBSurface_SetAlphaRamp( IDirectFBSurface *thiz,
if (!data->surface)
return DFB_DESTROYED;
- dfb_surface_set_alpha_ramp( data->surface, a0, a1, a2, a3 );
+ CoreSurface_SetAlphaRamp( data->surface, a0, a1, a2, a3 );
return DFB_OK;
}
@@ -465,12 +537,25 @@ static DFBResult
IDirectFBSurface_GetFramebufferOffset( IDirectFBSurface *thiz,
int *offset )
{
+ /*
+ * Previously returned the framebuffer offset of a locked surface.
+ * However, it is not a safe API to use at all, since it is not
+ * guaranteed that the offset actually belongs to fbmem (e.g. could be AGP memory).
+ */
+
+ return DFB_FAILURE;
+}
+
+static DFBResult
+IDirectFBSurface_GetPhysicalAddress( IDirectFBSurface *thiz,
+ unsigned long *addr )
+{
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface)
if (!data->surface)
return DFB_DESTROYED;
- if (!offset)
+ if (!addr)
return DFB_INVARG;
if (!data->locked)
@@ -481,7 +566,7 @@ IDirectFBSurface_GetFramebufferOffset( IDirectFBSurface *thiz,
return DFB_UNSUPPORTED;
}
- *offset = data->lock.offset;
+ *addr = data->lock.phys;
return DFB_OK;
}
@@ -521,7 +606,10 @@ IDirectFBSurface_Write( IDirectFBSurface *thiz,
if (!surface)
return DFB_DESTROYED;
- if (!rect || !ptr || pitch < DFB_BYTES_PER_LINE(surface->config.format,rect->w ) )
+ if (!rect || !ptr)
+ return DFB_INVARG;
+
+ if (ABS(pitch) < DFB_BYTES_PER_LINE( surface->config.format, rect->w ))
return DFB_INVARG;
if (data->locked)
@@ -574,7 +662,7 @@ IDirectFBSurface_Flip( IDirectFBSurface *thiz,
const DFBRegion *region,
DFBSurfaceFlipFlags flags )
{
- DFBResult ret;
+ DFBResult ret = DFB_OK;
DFBRegion reg;
CoreSurface *surface;
@@ -604,11 +692,13 @@ IDirectFBSurface_Flip( IDirectFBSurface *thiz,
DIRECT_INTERFACE_GET_DATA_FROM( data->parent, parent_data, IDirectFBSurface );
+ if (parent_data) {
/* Signal end of sequence of operations. */
dfb_state_lock( &parent_data->state );
dfb_state_stop_drawing( &parent_data->state );
dfb_state_unlock( &parent_data->state );
}
+ }
dfb_region_from_rectangle( ®, &data->area.current );
@@ -626,18 +716,12 @@ IDirectFBSurface_Flip( IDirectFBSurface *thiz,
if (!(flags & DSFLIP_BLIT) && reg.x1 == 0 && reg.y1 == 0 &&
reg.x2 == surface->config.size.w - 1 && reg.y2 == surface->config.size.h - 1)
{
- ret = dfb_surface_lock( data->surface );
- if (ret)
- return ret;
-
- dfb_surface_flip( data->surface, false );
-
- dfb_surface_unlock( data->surface );
+ ret = CoreSurface_Flip( data->surface, false );
}
else
- dfb_back_to_front_copy( data->surface, ® );
+ dfb_back_to_front_copy( data->surface, ® ); // FIXME secure-fusion
- return DFB_OK;
+ return ret;
}
static DFBResult
@@ -657,7 +741,7 @@ IDirectFBSurface_SetField( IDirectFBSurface *thiz,
if (field < 0 || field > 1)
return DFB_INVARG;
- dfb_surface_set_field( data->surface, field );
+ CoreSurface_SetField( data->surface, field );
return DFB_OK;
}
@@ -707,7 +791,7 @@ IDirectFBSurface_Clear( IDirectFBSurface *thiz,
dfb_state_set_color( &data->state, &color );
/* fill the visible rectangle */
- dfb_gfxcard_fillrectangles( &data->area.current, 1, &data->state );
+ CoreGraphicsStateClient_FillRectangles( &data->state_client, &data->area.current, 1 );
/* clear the depth buffer */
if (data->caps & DSCAPS_DEPTH)
@@ -860,6 +944,7 @@ IDirectFBSurface_SetColorIndex( IDirectFBSurface *thiz,
{
CoreSurface *surface;
CorePalette *palette;
+ DFBResult ret;
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface)
@@ -879,8 +964,11 @@ IDirectFBSurface_SetColorIndex( IDirectFBSurface *thiz,
if (index > palette->num_entries)
return DFB_INVARG;
- dfb_state_set_color( &data->state, &palette->entries[index] );
+ ret = CoreGraphicsState_SetColorAndIndex( data->state_client.gfx_state, &palette->entries[index], index );
+ if (ret)
+ return ret;
+ dfb_state_set_color( &data->state, &palette->entries[index] );
dfb_state_set_color_index( &data->state, index );
data->state.colors[0] = data->state.color;
@@ -1211,6 +1299,7 @@ IDirectFBSurface_SetFont( IDirectFBSurface *thiz,
DIRECT_INTERFACE_GET_DATA_FROM( font, font_data, IDirectFBFont );
+ if (font_data)
data->encoding = font_data->encoding;
}
@@ -1292,7 +1381,7 @@ IDirectFBSurface_FillRectangle( IDirectFBSurface *thiz,
rect.x += data->area.wanted.x;
rect.y += data->area.wanted.y;
- dfb_gfxcard_fillrectangles( &rect, 1, &data->state );
+ CoreGraphicsStateClient_FillRectangles( &data->state_client, &rect, 1 );
return DFB_OK;
}
@@ -1341,7 +1430,7 @@ IDirectFBSurface_DrawLine( IDirectFBSurface *thiz,
rect.x += data->area.wanted.x;
rect.y += data->area.wanted.y;
- dfb_gfxcard_fillrectangles( &rect, 1, &data->state );
+ CoreGraphicsStateClient_FillRectangles( &data->state_client, &rect, 1 );
}
else {
DFBRegion line = { x1, y1, x2, y2 };
@@ -1351,7 +1440,7 @@ IDirectFBSurface_DrawLine( IDirectFBSurface *thiz,
line.y1 += data->area.wanted.y;
line.y2 += data->area.wanted.y;
- dfb_gfxcard_drawlines( &line, 1, &data->state );
+ CoreGraphicsStateClient_DrawLines( &data->state_client, &line, 1 );
}
return DFB_OK;
@@ -1390,7 +1479,7 @@ IDirectFBSurface_DrawLines( IDirectFBSurface *thiz,
/* Use real line drawing? */
if (i < num_lines) {
DFBRegion *local_lines = alloca(sizeof(DFBRegion) * num_lines);
-
+
if (data->area.wanted.x || data->area.wanted.y) {
for (i=0; i<num_lines; i++) {
local_lines[i].x1 = lines[i].x1 + data->area.wanted.x;
@@ -1403,12 +1492,12 @@ IDirectFBSurface_DrawLines( IDirectFBSurface *thiz,
/* clipping may modify lines, so we copy them */
direct_memcpy( local_lines, lines, sizeof(DFBRegion) * num_lines );
- dfb_gfxcard_drawlines( local_lines, num_lines, &data->state );
+ CoreGraphicsStateClient_DrawLines( &data->state_client, local_lines, num_lines );
}
/* Optimized rectangle drawing */
else {
DFBRectangle *local_rects = alloca(sizeof(DFBRectangle) * num_lines);
-
+
for (i=0; i<num_lines; i++) {
/* Vertical line? */
if (lines[i].x1 == lines[i].x2) {
@@ -1426,7 +1515,7 @@ IDirectFBSurface_DrawLines( IDirectFBSurface *thiz,
}
}
- dfb_gfxcard_fillrectangles( local_rects, num_lines, &data->state );
+ CoreGraphicsStateClient_FillRectangles( &data->state_client, local_rects, num_lines );
}
return DFB_OK;
@@ -1459,7 +1548,7 @@ IDirectFBSurface_DrawRectangle( IDirectFBSurface *thiz,
rect.x += data->area.wanted.x;
rect.y += data->area.wanted.y;
- dfb_gfxcard_drawrectangle( &rect, &data->state );
+ CoreGraphicsStateClient_DrawRectangles( &data->state_client, &rect, 1 );
return DFB_OK;
}
@@ -1494,7 +1583,59 @@ IDirectFBSurface_FillTriangle( IDirectFBSurface *thiz,
tri.x3 += data->area.wanted.x;
tri.y3 += data->area.wanted.y;
- dfb_gfxcard_filltriangles( &tri, 1, &data->state );
+ CoreGraphicsStateClient_FillTriangles( &data->state_client, &tri, 1 );
+
+ return DFB_OK;
+}
+
+static DFBResult
+IDirectFBSurface_FillTrapezoids( IDirectFBSurface *thiz,
+ const DFBTrapezoid *traps,
+ unsigned int num_traps )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBSurface)
+
+ D_DEBUG_AT( Surface, "%s( %p )\n", __FUNCTION__, thiz );
+
+ if (!data->surface)
+ return DFB_DESTROYED;
+
+
+ if (!data->area.current.w || !data->area.current.h)
+ return DFB_INVAREA;
+
+ if (data->locked)
+ return DFB_LOCKED;
+
+ if (!traps || !num_traps)
+ return DFB_INVARG;
+
+ if (data->area.wanted.x || data->area.wanted.y) {
+ unsigned int i;
+ DFBTrapezoid *local_traps;
+ bool malloced = (num_traps > 170);
+
+ if (malloced)
+ local_traps = D_MALLOC( sizeof(DFBTrapezoid) * num_traps );
+ else
+ local_traps = alloca( sizeof(DFBTrapezoid) * num_traps );
+
+ for (i=0; i<num_traps; i++) {
+ local_traps[i].x1 = traps[i].x1 + data->area.wanted.x;
+ local_traps[i].y1 = traps[i].y1 + data->area.wanted.y;
+ local_traps[i].w1 = traps[i].w1;
+ local_traps[i].x2 = traps[i].x2 + data->area.wanted.x;
+ local_traps[i].y2 = traps[i].y2 + data->area.wanted.y;
+ local_traps[i].w2 = traps[i].w2;
+ }
+
+ CoreGraphicsStateClient_FillTrapezoids( &data->state_client, local_traps, num_traps );
+
+ if (malloced)
+ D_FREE( local_traps );
+ }
+ else
+ CoreGraphicsStateClient_FillTrapezoids( &data->state_client, traps, num_traps );
return DFB_OK;
}
@@ -1541,13 +1682,13 @@ IDirectFBSurface_FillRectangles( IDirectFBSurface *thiz,
local_rects[i].h = rects[i].h;
}
- dfb_gfxcard_fillrectangles( local_rects, num_rects, &data->state );
+ CoreGraphicsStateClient_FillRectangles( &data->state_client, local_rects, num_rects );
if (malloced)
D_FREE( local_rects );
}
else
- dfb_gfxcard_fillrectangles( rects, num_rects, &data->state );
+ CoreGraphicsStateClient_FillRectangles( &data->state_client, rects, num_rects );
return DFB_OK;
}
@@ -1589,7 +1730,7 @@ IDirectFBSurface_FillSpans( IDirectFBSurface *thiz,
/* clipping may modify spans, so we copy them */
direct_memcpy( local_spans, spans, sizeof(DFBSpan) * num_spans );
- dfb_gfxcard_fillspans( y + data->area.wanted.y, local_spans, num_spans, &data->state );
+ CoreGraphicsStateClient_FillSpans( &data->state_client, y + data->area.wanted.y, local_spans, num_spans );
return DFB_OK;
}
@@ -1635,13 +1776,13 @@ IDirectFBSurface_FillTriangles( IDirectFBSurface *thiz,
local_tris[i].y3 = tris[i].y3 + data->area.wanted.y;
}
- dfb_gfxcard_filltriangles( local_tris, num_tris, &data->state );
+ CoreGraphicsStateClient_FillTriangles( &data->state_client, local_tris, num_tris );
if (malloced)
D_FREE( local_tris );
}
else
- dfb_gfxcard_filltriangles( tris, num_tris, &data->state );
+ CoreGraphicsStateClient_FillTriangles( &data->state_client, tris, num_tris );
return DFB_OK;
}
@@ -1721,9 +1862,9 @@ IDirectFBSurface_Blit( IDirectFBSurface *thiz,
if (data->state.blittingflags & DSBLIT_SRC_COLORKEY)
dfb_state_set_src_colorkey( &data->state, src_data->src_key.value );
- dfb_gfxcard_blit( &srect,
- data->area.wanted.x + dx,
- data->area.wanted.y + dy, &data->state );
+ DFBPoint p = { data->area.wanted.x + dx, data->area.wanted.y + dy };
+
+ CoreGraphicsStateClient_Blit( &data->state_client, &srect, &p, 1 );
return DFB_OK;
}
@@ -1734,7 +1875,8 @@ IDirectFBSurface_TileBlit( IDirectFBSurface *thiz,
const DFBRectangle *sr,
int dx, int dy )
{
- DFBRectangle srect;
+ DFBRectangle srect;
+ DFBPoint p1, p2;
IDirectFBSurface_data *src_data;
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface)
@@ -1803,9 +1945,13 @@ IDirectFBSurface_TileBlit( IDirectFBSurface *thiz,
dx += data->area.wanted.x;
dy += data->area.wanted.y;
- dfb_gfxcard_tileblit( &srect, dx, dy,
- dx + data->area.wanted.w + srect.w - 1,
- dy + data->area.wanted.h + srect.h - 1, &data->state );
+ p1.x = dx;
+ p1.y = dy;
+
+ p2.x = dx + data->area.wanted.w + srect.w - 1;
+ p2.y = dy + data->area.wanted.h + srect.h - 1;
+
+ CoreGraphicsStateClient_TileBlit( &data->state_client, &srect, &p1, &p2, 1 );
return DFB_OK;
}
@@ -1876,7 +2022,7 @@ IDirectFBSurface_BatchBlit( IDirectFBSurface *thiz,
if (data->state.blittingflags & DSBLIT_SRC_COLORKEY)
dfb_state_set_src_colorkey( &data->state, src_data->src_key.value );
- dfb_gfxcard_batchblit( rects, points, num, &data->state );
+ CoreGraphicsStateClient_Blit( &data->state_client, rects, points, num );
return DFB_OK;
}
@@ -1961,13 +2107,13 @@ IDirectFBSurface_BatchBlit2( IDirectFBSurface *thiz,
points[i].y += rects[i].y - (source_rects[i].y + sy);
points2[i].x += rects[i].x - (source_rects[i].x + sx);
points2[i].y += rects[i].y - (source_rects[i].y + sy);
-
-
+
+
rect2.x = points2[i].x;
rect2.y = points2[i].y;
rect2.w = rects[i].w;
rect2.h = rects[i].h;
-
+
if (!dfb_rectangle_intersect( &rect2, &src2_data->area.current ))
rects[i].w = rects[i].h = 0;
@@ -1988,7 +2134,7 @@ IDirectFBSurface_BatchBlit2( IDirectFBSurface *thiz,
if (data->state.blittingflags & DSBLIT_SRC_COLORKEY)
dfb_state_set_src_colorkey( &data->state, src_data->src_key.value );
- dfb_gfxcard_batchblit2( rects, points, points2, num, &data->state );
+ CoreGraphicsStateClient_Blit2( &data->state_client, rects, points, points2, num );
return DFB_OK;
}
@@ -2080,7 +2226,7 @@ IDirectFBSurface_StretchBlit( IDirectFBSurface *thiz,
if (data->state.blittingflags & DSBLIT_SRC_COLORKEY)
dfb_state_set_src_colorkey( &data->state, src_data->src_key.value );
- dfb_gfxcard_stretchblit( &srect, &drect, &data->state );
+ CoreGraphicsStateClient_StretchBlit( &data->state_client, &srect, &drect, 1 );
return DFB_OK;
}
@@ -2198,7 +2344,7 @@ IDirectFBSurface_TextureTriangles( IDirectFBSurface *thiz,
if (data->state.blittingflags & DSBLIT_SRC_COLORKEY)
dfb_state_set_src_colorkey( &data->state, src_data->src_key.value );
- dfb_gfxcard_texture_triangles( translated, num, formation, &data->state );
+ CoreGraphicsStateClient_TextureTriangles( &data->state_client, translated, num, formation );
return DFB_OK;
}
@@ -2244,6 +2390,9 @@ IDirectFBSurface_DrawString( IDirectFBSurface *thiz,
DIRECT_INTERFACE_GET_DATA_FROM( font, font_data, IDirectFBFont );
+ if(!font_data)
+ return DFB_DESTROYED;
+
core_font = font_data->font;
if (flags & DSTF_OUTLINE) {
@@ -2254,15 +2403,19 @@ IDirectFBSurface_DrawString( IDirectFBSurface *thiz,
}
if (!(flags & DSTF_TOP)) {
- y -= core_font->ascender;
+ x += core_font->ascender * core_font->up_unit_x;
+ y += core_font->ascender * core_font->up_unit_y;
- if (flags & DSTF_BOTTOM)
- y += core_font->descender;
+ if (flags & DSTF_BOTTOM) {
+ x -= core_font->descender * core_font->up_unit_x;
+ y -= core_font->descender * core_font->up_unit_y;
+ }
}
if (flags & (DSTF_RIGHT | DSTF_CENTER)) {
- int i, num, kx;
- int width = 0;
+ int i, num, kx, ky;
+ int xsize = 0;
+ int ysize = 0;
unsigned int prev = 0;
unsigned int indices[bytes];
@@ -2282,11 +2435,14 @@ IDirectFBSurface_DrawString( IDirectFBSurface *thiz,
CoreGlyphData *glyph;
if (dfb_font_get_glyph_data( core_font, current, 0, &glyph ) == DFB_OK) {
- width += glyph->advance;
+ xsize += glyph->xadvance;
+ ysize += glyph->yadvance;
if (prev && core_font->GetKerning &&
- core_font->GetKerning( core_font, prev, current, &kx, NULL ) == DFB_OK)
- width += kx;
+ core_font->GetKerning( core_font, prev, current, &kx, &ky ) == DFB_OK) {
+ xsize += kx;
+ ysize += ky;
+ }
}
prev = current;
@@ -2295,15 +2451,19 @@ IDirectFBSurface_DrawString( IDirectFBSurface *thiz,
dfb_font_unlock( core_font );
/* Justify. */
- if (flags & DSTF_RIGHT)
- x -= width;
- else if (flags & DSTF_CENTER)
- x -= width >> 1;
+ if (flags & DSTF_RIGHT) {
+ x -= xsize;
+ y -= ysize;
+ }
+ else if (flags & DSTF_CENTER) {
+ x -= xsize >> 1;
+ y -= ysize >> 1;
+ }
}
dfb_gfxcard_drawstring( (const unsigned char*) text, bytes, data->encoding,
data->area.wanted.x + x, data->area.wanted.y + y,
- core_font, layers, &data->state );
+ core_font, layers, &data->state_client );
return DFB_OK;
}
@@ -2346,6 +2506,9 @@ IDirectFBSurface_DrawGlyph( IDirectFBSurface *thiz,
DIRECT_INTERFACE_GET_DATA_FROM( font, font_data, IDirectFBFont );
+ if (!font_data)
+ return DFB_DESTROYED;
+
core_font = font_data->font;
if (flags & DSTF_OUTLINE) {
@@ -2372,22 +2535,29 @@ IDirectFBSurface_DrawGlyph( IDirectFBSurface *thiz,
}
if (!(flags & DSTF_TOP)) {
- y -= core_font->ascender;
+ x += core_font->ascender * core_font->up_unit_x;
+ y += core_font->ascender * core_font->up_unit_y;
- if (flags & DSTF_BOTTOM)
- y += core_font->descender;
+ if (flags & DSTF_BOTTOM) {
+ x -= core_font->descender * core_font->up_unit_x;
+ y -= core_font->descender * core_font->up_unit_y;
+ }
}
if (flags & (DSTF_RIGHT | DSTF_CENTER)) {
- if (flags & DSTF_RIGHT)
- x -= glyph[0]->advance;
- else if (flags & DSTF_CENTER)
- x -= glyph[0]->advance >> 1;
+ if (flags & DSTF_RIGHT) {
+ x -= glyph[0]->xadvance;
+ y -= glyph[0]->yadvance;
+ }
+ else if (flags & DSTF_CENTER) {
+ x -= glyph[0]->xadvance >> 1;
+ y -= glyph[0]->yadvance >> 1;
+ }
}
dfb_gfxcard_drawglyph( glyph,
data->area.wanted.x + x, data->area.wanted.y + y,
- core_font, layers, &data->state );
+ core_font, layers, &data->state_client );
dfb_font_unlock( core_font );
@@ -2425,13 +2595,13 @@ IDirectFBSurface_GetSubSurface( IDirectFBSurface *thiz,
if (!surface)
return DFB_INVARG;
-
+
/* Allocate interface */
DIRECT_ALLOCATE_INTERFACE( *surface, IDirectFBSurface );
if (rect || data->limit_set) {
DFBRectangle wanted, granted;
-
+
/* Compute wanted rectangle */
if (rect) {
wanted = *rect;
@@ -2447,12 +2617,12 @@ IDirectFBSurface_GetSubSurface( IDirectFBSurface *thiz,
else {
wanted = data->area.wanted;
}
-
+
/* Compute granted rectangle */
granted = wanted;
dfb_rectangle_intersect( &granted, &data->area.granted );
-
+
/* Construct */
ret = IDirectFBSurface_Construct( *surface, thiz,
&wanted, &granted, &data->area.insets,
@@ -2466,7 +2636,7 @@ IDirectFBSurface_GetSubSurface( IDirectFBSurface *thiz,
data->surface,
data->caps | DSCAPS_SUBSURFACE, data->core );
}
-
+
return ret;
}
@@ -2494,6 +2664,9 @@ IDirectFBSurface_MakeSubSurface( IDirectFBSurface *thiz,
DIRECT_INTERFACE_GET_DATA_FROM(from, from_data, IDirectFBSurface);
+ if (!from_data)
+ return DFB_DESTROYED;
+
/* Check if CoreSurface is the same */
if (from_data->surface != surface)
return DFB_UNSUPPORTED;
@@ -2520,7 +2693,7 @@ IDirectFBSurface_MakeSubSurface( IDirectFBSurface *thiz,
else {
wanted = from_data->area.wanted;
}
-
+
/* Compute granted rectangle */
granted = wanted;
@@ -2645,6 +2818,8 @@ IDirectFBSurface_ReleaseSource( IDirectFBSurface *thiz )
dfb_state_set_source_mask( &data->state, NULL );
dfb_state_set_source2( &data->state, NULL );
+ CoreGraphicsState_ReleaseSource( data->state_client.gfx_state );
+
return DFB_OK;
}
@@ -2697,6 +2872,9 @@ IDirectFBSurface_SetSourceMask( IDirectFBSurface *thiz,
DIRECT_INTERFACE_GET_DATA_FROM(mask, mask_data, IDirectFBSurface);
+ if (!mask_data)
+ return DFB_DESTROYED;
+
if (!mask_data->surface)
return DFB_DESTROYED;
@@ -2709,8 +2887,6 @@ IDirectFBSurface_SetSourceMask( IDirectFBSurface *thiz,
return DFB_OK;
}
-/******/
-
DFBResult IDirectFBSurface_Construct( IDirectFBSurface *thiz,
IDirectFBSurface *parent,
DFBRectangle *wanted,
@@ -2720,6 +2896,7 @@ DFBResult IDirectFBSurface_Construct( IDirectFBSurface *thiz,
DFBSurfaceCapabilities caps,
CoreDFB *core )
{
+ DFBResult ret;
DFBRectangle rect = { 0, 0, surface->config.size.w, surface->config.size.h };
DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IDirectFBSurface)
@@ -2746,6 +2923,9 @@ DFBResult IDirectFBSurface_Construct( IDirectFBSurface *thiz,
DIRECT_INTERFACE_GET_DATA_FROM( parent, parent_data, IDirectFBSurface );
+ if(!parent_data)
+ return DFB_DESTROYED;
+
pthread_mutex_lock( &parent_data->children_lock );
direct_list_append( &parent_data->children_data, &data->link );
@@ -2778,13 +2958,13 @@ DFBResult IDirectFBSurface_Construct( IDirectFBSurface *thiz,
/* The currently accessible rectangle */
data->area.current = data->area.granted;
dfb_rectangle_intersect( &data->area.current, &rect );
-
+
/* Whether granted rectangle is meaningful */
data->limit_set = (granted != NULL);
data->surface = surface;
- dfb_state_init( &data->state, NULL );
+ dfb_state_init( &data->state, core );
dfb_state_set_destination( &data->state, surface );
data->state.clip.x1 = data->area.current.x;
@@ -2794,6 +2974,18 @@ DFBResult IDirectFBSurface_Construct( IDirectFBSurface *thiz,
data->state.modified = SMF_ALL;
+ ret = CoreGraphicsStateClient_Init( &data->state_client, &data->state );
+ if (ret)
+ return ret; // FIXME: deinit
+
+ if (data->surface->config.flags & CSCONF_PREALLOCATED) {
+
+ ret = register_prealloc( data );
+
+ if (ret)
+ return ret; // FIXME: deinit
+ }
+
thiz->AddRef = IDirectFBSurface_AddRef;
thiz->Release = IDirectFBSurface_Release;
@@ -2810,6 +3002,7 @@ DFBResult IDirectFBSurface_Construct( IDirectFBSurface *thiz,
thiz->Lock = IDirectFBSurface_Lock;
thiz->GetFramebufferOffset = IDirectFBSurface_GetFramebufferOffset;
+ thiz->GetPhysicalAddress = IDirectFBSurface_GetPhysicalAddress;
thiz->Unlock = IDirectFBSurface_Unlock;
thiz->Flip = IDirectFBSurface_Flip;
thiz->SetField = IDirectFBSurface_SetField;
@@ -2845,6 +3038,7 @@ DFBResult IDirectFBSurface_Construct( IDirectFBSurface *thiz,
thiz->FillRectangles = IDirectFBSurface_FillRectangles;
thiz->FillSpans = IDirectFBSurface_FillSpans;
thiz->FillTriangles = IDirectFBSurface_FillTriangles;
+ thiz->FillTrapezoids = IDirectFBSurface_FillTrapezoids;
thiz->SetFont = IDirectFBSurface_SetFont;
thiz->GetFont = IDirectFBSurface_GetFont;
@@ -2900,7 +3094,7 @@ IDirectFBSurface_listener( const void *msg_data, void *ctx )
if (notification->flags & CSNF_SIZEFORMAT) {
DFBRectangle rect = { 0, 0, surface->config.size.w, surface->config.size.h };
-
+
dfb_rectangle_subtract( &rect, &data->area.insets );
if (data->limit_set) {
diff --git a/src/display/idirectfbsurface.h b/src/display/idirectfbsurface.h
index a350054..60f9216 100644
--- a/src/display/idirectfbsurface.h
+++ b/src/display/idirectfbsurface.h
@@ -35,9 +35,11 @@
#include <fusion/reactor.h>
-#include <core/coretypes.h>
+#include <core/core.h>
#include <core/state.h>
+#include <core/CoreGraphicsStateClient.h>
+
/*
* private data struct of IDirectFBSurface
@@ -50,8 +52,42 @@ typedef struct {
DFBSurfaceCapabilities caps; /* capabilities */
struct {
- DFBRectangle wanted; /* passed to GetSubSurface */
- DFBRectangle granted; /* clipped by parent on creation */
+ /* 'wanted' is passed to GetSubSurface(), it doesn't matter if it's
+ too large or has negative starting coordinates as long as it
+ intersects with the 'granted' rectangle of the parent.
+ 'wanted' should be seen as the origin for operations on that
+ surface. Non sub surfaces have a 'wanted' rectangle
+ of '{ 0, 0, width, height }'. 'wanted' is calculated just once
+ during surface creation. */
+ DFBRectangle wanted;
+ /* 'granted' is the intersection of the 'wanted' rectangle and the
+ 'granted' one of the parent. If they do not intersect DFB_INVAREA
+ is returned. For non sub surfaces it's the same as the 'wanted'
+ rectangle, because it's the rectangle describing the whole
+ surface. 'granted' is calculated just once during surface
+ creation */
+ DFBRectangle granted;
+ /* 'current' is the intersection of the 'granted' rectangle and the
+ surface extents. SetClip() and many other functions are limited
+ by this.
+ This way sub surface area information is preserved during surface
+ resizing, e.g. when resizing a window. Calling SetClip() with NULL
+ causes the clipping region to exactly cover the 'current'
+ rectangle, also the flag 'clip_set' is cleared causing the
+ clipping region to be set to the new 'current' after resizing. If
+ SetClip() is called with a clipping region specified, an
+ intersection is done with the 'wanted' rectangle that is then
+ stored in 'clip_wanted' and 'clip_set' is set. However, if there
+ is no intersection 'DFB_INVARG' is returned, otherwise another
+ intersection is made with the 'current' rectangle and gets applied
+ to the surface's state.
+ Each resize, after the 'current' rectangle is updated, the
+ clipping region is set to NULL or 'clip_wanted' depending on
+ 'clip_set'. This way even clipping regions are restored or
+ extended automatically. It's now possible to create a fullscreen
+ primary and call SetVideoMode() with different resolutions or
+ pixelformats several times without the need for updating the
+ primary surface by recreating it */
DFBRectangle current; /* currently available area */
DFBInsets insets; /* actually set by the window manager */
} area;
@@ -96,6 +132,11 @@ typedef struct {
IDirectFBSurface *parent;
DirectLink *children_data;
pthread_mutex_t children_lock;
+
+ CoreGraphicsStateClient state_client;
+
+ CoreMemoryPermission *memory_permissions[3];
+ unsigned int memory_permissions_count;
} IDirectFBSurface_data;
/*
diff --git a/src/display/idirectfbsurface_layer.c b/src/display/idirectfbsurface_layer.c
index 4507a56..6fda091 100644
--- a/src/display/idirectfbsurface_layer.c
+++ b/src/display/idirectfbsurface_layer.c
@@ -46,6 +46,9 @@
#include <core/surface.h>
#include <core/system.h>
+#include <core/CoreLayerRegion.h>
+#include <core/CoreSurface.h>
+
#include "idirectfbsurface.h"
#include "idirectfbsurface_layer.h"
@@ -82,7 +85,7 @@ IDirectFBSurface_Layer_Release( IDirectFBSurface *thiz )
if (--data->base.ref == 0)
IDirectFBSurface_Layer_Destruct( thiz );
- return DFB_OK;
+ return DR_OK;
}
static DFBResult
@@ -114,13 +117,14 @@ IDirectFBSurface_Layer_Flip( IDirectFBSurface *thiz,
DIRECT_INTERFACE_GET_DATA_FROM( data->base.parent, parent_data, IDirectFBSurface );
- /* Signal end of sequence of operations. */
- dfb_state_lock( &parent_data->state );
- dfb_state_stop_drawing( &parent_data->state );
- dfb_state_unlock( &parent_data->state );
+ if (parent_data) {
+ /* Signal end of sequence of operations. */
+ dfb_state_lock( &parent_data->state );
+ dfb_state_stop_drawing( &parent_data->state );
+ dfb_state_unlock( &parent_data->state );
+ }
}
-
dfb_region_from_rectangle( ®, &data->base.area.current );
if (region) {
@@ -134,7 +138,7 @@ IDirectFBSurface_Layer_Flip( IDirectFBSurface *thiz,
D_DEBUG_AT( Surface, " -> FLIP %4d,%4d-%4dx%4d\n", DFB_RECTANGLE_VALS_FROM_REGION( ® ) );
- return dfb_layer_region_flip_update( data->region, ®, flags );
+ return CoreLayerRegion_FlipUpdate( data->region, ®, flags );
}
static DFBResult
@@ -154,13 +158,13 @@ IDirectFBSurface_Layer_GetSubSurface( IDirectFBSurface *thiz,
if (!surface)
return DFB_INVARG;
-
+
/* Allocate interface */
DIRECT_ALLOCATE_INTERFACE( *surface, IDirectFBSurface );
if (rect || data->base.limit_set) {
DFBRectangle wanted, granted;
-
+
/* Compute wanted rectangle */
if (rect) {
wanted = *rect;
@@ -176,12 +180,12 @@ IDirectFBSurface_Layer_GetSubSurface( IDirectFBSurface *thiz,
else {
wanted = data->base.area.wanted;
}
-
+
/* Compute granted rectangle */
granted = wanted;
dfb_rectangle_intersect( &granted, &data->base.area.granted );
-
+
/* Construct */
ret = IDirectFBSurface_Layer_Construct( *surface, thiz, &wanted, &granted,
data->region, data->base.caps |
@@ -193,7 +197,7 @@ IDirectFBSurface_Layer_GetSubSurface( IDirectFBSurface *thiz,
data->region, data->base.caps |
DSCAPS_SUBSURFACE, data->base.core );
}
-
+
return ret;
}
@@ -216,7 +220,7 @@ IDirectFBSurface_Layer_Construct( IDirectFBSurface *thiz,
if (dfb_layer_region_ref( region ))
return DFB_FUSION;
- ret = dfb_layer_region_get_surface( region, &surface );
+ ret = CoreLayerRegion_GetSurface( region, &surface );
if (ret) {
dfb_layer_region_unref( region );
DIRECT_DEALLOCATE_INTERFACE(thiz);
@@ -241,4 +245,3 @@ IDirectFBSurface_Layer_Construct( IDirectFBSurface *thiz,
return DFB_OK;
}
-
diff --git a/src/display/idirectfbsurface_window.c b/src/display/idirectfbsurface_window.c
index c76eb3d..0efb36d 100644
--- a/src/display/idirectfbsurface_window.c
+++ b/src/display/idirectfbsurface_window.c
@@ -49,11 +49,18 @@
#include <core/windows_internal.h> /* FIXME */
#include <core/wm.h>
+#include <core/CoreLayerRegion.h>
+#include <core/CoreSurface.h>
+#include <core/CoreWindow.h>
+#include <core/CoreWindowStack.h>
+
#include <display/idirectfbsurface.h>
#include <display/idirectfbsurface_window.h>
#include <direct/interface.h>
#include <direct/mem.h>
+#include <direct/thread.h>
+
#include <misc/util.h>
#include <gfx/util.h>
@@ -71,7 +78,7 @@ typedef struct {
CoreWindow *window; /* pointer to core data */
- pthread_t flip_thread; /* thread for non-flipping primary
+ DirectThread *flip_thread; /* thread for non-flipping primary
surfaces, to make changes visible */
// CoreGraphicsSerial serial;
@@ -79,7 +86,8 @@ typedef struct {
/**********************************************************************************************************************/
-static void *Flipping_Thread( void *arg );
+static void *Flipping_Thread( DirectThread *thread,
+ void *arg );
/**********************************************************************************************************************/
@@ -94,9 +102,10 @@ IDirectFBSurface_Window_Destruct( IDirectFBSurface *thiz )
data = thiz->priv;
- if ((int) data->flip_thread != -1) {
- pthread_cancel( data->flip_thread );
- pthread_join( data->flip_thread, NULL );
+ if (data->flip_thread) {
+ direct_thread_cancel( data->flip_thread );
+ direct_thread_join( data->flip_thread );
+ direct_thread_destroy( data->flip_thread );
}
dfb_window_unref( data->window );
@@ -114,7 +123,7 @@ IDirectFBSurface_Window_Release( IDirectFBSurface *thiz )
if (--data->base.ref == 0)
IDirectFBSurface_Window_Destruct( thiz );
- return DFB_OK;
+ return DR_OK;
}
static DFBResult
@@ -122,7 +131,7 @@ IDirectFBSurface_Window_Flip( IDirectFBSurface *thiz,
const DFBRegion *region,
DFBSurfaceFlipFlags flags )
{
- DFBResult ret;
+ DFBResult ret = DFB_OK;
DFBRegion reg;
DIRECT_INTERFACE_GET_DATA(IDirectFBSurface_Window)
@@ -147,14 +156,14 @@ IDirectFBSurface_Window_Flip( IDirectFBSurface *thiz,
DIRECT_INTERFACE_GET_DATA_FROM( data->base.parent, parent_data, IDirectFBSurface );
- /* Signal end of sequence of operations. */
- dfb_state_lock( &parent_data->state );
- dfb_state_stop_drawing( &parent_data->state );
- dfb_state_unlock( &parent_data->state );
+ if (parent_data) {
+ /* Signal end of sequence of operations. */
+ dfb_state_lock( &parent_data->state );
+ dfb_state_stop_drawing( &parent_data->state );
+ dfb_state_unlock( &parent_data->state );
+ }
}
-
-
dfb_region_from_rectangle( ®, &data->base.area.current );
if (region) {
@@ -179,7 +188,7 @@ IDirectFBSurface_Window_Flip( IDirectFBSurface *thiz,
if (data->window->region) {
- dfb_layer_region_flip_update( data->window->region, ®, flags );
+ ret = CoreLayerRegion_FlipUpdate( data->window->region, ®, flags );
}
else {
if (data->base.surface->config.caps & DSCAPS_FLIPPING) {
@@ -187,25 +196,26 @@ IDirectFBSurface_Window_Flip( IDirectFBSurface *thiz,
reg.x2 == data->base.surface->config.size.w - 1 &&
reg.y2 == data->base.surface->config.size.h - 1)
{
- ret = dfb_surface_lock( data->base.surface );
+ ret = CoreSurface_Flip( data->base.surface, false );
if (ret)
- return ret;
-
- dfb_surface_flip( data->base.surface, false );
-
- dfb_surface_unlock( data->base.surface );
+ return ret;
}
else
dfb_back_to_front_copy( data->base.surface, ® );
}
- dfb_window_repaint( data->window, ®, flags );
+ ret = CoreWindow_Repaint( data->window, ®, ®, flags );
+ if (ret)
+ return ret;
}
- if (!data->window->config.opacity && data->base.caps & DSCAPS_PRIMARY)
- dfb_window_set_opacity( data->window, 0xff );
+ if (!data->window->config.opacity && data->base.caps & DSCAPS_PRIMARY) {
+ CoreWindowConfig config = { .opacity = 0xff };
- return DFB_OK;
+ ret = CoreWindow_SetConfig( data->window, &config, NULL, 0, NULL, CWCF_OPACITY );
+ }
+
+ return ret;
}
static DFBResult
@@ -280,6 +290,7 @@ IDirectFBSurface_Window_Construct( IDirectFBSurface *thiz,
DFBResult ret;
DFBInsets insets;
CoreWindowStack *stack;
+ CoreSurface *surface;
DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IDirectFBSurface_Window)
@@ -288,14 +299,16 @@ IDirectFBSurface_Window_Construct( IDirectFBSurface *thiz,
stack = window->stack;
D_MAGIC_ASSERT( stack, CoreWindowStack );
- dfb_layer_context_lock( stack->context );
+ CoreWindowStack_GetInsets( stack, window, &insets );
- dfb_wm_get_insets( stack, window, &insets );
-
- dfb_layer_context_unlock( stack->context );
+ ret = CoreWindow_GetSurface( window, &surface );
+ if (ret)
+ return ret;
+
+ ret = IDirectFBSurface_Construct( thiz, parent, wanted, granted, &insets, surface, caps, core );
+
+ dfb_surface_unref( surface );
- ret = IDirectFBSurface_Construct( thiz, parent, wanted, granted, &insets,
- window->surface, caps, core );
if (ret)
return ret;
@@ -305,7 +318,6 @@ IDirectFBSurface_Window_Construct( IDirectFBSurface *thiz,
}
data->window = window;
- data->flip_thread = (pthread_t) -1;
/*
* Create an auto flipping thread if the application
@@ -314,7 +326,7 @@ IDirectFBSurface_Window_Construct( IDirectFBSurface *thiz,
*/
if (!(caps & DSCAPS_FLIPPING) && !(caps & DSCAPS_SUBSURFACE)) {
if (dfb_config->autoflip_window)
- pthread_create( &data->flip_thread, NULL, Flipping_Thread, thiz );
+ data->flip_thread = direct_thread_create( DTT_DEFAULT, Flipping_Thread, thiz, "Flipping" );
else
D_WARN( "Non-flipping window surface and no 'autoflip-window' option used" );
}
@@ -330,7 +342,8 @@ IDirectFBSurface_Window_Construct( IDirectFBSurface *thiz,
/* file internal */
static void *
-Flipping_Thread( void *arg )
+Flipping_Thread( DirectThread *thread,
+ void *arg )
{
IDirectFBSurface *thiz = (IDirectFBSurface*) arg;
IDirectFBSurface_Window_data *data = (IDirectFBSurface_Window_data*) thiz->priv;
@@ -338,7 +351,7 @@ Flipping_Thread( void *arg )
D_DEBUG_AT( Surface, "%s( %p )\n", __FUNCTION__, thiz );
while (data->base.surface && data->window->surface) {
- pthread_testcancel();
+ direct_thread_testcancel( thread );
/*
* OPTIMIZE: only call if surface has been touched in the meantime
@@ -350,4 +363,3 @@ Flipping_Thread( void *arg )
return NULL;
}
-
diff --git a/src/gfx/Makefile.am b/src/gfx/Makefile.am
index 8cbd6b9..a8d333f 100644
--- a/src/gfx/Makefile.am
+++ b/src/gfx/Makefile.am
@@ -1,10 +1,20 @@
## Makefile.am for DirectFB/src/misc
-SUBDIRS = generic
+
+if DIRECTFB_BUILD_PURE_VOODOO
+NON_PURE_VOODOO_SUBDIRS =
+else
+NON_PURE_VOODOO_SUBDIRS = \
+ generic
+endif
+
+SUBDIRS = \
+ $(NON_PURE_VOODOO_SUBDIRS)
+
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -20,10 +30,26 @@ internalinclude_HEADERS = \
noinst_LTLIBRARIES = libdirectfb_gfx.la
-libdirectfb_gfx_la_SOURCES = \
+
+if DIRECTFB_BUILD_PURE_VOODOO
+NON_PURE_VOODOO_SOURCES =
+else
+NON_PURE_VOODOO_SOURCES = \
clip.c \
- convert.c \
util.c
+endif
-libdirectfb_gfx_la_LIBADD = \
+libdirectfb_gfx_la_SOURCES = \
+ $(NON_PURE_VOODOO_SOURCES) \
+ convert.c
+
+
+if DIRECTFB_BUILD_PURE_VOODOO
+NON_PURE_VOODOO_LIBS =
+else
+NON_PURE_VOODOO_LIBS = \
generic/libdirectfb_generic.la
+endif
+
+libdirectfb_gfx_la_LIBADD = \
+ $(NON_PURE_VOODOO_LIBS)
diff --git a/src/gfx/Makefile.in b/src/gfx/Makefile.in
index c1a3eff..2ef0bb1 100644
--- a/src/gfx/Makefile.in
+++ b/src/gfx/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,24 +47,45 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
-libdirectfb_gfx_la_DEPENDENCIES = generic/libdirectfb_generic.la
-am_libdirectfb_gfx_la_OBJECTS = clip.lo convert.lo util.lo
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@am__DEPENDENCIES_1 = generic/libdirectfb_generic.la
+libdirectfb_gfx_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libdirectfb_gfx_la_SOURCES_DIST = clip.c util.c convert.c
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@am__objects_1 = clip.lo util.lo
+am_libdirectfb_gfx_la_OBJECTS = $(am__objects_1) convert.lo
libdirectfb_gfx_la_OBJECTS = $(am_libdirectfb_gfx_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_gfx_la_SOURCES)
-DIST_SOURCES = $(libdirectfb_gfx_la_SOURCES)
+DIST_SOURCES = $(am__libdirectfb_gfx_la_SOURCES_DIST)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
@@ -75,18 +98,67 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(internalincludedir)"
-internalincludeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(internalinclude_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
+DIST_SUBDIRS = generic
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -110,11 +182,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -128,16 +203,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -158,12 +234,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -174,21 +253,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -196,6 +283,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -209,6 +300,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -216,9 +308,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -265,12 +358,19 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-SUBDIRS = generic
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@NON_PURE_VOODOO_SUBDIRS = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ generic
+
+ at DIRECTFB_BUILD_PURE_VOODOO_TRUE@NON_PURE_VOODOO_SUBDIRS =
+SUBDIRS = \
+ $(NON_PURE_VOODOO_SUBDIRS)
+
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -282,13 +382,21 @@ internalinclude_HEADERS = \
util.h
noinst_LTLIBRARIES = libdirectfb_gfx.la
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@NON_PURE_VOODOO_SOURCES = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ clip.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ util.c
+
+ at DIRECTFB_BUILD_PURE_VOODOO_TRUE@NON_PURE_VOODOO_SOURCES =
libdirectfb_gfx_la_SOURCES = \
- clip.c \
- convert.c \
- util.c
+ $(NON_PURE_VOODOO_SOURCES) \
+ convert.c
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@NON_PURE_VOODOO_LIBS = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ generic/libdirectfb_generic.la
+
+ at DIRECTFB_BUILD_PURE_VOODOO_TRUE@NON_PURE_VOODOO_LIBS =
libdirectfb_gfx_la_LIBADD = \
- generic/libdirectfb_generic.la
+ $(NON_PURE_VOODOO_LIBS)
all: all-recursive
@@ -298,14 +406,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/gfx/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/gfx/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/gfx/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/gfx/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -323,6 +431,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@@ -332,8 +441,8 @@ clean-noinstLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_gfx.la: $(libdirectfb_gfx_la_OBJECTS) $(libdirectfb_gfx_la_DEPENDENCIES)
- $(LINK) $(libdirectfb_gfx_la_OBJECTS) $(libdirectfb_gfx_la_LIBADD) $(LIBS)
+libdirectfb_gfx.la: $(libdirectfb_gfx_la_OBJECTS) $(libdirectfb_gfx_la_DEPENDENCIES) $(EXTRA_libdirectfb_gfx_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libdirectfb_gfx_la_OBJECTS) $(libdirectfb_gfx_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -346,25 +455,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/util.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -374,20 +483,21 @@ clean-libtool:
install-internalincludeHEADERS: $(internalinclude_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(internalincludedir)" || $(MKDIR_P) "$(DESTDIR)$(internalincludedir)"
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(internalincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(internalincludedir)/$$f'"; \
- $(internalincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(internalincludedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(internalincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(internalincludedir)" || exit $$?; \
done
uninstall-internalincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(internalincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(internalincludedir)/$$f"; \
- done
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(internalincludedir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@@ -396,7 +506,7 @@ uninstall-internalincludeHEADERS:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -413,7 +523,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -421,7 +531,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -447,16 +557,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -464,14 +574,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -483,7 +593,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -492,29 +602,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -535,29 +650,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -580,16 +710,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -611,6 +747,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -619,18 +757,28 @@ install-data-am: install-internalincludeHEADERS
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am:
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -653,8 +801,8 @@ ps-am:
uninstall-am: uninstall-internalincludeHEADERS
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic clean-libtool \
@@ -672,6 +820,7 @@ uninstall-am: uninstall-internalincludeHEADERS
pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
uninstall-internalincludeHEADERS
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/gfx/clip.c b/src/gfx/clip.c
index 195dc73..b0bee87 100644
--- a/src/gfx/clip.c
+++ b/src/gfx/clip.c
@@ -37,6 +37,9 @@
#include <misc/util.h>
#include <gfx/clip.h>
+#include <gfx/util.h>
+
+D_DEBUG_DOMAIN( Core_Clipping, "Core/Clipping", "DirectFB Software Clipping" );
#define REGION_CODE(x,y,cx1,cx2,cy1,cy2) ( ( (y) > (cy2) ? 8 : 0) | \
( (y) < (cy1) ? 4 : 0) | \
@@ -216,7 +219,7 @@ dfb_clip_triangle( const DFBRegion *clip, const DFBTriangle *tri, DFBPoint p[6],
int num_edges;
int i, n;
DFBPoint p1 = {0, 0}, p2 = {0, 0};
-
+
/* Initialize edges. */
edges[0].x1 = tri->x1; edges[0].y1 = tri->y1;
edges[0].x2 = tri->x2; edges[0].y2 = tri->y2;
@@ -225,7 +228,7 @@ dfb_clip_triangle( const DFBRegion *clip, const DFBTriangle *tri, DFBPoint p[6],
edges[2].x1 = tri->x3; edges[2].y1 = tri->y3;
edges[2].x2 = tri->x1; edges[2].y2 = tri->y1;
num_edges = 3;
-
+
for (i = 0; i < num_edges; i++) {
DFBRegion *reg = &edges[i];
DFBRegion line;
@@ -237,15 +240,15 @@ dfb_clip_triangle( const DFBRegion *clip, const DFBTriangle *tri, DFBPoint p[6],
*reg = line;
continue;
}
-
+
/* If the edge doesn't intersect clipping region, then
* intersect the edge with the diagonals of the clipping
* rectangle. If intersection point exits, add the nearest
* corner of the clipping region to the list of vertices.
*/
-
+
/* Diagonal (x1,y1) (x2,y2). */
- line = (DFBRegion) { clip->x1, clip->y1, clip->x2, clip->y2 };
+ line = (DFBRegion) { clip->x1, clip->y1, clip->x2, clip->y2 };
i1 = dfb_line_segment_intersect( &line, reg, &p1.x, &p1.y );
if (i1) {
/* Get nearest corner. */
@@ -257,7 +260,7 @@ dfb_clip_triangle( const DFBRegion *clip, const DFBTriangle *tri, DFBPoint p[6],
p1.y = clip->y2;
}
}
-
+
/* Diagonal (x2,y1) (x1,y2). */
line = (DFBRegion) { clip->x2, clip->y1, clip->x1, clip->y2 };
i2 = dfb_line_segment_intersect( &line, reg, &p2.x, &p2.y );
@@ -270,8 +273,8 @@ dfb_clip_triangle( const DFBRegion *clip, const DFBTriangle *tri, DFBPoint p[6],
p2.x = clip->x1;
p2.y = clip->y2;
}
- }
-
+ }
+
if (i1 && i2) {
reg->x1 = p1.x;
reg->y1 = p1.y;
@@ -293,12 +296,12 @@ dfb_clip_triangle( const DFBRegion *clip, const DFBTriangle *tri, DFBPoint p[6],
i--;
}
}
-
+
if (num_edges < 1) {
*num = 0;
return DFB_FALSE;
}
-
+
/* Get vertices from edges. */
p[0].x = edges[0].x1; p[0].y = edges[0].y1;
n = 1;
@@ -306,7 +309,7 @@ dfb_clip_triangle( const DFBRegion *clip, const DFBTriangle *tri, DFBPoint p[6],
p[1].x = edges[0].x2; p[1].y = edges[0].y2;
n++;
}
-
+
for (i = 1; i < num_edges; i++) {
if (edges[i].x1 != p[n-1].x || edges[i].y1 != p[n-1].y) {
p[n].x = edges[i].x1; p[n].y = edges[i].y1;
@@ -317,12 +320,12 @@ dfb_clip_triangle( const DFBRegion *clip, const DFBTriangle *tri, DFBPoint p[6],
n++;
}
}
-
+
if (p[n-1].x == p[0].x && p[n-1].y == p[0].y)
n--;
-
+
*num = n;
-
+
/* Actually fail if the number of vertices is below 3. */
return (n >= 3);
}
@@ -377,3 +380,73 @@ dfb_clip_stretchblit( const DFBRegion *clip,
srect->h = (int)( srect->h * (drect->h / (float)orig_dst.h) );
}
+
+void
+dfb_clip_blit_flipped_rotated( const DFBRegion *clip,
+ DFBRectangle *srect, DFBRectangle *drect, DFBSurfaceBlittingFlags flags )
+{
+
+ DFBRegion dest = DFB_REGION_INIT_FROM_RECTANGLE( drect );
+ DFBRegion clipped = dest;
+
+ D_ASSERT( !(flags & (DSBLIT_ROTATE270 | DSBLIT_ROTATE180)) );
+
+ if (flags & DSBLIT_ROTATE90) {
+ D_ASSERT( srect->w == drect->h );
+ D_ASSERT( srect->h == drect->w );
+ }
+ else {
+ D_ASSERT( srect->w == drect->w );
+ D_ASSERT( srect->h == drect->h );
+ }
+
+ dfb_region_region_intersect( &clipped, clip );
+ dfb_rectangle_from_region( drect, &clipped );
+
+ switch (flags & (DSBLIT_FLIP_HORIZONTAL | DSBLIT_FLIP_VERTICAL | DSBLIT_ROTATE90)) {
+ case DSBLIT_NOFX:
+ srect->x += clipped.x1 - dest.x1;
+ srect->y += clipped.y1 - dest.y1;
+ break;
+ case DSBLIT_FLIP_HORIZONTAL:
+ srect->x += dest.x2 - clipped.x2;
+ srect->y += clipped.y1 - dest.y1;
+ break;
+ case DSBLIT_FLIP_VERTICAL:
+ srect->x += clipped.x1 - dest.x1;
+ srect->y += dest.y2 - clipped.y2;
+ break;
+ case DSBLIT_ROTATE90:
+ srect->x += dest.y2 - clipped.y2;
+ srect->y += clipped.x1 - dest.x1;
+ break;
+ case (DSBLIT_FLIP_HORIZONTAL | DSBLIT_FLIP_VERTICAL): // ROTATE180
+ srect->x += dest.x2 - clipped.x2;
+ srect->y += dest.y2 - clipped.y2;
+ break;
+ case (DSBLIT_ROTATE90 | DSBLIT_FLIP_VERTICAL | DSBLIT_FLIP_HORIZONTAL): // ROTATE270
+ srect->x += clipped.y1 - dest.y1;
+ srect->y += dest.x2 - clipped.x2;
+ break;
+ case (DSBLIT_ROTATE90 | DSBLIT_FLIP_HORIZONTAL):
+ srect->x += clipped.y1 - dest.y1;
+ srect->y += clipped.x1 - dest.x1;
+ break;
+ case (DSBLIT_ROTATE90 | DSBLIT_FLIP_VERTICAL):
+ srect->x += dest.y2 - clipped.y2;
+ srect->y += dest.x2 - clipped.x2;
+ break;
+ }
+
+ if (flags & DSBLIT_ROTATE90) {
+ srect->w = drect->h;
+ srect->h = drect->w;
+ }
+ else {
+ srect->w = drect->w;
+ srect->h = drect->h;
+ }
+
+ D_DEBUG_AT( Core_Clipping, " => %4d,%4d-%4dx%4d -> %4d,%4d-%4dx%4d\n",
+ DFB_RECTANGLE_VALS(srect), DFB_RECTANGLE_VALS(drect) );
+}
diff --git a/src/gfx/clip.h b/src/gfx/clip.h
index e1ea261..624b514 100644
--- a/src/gfx/clip.h
+++ b/src/gfx/clip.h
@@ -66,7 +66,7 @@ dfb_clip_needed( const DFBRegion *clip, DFBRectangle *rect )
return ((clip->x1 > rect->x) ||
(clip->y1 > rect->y) ||
(clip->x2 < rect->x + rect->w - 1) ||
- (clip->y2 < rect->y + rect->h - 1));
+ (clip->y2 < rect->y + rect->h - 1)) ? DFB_TRUE : DFB_FALSE;
}
/*
@@ -75,7 +75,7 @@ dfb_clip_needed( const DFBRegion *clip, DFBRectangle *rect )
*/
DFBBoolean dfb_clip_triangle_precheck( const DFBRegion *clip,
const DFBTriangle *tri );
-
+
/*
* Clips the triangle to the clipping region.
* Returns true if the triangle if visible within the region.
@@ -85,7 +85,7 @@ DFBBoolean dfb_clip_triangle_precheck( const DFBRegion *clip,
DFBBoolean dfb_clip_triangle( const DFBRegion *clip,
const DFBTriangle *tri,
DFBPoint buf[6],
- int *num );
+ int *num );
/*
* Simple check if requested blitting lies outside of the clipping region.
@@ -121,5 +121,21 @@ void dfb_clip_stretchblit( const DFBRegion *clip,
DFBRectangle *srect,
DFBRectangle *drect );
+/*
+ * Clips the blitting request to the clipping region.
+ * This includes adjustment of source AND destination coordinates.
+ *
+ * In contrast to dfb_clip_blit() this also honors DSBLIT_ROTATE_ and DSBLIT_FLIP_ blittingflags.
+ *
+ * FIXME: rotation and flipping is not supported simultaniously since the software driver
+ * would crash in its current state.
+ */
+
+void
+dfb_clip_blit_flipped_rotated( const DFBRegion *clip,
+ DFBRectangle *srect, DFBRectangle *drect, DFBSurfaceBlittingFlags flags );
+
+
+
#endif
diff --git a/src/gfx/convert.c b/src/gfx/convert.c
index d65ad67..a522c8a 100644
--- a/src/gfx/convert.c
+++ b/src/gfx/convert.c
@@ -154,6 +154,10 @@ dfb_pixel_to_color( DFBSurfacePixelFormat format,
ret_color->b = EXPAND_5to8( (pixel & 0x003e) >> 1 );
break;
+ case DSPF_A8:
+ ret_color->a = pixel;
+ /* fall through */
+
default:
ret_color->r = 0;
ret_color->g = 0;
@@ -171,6 +175,9 @@ dfb_pixel_from_color( DFBSurfacePixelFormat format,
case DSPF_RGB332:
return PIXEL_RGB332( color->r, color->g, color->b );
+ case DSPF_A8:
+ return color->a;
+
case DSPF_ARGB1555:
return PIXEL_ARGB1555( color->a, color->r, color->g, color->b );
@@ -241,6 +248,7 @@ dfb_pixel_from_color( DFBSurfacePixelFormat format,
case DSPF_I420:
case DSPF_YV12:
+ case DSPF_YV16:
RGB_TO_YCBCR( color->r, color->g, color->b, y, cb, cr );
return y | (cb << 8) | (cr << 16);
@@ -251,6 +259,12 @@ dfb_pixel_from_color( DFBSurfacePixelFormat format,
RGB_TO_YCBCR( color->r, color->g, color->b, y, cb, cr );
return y << 16 | (cb << 8) | cr;
+ case DSPF_LUT8:
+ case DSPF_ALUT44:
+ case DSPF_LUT2:
+ D_ONCE("Palette format, returning bogus.");
+ break;
+
default:
D_WARN( "unknown format 0x%08x", format );
}
@@ -514,6 +528,35 @@ dfb_convert_to_rgb16( DFBSurfacePixelFormat format,
}
break;
+ case DSPF_YV16:
+ {
+ const u8 *src_cr = src + surface_height * spitch;
+ const u8 *src_cb = src_cr + surface_height * spitch/2;
+ ++height;
+ while (--height) {
+ const u8 * __restrict y = src;
+ const u8 * __restrict cb = src_cb;
+ const u8 * __restrict cr = src_cr;
+
+ for (x=0; x<width; x++) {
+ int r, g, b;
+ YCBCR_TO_RGB (*y, *cb, *cr, r, g, b);
+
+ ++y;
+ cb += (x & 1);
+ cr += (x & 1);
+
+ dst[x] = PIXEL_RGB16( r, g, b );
+ }
+
+ src += spitch;
+ src_cb += spitch/2;
+ src_cr += spitch/2;
+ dst += dp2;
+ }
+ }
+ break;
+
default:
D_ONCE( "unsupported format" );
}
@@ -735,6 +778,35 @@ dfb_convert_to_rgb555( DFBSurfacePixelFormat format,
}
break;
+ case DSPF_YV16:
+ {
+ const u8 *src_cr = src + surface_height * spitch;
+ const u8 *src_cb = src_cr + surface_height * spitch/2;
+ ++height;
+ while (--height) {
+ const u8 * __restrict y = src;
+ const u8 * __restrict cb = src_cb;
+ const u8 * __restrict cr = src_cr;
+
+ for (x=0; x<width; x++) {
+ int r, g, b;
+ YCBCR_TO_RGB (*y, *cb, *cr, r, g, b);
+
+ ++y;
+ cb += (x & 1);
+ cr += (x & 1);
+
+ dst[x] = PIXEL_RGB555( r, g, b );
+ }
+
+ src += spitch;
+ src_cb += spitch/2;
+ src_cr += spitch/2;
+ dst += dp2;
+ }
+ }
+ break;
+
default:
D_ONCE( "unsupported format" );
}
@@ -983,6 +1055,35 @@ dfb_convert_to_rgb32( DFBSurfacePixelFormat format,
}
break;
+ case DSPF_YV16:
+ {
+ const u8 *src_cr = src + surface_height * spitch;
+ const u8 *src_cb = src_cr + surface_height * spitch/2;
+ ++height;
+ while (--height) {
+ const u8 * __restrict y = src;
+ const u8 * __restrict cb = src_cb;
+ const u8 * __restrict cr = src_cr;
+
+ for (x=0; x<width; x++) {
+ int r, g, b;
+ YCBCR_TO_RGB (*y, *cb, *cr, r, g, b);
+
+ ++y;
+ cb += (x & 1);
+ cr += (x & 1);
+
+ dst[x] = PIXEL_RGB32( r, g, b );
+ }
+
+ src += spitch;
+ src_cb += spitch/2;
+ src_cr += spitch/2;
+ dst += dp4;
+ }
+ }
+ break;
+
default:
D_ONCE( "unsupported format" );
}
@@ -1274,6 +1375,35 @@ dfb_convert_to_argb( DFBSurfacePixelFormat format,
}
break;
+ case DSPF_YV16:
+ {
+ const u8 *src_cr = src + surface_height * spitch;
+ const u8 *src_cb = src_cr + surface_height * spitch/2;
+ ++height;
+ while (--height) {
+ const u8 * __restrict y = src;
+ const u8 * __restrict cb = src_cb;
+ const u8 * __restrict cr = src_cr;
+
+ for (x=0; x<width; x++) {
+ int r, g, b;
+ YCBCR_TO_RGB (*y, *cb, *cr, r, g, b);
+
+ ++y;
+ cb += (x & 1);
+ cr += (x & 1);
+
+ dst[x] = PIXEL_ARGB( 0xff, r, g, b );
+ }
+
+ src += spitch;
+ src_cb += spitch/2;
+ src_cr += spitch/2;
+ dst += dp4;
+ }
+ }
+ break;
+
default:
D_ONCE( "unsupported format" );
}
@@ -1687,6 +1817,37 @@ dfb_convert_to_rgb24( DFBSurfacePixelFormat format,
dst += dpitch;
}
break;
+ case DSPF_YV16:
+ {
+ const u8 *src_cr = src + surface_height * spitch;
+ const u8 *src_cb = src_cr + surface_height * spitch/2;
+ ++height;
+ while (--height) {
+ const u8 * __restrict y = src;
+ const u8 * __restrict cb = src_cb;
+ const u8 * __restrict cr = src_cr;
+
+ for (n=0, n3=0; n<width; n++, n3+=3) {
+#ifdef WORDS_BIGENDIAN
+ YCBCR_TO_RGB (*y, *cb, *cr,
+ dst[n3+0], dst[n3+1], dst[n3+2]);
+#else
+ YCBCR_TO_RGB (*y, *cb, *cr,
+ dst[n3+2], dst[n3+1], dst[n3+0]);
+#endif
+
+ ++y;
+ cb += (n & 1);
+ cr += (n & 1);
+ }
+
+ src += spitch;
+ src_cb += spitch/2;
+ src_cr += spitch/2;
+ dst += dpitch;
+ }
+ }
+ break;
default:
D_ONCE( "unsupported format" );
}
@@ -1843,6 +2004,7 @@ dfb_convert_to_a8( DFBSurfacePixelFormat format,
case DSPF_YUY2:
case DSPF_UYVY:
case DSPF_NV16:
+ case DSPF_YV16:
case DSPF_YUV444P:
while (height--) {
memset( dst, 0xff, width );
diff --git a/src/gfx/generic/Makefile.am b/src/gfx/generic/Makefile.am
index 031ead9..37696b7 100644
--- a/src/gfx/generic/Makefile.am
+++ b/src/gfx/generic/Makefile.am
@@ -1,8 +1,8 @@
## Makefile.am for DirectFB/src/gfx/generic
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -28,6 +28,12 @@ libdirectfb_generic_la_SOURCES = \
generic.h \
generic_mmx.h \
generic_64.h \
+ generic_fill_rectangle.c \
+ generic_draw_line.c \
+ generic_blit.c \
+ generic_stretch_blit.c \
+ generic_texture_triangles.c \
+ generic_util.c \
stretch_hvx_N.h \
stretch_hvx_16.h \
stretch_hvx_32.h \
@@ -40,8 +46,10 @@ libdirectfb_generic_la_SOURCES = \
stretch_up_down_88.h \
stretch_up_down_table.h \
template_acc_16.h \
+ template_acc_24.h \
template_acc_32.h \
template_colorkey_16.h \
+ template_colorkey_24.h \
template_colorkey_32.h
diff --git a/src/gfx/generic/Makefile.in b/src/gfx/generic/Makefile.in
index 1dc4825..faa591c 100644
--- a/src/gfx/generic/Makefile.in
+++ b/src/gfx/generic/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,32 +47,56 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libdirectfb_generic_la_LIBADD =
am__libdirectfb_generic_la_SOURCES_DIST = duffs_device.h \
generic_dummy.c generic.c generic.h generic_mmx.h generic_64.h \
- stretch_hvx_N.h stretch_hvx_16.h stretch_hvx_32.h \
- stretch_hvx_8.h stretch_hvx_88.h stretch_up_down_16.h \
- stretch_up_down_32.h stretch_up_down_32_indexed.h \
- stretch_up_down_8.h stretch_up_down_88.h \
- stretch_up_down_table.h template_acc_16.h template_acc_32.h \
- template_colorkey_16.h template_colorkey_32.h
+ generic_fill_rectangle.c generic_draw_line.c generic_blit.c \
+ generic_stretch_blit.c generic_texture_triangles.c \
+ generic_util.c stretch_hvx_N.h stretch_hvx_16.h \
+ stretch_hvx_32.h stretch_hvx_8.h stretch_hvx_88.h \
+ stretch_up_down_16.h stretch_up_down_32.h \
+ stretch_up_down_32_indexed.h stretch_up_down_8.h \
+ stretch_up_down_88.h stretch_up_down_table.h template_acc_16.h \
+ template_acc_24.h template_acc_32.h template_colorkey_16.h \
+ template_colorkey_24.h template_colorkey_32.h
@SOFTWARE_RENDERING_FALSE at am__objects_1 = generic_dummy.lo
@SOFTWARE_RENDERING_TRUE at am__objects_1 = generic.lo
-am_libdirectfb_generic_la_OBJECTS = $(am__objects_1)
+am_libdirectfb_generic_la_OBJECTS = $(am__objects_1) \
+ generic_fill_rectangle.lo generic_draw_line.lo generic_blit.lo \
+ generic_stretch_blit.lo generic_texture_triangles.lo \
+ generic_util.lo
libdirectfb_generic_la_OBJECTS = $(am_libdirectfb_generic_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_generic_la_SOURCES)
DIST_SOURCES = $(am__libdirectfb_generic_la_SOURCES_DIST)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -78,15 +104,36 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(internalincludedir)"
-internalincludeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(internalinclude_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -110,11 +157,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -128,16 +178,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -158,12 +209,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -174,21 +228,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -196,6 +258,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -209,6 +275,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -216,9 +283,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -265,11 +333,12 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -288,6 +357,12 @@ libdirectfb_generic_la_SOURCES = \
generic.h \
generic_mmx.h \
generic_64.h \
+ generic_fill_rectangle.c \
+ generic_draw_line.c \
+ generic_blit.c \
+ generic_stretch_blit.c \
+ generic_texture_triangles.c \
+ generic_util.c \
stretch_hvx_N.h \
stretch_hvx_16.h \
stretch_hvx_32.h \
@@ -300,8 +375,10 @@ libdirectfb_generic_la_SOURCES = \
stretch_up_down_88.h \
stretch_up_down_table.h \
template_acc_16.h \
+ template_acc_24.h \
template_acc_32.h \
template_colorkey_16.h \
+ template_colorkey_24.h \
template_colorkey_32.h
all: all-am
@@ -312,14 +389,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/gfx/generic/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/gfx/generic/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/gfx/generic/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/gfx/generic/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -337,6 +414,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@@ -346,8 +424,8 @@ clean-noinstLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_generic.la: $(libdirectfb_generic_la_OBJECTS) $(libdirectfb_generic_la_DEPENDENCIES)
- $(LINK) $(libdirectfb_generic_la_OBJECTS) $(libdirectfb_generic_la_LIBADD) $(LIBS)
+libdirectfb_generic.la: $(libdirectfb_generic_la_OBJECTS) $(libdirectfb_generic_la_DEPENDENCIES) $(EXTRA_libdirectfb_generic_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libdirectfb_generic_la_OBJECTS) $(libdirectfb_generic_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -356,28 +434,34 @@ distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/generic.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/generic_blit.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/generic_draw_line.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/generic_dummy.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/generic_fill_rectangle.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/generic_stretch_blit.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/generic_texture_triangles.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/generic_util.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -387,34 +471,35 @@ clean-libtool:
install-internalincludeHEADERS: $(internalinclude_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(internalincludedir)" || $(MKDIR_P) "$(DESTDIR)$(internalincludedir)"
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(internalincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(internalincludedir)/$$f'"; \
- $(internalincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(internalincludedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(internalincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(internalincludedir)" || exit $$?; \
done
uninstall-internalincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(internalincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(internalincludedir)/$$f"; \
- done
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(internalincludedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -422,29 +507,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -465,13 +555,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -492,16 +586,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -523,6 +623,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -531,18 +633,28 @@ install-data-am: install-internalincludeHEADERS
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -581,6 +693,7 @@ uninstall-am: uninstall-internalincludeHEADERS
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-internalincludeHEADERS
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/gfx/generic/duffs_device.h b/src/gfx/generic/duffs_device.h
index 4e31089..faa0ece 100644
--- a/src/gfx/generic/duffs_device.h
+++ b/src/gfx/generic/duffs_device.h
@@ -86,4 +86,63 @@ do {\
}\
} while(0)
+
+
+
+#define DUFF_1_D() \
+ case 1:\
+ SET_PIXEL( D[0] );
+
+#define DUFF_2_D() \
+ case 3:\
+ SET_PIXEL( D[2] );\
+ case 2:\
+ SET_PIXEL( D[1] );\
+ DUFF_1_D()
+
+#define DUFF_3_D() \
+ case 7:\
+ SET_PIXEL( D[6] );\
+ case 6:\
+ SET_PIXEL( D[5] );\
+ case 5:\
+ SET_PIXEL( D[4] );\
+ case 4:\
+ SET_PIXEL( D[3] );\
+ DUFF_2_D()
+
+#define DUFF_4_D() \
+ case 15:\
+ SET_PIXEL( D[14] );\
+ case 14:\
+ SET_PIXEL( D[13] );\
+ case 13:\
+ SET_PIXEL( D[12] );\
+ case 12:\
+ SET_PIXEL( D[11] );\
+ case 11:\
+ SET_PIXEL( D[10] );\
+ case 10:\
+ SET_PIXEL( D[9] );\
+ case 9:\
+ SET_PIXEL( D[8] );\
+ case 8:\
+ SET_PIXEL( D[7] );\
+ DUFF_3_D()
+
+#define SET_PIXEL_DUFFS_DEVICE_N_D( D, w, n ) \
+do {\
+ while (w) {\
+ register int l = w & ((1 << n) - 1);\
+ switch (l) {\
+ default:\
+ l = (1 << n);\
+ SET_PIXEL( D[(1 << n)-1] );\
+ DUFF_##n##_D()\
+ }\
+ D += l;\
+ w -= l;\
+ }\
+} while(0)
+
#endif
diff --git a/src/gfx/generic/generic.c b/src/gfx/generic/generic.c
index bf93185..7e1e443 100644
--- a/src/gfx/generic/generic.c
+++ b/src/gfx/generic/generic.c
@@ -120,6 +120,24 @@ static void gInit_BigEndian();
#define Bop_PFI_OP_Aop_PFI( op ) Bop_12vv_##op##_Aop
#include "template_colorkey_16.h"
+/* RGB24/VYU */
+#define RGB_MASK 0xffffff
+#define Cop_OP_Aop_PFI( op ) Cop_##op##_Aop_24_24
+#define Bop_PFI_OP_Aop_PFI( op ) Bop_24_24_##op##_Aop
+#include "template_colorkey_24.h"
+
+/* ARGB8565 */
+#define RGB_MASK 0x00ffff
+#define Cop_OP_Aop_PFI( op ) Cop_##op##_Aop_24_16
+#define Bop_PFI_OP_Aop_PFI( op ) Bop_24_16_##op##_Aop
+#include "template_colorkey_24.h"
+
+/* ARGB1666/ARGB6666/RGB18 */
+#define RGB_MASK 0x03ffff
+#define Cop_OP_Aop_PFI( op ) Cop_##op##_Aop_24_18
+#define Bop_PFI_OP_Aop_PFI( op ) Bop_24_18_##op##_Aop
+#include "template_colorkey_24.h"
+
/* ARGB/RGB32/AiRGB */
#define RGB_MASK 0x00ffffff
#define Cop_OP_Aop_PFI( op ) Cop_##op##_Aop_32
@@ -342,43 +360,136 @@ static void gInit_BigEndian();
#define B_MASK 0x000000ff
#include "template_acc_32.h"
+/* ARGB8565 */
+#define EXPAND_Ato8( a ) (a)
+#define EXPAND_Rto8( r ) EXPAND_5to8( r )
+#define EXPAND_Gto8( g ) EXPAND_6to8( g )
+#define EXPAND_Bto8( b ) EXPAND_5to8( b )
+#define PIXEL_OUT( a, r, g, b ) PIXEL_ARGB8565( a, r, g, b )
+#define Sop_PFI_OP_Dacc( op ) Sop_argb8565_##op##_Dacc
+#define Sacc_OP_Aop_PFI( op ) Sacc_##op##_Aop_argb8565
+#define A_SHIFT 16
+#define R_SHIFT 11
+#define G_SHIFT 5
+#define B_SHIFT 0
+#define A_MASK 0xff0000
+#define R_MASK 0x00f800
+#define G_MASK 0x0007e0
+#define B_MASK 0x00001f
+#include "template_acc_24.h"
+
+/* RGB24 */
+#define EXPAND_Ato8( a ) 0xff
+#define EXPAND_Rto8( r ) (r)
+#define EXPAND_Gto8( g ) (g)
+#define EXPAND_Bto8( b ) (b)
+#define PIXEL_OUT( a, r, g, b ) PIXEL_RGB32( r, g, b )
+#define Sop_PFI_OP_Dacc( op ) Sop_rgb24_##op##_Dacc
+#define Sacc_OP_Aop_PFI( op ) Sacc_##op##_Aop_rgb24
+#define A_SHIFT 0
+#define R_SHIFT 16
+#define G_SHIFT 8
+#define B_SHIFT 0
+#define A_MASK 0
+#define R_MASK 0xff0000
+#define G_MASK 0x00ff00
+#define B_MASK 0x0000ff
+#include "template_acc_24.h"
+
+/* ARGB1666 */
+#define EXPAND_Ato8( a ) EXPAND_1to8( a )
+#define EXPAND_Rto8( r ) EXPAND_6to8( r )
+#define EXPAND_Gto8( g ) EXPAND_6to8( g )
+#define EXPAND_Bto8( b ) EXPAND_6to8( b )
+#define PIXEL_OUT( a, r, g, b ) PIXEL_ARGB1666( a, r, g, b )
+#define Sop_PFI_OP_Dacc( op ) Sop_argb1666_##op##_Dacc
+#define Sacc_OP_Aop_PFI( op ) Sacc_##op##_Aop_argb1666
+#define A_SHIFT 18
+#define R_SHIFT 12
+#define G_SHIFT 6
+#define B_SHIFT 0
+#define A_MASK 0x040000
+#define R_MASK 0x03f000
+#define G_MASK 0x000fc0
+#define B_MASK 0x00003f
+#include "template_acc_24.h"
+
+/* ARGB6666 */
+#define EXPAND_Ato8( a ) EXPAND_6to8( a )
+#define EXPAND_Rto8( r ) EXPAND_6to8( r )
+#define EXPAND_Gto8( g ) EXPAND_6to8( g )
+#define EXPAND_Bto8( b ) EXPAND_6to8( b )
+#define PIXEL_OUT( a, r, g, b ) PIXEL_ARGB6666( a, r, g, b )
+#define Sop_PFI_OP_Dacc( op ) Sop_argb6666_##op##_Dacc
+#define Sacc_OP_Aop_PFI( op ) Sacc_##op##_Aop_argb6666
+#define A_SHIFT 18
+#define R_SHIFT 12
+#define G_SHIFT 6
+#define B_SHIFT 0
+#define A_MASK 0xfc0000
+#define R_MASK 0x03f000
+#define G_MASK 0x000fc0
+#define B_MASK 0x00003f
+#include "template_acc_24.h"
+
+/* RGB18 */
+#define EXPAND_Ato8( a ) 0xff
+#define EXPAND_Rto8( r ) EXPAND_6to8( r )
+#define EXPAND_Gto8( g ) EXPAND_6to8( g )
+#define EXPAND_Bto8( b ) EXPAND_6to8( b )
+#define PIXEL_OUT( a, r, g, b ) PIXEL_RGB18( r, g, b )
+#define Sop_PFI_OP_Dacc( op ) Sop_rgb18_##op##_Dacc
+#define Sacc_OP_Aop_PFI( op ) Sacc_##op##_Aop_rgb18
+#define A_SHIFT 0
+#define R_SHIFT 12
+#define G_SHIFT 6
+#define B_SHIFT 0
+#define A_MASK 0
+#define R_MASK 0x03f000
+#define G_MASK 0x000fc0
+#define B_MASK 0x00003f
+#include "template_acc_24.h"
+
+
/* whether pixelformat is YUV or not */
-static bool is_ycbcr[DFB_NUM_PIXELFORMATS] = {
- false, /* DSPF_ARGB1555 */
- false, /* DSPF_RGB16 */
- false, /* DSPF_RGB24 */
- false, /* DSPF_RGB32 */
- false, /* DSPF_ARGB */
- false, /* DSPF_A8 */
- true, /* DSPF_YUY2 */
- false, /* DSPF_RGB332 */
- true, /* DSPF_UYVY */
- true, /* DSPF_I420 */
- true, /* DSPF_YV12 */
- true, /* DSPF_LUT8 */
- false, /* DSPF_ALUT44 */
- false, /* DSPF_AiRGB */
- false, /* DSPF_A1 */
- true, /* DSPF_NV12 */
- true, /* DSPF_NV16 */
- false, /* DSPF_ARGB2554 */
- false, /* DSPF_ARGB4444 */
- false, /* DSPF_RGBA4444 */
- true, /* DSPF_NV21 */
- true, /* DSPF_AYUV */
- false, /* DSPF_A4 */
- false, /* DSPF_ARGB1666 */
- false, /* DSPF_ARGB6666 */
- false, /* DSPF_RGB18 */
- false, /* DSPF_LUT2 */
- false, /* DSPF_RGB444 */
- false, /* DSPF_RGB555 */
- false, /* DSPF_BGR555 */
- false, /* DSPF_RGBA5551 */
- true, /* DSPF_YUV444P */
- false, /* DSPF_ARGB8565 */
- true, /* DSPF_AVYU */
- true, /* DSPF_VYU */
+static const bool is_ycbcr[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = true,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = true,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = true,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = true,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = true,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = true,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = true,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = true,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = true,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = true,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = true,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = false,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = true,
};
@@ -418,16 +529,15 @@ static void Cop_to_Aop_16( GenefxState *gfxs )
static void Cop_to_Aop_18( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
u8 *D = gfxs->Aop[0];
u32 Cop = gfxs->Cop;
- while (w) {
+ while (--w) {
D[0] = Cop;
D[1] = Cop >> 8;
D[2] = Cop >> 16;
D += 3;
- --w;
}
}
@@ -454,17 +564,22 @@ static void Cop_to_Aop_argb8565( GenefxState *gfxs )
static void Cop_to_Aop_24( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
u8 *D = gfxs->Aop[0];
u32 Cop = gfxs->Cop;
- while (w) {
- D[0] = (Cop >> 16);
+ while (--w) {
+#ifdef WORDS_BIGENDIAN
+ D[0] = (Cop >> 16) & 0xff;
D[1] = (Cop >> 8) & 0xff;
D[2] = (Cop >> 0) & 0xff;
+#else
+ D[0] = (Cop >> 0) & 0xff;
+ D[1] = (Cop >> 8) & 0xff;
+ D[2] = (Cop >> 16) & 0xff;
+#endif
D += 3;
- --w;
}
}
@@ -494,8 +609,40 @@ static void Cop_to_Aop_32( GenefxState *gfxs )
u32 *D = gfxs->Aop[0];
u32 Cop = gfxs->Cop;
- while (w--)
+ while (w)
+ {
+ if (!(w % 8))
+ {
*D++ = Cop;
+ *D++ = Cop;
+ *D++ = Cop;
+ *D++ = Cop;
+ *D++ = Cop;
+ *D++ = Cop;
+ *D++ = Cop;
+ *D++ = Cop;
+ w -= 8;
+ }
+ else if (!(w % 4))
+ {
+ *D++ = Cop;
+ *D++ = Cop;
+ *D++ = Cop;
+ *D++ = Cop;
+ w -= 4;
+ }
+ else if (!(w % 2))
+ {
+ *D++ = Cop;
+ *D++ = Cop;
+ w -=2;
+ }
+ else
+ {
+ *D++ = Cop;
+ --w;
+ }
+ }
}
static void Cop_to_Aop_yuv422( GenefxState *gfxs )
@@ -511,7 +658,7 @@ static void Cop_to_Aop_yuv422( GenefxState *gfxs )
#else
*D++ = Cop >> 16;
#endif
- w--;
+ --w;
}
for (l = w>>1; l--;) {
@@ -537,16 +684,23 @@ static void Cop_to_Aop_i420( GenefxState *gfxs )
}
}
+static void Cop_to_Aop_yv16( GenefxState *gfxs )
+{
+ memset( gfxs->Aop[0], gfxs->YCop, gfxs->length );
+ memset( gfxs->Aop[1], gfxs->CbCop, gfxs->length / 2 );
+ memset( gfxs->Aop[2], gfxs->CrCop, gfxs->length / 2 );
+}
+
static void Cop_to_Aop_nv12( GenefxState *gfxs )
{
memset( gfxs->Aop[0], gfxs->YCop, gfxs->length );
-
+
if (gfxs->dst_format == DSPF_NV16 || gfxs->AopY & 1) {
u16 *D = gfxs->Aop[1];
- int w = gfxs->length>>1;
+ int w = ( gfxs->length >> 1 ) + 1;
u16 Cop = gfxs->CbCop | (gfxs->CrCop << 8);
-
- while (w--)
+
+ while (--w)
*D++ = Cop;
}
}
@@ -558,10 +712,10 @@ static void Cop_to_Aop_nv21( GenefxState *gfxs )
/* DSPF_NV16 added here since this func is executed as _nv12 for BigEndians */
if (gfxs->dst_format == DSPF_NV16 || gfxs->AopY & 1) {
u16 *D = gfxs->Aop[1];
- int w = gfxs->length>>1;
+ int w = ( gfxs->length >> 1 ) + 1;
u16 Cop = gfxs->CrCop | (gfxs->CbCop << 8);
-
- while (w--)
+
+ while (--w)
*D++ = Cop;
}
}
@@ -574,122 +728,59 @@ static void Cop_to_Aop_yuv444p( GenefxState *gfxs )
}
static GenefxFunc Cop_to_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Cop_to_Aop_16, /* DSPF_ARGB1555 */
- Cop_to_Aop_16, /* DSPF_RGB16 */
- Cop_to_Aop_24, /* DSPF_RGB24 */
- Cop_to_Aop_32, /* DSPF_RGB32 */
- Cop_to_Aop_32, /* DSPF_ARGB */
- Cop_to_Aop_8, /* DSPF_A8 */
- Cop_to_Aop_yuv422, /* DSPF_YUY2 */
- Cop_to_Aop_8, /* DSPF_RGB332 */
- Cop_to_Aop_yuv422, /* DSPF_UYVY */
- Cop_to_Aop_i420, /* DSPF_I420 */
- Cop_to_Aop_i420, /* DSPF_YV12 */
- Cop_to_Aop_8, /* DSPF_LUT8 */
- Cop_to_Aop_8, /* DSPF_ALUT44 */
- Cop_to_Aop_32, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- Cop_to_Aop_nv12, /* DSPF_NV12 */
- Cop_to_Aop_nv12, /* DSPF_NV16 */
- Cop_to_Aop_16, /* DSPF_ARGB2554 */
- Cop_to_Aop_16, /* DSPF_ARGB4444 */
- Cop_to_Aop_16, /* DSPF_RGBA4444 */
- Cop_to_Aop_nv21, /* DSPF_NV21 */
- Cop_to_Aop_32, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- Cop_to_Aop_18, /* DSPF_ARGB1666 */
- Cop_to_Aop_18, /* DSPF_ARGB6666 */
- Cop_to_Aop_18, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Cop_to_Aop_16, /* DSPF_RGB444 */
- Cop_to_Aop_16, /* DSPF_RGB555 */
- Cop_to_Aop_16, /* DSPF_BGR555 */
- Cop_to_Aop_16, /* DSPF_RGBA5551 */
- Cop_to_Aop_yuv444p, /* DSPF_YUV444P */
- Cop_to_Aop_argb8565,/* DSPF_ARGB8565 */
- Cop_to_Aop_32, /* DSPF_AVYU */
- Cop_to_Aop_vyu, /* DSPF_VYU */
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Cop_to_Aop_16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Cop_to_Aop_16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Cop_to_Aop_24,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Cop_to_Aop_32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Cop_to_Aop_32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Cop_to_Aop_8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Cop_to_Aop_yuv422,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Cop_to_Aop_8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Cop_to_Aop_yuv422,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = Cop_to_Aop_i420,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = Cop_to_Aop_i420,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Cop_to_Aop_8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Cop_to_Aop_8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Cop_to_Aop_32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = Cop_to_Aop_nv12,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = Cop_to_Aop_nv12,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Cop_to_Aop_16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Cop_to_Aop_16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Cop_to_Aop_16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = Cop_to_Aop_nv21,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Cop_to_Aop_32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Cop_to_Aop_18,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Cop_to_Aop_18,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Cop_to_Aop_18,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Cop_to_Aop_16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Cop_to_Aop_16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Cop_to_Aop_16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Cop_to_Aop_16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Cop_to_Aop_yuv444p,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Cop_to_Aop_argb8565,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Cop_to_Aop_32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Cop_to_Aop_vyu,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = Cop_to_Aop_yv16,
};
/********************************* Cop_toK_Aop_PFI ****************************/
static void Cop_toK_Aop_8( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
u8 *D = gfxs->Aop[0];
u32 Cop = gfxs->Cop;
u32 Dkey = gfxs->Dkey;
- while (w--) {
+ while (--w) {
if (Dkey == *D)
*D = Cop;
- D++;
- }
-}
-
-static void Cop_toK_Aop_18( GenefxState *gfxs )
-{
- int w = gfxs->length;
- u8 *D = gfxs->Aop[0];
- u32 Dkey = gfxs->Dkey;
- u32 Cop = gfxs->Cop;
-
- while (w) {
- if (Dkey == ((u32)(D[2]<<16 | D[1]<<8 | D[0]) & 0x3FFFF)) {
- D[0] = Cop;
- D[1] = Cop >> 8;
- D[2] = Cop >> 16;
- }
- D += 3;
- --w;
- }
-
-}
-
-static void Cop_toK_Aop_argb8565( GenefxState *gfxs )
-{
- int w = gfxs->length + 1;
- u8 *D = gfxs->Aop[0];
- u32 Dkey = gfxs->Dkey;
- u32 Cop = gfxs->Cop;
-
- while (--w) {
-
-#ifdef WORDS_BIGENDIAN
- if (Dkey == (u32) ((D[1]<<8) | D[2])) {
- D[0] = (Cop >> 16) & 0xff;
- D[1] = (Cop >> 8) & 0xff;
- D[2] = (Cop >> 0) & 0xff;
- }
-#else
- if (Dkey == (u32) ((D[1]<<8) | D[0])) {
- D[0] = (Cop >> 0) & 0xff;
- D[1] = (Cop >> 8) & 0xff;
- D[2] = (Cop >> 16) & 0xff;
- }
-#endif
-
- D += 3;
- }
-}
-
-static void Cop_toK_Aop_24( GenefxState *gfxs )
-{
- int w = gfxs->length;
- u8 *D = gfxs->Aop[0];
- u8 Dkr = (gfxs->Dkey & 0xff0000) >> 16;
- u8 Dkg = (gfxs->Dkey & 0x00ff00) >> 8;
- u8 Dkb = (gfxs->Dkey & 0x0000ff);
-
- while (w--) {
- if (D[0] == Dkb && D[1] == Dkg && D[2] == Dkr) {
- D[0] = gfxs->color.b;
- D[1] = gfxs->color.g;
- D[2] = gfxs->color.r;
- }
-
- D += 3;
+ ++D;
}
}
@@ -709,8 +800,8 @@ static void Cop_toK_Aop_yuv422( GenefxState *gfxs )
if (*D == (Dkey >> 16))
*D = Cop >> 16;
#endif
- D++;
- w--;
+ ++D;
+ --w;
}
for (l = w>>1; l--;) {
@@ -732,16 +823,16 @@ static void Cop_toK_Aop_yuv422( GenefxState *gfxs )
static void Cop_toK_Aop_alut44( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
u8 *D = gfxs->Aop[0];
u32 Cop = gfxs->Cop;
u32 Dkey = gfxs->Dkey;
- while (w--) {
+ while (--w) {
if (Dkey == (*D & 0x0F))
*D = Cop;
- D++;
+ ++D;
}
}
@@ -780,73 +871,48 @@ static void Cop_toK_Aop_avyu( GenefxState *gfxs )
if ((*D & 0x00ffffff) == Dkey)
*D = Cop;
- D++;
- }
-}
-
-static void Cop_toK_Aop_vyu( GenefxState *gfxs )
-{
- int w = gfxs->length + 1;
- u8 *D = gfxs->Aop[0];
- u32 Dkey = gfxs->Dkey;
- u32 Cop = gfxs->Cop;
-
- while (--w) {
-
-#ifdef WORDS_BIGENDIAN
- if (Dkey == (u32) ((D[0]<<16) | (D[1]<<8) | D[2])) {
- D[0] = (Cop >> 16) & 0xff;
- D[1] = (Cop >> 8) & 0xff;
- D[2] = (Cop >> 0) & 0xff;
- }
-#else
- if (Dkey == (u32) ((D[2]<<16) | (D[1]<<8) | D[0])) {
- D[0] = (Cop >> 0) & 0xff;
- D[1] = (Cop >> 8) & 0xff;
- D[2] = (Cop >> 16) & 0xff;
- }
-#endif
-
- D += 3;
+ ++D;
}
}
-static GenefxFunc Cop_toK_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Cop_toK_Aop_15, /* DSPF_ARGB1555 */
- Cop_toK_Aop_16, /* DSPF_RGB16 */
- Cop_toK_Aop_24, /* DSPF_RGB24 */
- Cop_toK_Aop_32, /* DSPF_RGB32 */
- Cop_toK_Aop_32, /* DSPF_ARGB */
- Cop_toK_Aop_8, /* DSPF_A8 */
- Cop_toK_Aop_yuv422, /* DSPF_YUY2 */
- Cop_toK_Aop_8, /* DSPF_RGB332 */
- Cop_toK_Aop_yuv422, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- Cop_toK_Aop_8, /* DSPF_LUT8 */
- Cop_toK_Aop_alut44, /* DSPF_ALUT44 */
- Cop_toK_Aop_32, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- Cop_toK_Aop_14, /* DSPF_ARGB2554 */
- Cop_toK_Aop_12, /* DSPF_ARGB4444 */
- Cop_toK_Aop_12vv, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- Cop_toK_Aop_32, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- Cop_toK_Aop_18, /* DSPF_ARGB1666 */
- Cop_toK_Aop_18, /* DSPF_ARGB6666 */
- Cop_toK_Aop_18, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Cop_toK_Aop_12, /* DSPF_RGB444 */
- Cop_toK_Aop_15, /* DSPF_RGB555 */
- Cop_toK_Aop_15, /* DSPF_BGR555 */
- Cop_toK_Aop_15, /* DSPF_RGBA5551 */
- Cop_toK_Aop_yuv444p, /* DSPF_YUV444P */
- Cop_toK_Aop_argb8565, /* DSPF_ARGB8565 */
- Cop_toK_Aop_avyu, /* DSPF_AVYU */
- Cop_toK_Aop_vyu, /* DSPF_VYU */
+static const GenefxFunc Cop_toK_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Cop_toK_Aop_15,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Cop_toK_Aop_16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Cop_toK_Aop_24_24,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Cop_toK_Aop_32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Cop_toK_Aop_32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Cop_toK_Aop_8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Cop_toK_Aop_yuv422,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Cop_toK_Aop_8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Cop_toK_Aop_yuv422,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Cop_toK_Aop_8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Cop_toK_Aop_alut44,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Cop_toK_Aop_32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Cop_toK_Aop_14,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Cop_toK_Aop_12,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Cop_toK_Aop_12vv,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Cop_toK_Aop_32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Cop_toK_Aop_24_18,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Cop_toK_Aop_24_18,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Cop_toK_Aop_24_18,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Cop_toK_Aop_12,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Cop_toK_Aop_15,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Cop_toK_Aop_15,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Cop_toK_Aop_15,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Cop_toK_Aop_yuv444p,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Cop_toK_Aop_24_16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Cop_toK_Aop_avyu,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Cop_toK_Aop_24_24,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
};
/********************************* Bop_PFI_to_Aop_PFI *************************/
@@ -878,12 +944,19 @@ static void Bop_32_to_Aop( GenefxState *gfxs )
static void Bop_i420_to_Aop( GenefxState *gfxs )
{
- direct_memmove( gfxs->Aop[0], gfxs->Bop[0], gfxs->length );
+ direct_memmove( gfxs->Aop[0], gfxs->Bop[0], gfxs->length );
if (gfxs->AopY & 1) {
direct_memmove( gfxs->Aop[1], gfxs->Bop[1], gfxs->length>>1 );
direct_memmove( gfxs->Aop[2], gfxs->Bop[2], gfxs->length>>1 );
}
-}
+}
+
+static void Bop_yv16_to_Aop( GenefxState *gfxs )
+{
+ direct_memmove( gfxs->Aop[0], gfxs->Bop[0], gfxs->length );
+ direct_memmove( gfxs->Aop[1], gfxs->Bop[1], gfxs->length / 2 );
+ direct_memmove( gfxs->Aop[2], gfxs->Bop[2], gfxs->length / 2 );
+}
static void Bop_NV_to_Aop( GenefxState *gfxs )
{
@@ -899,95 +972,97 @@ static void Bop_yuv444p_to_Aop( GenefxState *gfxs )
direct_memmove( gfxs->Aop[2], gfxs->Bop[2], gfxs->length );
}
-static GenefxFunc Bop_PFI_to_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Bop_16_to_Aop, /* DSPF_ARGB1555 */
- Bop_16_to_Aop, /* DSPF_RGB16 */
- Bop_24_to_Aop, /* DSPF_RGB24 */
- Bop_32_to_Aop, /* DSPF_RGB32 */
- Bop_32_to_Aop, /* DSPF_ARGB */
- Bop_8_to_Aop, /* DSPF_A8 */
- Bop_16_to_Aop, /* DSPF_YUY2 */
- Bop_8_to_Aop, /* DSPF_RGB332 */
- Bop_16_to_Aop, /* DSPF_UYVY */
- Bop_i420_to_Aop, /* DSPF_I420 */
- Bop_i420_to_Aop, /* DSPF_YV12 */
- Bop_8_to_Aop, /* DSPF_LUT8 */
- Bop_8_to_Aop, /* DSPF_ALUT44 */
- Bop_32_to_Aop, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- Bop_NV_to_Aop, /* DSPF_NV12 */
- Bop_NV_to_Aop, /* DSPF_NV16 */
- Bop_16_to_Aop, /* DSPF_ARGB2554 */
- Bop_16_to_Aop, /* DSPF_ARGB4444 */
- Bop_16_to_Aop, /* DSPF_RGBA4444 */
- Bop_NV_to_Aop, /* DSPF_NV21 */
- Bop_32_to_Aop, /* DSPF_AYUV */
- Bop_4_to_Aop, /* DSPF_A4 */
- Bop_24_to_Aop, /* DSPF_ARGB1666 */
- Bop_24_to_Aop, /* DSPF_ARGB6666 */
- Bop_24_to_Aop, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Bop_16_to_Aop, /* DSPF_RGB444 */
- Bop_16_to_Aop, /* DSPF_RGB555 */
- Bop_16_to_Aop, /* DSPF_BGR555 */
- Bop_16_to_Aop, /* DSPF_RGBA5551 */
- Bop_yuv444p_to_Aop, /* DSPF_YUV444P */
- Bop_24_to_Aop, /* DSPF_ARGB8565 */
- Bop_32_to_Aop, /* DSPF_AVYU */
- Bop_24_to_Aop, /* DSPF_VYU */
+static const GenefxFunc Bop_PFI_to_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Bop_16_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Bop_16_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Bop_24_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_32_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Bop_32_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Bop_8_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Bop_16_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Bop_8_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Bop_16_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = Bop_i420_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = Bop_i420_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Bop_8_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Bop_8_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Bop_32_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = Bop_NV_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = Bop_NV_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Bop_16_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Bop_16_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Bop_16_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = Bop_NV_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Bop_32_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = Bop_4_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Bop_24_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Bop_24_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Bop_24_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Bop_16_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Bop_16_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Bop_16_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Bop_16_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Bop_yuv444p_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Bop_24_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Bop_32_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Bop_24_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = Bop_yv16_to_Aop,
};
/********************************* Bop_PFI_toR_Aop_PFI *************************/
static void Bop_4_toR_Aop( GenefxState *gfxs )
{
- int w = gfxs->length>>1;
+ int w = ( gfxs->length >> 1 ) + 1;
int Dstep = gfxs->Astep;
u8 * S = gfxs->Bop[0];
u8 * D = gfxs->Aop[0];
- while(w--)
+ while(--w)
{
*D = *S;
D += Dstep;
- S++;
+ ++S;
}
}
static void Bop_8_toR_Aop( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int Dstep = gfxs->Astep;
u8 * S = gfxs->Bop[0];
u8 * D = gfxs->Aop[0];
- while(w--)
+ while(--w)
{
*D = *S;
D += Dstep;
- S++;
+ ++S;
}
}
static void Bop_16_toR_Aop( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int Dstep = gfxs->Astep;
u16 * S = gfxs->Bop[0];
u16 * D = gfxs->Aop[0];
- while(w--)
+ while(--w)
{
*D = *S;
D += Dstep;
- S++;
+ ++S;
}
}
static void Bop_24_toR_Aop( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int Dstep = gfxs->Astep;
u8 * S = gfxs->Bop[0];
u8 * D = gfxs->Aop[0];
- while(w--)
+ while(--w)
{
D[0] = S[0];
D[1] = S[1];
@@ -1000,15 +1075,15 @@ static void Bop_24_toR_Aop( GenefxState *gfxs )
static void Bop_32_toR_Aop( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int Dstep = gfxs->Astep;
u32 * S = gfxs->Bop[0];
u32 * D = gfxs->Aop[0];
- while(w--)
+ while(--w)
{
*D = *S;
D += Dstep;
- S++;
+ ++S;
}
}
@@ -1016,13 +1091,13 @@ static void Bop_i420_toR_Aop( GenefxState *gfxs )
{
Bop_8_toR_Aop( gfxs );
if (gfxs->AopY & 1) {
- int w = gfxs->length>>1;
+ int w = ( gfxs->length >> 1 ) + 1;
int Dstep = gfxs->Astep>>1;
u8 * S1 = gfxs->Bop[1];
u8 * D1 = gfxs->Aop[1];
u8 * S2 = gfxs->Bop[2];
u8 * D2 = gfxs->Aop[2];
- while(w--)
+ while(--w)
{
*D1 = *S1++;
*D2 = *S2++;
@@ -1030,17 +1105,37 @@ static void Bop_i420_toR_Aop( GenefxState *gfxs )
D2 += Dstep;
}
}
-}
+}
+
+static void Bop_yv16_toR_Aop( GenefxState *gfxs )
+{
+ Bop_8_toR_Aop( gfxs );
+
+ int w = (gfxs->length / 2) + 1;
+ int Dstep = gfxs->Astep / 2;
+ const u8 * S1 = gfxs->Bop[1];
+ const u8 * S2 = gfxs->Bop[2];
+ u8 * __restrict D1 = gfxs->Aop[1];
+ u8 * __restrict D2 = gfxs->Aop[2];
+
+ while(--w)
+ {
+ *D1 = *S1++;
+ *D2 = *S2++;
+ D1 += Dstep;
+ D2 += Dstep;
+ }
+}
static void Bop_NV_toR_Aop( GenefxState *gfxs )
{
Bop_8_toR_Aop( gfxs );
if (gfxs->dst_format == DSPF_NV16 || gfxs->AopY & 1) {
- int w = gfxs->length&~1;
+ int w = (gfxs->length&~1) + 1;
int Dstep = gfxs->Astep;
u8 * S = gfxs->Bop[1];
u8 * D = gfxs->Aop[1];
- while(w--)
+ while(--w)
{
*D = *S++;
D += Dstep;
@@ -1075,137 +1170,48 @@ static void Bop_yuv444p_toR_Aop( GenefxState *gfxs )
}
}
-static GenefxFunc Bop_PFI_toR_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Bop_16_toR_Aop, /* DSPF_ARGB1555 */
- Bop_16_toR_Aop, /* DSPF_RGB16 */
- Bop_24_toR_Aop, /* DSPF_RGB24 */
- Bop_32_toR_Aop, /* DSPF_RGB32 */
- Bop_32_toR_Aop, /* DSPF_ARGB */
- Bop_8_toR_Aop, /* DSPF_A8 */
- Bop_16_toR_Aop, /* DSPF_YUY2 */
- Bop_8_toR_Aop, /* DSPF_RGB332 */
- Bop_16_toR_Aop, /* DSPF_UYVY */
- Bop_i420_toR_Aop, /* DSPF_I420 */
- Bop_i420_toR_Aop, /* DSPF_YV12 */
- Bop_8_toR_Aop, /* DSPF_LUT8 */
- Bop_8_toR_Aop, /* DSPF_ALUT44 */
- Bop_32_toR_Aop, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- Bop_NV_toR_Aop, /* DSPF_NV12 */
- Bop_NV_toR_Aop, /* DSPF_NV16 */
- Bop_16_toR_Aop, /* DSPF_ARGB2554 */
- Bop_16_toR_Aop, /* DSPF_ARGB4444 */
- Bop_16_toR_Aop, /* DSPF_RGBA4444 */
- Bop_NV_toR_Aop, /* DSPF_NV21 */
- Bop_32_toR_Aop, /* DSPF_AYUV */
- Bop_4_toR_Aop, /* DSPF_A4 */
- Bop_24_toR_Aop, /* DSPF_ARGB1666 */
- Bop_24_toR_Aop, /* DSPF_ARGB6666 */
- Bop_24_toR_Aop, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Bop_16_toR_Aop, /* DSPF_RGB444 */
- Bop_16_toR_Aop, /* DSPF_RGB555 */
- Bop_16_toR_Aop, /* DSPF_BGR555 */
- Bop_16_toR_Aop, /* DSPF_RGBA5551 */
- Bop_yuv444p_toR_Aop, /* DSPF_YUV444P */
- Bop_24_toR_Aop, /* DSPF_ARGB8565 */
- Bop_32_toR_Aop, /* DSPF_AVYU */
- Bop_24_toR_Aop, /* DSPF_VYU */
+static const GenefxFunc Bop_PFI_toR_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Bop_16_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Bop_16_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Bop_24_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_32_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Bop_32_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Bop_8_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Bop_16_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Bop_8_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Bop_16_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = Bop_i420_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = Bop_i420_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Bop_8_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Bop_8_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Bop_32_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = Bop_NV_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = Bop_NV_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Bop_16_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Bop_16_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Bop_16_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = Bop_NV_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Bop_32_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = Bop_4_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Bop_24_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Bop_24_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Bop_24_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Bop_16_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Bop_16_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Bop_16_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Bop_16_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Bop_yuv444p_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Bop_24_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Bop_32_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Bop_24_toR_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = Bop_yv16_toR_Aop,
};
/********************************* Bop_PFI_Kto_Aop_PFI ************************/
-static void Bop_rgb18_Kto_Aop( GenefxState *gfxs )
-{
-
- int w = gfxs->length;
- u8 *D = gfxs->Aop[0];
- u8 *S = gfxs->Bop[0];
- u32 Skey = gfxs->Skey;
- int Ostep = gfxs->Ostep;
-
- if (Ostep < 0) {
- D += (gfxs->length - 1) * 3;
- S += (gfxs->length - 1) * 3;
- }
-
- while (w--) {
- u8 s0 = S[0];
- u8 s1 = S[1];
- u8 s2 = S[2];
-
- if (Skey != ((u32)(s2<<16 | s1<<8 | s0) & 0x3FFFF)) {
- D[0] = s0;
- D[1] = s1;
- D[2] = s2;
- }
-
- S += Ostep * 3;
- D += Ostep * 3;
- }
-}
-
-static void Bop_argb8565_Kto_Aop( GenefxState *gfxs )
-{
- int w = gfxs->length + 1;
- u8 *D = gfxs->Aop[0];
- u8 *S = gfxs->Bop[0];
- u32 Skey = gfxs->Skey;
- int Ostep = gfxs->Ostep;
-
- if (Ostep < 0) {
- D += (gfxs->length - 1) * 3;
- S += (gfxs->length - 1) * 3;
- }
-
- while (--w) {
-
-#ifdef WORDS_BIGENDIAN
- u32 s = S[1] << 8 | S[2];
-#else
- u32 s = S[1] << 8 | S[0];
-#endif
-
- if (Skey != s) {
- D[0] = S[0];
- D[1] = S[1];
- D[2] = S[2];
- }
-
- S += Ostep * 3;
- D += Ostep * 3;
- }
-}
-
-static void Bop_rgb24_Kto_Aop( GenefxState *gfxs )
-{
- int w = gfxs->length;
- u8 *D = gfxs->Aop[0];
- u8 *S = gfxs->Bop[0];
- u32 Skey = gfxs->Skey;
- int Ostep = gfxs->Ostep;
-
- if (Ostep < 0) {
- D += (gfxs->length - 1) * 3;
- S += (gfxs->length - 1) * 3;
- }
-
- while (w--) {
- u8 b = *S;
- u8 g = *(S+1);
- u8 r = *(S+2);
-
- if (Skey != (u32)(r<<16 | g<<8 | b)) {
- *D = b;
- *(D+1) = g;
- *(D+2) = r;
- }
-
- S += Ostep * 3;
- D += Ostep * 3;
- }
-}
-
static void Bop_a8_Kto_Aop( GenefxState *gfxs )
{
/* no color to key */
@@ -1303,7 +1309,7 @@ static void Bop_8_Kto_Aop( GenefxState *gfxs )
static void Bop_alut44_Kto_Aop( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length +1;
u8 *D = gfxs->Aop[0];
u8 *S = gfxs->Bop[0];
u32 Skey = gfxs->Skey;
@@ -1314,7 +1320,7 @@ static void Bop_alut44_Kto_Aop( GenefxState *gfxs )
S += gfxs->length - 1;
}
- while (w--) {
+ while (--w) {
u8 spixel = *S;
if ((spixel & 0x0F) != Skey)
@@ -1360,108 +1366,47 @@ static void Bop_yuv444p_Kto_Aop( GenefxState *gfxs )
}
static GenefxFunc Bop_PFI_Kto_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Bop_15_Kto_Aop, /* DSPF_ARGB1555 */
- Bop_16_Kto_Aop, /* DSPF_RGB16 */
- Bop_rgb24_Kto_Aop, /* DSPF_RGB24 */
- Bop_32_Kto_Aop, /* DSPF_RGB32 */
- Bop_32_Kto_Aop, /* DSPF_ARGB */
- Bop_a8_Kto_Aop, /* DSPF_A8 */
- Bop_yuv422_Kto_Aop, /* DSPF_YUY2 */
- Bop_8_Kto_Aop, /* DSPF_RGB332 */
- Bop_yuv422_Kto_Aop, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- Bop_8_Kto_Aop, /* DSPF_LUT8 */
- Bop_alut44_Kto_Aop, /* DSPF_ALUT44 */
- Bop_32_Kto_Aop, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- Bop_14_Kto_Aop, /* DSPF_ARGB2554 */
- Bop_12_Kto_Aop, /* DSPF_ARGB4444 */
- Bop_12vv_Kto_Aop, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- Bop_32_Kto_Aop, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- Bop_rgb18_Kto_Aop, /* DSPF_ARGB1666 */
- Bop_rgb18_Kto_Aop, /* DSPF_ARGB6666 */
- Bop_rgb18_Kto_Aop, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Bop_12_Kto_Aop, /* DSPF_RGB444 */
- Bop_15_Kto_Aop, /* DSPF_RGB555 */
- Bop_15_Kto_Aop, /* DSPF_BGR555 */
- Bop_15_Kto_Aop, /* DSPF_RGBA5551 */
- Bop_yuv444p_Kto_Aop, /* DSPF_YUV444P */
- Bop_argb8565_Kto_Aop, /* DSPF_ARGB8565 */
- Bop_32_Kto_Aop, /* DSPF_AVYU */
- Bop_rgb24_Kto_Aop, /* DSPF_VYU */
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Bop_15_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Bop_16_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Bop_24_24_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_32_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Bop_32_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Bop_a8_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Bop_yuv422_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Bop_8_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Bop_yuv422_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Bop_8_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Bop_alut44_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Bop_32_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Bop_14_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Bop_12_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Bop_12vv_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Bop_32_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Bop_24_18_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Bop_24_18_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Bop_24_18_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Bop_12_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Bop_15_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Bop_15_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Bop_15_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Bop_yuv444p_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Bop_24_16_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Bop_32_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Bop_24_24_Kto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
};
/********************************* Bop_PFI_toK_Aop_PFI ************************/
-static void Bop_rgb18_toK_Aop( GenefxState *gfxs )
-{
- int w = gfxs->length;
- u8 *D = gfxs->Aop[0];
- u8 *S = gfxs->Bop[0];
- u32 Dkey = gfxs->Dkey;
-
- while (w--) {
- if (Dkey == ((u32)(D[2]<<16 | D[1]<<8 | D[0]) & 0x3FFFF)) {
- D[0] = S[0];
- D[1] = S[1];
- D[2] = S[2];
- }
- S += 3;
- D += 3;
- }
-}
-
-static void Bop_argb8565_toK_Aop( GenefxState *gfxs )
-{
- int w = gfxs->length + 1;
- u8 *D = gfxs->Aop[0];
- u8 *S = gfxs->Bop[0];
- u32 Dkey = gfxs->Dkey;
-
- while (--w) {
-
-#ifdef WORDS_BIGENDIAN
- u32 d = D[1] << 8 | D[2];
-#else
- u32 d = D[1] << 8 | D[0];
-#endif
- if (Dkey == d) {
- D[0] = S[0];
- D[1] = S[1];
- D[2] = S[2];
- }
-
- S += 3;
- D += 3;
- }
-}
-
-static void Bop_rgb24_toK_Aop( GenefxState *gfxs )
-{
- int w = gfxs->length;
- u8 *S = gfxs->Bop[0];
- u8 *D = gfxs->Aop[0];
- u8 Dkr = (gfxs->Dkey & 0xff0000) >> 16;
- u8 Dkg = (gfxs->Dkey & 0x00ff00) >> 8;
- u8 Dkb = (gfxs->Dkey & 0x0000ff);
-
- while (w--) {
- if (D[0] == Dkb && D[1] == Dkg && D[2] == Dkr) {
- D[0] = S[0];
- D[1] = S[1];
- D[2] = S[2];
- }
- S += 3;
- D += 3;
- }
-}
-
static void Bop_yuv422_toK_Aop( GenefxState *gfxs )
{
int l;
@@ -1514,17 +1459,17 @@ static void Bop_yuv422_toK_Aop( GenefxState *gfxs )
static void Bop_rgb332_toK_Aop( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
u8 *S = gfxs->Bop[0];
u8 *D = gfxs->Aop[0];
u8 Dkey = gfxs->Dkey;
- while (w--) {
+ while (--w) {
if (*D == Dkey) {
*D = *S;
}
- D++;
- S++;
+ ++D;
+ ++S;
}
}
@@ -1559,80 +1504,63 @@ static void Bop_yuv444p_toK_Aop( GenefxState *gfxs )
}
}
-static GenefxFunc Bop_PFI_toK_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Bop_15_toK_Aop, /* DSPF_ARGB1555 */
- Bop_16_toK_Aop, /* DSPF_RGB16 */
- Bop_rgb24_toK_Aop, /* DSPF_RGB24 */
- Bop_32_toK_Aop, /* DSPF_RGB32 */
- Bop_32_toK_Aop, /* DSPF_ARGB */
- NULL, /* DSPF_A8 */
- Bop_yuv422_toK_Aop, /* DSPF_YUY2 */
- Bop_rgb332_toK_Aop, /* DSPF_RGB332 */
- Bop_yuv422_toK_Aop, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- NULL, /* DSPF_LUT8 */
- NULL, /* DSPF_ALUT44 */
- Bop_32_toK_Aop, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- Bop_14_toK_Aop, /* DSPF_ARGB2554 */
- Bop_12_toK_Aop, /* DSPF_ARGB4444 */
- Bop_12vv_toK_Aop, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- Bop_32_toK_Aop, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- Bop_rgb18_toK_Aop, /* DSPF_ARGB1666 */
- Bop_rgb18_toK_Aop, /* DSPF_ARGB6666 */
- Bop_rgb18_toK_Aop, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Bop_12_toK_Aop, /* DSPF_RGB444 */
- Bop_15_toK_Aop, /* DSPF_RGB555 */
- Bop_15_toK_Aop, /* DSPF_BGR555 */
- Bop_15_toK_Aop, /* DSPF_RGBA5551 */
- Bop_yuv444p_toK_Aop, /* DSPF_YUV444P */
- Bop_argb8565_toK_Aop, /* DSPF_ARGB8565 */
- Bop_32_toK_Aop, /* DSPF_AVYU */
- Bop_rgb24_toK_Aop, /* DSPF_VYU */
-};
-
-/********************************* Bop_PFI_KtoK_Aop_PFI ***********************/
-
-static void Bop_argb8565_KtoK_Aop( GenefxState *gfxs )
+static void Bop_8_toK_Aop( GenefxState *gfxs )
{
- int l = gfxs->length + 1;
- int Ostep = gfxs->Ostep;
- u8 *S = gfxs->Bop[0];
- u8 *D = gfxs->Aop[0];
- u32 Skey = gfxs->Skey;
- u32 Dkey = gfxs->Dkey;
-
- if (Ostep < 0) {
- D += (gfxs->length - 1) * 3;
- S += (gfxs->length - 1) * 3;
- }
-
- while (--l) {
+ int w = gfxs->length+1;
+ u8 *D = gfxs->Aop[0];
+ u8 *S = gfxs->Bop[0];
+ u8 Dkey = gfxs->Dkey;
-#ifdef WORDS_BIGENDIAN
- u32 s = S[1] << 8 | S[2];
- u32 d = D[1] << 8 | D[2];
-#else
- u32 s = S[1] << 8 | S[0];
- u32 d = D[1] << 8 | D[0];
-#endif
+ while (--w) {
+ if (*D == Dkey) {
+ *D = *S;
+ }
+ ++D;
+ ++S;
+ }
+}
- if (Skey != s && Dkey == d) {
- D[0] = S[0];
- D[1] = S[1];
- D[2] = S[2];
- }
+static GenefxFunc Bop_PFI_toK_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Bop_15_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Bop_16_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Bop_24_24_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_32_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Bop_32_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Bop_yuv422_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Bop_rgb332_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Bop_yuv422_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Bop_8_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Bop_32_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Bop_14_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Bop_12_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Bop_12vv_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Bop_32_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Bop_24_18_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Bop_24_18_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Bop_24_18_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Bop_12_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Bop_15_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Bop_15_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Bop_15_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Bop_yuv444p_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Bop_24_16_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Bop_32_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Bop_24_24_toK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
+};
- S += Ostep * 3;
- D += Ostep * 3;
- }
-}
+/********************************* Bop_PFI_KtoK_Aop_PFI ***********************/
static void Bop_yuv444p_KtoK_Aop( GenefxState *gfxs )
{
@@ -1673,77 +1601,44 @@ static void Bop_yuv444p_KtoK_Aop( GenefxState *gfxs )
}
}
-static void Bop_vyu_KtoK_Aop( GenefxState *gfxs )
-{
- int l = gfxs->length + 1;
- int Ostep = gfxs->Ostep;
- u8 *S = gfxs->Bop[0];
- u8 *D = gfxs->Aop[0];
- u32 Skey = gfxs->Skey;
- u32 Dkey = gfxs->Dkey;
-
- if (Ostep < 0) {
- D += (gfxs->length - 1) * 3;
- S += (gfxs->length - 1) * 3;
- }
-
- while (--l) {
-
-#ifdef WORDS_BIGENDIAN
- u32 s = S[0] << 16 | S[1] << 8 | S[2];
- u32 d = D[0] << 16 | D[1] << 8 | D[2];
-#else
- u32 s = S[2] << 16 | S[1] << 8 | S[0];
- u32 d = D[2] << 16 | D[1] << 8 | D[0];
-#endif
-
- if (Skey != s && Dkey == d) {
- D[0] = S[0];
- D[1] = S[1];
- D[2] = S[2];
- }
-
- S += Ostep * 3;
- D += Ostep * 3;
- }
-}
-
-static GenefxFunc Bop_PFI_KtoK_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Bop_15_KtoK_Aop, /* DSPF_ARGB1555 */
- Bop_16_KtoK_Aop, /* DSPF_RGB16 */
- NULL, /* DSPF_RGB24 */
- Bop_32_KtoK_Aop, /* DSPF_RGB32 */
- Bop_32_KtoK_Aop, /* DSPF_ARGB */
- NULL, /* DSPF_A8 */
- NULL, /* DSPF_YUY2 */
- NULL, /* DSPF_RGB332 */
- NULL, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- NULL, /* DSPF_LUT8 */
- NULL, /* DSPF_ALUT44 */
- Bop_32_KtoK_Aop, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- Bop_14_KtoK_Aop, /* DSPF_ARGB2554 */
- Bop_12_KtoK_Aop, /* DSPF_ARGB4444 */
- Bop_12vv_KtoK_Aop, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- NULL, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- NULL, /* DSPF_ARGB1666 */
- NULL, /* DSPF_ARGB6666 */
- NULL, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Bop_12_KtoK_Aop, /* DSPF_RGB444 */
- Bop_15_KtoK_Aop, /* DSPF_RGB555 */
- Bop_15_KtoK_Aop, /* DSPF_BGR555 */
- Bop_15_KtoK_Aop, /* DSPF_RGBA5551 */
- Bop_yuv444p_KtoK_Aop, /* DSPF_YUV444P */
- Bop_argb8565_KtoK_Aop, /* DSPF_ARGB8565 */
- Bop_32_KtoK_Aop, /* DSPF_AVYU */
- Bop_vyu_KtoK_Aop, /* DSPF_VYU */
+static const GenefxFunc Bop_PFI_KtoK_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Bop_15_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Bop_16_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Bop_24_24_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_32_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Bop_32_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Bop_32_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Bop_14_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Bop_12_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Bop_12vv_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Bop_24_18_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Bop_24_18_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Bop_24_18_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Bop_12_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Bop_15_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Bop_15_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Bop_15_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Bop_yuv444p_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Bop_24_16_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Bop_32_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Bop_24_24_KtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
};
/********************************* Bop_PFI_Sto_Aop_PFI ************************/
@@ -1781,13 +1676,13 @@ static void Bop_16_Sto_Aop( GenefxState *gfxs )
static void Bop_24_Sto_Aop( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
u8 *D = gfxs->Aop[0];
u8 *S = gfxs->Bop[0];
int SperD = gfxs->SperD;
- while (w--) {
+ while (--w) {
int pixelstart = (i>>16)*3;
*D++ = S[pixelstart+0];
@@ -1800,13 +1695,13 @@ static void Bop_24_Sto_Aop( GenefxState *gfxs )
static void Bop_32_Sto_Aop( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
u32 *D = gfxs->Aop[0];
u32 *S = gfxs->Bop[0];
int SperD = gfxs->SperD;
- while (w--) {
+ while (--w) {
*D++ = S[i>>16];
i += SperD;
@@ -1825,7 +1720,7 @@ static void Bop_yuy2_Sto_Aop( GenefxState *gfxs )
if ((long)D & 2) {
*D++ = *S;
i = SperD;
- w--;
+ --w;
}
for (l = w>>1; l--;) {
@@ -1851,13 +1746,13 @@ static void Bop_yuy2_Sto_Aop( GenefxState *gfxs )
static void Bop_8_Sto_Aop( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
u8 *D = gfxs->Aop[0];
u8 *S = gfxs->Bop[0];
int SperD = gfxs->SperD;
- while (w--) {
+ while (--w) {
*D++ = S[i>>16];
i += SperD;
@@ -1876,7 +1771,7 @@ static void Bop_uyvy_Sto_Aop( GenefxState *gfxs )
if ((long)D & 2) {
*D++ = *S;
i = SperD;
- w--;
+ --w;
}
for (l = w>>1; l--;) {
@@ -1902,24 +1797,24 @@ static void Bop_uyvy_Sto_Aop( GenefxState *gfxs )
static void Bop_i420_Sto_Aop( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
u8 *Dy = gfxs->Aop[0];
u8 *Sy = gfxs->Bop[0];
int SperD = gfxs->SperD;
-
- while (w--) {
+
+ while (--w) {
*Dy++ = Sy[i>>16];
i += SperD;
}
-
+
if (gfxs->AopY & 1) {
u8 *Du = gfxs->Aop[1];
u8 *Dv = gfxs->Aop[2];
u8 *Su = gfxs->Bop[1];
u8 *Sv = gfxs->Bop[2];
-
+
for (w = gfxs->length>>1, i = 0; w--;) {
*Du++ = Su[i>>16];
@@ -1934,20 +1829,48 @@ static void Bop_i420_Sto_Aop( GenefxState *gfxs )
}
}
+static void Bop_yv16_Sto_Aop( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ int i = gfxs->Xphase;
+ int SperD = gfxs->SperD;
+ const u8 * __restrict Sy = gfxs->Bop[0];
+ const u8 * __restrict Su = gfxs->Bop[1];
+ const u8 * __restrict Sv = gfxs->Bop[2];
+ u8 * __restrict Dy = gfxs->Aop[0];
+ u8 * __restrict Du = gfxs->Aop[1];
+ u8 * __restrict Dv = gfxs->Aop[2];
+
+ while (--w) {
+ *Dy++ = Sy[i>>16];
+
+ i += SperD;
+ }
+
+ i = 0;
+ w = (gfxs->length / 2) + 1;
+ while (--w) {
+ *Du++ = Su[i>>16];
+ *Dv++ = Sv[i>>16];
+
+ i += SperD;
+ }
+}
+
static void Bop_NV_Sto_Aop( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length +1;
int i = gfxs->Xphase;
u8 *Dy = gfxs->Aop[0];
u8 *Sy = gfxs->Bop[0];
int SperD = gfxs->SperD;
-
- while (w--) {
+
+ while (--w) {
*Dy++ = Sy[i>>16];
i += SperD;
}
-
+
if (gfxs->dst_format == DSPF_NV16 || gfxs->AopY & 1) {
u16 *Duv = gfxs->Aop[1];
u16 *Suv = gfxs->Bop[1];
@@ -1986,137 +1909,57 @@ static void Bop_yuv444p_Sto_Aop( GenefxState *gfxs )
}
static GenefxFunc Bop_PFI_Sto_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Bop_16_Sto_Aop, /* DSPF_ARGB1555 */
- Bop_16_Sto_Aop, /* DSPF_RGB16 */
- Bop_24_Sto_Aop, /* DSPF_RGB24 */
- Bop_32_Sto_Aop, /* DSPF_RGB32 */
- Bop_32_Sto_Aop, /* DSPF_ARGB */
- Bop_8_Sto_Aop, /* DSPF_A8 */
- Bop_yuy2_Sto_Aop, /* DSPF_YUY2 */
- Bop_8_Sto_Aop, /* DSPF_RGB332 */
- Bop_uyvy_Sto_Aop, /* DSPF_UYVY */
- Bop_i420_Sto_Aop, /* DSPF_I420 */
- Bop_i420_Sto_Aop, /* DSPF_YV12 */
- Bop_8_Sto_Aop, /* DSPF_LUT8 */
- Bop_8_Sto_Aop, /* DSPF_ALUT44 */
- Bop_32_Sto_Aop, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- Bop_NV_Sto_Aop, /* DSPF_NV12 */
- Bop_NV_Sto_Aop, /* DSPF_NV16 */
- Bop_16_Sto_Aop, /* DSPF_ARGB2554 */
- Bop_16_Sto_Aop, /* DSPF_ARGB4444 */
- Bop_16_Sto_Aop, /* DSPF_RGBA4444 */
- Bop_NV_Sto_Aop, /* DSPF_NV21 */
- Bop_32_Sto_Aop, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- Bop_24_Sto_Aop, /* DSPF_ARGB1666 */
- Bop_24_Sto_Aop, /* DSPF_ARGB6666 */
- Bop_24_Sto_Aop, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Bop_16_Sto_Aop, /* DSPF_RGB444 */
- Bop_16_Sto_Aop, /* DSPF_RGB555 */
- Bop_16_Sto_Aop, /* DSPF_BGR555 */
- Bop_16_Sto_Aop, /* DSPF_RGBA5551 */
- Bop_yuv444p_Sto_Aop, /* DSPF_YUV444P */
- Bop_24_Sto_Aop, /* DSPF_ARGB8565 */
- Bop_32_Sto_Aop, /* DSPF_AVYU */
- Bop_24_Sto_Aop, /* DSPF_VYU */
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Bop_16_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Bop_16_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Bop_24_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_32_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Bop_32_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Bop_8_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Bop_yuy2_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Bop_8_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Bop_uyvy_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = Bop_i420_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = Bop_i420_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Bop_8_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Bop_8_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Bop_32_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = Bop_NV_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = Bop_NV_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Bop_16_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Bop_16_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Bop_16_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = Bop_NV_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Bop_32_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Bop_24_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Bop_24_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Bop_24_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Bop_16_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Bop_16_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Bop_16_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Bop_16_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Bop_yuv444p_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Bop_24_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Bop_32_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Bop_24_Sto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = Bop_yv16_Sto_Aop,
};
/********************************* Bop_PFI_SKto_Aop_PFI ***********************/
-static void Bop_rgb18_SKto_Aop( GenefxState *gfxs )
-{
- int w = gfxs->length;
- int i = gfxs->Xphase;
- u8 *D = gfxs->Aop[0];
- u8 *S = gfxs->Bop[0];
- u32 Skey = gfxs->Skey;
- int SperD = gfxs->SperD;
-
- while (w--) {
- int pixelstart = (i>>16)*3;
-
- u8 s0 = S[pixelstart+0];
- u8 s1 = S[pixelstart+1];
- u8 s2 = S[pixelstart+2];
-
- if (Skey != ((u32)(s2<<16 | s1<<8 | s0) & 0x3FFFF)) {
- D[0] = s0;
- D[1] = s1;
- D[2] = s2;
- }
- i += SperD;
- D += 3;
- }
-}
-
-static void Bop_argb8565_SKto_Aop( GenefxState *gfxs )
-{
- int w = gfxs->length + 1;
- int i = gfxs->Xphase;
- u8 *D = gfxs->Aop[0];
- u8 *S = gfxs->Bop[0];
- u32 Skey = gfxs->Skey;
- int SperD = gfxs->SperD;
-
- while (--w) {
- int pixelstart = (i >> 16) * 3;
-
-#ifdef WORDS_BIGENDIAN
- u32 s = S[pixelstart+1] << 8 | S[pixelstart+2];
-#else
- u32 s = S[pixelstart+1] << 8 | S[pixelstart+0];
-#endif
-
- if (Skey != s) {
- D[0] = S[pixelstart+0];
- D[1] = S[pixelstart+1];
- D[2] = S[pixelstart+2];
- }
-
- D += 3;
- i += SperD;
- }
-}
-
-static void Bop_rgb24_SKto_Aop( GenefxState *gfxs )
-{
- int w = gfxs->length;
- int i = gfxs->Xphase;
- u8 *D = gfxs->Aop[0];
- u8 *S = gfxs->Bop[0];
- u32 Skey = gfxs->Skey;
- int SperD = gfxs->SperD;
-
- while (w--) {
- int pixelstart = (i>>16)*3;
-
- u8 b = S[pixelstart+0];
- u8 g = S[pixelstart+1];
- u8 r = S[pixelstart+2];
-
- if (Skey != (u32)(r<<16 | g<<8 | b)) {
- *D = b;
- *(D+1) = g;
- *(D+2) = r;
- }
-
- D += 3;
- i += SperD;
- }
-}
-
static void Bop_a8_SKto_Aop( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
u8 *D = gfxs->Aop[0];
u8 *S = gfxs->Bop[0];
int SperD = gfxs->SperD;
/* no color to key */
- while (w--) {
+ while (--w) {
*D++ = S[i>>16];
i += SperD;
@@ -2144,9 +1987,9 @@ static void Bop_yuy2_SKto_Aop( GenefxState *gfxs )
u16 s = *S;
if (s != Skey0)
*D = s;
- D++;
+ ++D;
i = SperD;
- w--;
+ --w;
}
for (l = w>>1; l--;) {
@@ -2181,20 +2024,20 @@ static void Bop_yuy2_SKto_Aop( GenefxState *gfxs )
static void Bop_8_SKto_Aop( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
u8 *D = gfxs->Aop[0];
u8 *S = gfxs->Bop[0];
u32 Skey = gfxs->Skey;
int SperD = gfxs->SperD;
- while (w--) {
+ while (--w) {
u8 s = S[i>>16];
if (s != Skey)
*D = s;
- D++;
+ ++D;
i += SperD;
}
}
@@ -2220,9 +2063,9 @@ static void Bop_uyvy_SKto_Aop( GenefxState *gfxs )
u16 s = *S;
if (s != Skey0)
*D = s;
- D++;
+ ++D;
i = SperD;
- w--;
+ --w;
}
for (l = w>>1; l--;) {
@@ -2257,20 +2100,20 @@ static void Bop_uyvy_SKto_Aop( GenefxState *gfxs )
static void Bop_alut44_SKto_Aop( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
u8 *D = gfxs->Aop[0];
u8 *S = gfxs->Bop[0];
u32 Skey = gfxs->Skey;
int SperD = gfxs->SperD;
- while (w--) {
+ while (--w) {
u8 s = S[i>>16];
if ((s & 0x0f) != Skey)
*D = s;
- D++;
+ ++D;
i += SperD;
}
}
@@ -2304,75 +2147,48 @@ static void Bop_yuv444p_SKto_Aop( GenefxState *gfxs )
}
}
-static GenefxFunc Bop_PFI_SKto_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Bop_15_SKto_Aop, /* DSPF_ARGB1555 */
- Bop_16_SKto_Aop, /* DSPF_RGB16 */
- Bop_rgb24_SKto_Aop, /* DSPF_RGB24 */
- Bop_32_SKto_Aop, /* DSPF_RGB32 */
- Bop_32_SKto_Aop, /* DSPF_ARGB */
- Bop_a8_SKto_Aop, /* DSPF_A8 */
- Bop_yuy2_SKto_Aop, /* DSPF_YUY2 */
- Bop_8_SKto_Aop, /* DSPF_RGB332 */
- Bop_uyvy_SKto_Aop, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- Bop_8_SKto_Aop, /* DSPF_LUT8 */
- Bop_alut44_SKto_Aop, /* DSPF_ALUT44 */
- Bop_32_SKto_Aop, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- Bop_14_SKto_Aop, /* DSPF_ARGB2554 */
- Bop_12_SKto_Aop, /* DSPF_ARGB4444 */
- Bop_12vv_SKto_Aop, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- Bop_32_SKto_Aop, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- Bop_rgb18_SKto_Aop, /* DSPF_ARGB1666 */
- Bop_rgb18_SKto_Aop, /* DSPF_ARGB6666 */
- Bop_rgb18_SKto_Aop, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Bop_12_SKto_Aop, /* DSPF_RGB444 */
- Bop_15_SKto_Aop, /* DSPF_RGB555 */
- Bop_15_SKto_Aop, /* DSPF_BGR555 */
- Bop_15_SKto_Aop, /* DSPF_RGBA5551 */
- Bop_yuv444p_SKto_Aop, /* DSPF_YUV444P */
- Bop_argb8565_SKto_Aop, /* DSPF_ARGB8565 */
- Bop_32_SKto_Aop, /* DSPF_AVYU */
- Bop_rgb24_SKto_Aop, /* DSPF_VYU */
+static const GenefxFunc Bop_PFI_SKto_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Bop_15_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Bop_16_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Bop_24_24_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_32_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Bop_32_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Bop_a8_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Bop_yuy2_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Bop_8_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Bop_uyvy_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Bop_8_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Bop_alut44_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Bop_32_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Bop_14_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Bop_12_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Bop_12vv_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Bop_32_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Bop_24_18_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Bop_24_18_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Bop_24_18_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Bop_12_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Bop_15_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Bop_15_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Bop_15_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Bop_yuv444p_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Bop_24_16_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Bop_32_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Bop_24_24_SKto_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
};
/********************************* Bop_PFI_StoK_Aop_PFI ***********************/
-static void Bop_argb8565_StoK_Aop( GenefxState *gfxs )
-{
- int l = gfxs->length + 1;
- int i = gfxs->Xphase;
- int SperD = gfxs->SperD;
- u8 *S = gfxs->Bop[0];
- u8 *D = gfxs->Aop[0];
- u32 Dkey = gfxs->Dkey;
-
- while (--l) {
- int pixelstart = (i >> 16) * 3;
-
-#ifdef WORDS_BIGENDIAN
- u32 d = D[1] << 8 | D[2];
-#else
- u32 d = D[1] << 8 | D[0];
-#endif
-
- if (Dkey == d) {
- D[0] = S[pixelstart+0];
- D[1] = S[pixelstart+1];
- D[2] = S[pixelstart+2];
- }
-
- D += 3;
- i += SperD;
- }
-}
-
static void Bop_yuv444p_StoK_Aop( GenefxState *gfxs )
{
int l = gfxs->length + 1;
@@ -2406,107 +2222,48 @@ static void Bop_yuv444p_StoK_Aop( GenefxState *gfxs )
}
}
-static void Bop_vyu_StoK_Aop( GenefxState *gfxs )
-{
- int l = gfxs->length + 1;
- int i = gfxs->Xphase;
- int SperD = gfxs->SperD;
- u8 *S = gfxs->Bop[0];
- u8 *D = gfxs->Aop[0];
- u32 Dkey = gfxs->Dkey;
-
- while (--l) {
- int pixelstart = (i >> 16) * 3;
-
-#ifdef WORDS_BIGENDIAN
- u32 d = D[0] << 16 | D[1] << 8 | D[2];
-#else
- u32 d = D[2] << 16 | D[1] << 8 | D[0];
-#endif
-
- if (Dkey == d) {
- D[0] = S[pixelstart+0];
- D[1] = S[pixelstart+1];
- D[2] = S[pixelstart+2];
- }
-
- D += 3;
- i += SperD;
- }
-}
-
-static GenefxFunc Bop_PFI_StoK_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Bop_15_StoK_Aop, /* DSPF_ARGB1555 */
- Bop_16_StoK_Aop, /* DSPF_RGB16 */
- NULL, /* DSPF_RGB24 */
- Bop_32_StoK_Aop, /* DSPF_RGB32 */
- Bop_32_StoK_Aop, /* DSPF_ARGB */
- NULL, /* DSPF_A8 */
- NULL, /* DSPF_YUY2 */
- NULL, /* DSPF_RGB332 */
- NULL, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- NULL, /* DSPF_LUT8 */
- NULL, /* DSPF_ALUT44 */
- Bop_32_StoK_Aop, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- Bop_14_StoK_Aop, /* DSPF_ARGB2554 */
- Bop_12_StoK_Aop, /* DSPF_ARGB4444 */
- Bop_12vv_StoK_Aop, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- NULL, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- NULL, /* DSPF_ARGB1666 */
- NULL, /* DSPF_ARGB6666 */
- NULL, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Bop_12_StoK_Aop, /* DSPF_RGB444 */
- Bop_15_StoK_Aop, /* DSPF_RGB555 */
- Bop_15_StoK_Aop, /* DSPF_BGR555 */
- Bop_15_StoK_Aop, /* DSPF_RGBA5551 */
- Bop_yuv444p_StoK_Aop, /* DSPF_YUV444P */
- Bop_argb8565_StoK_Aop, /* DSPF_ARGB8565 */
- Bop_32_StoK_Aop, /* DSPF_AVYU */
- Bop_vyu_StoK_Aop, /* DSPF_VYU */
+static const GenefxFunc Bop_PFI_StoK_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Bop_15_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Bop_16_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Bop_24_24_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_32_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Bop_32_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Bop_32_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Bop_14_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Bop_12_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Bop_12vv_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Bop_24_18_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Bop_24_18_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Bop_24_18_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Bop_12_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Bop_15_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Bop_15_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Bop_15_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Bop_yuv444p_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Bop_24_16_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Bop_32_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Bop_24_24_StoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
};
/********************************* Bop_PFI_SKtoK_Aop_PFI **********************/
-static void Bop_argb8565_SKtoK_Aop( GenefxState *gfxs )
-{
- int l = gfxs->length + 1;
- int i = gfxs->Xphase;
- int SperD = gfxs->SperD;
- u8 *S = gfxs->Bop[0];
- u8 *D = gfxs->Aop[0];
- u32 Skey = gfxs->Skey;
- u32 Dkey = gfxs->Dkey;
-
- while (--l) {
- int pixelstart = (i >> 16) * 3;
-
-#ifdef WORDS_BIGENDIAN
- u32 s = S[pixelstart+1] << 8 | S[pixelstart+2];
- u32 d = D[ 1] << 8 | D[ 2];
-#else
- u32 s = S[pixelstart+1] << 8 | S[pixelstart+0];
- u32 d = D[ 1] << 8 | D[ 0];
-#endif
-
- if (Skey != s && Dkey == d) {
- D[0] = S[pixelstart+0];
- D[1] = S[pixelstart+1];
- D[2] = S[pixelstart+2];
- }
-
- D += 3;
- i += SperD;
- }
-}
-
static void Bop_yuv444p_SKtoK_Aop( GenefxState *gfxs )
{
int l = gfxs->length + 1;
@@ -2542,224 +2299,178 @@ static void Bop_yuv444p_SKtoK_Aop( GenefxState *gfxs )
}
}
-static void Bop_vyu_SKtoK_Aop( GenefxState *gfxs )
+static const GenefxFunc Bop_PFI_SKtoK_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Bop_15_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Bop_16_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Bop_24_24_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_32_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Bop_32_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Bop_32_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Bop_14_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Bop_12_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Bop_12vv_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Bop_24_18_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Bop_24_18_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Bop_24_18_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Bop_12_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Bop_15_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Bop_15_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Bop_15_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Bop_yuv444p_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Bop_24_16_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Bop_32_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Bop_24_24_SKtoK_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
+};
+
+/********************************* Bop_PFI_TEX_to_Aop_PFI ************************/
+
+#if 0
+
+// TODO: scan from right to left, this one flips every 8 s/t from source
+
+/* change the last value to adjust the size of the device (1-4) */
+#define SET_PIXEL_DUFFS_DEVICE_D( D, w ) \
+ SET_PIXEL_DUFFS_DEVICE_N_D( D, w, 3 )
+
+#define SET_PIXEL( D ) \
+ do { \
+ D = S[(s>>16) + (t>>16) * sp4]; \
+ \
+ s += SperD; \
+ t += TperD; \
+ } while (0)
+
+static void Bop_32_TEX_to_Aop( GenefxState *gfxs )
+{
+ int w = gfxs->length;
+ int s = gfxs->s;
+ int t = gfxs->t;
+ int SperD = gfxs->SperD;
+ int TperD = gfxs->TperD;
+ u32 *S = gfxs->Bop[0];
+ u32 *D = gfxs->Aop[0];
+ int sp4 = gfxs->src_pitch / 4;
+
+ SET_PIXEL_DUFFS_DEVICE_D( D, w );
+}
+
+#undef SET_PIXEL_DUFFS_DEVICE
+#undef SET_PIXEL
+
+#else
+
+static void Bop_32_TEX_to_Aop( GenefxState *gfxs )
{
- int l = gfxs->length + 1;
- int i = gfxs->Xphase;
+ int l = gfxs->length+1;
+ int s = gfxs->s;
+ int t = gfxs->t;
int SperD = gfxs->SperD;
- u8 *S = gfxs->Bop[0];
- u8 *D = gfxs->Aop[0];
- u32 Skey = gfxs->Skey;
- u32 Dkey = gfxs->Dkey;
+ int TperD = gfxs->TperD;
+ u32 *S = gfxs->Bop[0];
+ u32 *D = gfxs->Aop[0];
+ int sp4 = gfxs->src_pitch / 4;
while (--l) {
- int pixelstart = (i >> 16) * 3;
+ *D++ = S[(s>>16) + (t>>16) * sp4];
-#ifdef WORDS_BIGENDIAN
- u32 s = S[pixelstart+0] << 16 | S[pixelstart+1] << 8 | S[pixelstart+2];
- u32 d = D[ 0] << 16 | D[ 1] << 8 | D[ 2];
-#else
- u32 s = S[pixelstart+2] << 16 | S[pixelstart+1] << 8 | S[pixelstart+0];
- u32 d = D[ 2] << 16 | D[ 1] << 8 | D[ 0];
-#endif
+ s += SperD;
+ t += TperD;
+ }
+}
- if (Skey != s && Dkey == d) {
- D[0] = S[pixelstart+0];
- D[1] = S[pixelstart+1];
- D[2] = S[pixelstart+2];
- }
+static void Bop_24_TEX_to_Aop( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ int s = gfxs->s;
+ int t = gfxs->t;
+ int SperD = gfxs->SperD;
+ int TperD = gfxs->TperD;
+ const u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+ int sp3 = gfxs->src_pitch / 3;
- D += 3;
- i += SperD;
+ while (--w) {
+ int pixelstart = ((s >> 16) + (t >> 16) * sp3) * 3;
+ *D++ = S[pixelstart++];
+ *D++ = S[pixelstart++];
+ *D++ = S[pixelstart];
+
+ s += SperD;
+ t += TperD;
}
}
-static GenefxFunc Bop_PFI_SKtoK_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Bop_15_SKtoK_Aop, /* DSPF_ARGB1555 */
- Bop_16_SKtoK_Aop, /* DSPF_RGB16 */
- NULL, /* DSPF_RGB24 */
- Bop_32_SKtoK_Aop, /* DSPF_RGB32 */
- Bop_32_SKtoK_Aop, /* DSPF_ARGB */
- NULL, /* DSPF_A8 */
- NULL, /* DSPF_YUY2 */
- NULL, /* DSPF_RGB332 */
- NULL, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- NULL, /* DSPF_LUT8 */
- NULL, /* DSPF_ALUT44 */
- Bop_32_SKtoK_Aop, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- Bop_14_SKtoK_Aop, /* DSPF_ARGB2554 */
- Bop_12_SKtoK_Aop, /* DSPF_ARGB4444 */
- Bop_12vv_SKtoK_Aop, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- NULL, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- NULL, /* DSPF_ARGB1666 */
- NULL, /* DSPF_ARGB6666 */
- NULL, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Bop_12_SKtoK_Aop, /* DSPF_RGB444 */
- Bop_15_SKtoK_Aop, /* DSPF_RGB555 */
- Bop_15_SKtoK_Aop, /* DSPF_BGR555 */
- Bop_15_SKtoK_Aop, /* DSPF_RGBA5551 */
- Bop_yuv444p_SKtoK_Aop, /* DSPF_YUV444P */
- Bop_argb8565_SKtoK_Aop, /* DSPF_ARGB8565 */
- Bop_32_SKtoK_Aop, /* DSPF_AVYU */
- Bop_vyu_SKtoK_Aop, /* DSPF_VYU */
+#endif
+
+static GenefxFunc Bop_PFI_TEX_to_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = NULL,//Bop_16_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = NULL,//Bop_16_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Bop_24_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_32_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Bop_32_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = NULL,//Bop_8_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = NULL,//Bop_yuy2_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = NULL,//Bop_8_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = NULL,//Bop_uyvy_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,//Bop_i420_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,//Bop_i420_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = NULL,//Bop_8_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = NULL,//Bop_8_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Bop_32_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,//Bop_NV_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,//Bop_NV_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = NULL,//Bop_16_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = NULL,//Bop_16_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = NULL,//Bop_16_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,//Bop_NV_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Bop_32_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Bop_24_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Bop_24_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Bop_24_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = NULL,//Bop_16_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = NULL,//Bop_16_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = NULL,//Bop_16_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = NULL,//Bop_16_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = NULL,//Bop_yuv444p_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Bop_24_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Bop_32_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Bop_24_TEX_to_Aop,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,//Bop_yv16_TEX_to_Aop,
};
/********************************* Sop_PFI_Sto_Dacc ***************************/
-static void Sop_argb6666_Sto_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length;
- int i = gfxs->Xphase;
- int SperD = gfxs->SperD;
-
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
-
- while (w--) {
- int pixelstart = (i>>16)*3;
-
- u8 b = S[pixelstart+0] & 0x3F;
- u8 g = ((S[pixelstart+0] & 0xC0) >> 6) | ((S[pixelstart+1] & 0x0F) << 2);
- u8 r = ((S[pixelstart+1] & 0xF0) >> 4) | ((S[pixelstart+2] & 0x03) << 4);
- u8 a = (S[pixelstart+2] & 0xFC) >> 2;
-
- D->RGB.a = EXPAND_6to8( a );
- D->RGB.r = EXPAND_6to8( r );
- D->RGB.g = EXPAND_6to8( g );
- D->RGB.b = EXPAND_6to8( b );
- i += SperD;
- D++;
- }
-}
-
-static void Sop_argb1666_Sto_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length;
- int i = gfxs->Xphase;
- int SperD = gfxs->SperD;
-
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
-
- while (w--) {
- int pixelstart = (i>>16)*3;
-
- u8 b = S[pixelstart+0] & 0x3F;
- u8 g = ((S[pixelstart+0] & 0xC0) >> 6) | ((S[pixelstart+1] & 0x0F) << 2);
- u8 r = ((S[pixelstart+1] & 0xF0) >> 4) | ((S[pixelstart+2] & 0x03) << 4);
- u8 a = (S[pixelstart+2] & 0x04) >> 2;
-
- D->RGB.a = EXPAND_1to8( a );
- D->RGB.r = EXPAND_6to8( r );
- D->RGB.g = EXPAND_6to8( g );
- D->RGB.b = EXPAND_6to8( b );
- i += SperD;
- D++;
- }
-}
-
-static void Sop_rgb18_Sto_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length;
- int i = gfxs->Xphase;
- int SperD = gfxs->SperD;
-
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
-
- while (w--) {
- int pixelstart = (i>>16)*3;
-
- u8 b = S[pixelstart+0] & 0x3F;
- u8 g = ((S[pixelstart+0] & 0xC0) >> 6) | ((S[pixelstart+1] & 0x0F) << 2);
- u8 r = ((S[pixelstart+1] & 0xF0) >> 4) | ((S[pixelstart+2] & 0x03) << 4);
-
- D->RGB.a = 0xFF;
- D->RGB.r = EXPAND_6to8( r );
- D->RGB.g = EXPAND_6to8( g );
- D->RGB.b = EXPAND_6to8( b );
- i += SperD;
- D++;
- }
-}
-
-static void Sop_argb8565_Sto_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length + 1;
- int i = gfxs->Xphase;
- int SperD = gfxs->SperD;
-
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
-
- while (--w) {
- int pixelstart = (i >> 16) * 3;
-
-#ifdef WORDS_BIGENDIAN
- u8 a = S[pixelstart+0];
- u8 r = (S[pixelstart+1] & 0xf8) >> 3;
- u8 g = ((S[pixelstart+1] & 0x07) << 3)
- | ((S[pixelstart+2] & 0xe0) >> 5);
- u8 b = S[pixelstart+2] & 0x1f;
-#else
- u8 b = S[pixelstart+0] & 0x1f;
- u8 g = ((S[pixelstart+1] & 0x07) << 3)
- | ((S[pixelstart+0] & 0xe0) >> 5);
- u8 r = (S[pixelstart+1] & 0xf8) >> 3;
- u8 a = S[pixelstart+2];
-#endif
-
- D->RGB.a = a;
- D->RGB.r = EXPAND_5to8 (r);
- D->RGB.g = EXPAND_6to8 (g);
- D->RGB.b = EXPAND_5to8 (b);
-
- D++;
- i += SperD;
- }
-}
-
-static void Sop_rgb24_Sto_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length;
- int i = gfxs->Xphase;
- int SperD = gfxs->SperD;
-
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
-
- while (w--) {
- int pixelstart = (i>>16)*3;
-
- D->RGB.a = 0xFF;
- D->RGB.r = S[pixelstart+2];
- D->RGB.g = S[pixelstart+1];
- D->RGB.b = S[pixelstart+0];
-
- i += SperD;
-
- D++;
- }
-}
-
static void Sop_a8_Sto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
GenefxAccumulator *D = gfxs->Dacc;
u8 *S = gfxs->Sop[0];
- while (w--) {
+ while (--w) {
u8 s = S[i>>16];
D->RGB.a = s;
@@ -2769,20 +2480,20 @@ static void Sop_a8_Sto_Dacc( GenefxState *gfxs )
i += SperD;
- D++;
+ ++D;
}
}
static void Sop_yuy2_Sto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length>>1;
+ int w = (gfxs->length>>1)+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
GenefxAccumulator *D = gfxs->Dacc;
u32 *S = gfxs->Sop[0];
- while (w--) {
+ while (--w) {
u32 s = S[i>>17];
D[0].YUV.a = D[1].YUV.a = 0xFF;
@@ -2812,14 +2523,14 @@ static void Sop_yuy2_Sto_Dacc( GenefxState *gfxs )
static void Sop_rgb332_Sto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
GenefxAccumulator *D = gfxs->Dacc;
u8 *S = gfxs->Sop[0];
- while (w--) {
+ while (--w) {
u8 s = S[i>>16];
D->RGB.a = 0xFF;
@@ -2829,20 +2540,20 @@ static void Sop_rgb332_Sto_Dacc( GenefxState *gfxs )
i += SperD;
- D++;
+ ++D;
}
}
static void Sop_uyvy_Sto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length>>1;
+ int w = (gfxs->length>>1)+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
GenefxAccumulator *D = gfxs->Dacc;
u32 *S = gfxs->Sop[0];
- while (w--) {
+ while (--w) {
u32 s = S[i>>17];
D[0].YUV.a = D[1].YUV.a = 0xFF;
@@ -2872,7 +2583,7 @@ static void Sop_uyvy_Sto_Dacc( GenefxState *gfxs )
static void Sop_lut8_Sto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
@@ -2881,7 +2592,7 @@ static void Sop_lut8_Sto_Dacc( GenefxState *gfxs )
DFBColor *entries = gfxs->Slut->entries;
- while (w--) {
+ while (--w) {
u8 s = S[i>>16];
D->RGB.a = entries[s].a;
@@ -2891,13 +2602,13 @@ static void Sop_lut8_Sto_Dacc( GenefxState *gfxs )
i += SperD;
- D++;
+ ++D;
}
}
static void Sop_alut44_Sto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
@@ -2906,7 +2617,7 @@ static void Sop_alut44_Sto_Dacc( GenefxState *gfxs )
DFBColor *entries = gfxs->Slut->entries;
- while (w--) {
+ while (--w) {
u8 s = S[i>>16];
D->RGB.a = s & 0xF0;
@@ -2917,13 +2628,13 @@ static void Sop_alut44_Sto_Dacc( GenefxState *gfxs )
i += SperD;
- D++;
+ ++D;
}
}
static void Sop_i420_Sto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
@@ -2932,82 +2643,82 @@ static void Sop_i420_Sto_Dacc( GenefxState *gfxs )
u8 *Su = gfxs->Sop[1];
u8 *Sv = gfxs->Sop[2];
- while (w--) {
+ while (--w) {
D->YUV.a = 0xFF;
D->YUV.y = Sy[i>>16];
D->YUV.u = Su[i>>17];
D->YUV.v = Sv[i>>17];
-
+
i += SperD;
-
- D++;
+
+ ++D;
}
}
static void Sop_nv12_Sto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
GenefxAccumulator *D = gfxs->Dacc;
u8 *Sy = gfxs->Sop[0];
u16 *Suv = gfxs->Sop[1];
-
- while (w--) {
+
+ while (--w) {
D->YUV.a = 0xFF;
D->YUV.y = Sy[i>>16];
D->YUV.u = Suv[i>>17] & 0xFF;
D->YUV.v = Suv[i>>17] >> 8;
-
+
i += SperD;
-
- D++;
+
+ ++D;
}
-}
+}
static void Sop_nv21_Sto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
GenefxAccumulator *D = gfxs->Dacc;
u8 *Sy = gfxs->Sop[0];
u16 *Svu = gfxs->Sop[1];
-
- while (w--) {
+
+ while (--w) {
D->YUV.a = 0xFF;
D->YUV.y = Sy[i>>16];
D->YUV.u = Svu[i>>17] >> 8;
D->YUV.v = Svu[i>>17] & 0xFF;
-
+
i += SperD;
-
- D++;
+
+ ++D;
}
}
static void Sop_ayuv_Sto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
GenefxAccumulator *D = gfxs->Dacc;
u32 *S = gfxs->Sop[0];
- while (w--) {
+ while (--w) {
u32 s = S[i>>16];
-
+
D->YUV.a = (s >> 24);
D->YUV.y = (s >> 16) & 0xff;
D->YUV.u = (s >> 8) & 0xff;
D->YUV.v = (s ) & 0xff;
i += SperD;
-
- D++;
+
+ ++D;
}
}
@@ -3030,7 +2741,7 @@ static void Sop_yuv444p_Sto_Dacc( GenefxState *gfxs )
i += SperD;
- D++;
+ ++D;
}
}
@@ -3053,7 +2764,7 @@ static void Sop_avyu_Sto_Dacc( GenefxState *gfxs )
i += SperD;
- D++;
+ ++D;
}
}
@@ -3081,240 +2792,85 @@ static void Sop_vyu_Sto_Dacc( GenefxState *gfxs )
D->YUV.u = S[pixelstart+0];
#endif
- D++;
- i += SperD;
- }
-}
-
-static GenefxFunc Sop_PFI_Sto_Dacc[DFB_NUM_PIXELFORMATS] = {
- Sop_argb1555_Sto_Dacc, /* DSPF_ARGB1555 */
- Sop_rgb16_Sto_Dacc, /* DSPF_RGB16 */
- Sop_rgb24_Sto_Dacc, /* DSPF_RGB24 */
- Sop_rgb32_Sto_Dacc, /* DSPF_RGB32 */
- Sop_argb_Sto_Dacc, /* DSPF_ARGB */
- Sop_a8_Sto_Dacc, /* DSPF_A8 */
- Sop_yuy2_Sto_Dacc, /* DSPF_YUY2 */
- Sop_rgb332_Sto_Dacc, /* DSPF_RGB332 */
- Sop_uyvy_Sto_Dacc, /* DSPF_UYVY */
- Sop_i420_Sto_Dacc, /* DSPF_I420 */
- Sop_i420_Sto_Dacc, /* DSPF_YV12 */
- Sop_lut8_Sto_Dacc, /* DSPF_LUT8 */
- Sop_alut44_Sto_Dacc, /* DSPF_ALUT44 */
- Sop_airgb_Sto_Dacc, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- Sop_nv12_Sto_Dacc, /* DSPF_NV12 */
- Sop_nv12_Sto_Dacc, /* DSPF_NV16 */
- Sop_argb2554_Sto_Dacc, /* DSPF_ARGB2554 */
- Sop_argb4444_Sto_Dacc, /* DSPF_ARGB4444 */
- Sop_rgba4444_Sto_Dacc, /* DSPF_RGBA4444 */
- Sop_nv21_Sto_Dacc, /* DSPF_NV21 */
- Sop_ayuv_Sto_Dacc, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- Sop_argb1666_Sto_Dacc, /* DSPF_ARGB1666 */
- Sop_argb6666_Sto_Dacc, /* DSPF_ARGB6666 */
- Sop_rgb18_Sto_Dacc, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Sop_xrgb4444_Sto_Dacc, /* DSPF_RGB444 */
- Sop_xrgb1555_Sto_Dacc, /* DSPF_RGB555 */
- Sop_xbgr1555_Sto_Dacc, /* DSPF_BGR555 */
- Sop_rgba5551_Sto_Dacc, /* DSPF_RGBA5551 */
- Sop_yuv444p_Sto_Dacc, /* DSPF_YUV444P */
- Sop_argb8565_Sto_Dacc, /* DSPF_ARGB8565 */
- Sop_avyu_Sto_Dacc, /* DSPF_AVYU */
- Sop_vyu_Sto_Dacc, /* DSPF_VYU */
-};
-
-/********************************* Sop_PFI_SKto_Dacc **************************/
-
-static void Sop_argb6666_SKto_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length;
- int i = gfxs->Xphase;
- int SperD = gfxs->SperD;
- u32 Skey = gfxs->Skey;
-
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
-
- while (w--) {
- int pixelstart = (i>>16)*3;
-
- u8 s0 = S[pixelstart+0];
- u8 s1 = S[pixelstart+1];
- u8 s2 = S[pixelstart+2];
-
- if (Skey != ((u32)(s2<<16 | s1<<8 | s0) & 0x3FFFF)) {
- u8 b = s0 & 0x3F;
- u8 g = ((s0 & 0xC0) >> 6) | ((s1 & 0x0F) << 2);
- u8 r = ((s1 & 0xF0) >> 4) | ((s2 & 0x03) << 4);
- u8 a = (s2 & 0xFC) >> 2;
-
- D->RGB.a = EXPAND_6to8( a );
- D->RGB.r = EXPAND_6to8( r );
- D->RGB.g = EXPAND_6to8( g );
- D->RGB.b = EXPAND_6to8( b );
- }
- else
- D->RGB.a = 0xFF00;
-
+ ++D;
i += SperD;
- D++;
}
}
-static void Sop_argb1666_SKto_Dacc( GenefxState *gfxs )
+static void Sop_a4_Sto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
GenefxAccumulator *D = gfxs->Dacc;
u8 *S = gfxs->Sop[0];
- u32 Skey = gfxs->Skey;
-
- while (w--) {
- int pixelstart = (i>>16)*3;
- u8 s0 = S[pixelstart+0];
- u8 s1 = S[pixelstart+1];
- u8 s2 = S[pixelstart+2];
-
- if (Skey != ((u32)(s2<<16 | s1<<8 | s0) & 0x3FFFF)) {
- u8 b = s0 & 0x3F;
- u8 g = ((s0 & 0xC0) >> 6) | ((s1 & 0x0F) << 2);
- u8 r = ((s1 & 0xF0) >> 4) | ((s2 & 0x03) << 4);
- u8 a = (s2 & 0x04) >> 2;
+ while (--w) {
+ int I = i>>16;
+ u8 s = S[I>>1];
- D->RGB.a = EXPAND_1to8( a );
- D->RGB.r = EXPAND_6to8( r );
- D->RGB.g = EXPAND_6to8( g );
- D->RGB.b = EXPAND_6to8( b );
- }
+ /* FIXME: endianness? */
+ if (I & 1)
+ D->RGB.a = (s & 0x0F) | ((s << 4) & 0xF0);
else
- D->RGB.a = 0xFF00;
- i += SperD;
- D++;
- }
-}
-
-static void Sop_rgb18_SKto_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length;
- int i = gfxs->Xphase;
- int SperD = gfxs->SperD;
- u32 Skey = gfxs->Skey;
-
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
-
- while (w--) {
- int pixelstart = (i>>16)*3;
+ D->RGB.a = (s & 0xF0) | (s >> 4);
- u8 s0 = S[pixelstart+0];
- u8 s1 = S[pixelstart+1];
- u8 s2 = S[pixelstart+2];
-
- if (Skey != ((u32)(s2<<16 | s1<<8 | s0) & 0x3FFFF)) {
- u8 b = s0 & 0x3F;
- u8 g = ((s0 & 0xC0) >> 6) | ((s1 & 0x0F) << 2);
- u8 r = ((s1 & 0xF0) >> 4) | ((s2 & 0x03) << 4);
-
- D->RGB.a = 0xFF;
- D->RGB.r = EXPAND_6to8( r );
- D->RGB.g = EXPAND_6to8( g );
- D->RGB.b = EXPAND_6to8( b );
- }
- else
- D->RGB.a = 0xFF00;
+ D->RGB.r = 0xFF;
+ D->RGB.g = 0xFF;
+ D->RGB.b = 0xFF;
i += SperD;
- D++;
- }
-}
-
-static void Sop_argb8565_SKto_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length + 1;
- int i = gfxs->Xphase;
- int SperD = gfxs->SperD;
- u32 Skey = gfxs->Skey;
-
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
-
- while (--w) {
- int pixelstart = (i>>16)*3;
-
-#ifdef WORDS_BIGENDIAN
- u32 s = S[pixelstart+1] << 8 | S[pixelstart+2];
-#else
- u32 s = S[pixelstart+1] << 8 | S[pixelstart+0];
-#endif
-
- if (Skey != s) {
-
-#ifdef WORDS_BIGENDIAN
- u8 a = S[pixelstart+0];
- u8 r = (S[pixelstart+1] & 0xf8) >> 3;
- u8 g = ((S[pixelstart+1] & 0x07) << 3)
- | ((S[pixelstart+2] & 0xe0) >> 5);
- u8 b = S[pixelstart+2] & 0x1f;
-#else
- u8 b = S[pixelstart+0] & 0x1f;
- u8 g = ((S[pixelstart+1] & 0x07) << 3)
- | ((S[pixelstart+0] & 0xe0) >> 5);
- u8 r = (S[pixelstart+1] & 0xf8) >> 3;
- u8 a = S[pixelstart+2];
-#endif
- D->RGB.a = a;
- D->RGB.r = EXPAND_5to8 (r);
- D->RGB.g = EXPAND_6to8 (g);
- D->RGB.b = EXPAND_5to8 (b);
- }
- else
- D->RGB.a = 0xF000;
-
- D++;
- i += SperD;
+ ++D;
}
}
-static void Sop_rgb24_SKto_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length;
- int i = gfxs->Xphase;
- int SperD = gfxs->SperD;
-
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
- u32 Skey = gfxs->Skey;
-
- while (w--) {
- int pixelstart = (i>>16)*3;
-
- u8 b = S[pixelstart+0];
- u8 g = S[pixelstart+1];
- u8 r = S[pixelstart+2];
-
- if (Skey != (u32)(r<<16 | g<<8 | b)) {
- D->RGB.a = 0xFF;
- D->RGB.r = r;
- D->RGB.g = g;
- D->RGB.b = b;
- }
- else
- D->RGB.a = 0xFF00;
-
- i += SperD;
+static GenefxFunc Sop_PFI_Sto_Dacc[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Sop_argb1555_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Sop_rgb16_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Sop_rgb24_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Sop_rgb32_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Sop_argb_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Sop_a8_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Sop_yuy2_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Sop_rgb332_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Sop_uyvy_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = Sop_i420_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = Sop_i420_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Sop_lut8_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Sop_alut44_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Sop_airgb_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = Sop_nv12_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = Sop_nv12_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Sop_argb2554_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Sop_argb4444_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Sop_rgba4444_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = Sop_nv21_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Sop_ayuv_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = Sop_a4_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Sop_argb1666_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Sop_argb6666_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Sop_rgb18_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Sop_xrgb4444_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Sop_xrgb1555_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Sop_xbgr1555_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Sop_rgba5551_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Sop_yuv444p_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Sop_argb8565_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Sop_avyu_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Sop_vyu_Sto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = Sop_i420_Sto_Dacc,
+};
- D++;
- }
-}
+/********************************* Sop_PFI_SKto_Dacc **************************/
static void Sop_a8_SKto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
@@ -3322,7 +2878,7 @@ static void Sop_a8_SKto_Dacc( GenefxState *gfxs )
u8 *S = gfxs->Sop[0];
/* no color to key */
- while (w--) {
+ while (--w) {
u8 s = S[i>>16];
D->RGB.a = s;
@@ -3332,13 +2888,13 @@ static void Sop_a8_SKto_Dacc( GenefxState *gfxs )
i += SperD;
- D++;
+ ++D;
}
}
static void Sop_lut8_SKto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
@@ -3348,7 +2904,7 @@ static void Sop_lut8_SKto_Dacc( GenefxState *gfxs )
DFBColor *entries = gfxs->Slut->entries;
- while (w--) {
+ while (--w) {
u8 s = S[i>>16];
if (s != Skey) {
@@ -3362,13 +2918,13 @@ static void Sop_lut8_SKto_Dacc( GenefxState *gfxs )
i += SperD;
- D++;
+ ++D;
}
}
static void Sop_alut44_SKto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
@@ -3378,7 +2934,7 @@ static void Sop_alut44_SKto_Dacc( GenefxState *gfxs )
DFBColor *entries = gfxs->Slut->entries;
- while (w--) {
+ while (--w) {
u8 s = S[i>>16];
if ((s & 0x0F) != Skey) {
@@ -3393,13 +2949,13 @@ static void Sop_alut44_SKto_Dacc( GenefxState *gfxs )
i += SperD;
- D++;
+ ++D;
}
}
static void Sop_yuy2_SKto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length>>1;
+ int w = (gfxs->length>>1)+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
u32 Ky = (gfxs->Skey & 0x000000FF);
@@ -3414,7 +2970,7 @@ static void Sop_yuy2_SKto_Dacc( GenefxState *gfxs )
GenefxAccumulator *D = gfxs->Dacc;
u32 *S = gfxs->Sop[0];
- while (w--) {
+ while (--w) {
u32 s = S[i>>17];
u32 y0, cb, y1, cr;
@@ -3466,7 +3022,7 @@ static void Sop_yuy2_SKto_Dacc( GenefxState *gfxs )
static void Sop_rgb332_SKto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
@@ -3474,7 +3030,7 @@ static void Sop_rgb332_SKto_Dacc( GenefxState *gfxs )
u8 *S = gfxs->Sop[0];
u8 Skey = gfxs->Skey;
- while (w--) {
+ while (--w) {
u8 s = S[i>>16];
if (s != Skey) {
@@ -3488,13 +3044,13 @@ static void Sop_rgb332_SKto_Dacc( GenefxState *gfxs )
i += SperD;
- D++;
+ ++D;
}
}
static void Sop_uyvy_SKto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length>>1;
+ int w = (gfxs->length>>1)+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
u32 Ky = (gfxs->Skey & 0x0000FF00) >> 8;
@@ -3509,7 +3065,7 @@ static void Sop_uyvy_SKto_Dacc( GenefxState *gfxs )
GenefxAccumulator *D = gfxs->Dacc;
u32 *S = gfxs->Sop[0];
- while (w--) {
+ while (--w) {
u32 s = S[i>>17];
u32 cb, y0, cr, y1;
@@ -3587,7 +3143,7 @@ static void Sop_yuv444p_SKto_Dacc( GenefxState *gfxs )
i += SperD;
- D++;
+ ++D;
}
}
@@ -3612,7 +3168,7 @@ static void Sop_avyu_SKto_Dacc( GenefxState *gfxs )
else
D->YUV.a = 0xf000;
- D++;
+ ++D;
i += SperD;
}
}
@@ -3653,180 +3209,66 @@ static void Sop_vyu_SKto_Dacc( GenefxState *gfxs )
else
D->YUV.a = 0xF000;
- D++;
+ ++D;
i += SperD;
}
}
-static GenefxFunc Sop_PFI_SKto_Dacc[DFB_NUM_PIXELFORMATS] = {
- Sop_argb1555_SKto_Dacc, /* DSPF_ARGB1555 */
- Sop_rgb16_SKto_Dacc, /* DSPF_RGB16 */
- Sop_rgb24_SKto_Dacc, /* DSPF_RGB24 */
- Sop_rgb32_SKto_Dacc, /* DSPF_RGB32 */
- Sop_argb_SKto_Dacc, /* DSPF_ARGB */
- Sop_a8_SKto_Dacc, /* DSPF_A8 */
- Sop_yuy2_SKto_Dacc, /* DSPF_YUY2 */
- Sop_rgb332_SKto_Dacc, /* DSPF_RGB332 */
- Sop_uyvy_SKto_Dacc, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- Sop_lut8_SKto_Dacc, /* DSPF_LUT8 */
- Sop_alut44_SKto_Dacc, /* DSPF_ALUT44 */
- Sop_airgb_SKto_Dacc, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- Sop_argb2554_SKto_Dacc, /* DSPF_ARGB2554 */
- Sop_argb4444_SKto_Dacc, /* DSPF_ARGB4444 */
- Sop_rgba4444_SKto_Dacc, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- NULL, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- Sop_argb1666_SKto_Dacc, /* DSPF_ARGB1666 */
- Sop_argb6666_SKto_Dacc, /* DSPF_ARGB6666 */
- Sop_rgb18_SKto_Dacc, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Sop_xrgb4444_SKto_Dacc, /* DSPF_RGB444 */
- Sop_xrgb1555_SKto_Dacc, /* DSPF_RGB555 */
- Sop_xbgr1555_SKto_Dacc, /* DSPF_BGR555 */
- Sop_rgba5551_SKto_Dacc, /* DSPF_RGBA5551 */
- Sop_yuv444p_SKto_Dacc, /* DSPF_YUV444P */
- Sop_argb8565_SKto_Dacc, /* DSPF_ARGB8565 */
- Sop_avyu_SKto_Dacc, /* DSPF_AVYU */
- Sop_vyu_SKto_Dacc, /* DSPF_VYU */
+static const GenefxFunc Sop_PFI_SKto_Dacc[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Sop_argb1555_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Sop_rgb16_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Sop_rgb24_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Sop_rgb32_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Sop_argb_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Sop_a8_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Sop_yuy2_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Sop_rgb332_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Sop_uyvy_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Sop_lut8_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Sop_alut44_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Sop_airgb_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Sop_argb2554_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Sop_argb4444_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Sop_rgba4444_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Sop_argb1666_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Sop_argb6666_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Sop_rgb18_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Sop_xrgb4444_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Sop_xrgb1555_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Sop_xbgr1555_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Sop_rgba5551_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Sop_yuv444p_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Sop_argb8565_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Sop_avyu_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Sop_vyu_SKto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
};
/********************************* Sop_PFI_to_Dacc ****************************/
-static void Sop_argb6666_to_Dacc( GenefxState *gfxs )
+static void Sop_a8_to_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
-
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
u8 *S = gfxs->Sop[0];
- while (w--) {
- u8 b = S[0] & 0x3F;
- u8 g = ((S[0] & 0xC0) >> 6) | ((S[1] & 0x0F) << 2);
- u8 r = ((S[1] & 0xF0) >> 4) | ((S[2] & 0x03) << 4);
- u8 a = (S[2] & 0xFC) >> 2;
-
- D->RGB.a = EXPAND_6to8( a );
- D->RGB.r = EXPAND_6to8( r );
- D->RGB.g = EXPAND_6to8( g );
- D->RGB.b = EXPAND_6to8( b );
+ while (--w) {
+ D->RGB.a = *S++;
+ D->RGB.r = 0xFF;
+ D->RGB.g = 0xFF;
+ D->RGB.b = 0xFF;
- S +=3;
- D++;
- }
-}
-
-static void Sop_argb1666_to_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length;
-
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
-
- while (w--) {
- u8 b = S[0] & 0x3F;
- u8 g = ((S[0] & 0xC0) >> 6) | ((S[1] & 0x0F) << 2);
- u8 r = ((S[1] & 0xF0) >> 4) | ((S[2] & 0x03) << 4);
- u8 a = (S[2] & 0x04) >> 2;
-
- D->RGB.a = EXPAND_1to8( a );
- D->RGB.r = EXPAND_6to8( r );
- D->RGB.g = EXPAND_6to8( g );
- D->RGB.b = EXPAND_6to8( b );
-
- S +=3;
- D++;
- }
-}
-
-static void Sop_rgb18_to_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length;
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
-
- while (w--) {
- u8 b = S[0] & 0x3F;
- u8 g = ((S[0] & 0xC0) >> 6) | ((S[1] & 0x0F) << 2);
- u8 r = ((S[1] & 0xF0) >> 4) | ((S[2] & 0x03) << 4);
-
- D->RGB.a = 0xFF;
- D->RGB.r = EXPAND_6to8( r );
- D->RGB.g = EXPAND_6to8( g );
- D->RGB.b = EXPAND_6to8( b );
-
- S +=3;
- D++;
- }
-}
-
-static void Sop_argb8565_to_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length + 1;
-
- GenefxAccumulator *D = gfxs->Dacc;
- const u8 *S = gfxs->Sop[0];
-
- while (--w) {
-
-#ifdef WORDS_BIGENDIAN
- u8 a = S[0];
- u8 r = (S[1] & 0xf8) >> 3;
- u8 g = ((S[1] & 0x07) << 3)
- | ((S[2] & 0xe0) >> 5);
- u8 b = S[2] & 0x1f;
-#else
- u8 b = S[0] & 0x1f;
- u8 g = ((S[1] & 0x07) << 3)
- | ((S[0] & 0xe0) >> 5);
- u8 r = (S[1] & 0xf8) >> 3;
- u8 a = S[2];
-#endif
-
- D->RGB.a = a;
- D->RGB.r = EXPAND_5to8 (r);
- D->RGB.g = EXPAND_6to8 (g);
- D->RGB.b = EXPAND_5to8 (b);
-
- S += 3;
- D++;
- }
-}
-
-static void Sop_rgb24_to_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length;
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
-
- while (w--) {
- D->RGB.a = 0xFF;
- D->RGB.b = *S++;
- D->RGB.g = *S++;
- D->RGB.r = *S++;
-
- D++;
- }
-}
-
-static void Sop_a8_to_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length;
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
-
- while (w--) {
- D->RGB.a = *S++;
- D->RGB.r = 0xFF;
- D->RGB.g = 0xFF;
- D->RGB.b = 0xFF;
-
- D++;
+ ++D;
}
}
@@ -3854,11 +3296,11 @@ static void Sop_a4_to_Dacc( GenefxState *gfxs )
static void Sop_yuy2_to_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length>>1;
+ int w = (gfxs->length>>1)+1;
GenefxAccumulator *D = gfxs->Dacc;
u32 *S = gfxs->Sop[0];
- while (w--) {
+ while (--w) {
u32 s = *S++;
D[0].YUV.a = D[1].YUV.a = 0xFF;
@@ -3889,11 +3331,11 @@ static void Sop_yuy2_to_Dacc( GenefxState *gfxs )
static void Sop_rgb332_to_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
u8 *S = gfxs->Sop[0];
- while (w--) {
+ while (--w) {
u8 s = *S++;
D->RGB.a = 0xFF;
@@ -3901,17 +3343,17 @@ static void Sop_rgb332_to_Dacc( GenefxState *gfxs )
D->RGB.g = EXPAND_3to8((s & 0x1C) >> 2);
D->RGB.b = EXPAND_2to8(s & 0x03);
- D++;
+ ++D;
}
}
static void Sop_uyvy_to_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length>>1;
+ int w = (gfxs->length>>1)+1;
GenefxAccumulator *D = gfxs->Dacc;
u32 *S = gfxs->Sop[0];
- while (w--) {
+ while (--w) {
u32 s = *S++;
D[0].YUV.a = D[1].YUV.a = 0xFF;
@@ -3942,13 +3384,13 @@ static void Sop_uyvy_to_Dacc( GenefxState *gfxs )
static void Sop_lut8_to_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
u8 *S = gfxs->Sop[0];
DFBColor *entries = gfxs->Slut->entries;
- while (w--) {
+ while (--w) {
u8 s = *S++;
D->RGB.a = entries[s].a;
@@ -3956,19 +3398,19 @@ static void Sop_lut8_to_Dacc( GenefxState *gfxs )
D->RGB.g = entries[s].g;
D->RGB.b = entries[s].b;
- D++;
+ ++D;
}
}
static void Sop_alut44_to_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
u8 *S = gfxs->Sop[0];
DFBColor *entries = gfxs->Slut->entries;
- while (w--) {
+ while (--w) {
u8 s = *S++;
D->RGB.a = s & 0xF0;
@@ -3977,82 +3419,82 @@ static void Sop_alut44_to_Dacc( GenefxState *gfxs )
D->RGB.g = entries[s].g;
D->RGB.b = entries[s].b;
- D++;
+ ++D;
}
}
static void Sop_i420_to_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length>>1;
+ int w = (gfxs->length>>1)+1;
GenefxAccumulator *D = gfxs->Dacc;
u8 *Sy = gfxs->Sop[0];
u8 *Su = gfxs->Sop[1];
u8 *Sv = gfxs->Sop[2];
-
- while (w--) {
+
+ while (--w) {
D[1].YUV.a = D[0].YUV.a = 0xFF;
D[0].YUV.y = Sy[0];
D[1].YUV.y = Sy[1];
D[1].YUV.u = D[0].YUV.u = Su[0];
D[1].YUV.v = D[0].YUV.v = Sv[0];
-
+
Sy += 2;
- Su++;
- Sv++;
-
+ ++Su;
+ ++Sv;
+
D += 2;
}
}
static void Sop_nv12_to_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length>>1;
+ int w = (gfxs->length>>1)+1;
GenefxAccumulator *D = gfxs->Dacc;
u8 *Sy = gfxs->Sop[0];
u16 *Suv = gfxs->Sop[1];
-
- while (w--) {
+
+ while (--w) {
D[1].YUV.a = D[0].YUV.a = 0xFF;
D[0].YUV.y = Sy[0];
D[1].YUV.y = Sy[1];
D[1].YUV.u = D[0].YUV.u = Suv[0] & 0xFF;
D[1].YUV.v = D[0].YUV.v = Suv[0] >> 8;
-
+
Sy += 2;
- Suv++;
-
+ ++Suv;
+
D += 2;
}
}
static void Sop_nv21_to_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length>>1;
+ int w = (gfxs->length>>1)+1;
GenefxAccumulator *D = gfxs->Dacc;
u8 *Sy = gfxs->Sop[0];
u16 *Svu = gfxs->Sop[1];
-
- while (w--) {
+
+ while (--w) {
D[1].YUV.a = D[0].YUV.a = 0xFF;
D[0].YUV.y = Sy[0];
D[1].YUV.y = Sy[1];
D[1].YUV.u = D[0].YUV.u = Svu[0] >> 8;
D[1].YUV.v = D[0].YUV.v = Svu[0] & 0xFF;
-
+
Sy += 2;
- Svu++;
-
+ ++Svu;
+
D += 2;
}
}
static void Sop_ayuv_to_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
u32 *S = gfxs->Sop[0];
- while (w--) {
+ while (--w) {
u32 s = *S++;
D->YUV.a = (s >> 24);
@@ -4060,7 +3502,7 @@ static void Sop_ayuv_to_Dacc( GenefxState *gfxs )
D->YUV.u = (s >> 8) & 0xff;
D->YUV.v = (s ) & 0xff;
- D++;
+ ++D;
}
}
@@ -4078,7 +3520,7 @@ static void Sop_yuv444p_to_Dacc( GenefxState *gfxs )
D->YUV.u = *Su++;
D->YUV.v = *Sv++;
- D++;
+ ++D;
}
}
@@ -4096,7 +3538,7 @@ static void Sop_avyu_to_Dacc( GenefxState *gfxs )
D->YUV.y = (s >> 8) & 0xff;
D->YUV.u = (s ) & 0xff;
- D++;
+ ++D;
}
}
@@ -4121,232 +3563,72 @@ static void Sop_vyu_to_Dacc( GenefxState *gfxs )
#endif
S += 3;
- D++;
+ ++D;
}
}
static GenefxFunc Sop_PFI_to_Dacc[DFB_NUM_PIXELFORMATS] = {
- Sop_argb1555_to_Dacc, /* DSPF_ARGB1555 */
- Sop_rgb16_to_Dacc, /* DSPF_RGB16 */
- Sop_rgb24_to_Dacc, /* DSPF_RGB24 */
- Sop_rgb32_to_Dacc, /* DSPF_RGB32 */
- Sop_argb_to_Dacc, /* DSPF_ARGB */
- Sop_a8_to_Dacc, /* DSPF_A8 */
- Sop_yuy2_to_Dacc, /* DSPF_YUY2 */
- Sop_rgb332_to_Dacc, /* DSPF_RGB332 */
- Sop_uyvy_to_Dacc, /* DSPF_UYVY */
- Sop_i420_to_Dacc, /* DSPF_I420 */
- Sop_i420_to_Dacc, /* DSPF_YV12 */
- Sop_lut8_to_Dacc, /* DSPF_LUT8 */
- Sop_alut44_to_Dacc, /* DSPF_ALUT44 */
- Sop_airgb_to_Dacc, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- Sop_nv12_to_Dacc, /* DSPF_NV12 */
- Sop_nv12_to_Dacc, /* DSPF_NV16 */
- Sop_argb2554_to_Dacc, /* DSPF_ARGB2554 */
- Sop_argb4444_to_Dacc, /* DSPF_ARGB4444 */
- Sop_rgba4444_to_Dacc, /* DSPF_RGBA4444 */
- Sop_nv21_to_Dacc, /* DSPF_NV21 */
- Sop_ayuv_to_Dacc, /* DSPF_AYUV */
- Sop_a4_to_Dacc, /* DSPF_A4 */
- Sop_argb1666_to_Dacc, /* DSPF_ARGB1666 */
- Sop_argb6666_to_Dacc, /* DSPF_ARGB6666 */
- Sop_rgb18_to_Dacc, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Sop_xrgb4444_to_Dacc, /* DSPF_RGB444 */
- Sop_xrgb1555_to_Dacc, /* DSPF_RGB555 */
- Sop_xbgr1555_to_Dacc, /* DSPF_BGR555 */
- Sop_rgba5551_to_Dacc, /* DSPF_RGBA5551 */
- Sop_yuv444p_to_Dacc, /* DSPF_YUV444P */
- Sop_argb8565_to_Dacc, /* DSPF_ARGB8565 */
- Sop_avyu_to_Dacc, /* DSPF_AVYU */
- Sop_vyu_to_Dacc, /* DSPF_VYU */
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Sop_argb1555_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Sop_rgb16_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Sop_rgb24_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Sop_rgb32_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Sop_argb_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Sop_a8_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Sop_yuy2_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Sop_rgb332_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Sop_uyvy_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = Sop_i420_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = Sop_i420_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Sop_lut8_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Sop_alut44_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Sop_airgb_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = Sop_nv12_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = Sop_nv12_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Sop_argb2554_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Sop_argb4444_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Sop_rgba4444_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = Sop_nv21_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Sop_ayuv_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = Sop_a4_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Sop_argb1666_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Sop_argb6666_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Sop_rgb18_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Sop_xrgb4444_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Sop_xrgb1555_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Sop_xbgr1555_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Sop_rgba5551_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Sop_yuv444p_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Sop_argb8565_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Sop_avyu_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Sop_vyu_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = Sop_i420_to_Dacc,
};
/********************************* Sop_PFI_Kto_Dacc ***************************/
-static void Sop_argb6666_Kto_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length;
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
- u32 Skey = gfxs->Skey;
-
- while (w--) {
- u8 s0 = S[0];
- u8 s1 = S[1];
- u8 s2 = S[2];
-
- if (Skey != ((u32)(s2<<16 | s1<<8 | s0) & 0x3FFFF)) {
- u8 b = s0 & 0x3F;
- u8 g = ((s0 & 0xC0) >> 6) | ((s1 & 0x0F) << 2);
- u8 r = ((s1 & 0xF0) >> 4) | ((s2 & 0x03) << 4);
- u8 a = (s2 & 0xFC) >> 2;
-
- D->RGB.a = EXPAND_6to8( a );
- D->RGB.r = EXPAND_6to8( r );
- D->RGB.g = EXPAND_6to8( g );
- D->RGB.b = EXPAND_6to8( b );
- }
- else
- D->RGB.a = 0xF000;
-
- S += 3;
- D++;
- }
-}
-
-static void Sop_argb1666_Kto_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length;
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
- u32 Skey = gfxs->Skey;
-
- while (w--) {
- u8 s0 = S[0];
- u8 s1 = S[1];
- u8 s2 = S[2];
-
- if (Skey != ((u32)(s2<<16 | s1<<8 | s0) & 0x3FFFF)) {
- u8 b = s0 & 0x3F;
- u8 g = ((s0 & 0xC0) >> 6) | ((s1 & 0x0F) << 2);
- u8 r = ((s1 & 0xF0) >> 4) | ((s2 & 0x03) << 4);
- u8 a = (s2 & 0x04) >> 2;
-
- D->RGB.a = EXPAND_1to8( a );
- D->RGB.r = EXPAND_6to8( r );
- D->RGB.g = EXPAND_6to8( g );
- D->RGB.b = EXPAND_6to8( b );
- }
- else
- D->RGB.a = 0xF000;
-
- S += 3;
- D++;
- }
-}
-
-static void Sop_rgb18_Kto_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length;
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
- u32 Skey = gfxs->Skey;
-
- while (w--) {
- u8 s0 = S[0];
- u8 s1 = S[1];
- u8 s2 = S[2];
-
- if (Skey != ((u32)(s2<<16 | s1<<8 | s0) & 0x3ffff)) {
- u8 b = s0 & 0x3F;
- u8 g = ((s0 & 0xC0) >> 6) | ((s1 & 0x0F) << 2);
- u8 r = ((s1 & 0xF0) >> 4) | ((s2 & 0x03) << 4);
-
- D->RGB.a = 0xFF;
- D->RGB.r = EXPAND_6to8( r );
- D->RGB.g = EXPAND_6to8( g );
- D->RGB.b = EXPAND_6to8( b );
- }
- else
- D->RGB.a = 0xF000;
-
- S += 3;
- D++;
- }
-}
-
-static void Sop_argb8565_Kto_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length + 1;
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
- u32 Skey = gfxs->Skey;
-
- while (--w) {
-
-#ifdef WORDS_BIGENDIAN
- u32 s = S[1] << 8 | S[2];
-#else
- u32 s = S[1] << 8 | S[0];
-#endif
-
- if (Skey != s) {
-
-#ifdef WORDS_BIGENDIAN
- u8 a = S[0];
- u8 r = (S[1] & 0xf8) >> 3;
- u8 g = ((S[1] & 0x07) << 3)
- | ((S[2] & 0xe0) >> 5);
- u8 b = S[2] & 0x1f;
-
-#else
- u8 b = S[0] & 0x1f;
- u8 g = ((S[1] & 0x07) << 3)
- | ((S[0] & 0xe0) >> 5);
- u8 r = (S[1] & 0xf8) >> 3;
- u8 a = S[2];
-#endif
-
- D->RGB.a = a;
- D->RGB.r = EXPAND_5to8 (r);
- D->RGB.g = EXPAND_6to8 (g);
- D->RGB.b = EXPAND_5to8 (b);
- }
- else
- D->RGB.a = 0xF000;
-
- S += 3;
- D++;
- }
-}
-
-static void Sop_rgb24_Kto_Dacc( GenefxState *gfxs )
-{
- int w = gfxs->length;
- GenefxAccumulator *D = gfxs->Dacc;
- u8 *S = gfxs->Sop[0];
- u32 Skey = gfxs->Skey;
-
- while (w--) {
- u8 b = *S++;
- u8 g = *S++;
- u8 r = *S++;
-
- if (Skey != (u32)(r<<16 | g<<8 | b)) {
- D->RGB.a = 0xFF;
- D->RGB.r = r;
- D->RGB.g = g;
- D->RGB.b = b;
- }
- else
- D->RGB.a = 0xF000;
-
- D++;
- }
-}
-
static void Sop_a8_Kto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
u8 *S = gfxs->Sop[0];
/* no color to key */
- while (w--) {
+ while (--w) {
D->RGB.a = *S++;
D->RGB.r = 0xFF;
D->RGB.g = 0xFF;
D->RGB.b = 0xFF;
- D++;
+ ++D;
}
}
static void Sop_yuy2_Kto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length>>1;
+ int w = (gfxs->length>>1)+1;
GenefxAccumulator *D = gfxs->Dacc;
u32 *S = gfxs->Sop[0];
u32 Skey = gfxs->Skey;
@@ -4361,7 +3643,7 @@ static void Sop_yuy2_Kto_Dacc( GenefxState *gfxs )
#define S1_MASK 0xFFFFFF00
#endif
- while (w--) {
+ while (--w) {
u32 s = *S++;
if (s != Skey) {
@@ -4423,12 +3705,12 @@ static void Sop_yuy2_Kto_Dacc( GenefxState *gfxs )
static void Sop_rgb332_Kto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
u8 *S = gfxs->Sop[0];
u32 Skey = gfxs->Skey;
- while (w--) {
+ while (--w) {
u8 s = *S++;
if (s != Skey) {
@@ -4440,13 +3722,13 @@ static void Sop_rgb332_Kto_Dacc( GenefxState *gfxs )
else
D->RGB.a = 0xF000;
- D++;
+ ++D;
}
}
static void Sop_uyvy_Kto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length>>1;
+ int w = (gfxs->length>>1)+1;
GenefxAccumulator *D = gfxs->Dacc;
u32 *S = gfxs->Sop[0];
u32 Skey = gfxs->Skey;
@@ -4461,7 +3743,7 @@ static void Sop_uyvy_Kto_Dacc( GenefxState *gfxs )
#define S1_MASK 0xFFFF00FF
#endif
- while (w--) {
+ while (--w) {
u32 s = *S++;
if (s != Skey) {
@@ -4523,14 +3805,14 @@ static void Sop_uyvy_Kto_Dacc( GenefxState *gfxs )
static void Sop_lut8_Kto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
u8 *S = gfxs->Sop[0];
u32 Skey = gfxs->Skey;
DFBColor *entries = gfxs->Slut->entries;
- while (w--) {
+ while (--w) {
u8 s = *S++;
if (s != Skey) {
@@ -4542,20 +3824,20 @@ static void Sop_lut8_Kto_Dacc( GenefxState *gfxs )
else
D->RGB.a = 0xF000;
- D++;
+ ++D;
}
}
static void Sop_alut44_Kto_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
u8 *S = gfxs->Sop[0];
u32 Skey = gfxs->Skey;
DFBColor *entries = gfxs->Slut->entries;
- while (w--) {
+ while (--w) {
u8 s = *S++;
if ((s & 0x0F) != Skey) {
@@ -4568,7 +3850,7 @@ static void Sop_alut44_Kto_Dacc( GenefxState *gfxs )
else
D->RGB.a = 0xF000;
- D++;
+ ++D;
}
}
@@ -4595,7 +3877,7 @@ static void Sop_yuv444p_Kto_Dacc( GenefxState *gfxs )
else
D->YUV.a = 0xF000;
- D++;
+ ++D;
}
}
@@ -4618,7 +3900,7 @@ static void Sop_avyu_Kto_Dacc( GenefxState *gfxs )
else
D->YUV.a = 0xf000;
- D++;
+ ++D;
}
}
@@ -4655,198 +3937,87 @@ static void Sop_vyu_Kto_Dacc( GenefxState *gfxs )
D->YUV.a = 0xF000;
S += 3;
- D++;
- }
-}
-
-static GenefxFunc Sop_PFI_Kto_Dacc[DFB_NUM_PIXELFORMATS] = {
- Sop_argb1555_Kto_Dacc, /* DSPF_ARGB1555 */
- Sop_rgb16_Kto_Dacc, /* DSPF_RGB16 */
- Sop_rgb24_Kto_Dacc, /* DSPF_RGB24 */
- Sop_rgb32_Kto_Dacc, /* DSPF_RGB32 */
- Sop_argb_Kto_Dacc, /* DSPF_ARGB */
- Sop_a8_Kto_Dacc, /* DSPF_A8 */
- Sop_yuy2_Kto_Dacc, /* DSPF_YUY2 */
- Sop_rgb332_Kto_Dacc, /* DSPF_RGB332 */
- Sop_uyvy_Kto_Dacc, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- Sop_lut8_Kto_Dacc, /* DSPF_LUT8 */
- Sop_alut44_Kto_Dacc, /* DSPF_ALUT44 */
- Sop_airgb_Kto_Dacc, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- Sop_argb2554_Kto_Dacc, /* DSPF_ARGB2554 */
- Sop_argb4444_Kto_Dacc, /* DSPF_ARGB4444 */
- Sop_rgba4444_Kto_Dacc, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- NULL, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- Sop_argb6666_Kto_Dacc, /* DSPF_ARGB1666 */
- Sop_argb1666_Kto_Dacc, /* DSPF_ARGB6666 */
- Sop_rgb18_Kto_Dacc, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Sop_xrgb4444_Kto_Dacc, /* DSPF_RGB444 */
- Sop_xrgb1555_Kto_Dacc, /* DSPF_RGB555 */
- Sop_xbgr1555_Kto_Dacc, /* DSPF_BGR555 */
- Sop_rgba5551_Kto_Dacc, /* DSPF_RGBA5551 */
- Sop_yuv444p_Kto_Dacc, /* DSPF_YUV444P */
- Sop_argb8565_Kto_Dacc, /* DSPF_ARGB8565 */
- Sop_avyu_Kto_Dacc, /* DSPF_AVYU */
- Sop_vyu_Kto_Dacc, /* DSPF_VYU */
+ ++D;
+ }
+}
+
+static const GenefxFunc Sop_PFI_Kto_Dacc[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Sop_argb1555_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Sop_rgb16_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Sop_rgb24_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Sop_rgb32_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Sop_argb_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Sop_a8_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Sop_yuy2_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Sop_rgb332_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Sop_uyvy_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Sop_lut8_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Sop_alut44_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Sop_airgb_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Sop_argb2554_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Sop_argb4444_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Sop_rgba4444_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Sop_argb6666_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Sop_argb1666_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Sop_rgb18_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Sop_xrgb4444_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Sop_xrgb1555_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Sop_xbgr1555_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Sop_rgba5551_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Sop_yuv444p_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Sop_argb8565_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Sop_avyu_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Sop_vyu_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
};
/********************************* Sacc_to_Aop_PFI ****************************/
-static void Sacc_to_Aop_argb6666( GenefxState *gfxs )
+static void Sacc_to_Aop_a8( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
u8 *D = gfxs->Aop[0];
- while (w--) {
- if (!(S->RGB.a & 0xF000)) {
- u32 pixel = PIXEL_ARGB6666( (S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a,
- (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
- (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g,
- (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
+ while (--w) {
+ if (!(S->RGB.a & 0xF000))
+ *D = (S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a;
- D[0] = pixel;
- D[1] = pixel >> 8;
- D[2] = pixel >> 16;
- }
- D +=3;
- S++;
+ ++D;
+ ++S;
}
}
-static void Sacc_to_Aop_argb1666( GenefxState *gfxs )
+static void Sacc_to_Aop_yuy2( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int l;
+ int w = gfxs->length;
GenefxAccumulator *S = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
-
- while (w--) {
- if (!(S->RGB.a & 0xF000)) {
- u32 pixel = PIXEL_ARGB1666( (S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a,
- (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
- (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g,
- (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
+ u16 *D = gfxs->Aop[0];
- D[0] = pixel;
- D[1] = pixel >> 8;
- D[2] = pixel >> 16;
+ if ((long)D & 2) {
+ if (!(S->YUV.a & 0xF00)) {
+ *D = ((S->YUV.y & 0xFF00) ? 0x00FF : S->YUV.y) |
+ ((S->YUV.v & 0xFF00) ? 0XFF00 : (S->YUV.v<<8));
}
- D +=3;
- S++;
+ ++S;
+ ++D;
+ --w;
}
-}
-static void Sacc_to_Aop_rgb18( GenefxState *gfxs )
-{
- int w = gfxs->length;
- GenefxAccumulator *S = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
-
- while (w--) {
- if (!(S->RGB.a & 0xF000)) {
- u32 pixel = PIXEL_RGB18( (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
- (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g,
- (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
-
- D[0] = pixel;
- D[1] = pixel >> 8;
- D[2] = pixel >> 16;
- }
- D +=3;
- S++;
- }
-}
-
-static void Sacc_to_Aop_argb8565( GenefxState *gfxs )
-{
- int w = gfxs->length + 1;
- GenefxAccumulator *S = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
-
- while (--w) {
- if (!(S->RGB.a & 0xF000)) {
- u32 pixel = PIXEL_ARGB8565( (S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a,
- (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
- (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g,
- (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
-#ifdef WORDS_BIGENDIAN
- D[0] = (pixel >> 16) & 0xff;
- D[1] = (pixel >> 8) & 0xff;
- D[2] = (pixel >> 0) & 0xff;
-#else
- D[0] = (pixel >> 0) & 0xff;
- D[1] = (pixel >> 8) & 0xff;
- D[2] = (pixel >> 16) & 0xff;
-#endif
-
- }
-
- D += 3;
- S++;
- }
-}
-
-static void Sacc_to_Aop_rgb24( GenefxState *gfxs )
-{
- int w = gfxs->length;
- GenefxAccumulator *S = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
-
- while (w--) {
- if (!(S->RGB.a & 0xF000)) {
- *D++ = (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b;
- *D++ = (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g;
- *D++ = (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r;
- }
- else
- D += 3;
-
- S++;
- }
-}
-
-static void Sacc_to_Aop_a8( GenefxState *gfxs )
-{
- int w = gfxs->length;
- GenefxAccumulator *S = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
-
- while (w--) {
- if (!(S->RGB.a & 0xF000))
- *D = (S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a;
-
- D++;
- S++;
- }
-}
-
-static void Sacc_to_Aop_yuy2( GenefxState *gfxs )
-{
- int l;
- int w = gfxs->length;
- GenefxAccumulator *S = gfxs->Sacc;
- u16 *D = gfxs->Aop[0];
-
- if ((long)D & 2) {
- if (!(S->YUV.a & 0xF00)) {
- *D = ((S->YUV.y & 0xFF00) ? 0x00FF : S->YUV.y) |
- ((S->YUV.v & 0xFF00) ? 0XFF00 : (S->YUV.v<<8));
- }
- S++;
- D++;
- w--;
- }
-
- for (l = w>>1; l--;) {
- if (!(S[0].YUV.a & 0xF000) && !(S[1].YUV.a & 0xF000)) {
- u32 y0, cb, y1, cr;
+ for (l = w>>1; l--;) {
+ if (!(S[0].YUV.a & 0xF000) && !(S[1].YUV.a & 0xF000)) {
+ u32 y0, cb, y1, cr;
y0 = (S[0].YUV.y & 0xFF00) ? 0xFF : S[0].YUV.y;
y1 = (S[1].YUV.y & 0xFF00) ? 0xFF : S[1].YUV.y;
@@ -4888,19 +4059,19 @@ static void Sacc_to_Aop_yuy2( GenefxState *gfxs )
static void Sacc_to_Aop_rgb332( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
u8 *D = gfxs->Aop[0];
- while (w--) {
+ while (--w) {
if (!(S->RGB.a & 0xF000)) {
*D = PIXEL_RGB332( (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
(S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g,
(S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
}
- D++;
- S++;
+ ++D;
+ ++S;
}
}
@@ -4916,9 +4087,9 @@ static void Sacc_to_Aop_uyvy( GenefxState *gfxs )
*D = ((S->YUV.v & 0xFF00) ? 0x00FF : S->YUV.v) |
((S->YUV.y & 0xFF00) ? 0xFF00 : (S->YUV.y<<8));
}
- S++;
- D++;
- w--;
+ ++S;
+ ++D;
+ --w;
}
for (l = w>>1; l--;) {
@@ -4965,11 +4136,11 @@ static void Sacc_to_Aop_uyvy( GenefxState *gfxs )
static void Sacc_to_Aop_lut8( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
u8 *D = gfxs->Aop[0];
- while (w--) {
+ while (--w) {
if (!(S->RGB.a & 0xF000)) {
*D = dfb_palette_search( gfxs->Alut,
(S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
@@ -4978,18 +4149,18 @@ static void Sacc_to_Aop_lut8( GenefxState *gfxs )
(S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a );
}
- D++;
- S++;
+ ++D;
+ ++S;
}
}
static void Sacc_to_Aop_alut44( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
u8 *D = gfxs->Aop[0];
- while (w--) {
+ while (--w) {
if (!(S->RGB.a & 0xF000)) {
*D = (S->RGB.a & 0xFF00) ? 0xF0 : (S->RGB.a & 0xF0) +
dfb_palette_search( gfxs->Alut,
@@ -4999,33 +4170,33 @@ static void Sacc_to_Aop_alut44( GenefxState *gfxs )
0x80 );
}
- D++;
- S++;
+ ++D;
+ ++S;
}
}
static void Sacc_to_Aop_i420( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
u8 *Dy = gfxs->Aop[0];
-
- while (w--) {
+
+ while (--w) {
if (!(S->YUV.a & 0xF000))
*Dy = (S->YUV.y & 0xFF00) ? 0xFF : S->YUV.y;
-
- S++;
- Dy++;
+
+ ++S;
+ ++Dy;
}
-
+
if (gfxs->AopY & 1) {
u8 *Du = gfxs->Aop[1];
u8 *Dv = gfxs->Aop[2];
-
- w = gfxs->length>>1;
+
+ w = (gfxs->length>>1)+1;
S = gfxs->Sacc;
-
- while (w--) {
+
+ while (--w) {
if (!(S[0].YUV.a & 0xF000) && !(S[1].YUV.a & 0xF000)) {
u32 tmp;
@@ -5038,7 +4209,7 @@ static void Sacc_to_Aop_i420( GenefxState *gfxs )
if (tmp & 0xFF00)
tmp = 0xFF;
*Dv = tmp;
-
+
}
else if (!(S[0].YUV.a & 0xF000)) {
*Du = (*Du + ((S[0].YUV.u & 0xFF00) ? 0xFF : S[0].YUV.u)) >> 1;
@@ -5050,33 +4221,81 @@ static void Sacc_to_Aop_i420( GenefxState *gfxs )
}
S += 2;
- Du++;
- Dv++;
+ ++Du;
+ ++Dv;
+ }
+ }
+}
+
+static void Sacc_to_Aop_yv16( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ GenefxAccumulator *S = gfxs->Sacc;
+ u8 * __restrict Dy = gfxs->Aop[0];
+ u8 * __restrict Du = gfxs->Aop[1];
+ u8 * __restrict Dv = gfxs->Aop[2];
+
+ while (--w) {
+ if (!(S->YUV.a & 0xF000))
+ *Dy = (S->YUV.y & 0xFF00) ? 0xFF : S->YUV.y;
+
+ ++S;
+ ++Dy;
+ }
+
+ w = (gfxs->length / 2) + 1;
+ S = gfxs->Sacc;
+
+ while (--w) {
+ if (!(S[0].YUV.a & 0xF000) && !(S[1].YUV.a & 0xF000)) {
+ u32 tmp;
+
+ tmp = (S[0].YUV.u + S[1].YUV.u) / 2;
+ if (tmp & 0xFF00)
+ tmp = 0xFF;
+ *Du = tmp;
+
+ tmp = (S[0].YUV.v + S[1].YUV.v) / 2;
+ if (tmp & 0xFF00)
+ tmp = 0xFF;
+ *Dv = tmp;
}
+ else if (!(S[0].YUV.a & 0xF000)) {
+ *Du = (*Du + ((S[0].YUV.u & 0xFF00) ? 0xFF : S[0].YUV.u)) / 2;
+ *Dv = (*Dv + ((S[0].YUV.v & 0xFF00) ? 0xFF : S[0].YUV.v)) / 2;
+ }
+ else if (!(S[1].YUV.a & 0xF000)) {
+ *Du = (*Du + ((S[1].YUV.u & 0xFF00) ? 0xFF : S[1].YUV.u)) / 2;
+ *Dv = (*Dv + ((S[1].YUV.v & 0xFF00) ? 0xFF : S[1].YUV.v)) / 2;
+ }
+
+ S += 2;
+ ++Du;
+ ++Dv;
}
}
static void Sacc_to_Aop_nv12( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
u8 *Dy = gfxs->Aop[0];
- while (w--) {
+ while (--w) {
if (!(S->YUV.a & 0xF000))
*Dy = (S->YUV.y & 0xFF00) ? 0xFF : S->YUV.y;
- S++;
- Dy++;
+ ++S;
+ ++Dy;
}
if (gfxs->dst_format == DSPF_NV16 || gfxs->AopY & 1) {
u16 *Duv = gfxs->Aop[1];
- w = gfxs->length>>1;
+ w = (gfxs->length>>1)+1;
S = gfxs->Sacc;
- while (w--) {
+ while (--w) {
u32 cb, cr;
if (!(S[0].YUV.a & 0xF000) && !(S[1].YUV.a & 0xF000)) {
@@ -5102,33 +4321,33 @@ static void Sacc_to_Aop_nv12( GenefxState *gfxs )
}
S += 2;
- Duv++;
+ ++Duv;
}
}
}
static void Sacc_to_Aop_nv21( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
u8 *Dy = gfxs->Aop[0];
- while (w--) {
+ while (--w) {
if (!(S->YUV.a & 0xF000))
*Dy = (S->YUV.y & 0xFF00) ? 0xFF : S->YUV.y;
- S++;
- Dy++;
+ ++S;
+ ++Dy;
}
/* DSPF_NV16 added here since this func is executed as _nv12 for BigEndians */
if (gfxs->dst_format == DSPF_NV16 || gfxs->AopY & 1) {
u16 *Dvu = gfxs->Aop[1];
- w = gfxs->length>>1;
+ w = (gfxs->length>>1)+1;
S = gfxs->Sacc;
- while (w--) {
+ while (--w) {
u32 cb, cr;
if (!(S[0].YUV.a & 0xF000) && !(S[1].YUV.a & 0xF000)) {
@@ -5154,18 +4373,18 @@ static void Sacc_to_Aop_nv21( GenefxState *gfxs )
}
S += 2;
- Dvu++;
+ ++Dvu;
}
}
}
static void Sacc_to_Aop_ayuv( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
u32 *D = gfxs->Aop[0];
- while (w--) {
+ while (--w) {
if (!(S->YUV.a & 0xF000)) {
*D = PIXEL_AYUV( (S->YUV.a & 0xFF00) ? 0xFF : S->YUV.a,
(S->YUV.y & 0xFF00) ? 0xFF : S->YUV.y,
@@ -5173,8 +4392,8 @@ static void Sacc_to_Aop_ayuv( GenefxState *gfxs )
(S->YUV.v & 0xFF00) ? 0xFF : S->YUV.v );
}
- D++;
- S++;
+ ++D;
+ ++S;
}
}
@@ -5192,18 +4411,18 @@ static void Sacc_to_Aop_avyu( GenefxState *gfxs )
(S->YUV.v & 0xFF00) ? 0xFF : S->YUV.v );
}
- D++;
- S++;
+ ++D;
+ ++S;
}
}
static void Sacc_to_Aop_a4( GenefxState *gfxs )
{
- int w = gfxs->length>>1;
+ int w = (gfxs->length>>1)+1;
GenefxAccumulator *S = gfxs->Sacc;
u8 *D = gfxs->Aop[0];
- while (w--) {
+ while (--w) {
if (!(S[0].RGB.a & 0xF000) && !(S[1].RGB.a & 0xF000)) {
*D = ((S[0].RGB.a & 0xFF00) ? 0xF0 : (S[0].RGB.a & 0xF0)) |
((S[1].RGB.a & 0XFF00) ? 0x0F : (S[1].RGB.a >> 4));
@@ -5215,7 +4434,7 @@ static void Sacc_to_Aop_a4( GenefxState *gfxs )
*D = (*D & 0xF0) | ((S[1].RGB.a & 0XFF00) ? 0x0F : (S[1].RGB.a >> 4));
}
- D++;
+ ++D;
S += 2;
}
@@ -5269,198 +4488,174 @@ static void Sacc_to_Aop_vyu( GenefxState *gfxs )
}
D += 3;
- S++;
+ ++S;
}
}
static GenefxFunc Sacc_to_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Sacc_to_Aop_argb1555, /* DSPF_ARGB1555 */
- Sacc_to_Aop_rgb16, /* DSPF_RGB16 */
- Sacc_to_Aop_rgb24, /* DSPF_RGB24 */
- Sacc_to_Aop_rgb32, /* DSPF_RGB32 */
- Sacc_to_Aop_argb, /* DSPF_ARGB */
- Sacc_to_Aop_a8, /* DSPF_A8 */
- Sacc_to_Aop_yuy2, /* DSPF_YUY2 */
- Sacc_to_Aop_rgb332, /* DSPF_RGB332 */
- Sacc_to_Aop_uyvy, /* DSPF_UYVY */
- Sacc_to_Aop_i420, /* DSPF_I420 */
- Sacc_to_Aop_i420, /* DSPF_YV12 */
- Sacc_to_Aop_lut8, /* DSPF_LUT8 */
- Sacc_to_Aop_alut44, /* DSPF_ALUT44 */
- Sacc_to_Aop_airgb, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- Sacc_to_Aop_nv12, /* DSPF_NV12 */
- Sacc_to_Aop_nv12, /* DSPF_NV16 */
- Sacc_to_Aop_argb2554, /* DSPF_ARGB2554 */
- Sacc_to_Aop_argb4444, /* DSPF_ARGB4444 */
- Sacc_to_Aop_rgba4444, /* DSPF_RGBA4444 */
- Sacc_to_Aop_nv21, /* DSPF_NV21 */
- Sacc_to_Aop_ayuv, /* DSPF_AYUV */
- Sacc_to_Aop_a4, /* DSPF_A4 */
- Sacc_to_Aop_argb1666, /* DSPF_ARGB1666 */
- Sacc_to_Aop_argb6666, /* DSPF_ARGB6666 */
- Sacc_to_Aop_rgb18, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Sacc_to_Aop_xrgb4444, /* DSPF_RGB444 */
- Sacc_to_Aop_xrgb1555, /* DSPF_RGB555 */
- Sacc_to_Aop_xbgr1555, /* DSPF_BGR555 */
- Sacc_to_Aop_rgba5551, /* DSPF_RGBA5551 */
- Sacc_to_Aop_yuv444p, /* DSPF_YUV444P */
- Sacc_to_Aop_argb8565, /* DSPF_ARGB8565 */
- Sacc_to_Aop_avyu, /* DSPF_AVYU */
- Sacc_to_Aop_vyu, /* DSPF_VYU */
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Sacc_to_Aop_argb1555,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Sacc_to_Aop_rgb16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Sacc_to_Aop_rgb24,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Sacc_to_Aop_rgb32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Sacc_to_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Sacc_to_Aop_a8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Sacc_to_Aop_yuy2,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Sacc_to_Aop_rgb332,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Sacc_to_Aop_uyvy,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = Sacc_to_Aop_i420,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = Sacc_to_Aop_i420,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Sacc_to_Aop_lut8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Sacc_to_Aop_alut44,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Sacc_to_Aop_airgb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = Sacc_to_Aop_nv12,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = Sacc_to_Aop_nv12,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Sacc_to_Aop_argb2554,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Sacc_to_Aop_argb4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Sacc_to_Aop_rgba4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = Sacc_to_Aop_nv21,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Sacc_to_Aop_ayuv,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = Sacc_to_Aop_a4,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Sacc_to_Aop_argb1666,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Sacc_to_Aop_argb6666,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Sacc_to_Aop_rgb18,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Sacc_to_Aop_xrgb4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Sacc_to_Aop_xrgb1555,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Sacc_to_Aop_xbgr1555,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Sacc_to_Aop_rgba5551,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Sacc_to_Aop_yuv444p,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Sacc_to_Aop_argb8565,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Sacc_to_Aop_avyu,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Sacc_to_Aop_vyu,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = Sacc_to_Aop_yv16,
};
-/********************************* Sacc_Sto_Aop_PFI ***************************/
-
-static void Sacc_Sto_Aop_argb6666( GenefxState *gfxs )
-{
- int w = gfxs->length;
- int i = gfxs->Xphase;
- GenefxAccumulator *Sacc = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
- int SperD = gfxs->SperD;
-
- while (w--) {
- GenefxAccumulator *S = &Sacc[i>>16];
-
- if (!(S->RGB.a & 0xF000)) {
- u32 pixel = PIXEL_ARGB6666( (S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a,
- (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
- (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g,
- (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
-
- D[0] = pixel;
- D[1] = pixel >> 8;
- D[2] = pixel >> 16;
- }
- D +=3;
- i += SperD;
- }
-}
-
-static void Sacc_Sto_Aop_argb1666( GenefxState *gfxs )
-{
- int w = gfxs->length;
- int i = gfxs->Xphase;
- GenefxAccumulator *Sacc = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
- int SperD = gfxs->SperD;
-
- while (w--) {
- GenefxAccumulator *S = &Sacc[i>>16];
-
- if (!(S->RGB.a & 0xF000)) {
- u32 pixel = PIXEL_ARGB1666( (S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a,
- (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
- (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g,
- (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
-
- D[0] = pixel;
- D[1] = pixel >> 8;
- D[2] = pixel >> 16;
- }
- D +=3;
- i += SperD;
- }
-}
-
-static void Sacc_Sto_Aop_rgb18( GenefxState *gfxs )
-{
- int w = gfxs->length;
- int i = gfxs->Xphase;
- GenefxAccumulator *Sacc = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
- int SperD = gfxs->SperD;
-
- while (w--) {
- GenefxAccumulator *S = &Sacc[i>>16];
-
- if (!(S->RGB.a & 0xF000)) {
- u32 pixel = PIXEL_RGB18( (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
- (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g,
- (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
+/********************************* Sop_PFI_TEX_to_Dacc ****************************/
- D[0] = pixel;
- D[1] = pixel >> 8;
- D[2] = pixel >> 16;
- }
- D +=3;
- i += SperD;
- }
-}
-
-static void Sacc_Sto_Aop_argb8565( GenefxState *gfxs )
+static void Sop_a8_TEX_to_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length + 1;
- int i = gfxs->Xphase;
- GenefxAccumulator *Sacc = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
+ int l = gfxs->length+1;
+ int s = gfxs->s;
+ int t = gfxs->t;
int SperD = gfxs->SperD;
+ int TperD = gfxs->TperD;
+ u8 *S = gfxs->Sop[0];
+ GenefxAccumulator *D = gfxs->Dacc;
- while (--w) {
- GenefxAccumulator *S = &Sacc[i>>16];
-
- if (!(S->RGB.a & 0xF000)) {
- u32 pixel = PIXEL_ARGB8565( (S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a,
- (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
- (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g,
- (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
-#ifdef WORDS_BIGENDIAN
- D[0] = (pixel >> 16) & 0xff;
- D[1] = (pixel >> 8) & 0xff;
- D[2] = (pixel >> 0) & 0xff;
-#else
- D[0] = (pixel >> 0) & 0xff;
- D[1] = (pixel >> 8) & 0xff;
- D[2] = (pixel >> 16) & 0xff;
-#endif
-
- }
-
- D += 3;
- i += SperD;
- }
-}
-
-static void Sacc_Sto_Aop_rgb24( GenefxState *gfxs )
-{
- int w = gfxs->length;
- int i = gfxs->Xphase;
- GenefxAccumulator *Sacc = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
- int SperD = gfxs->SperD;
+ while (--l) {
+ D->RGB.a = S[(s>>16) + (t>>16) * gfxs->src_pitch];
+ D->RGB.r = 0xFF;
+ D->RGB.g = 0xFF;
+ D->RGB.b = 0xFF;
- while (w--) {
- GenefxAccumulator *S = &Sacc[i>>16];
+ ++D;
+ s += SperD;
+ t += TperD;
+ }
+}
+
+static const GenefxFunc Sop_PFI_TEX_to_Dacc[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Sop_argb1555_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Sop_rgb16_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Sop_rgb24_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Sop_rgb32_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Sop_argb_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Sop_a8_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = NULL,//Sop_yuy2_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = NULL,//Sop_rgb332_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = NULL,//Sop_uyvy_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = NULL,//Sop_lut8_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = NULL,//Sop_alut44_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Sop_airgb_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Sop_argb2554_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Sop_argb4444_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Sop_rgba4444_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Sop_argb1666_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Sop_argb6666_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Sop_rgb18_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Sop_xrgb4444_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Sop_xrgb1555_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Sop_xbgr1555_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Sop_rgba5551_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = NULL,//Sop_yuv444p_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Sop_argb8565_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = NULL,//Sop_avyu_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = NULL,//Sop_vyu_TEX_to_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
+};
- if (!(S->RGB.a & 0xF000)) {
- *D++ = (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b;
- *D++ = (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g;
- *D++ = (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r;
- }
- else
- D += 3;
+/********************************* Sop_PFI_TEX_Kto_Dacc ****************************/
+
+
+static const GenefxFunc Sop_PFI_TEX_Kto_Dacc[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Sop_argb1555_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Sop_rgb16_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Sop_rgb24_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Sop_rgb32_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Sop_argb_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = NULL,//Sop_a8_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = NULL,//Sop_yuy2_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = NULL,//Sop_rgb332_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = NULL,//Sop_uyvy_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = NULL,//Sop_lut8_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = NULL,//Sop_alut44_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Sop_airgb_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Sop_argb2554_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Sop_argb4444_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Sop_rgba4444_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Sop_argb1666_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Sop_argb6666_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Sop_rgb18_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Sop_xrgb4444_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Sop_xrgb1555_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Sop_xbgr1555_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Sop_rgba5551_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = NULL,//Sop_yuv444p_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Sop_argb8565_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = NULL,//Sop_avyu_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = NULL,//Sop_vyu_TEX_Kto_Dacc,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
+};
- i += SperD;
- }
-}
+/********************************* Sacc_Sto_Aop_PFI ***************************/
static void Sacc_Sto_Aop_a8( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
GenefxAccumulator *Sacc = gfxs->Sacc;
u8 *D = gfxs->Aop[0];
int SperD = gfxs->SperD;
- while (w--) {
+ while (--w) {
GenefxAccumulator *S = &Sacc[i>>16];
if (!(S->RGB.a & 0xF000))
*D = (S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a;
- D++;
+ ++D;
i += SperD;
}
}
@@ -5481,8 +4676,8 @@ static void Sacc_Sto_Aop_yuy2( GenefxState *gfxs )
*D = ((S->YUV.y & 0xFF00) ? 0x00FF : S->YUV.y) |
((S->YUV.v & 0xFF00) ? 0XFF00 : (S->YUV.v<<8));
}
- D++;
- w--;
+ ++D;
+ --w;
i = SperD;
}
@@ -5534,13 +4729,13 @@ static void Sacc_Sto_Aop_yuy2( GenefxState *gfxs )
static void Sacc_Sto_Aop_rgb332( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
GenefxAccumulator *Sacc = gfxs->Sacc;
u8 *D = gfxs->Aop[0];
int SperD = gfxs->SperD;
- while (w--) {
+ while (--w) {
GenefxAccumulator *S = &Sacc[i>>16];
if (!(S->RGB.a & 0xF000)) {
@@ -5549,7 +4744,7 @@ static void Sacc_Sto_Aop_rgb332( GenefxState *gfxs )
(S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
}
- D++;
+ ++D;
i += SperD;
}
}
@@ -5570,8 +4765,8 @@ static void Sacc_Sto_Aop_uyvy( GenefxState *gfxs )
*D = ((S->YUV.v & 0xFF00) ? 0x00FF : S->YUV.v) |
((S->YUV.y & 0xFF00) ? 0xFF00 : (S->YUV.y<<8));
}
- D++;
- w--;
+ ++D;
+ --w;
i = SperD;
}
@@ -5623,13 +4818,13 @@ static void Sacc_Sto_Aop_uyvy( GenefxState *gfxs )
static void Sacc_Sto_Aop_lut8( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
GenefxAccumulator *Sacc = gfxs->Sacc;
u8 *D = gfxs->Aop[0];
int SperD = gfxs->SperD;
- while (w--) {
+ while (--w) {
GenefxAccumulator *S = &Sacc[i>>16];
if (!(S->RGB.a & 0xF000)) {
@@ -5640,20 +4835,20 @@ static void Sacc_Sto_Aop_lut8( GenefxState *gfxs )
(S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a );
}
- D++;
+ ++D;
i += SperD;
}
}
static void Sacc_Sto_Aop_alut44( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
GenefxAccumulator *Sacc = gfxs->Sacc;
u8 *D = gfxs->Aop[0];
int SperD = gfxs->SperD;
- while (w--) {
+ while (--w) {
GenefxAccumulator *S = &Sacc[i>>16];
if (!(S->RGB.a & 0xF000)) {
@@ -5665,7 +4860,7 @@ static void Sacc_Sto_Aop_alut44( GenefxState *gfxs )
0x80 );
}
- D++;
+ ++D;
i += SperD;
}
}
@@ -5673,32 +4868,32 @@ static void Sacc_Sto_Aop_alut44( GenefxState *gfxs )
static void Sacc_Sto_Aop_i420( GenefxState *gfxs )
{
int i = gfxs->Xphase;
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *Sacc = gfxs->Sacc;
u8 *Dy = gfxs->Aop[0];
int SperD = gfxs->SperD;
-
- while (w--) {
+
+ while (--w) {
GenefxAccumulator *S = &Sacc[i>>16];
-
+
if (!(S->YUV.a & 0xF000))
*Dy = (S->YUV.y & 0xFF00) ? 0xFF : S->YUV.y;
-
- Dy++;
+
+ ++Dy;
i += SperD;
}
-
+
if (gfxs->AopY & 1) {
u8 *Du = gfxs->Aop[1];
u8 *Dv = gfxs->Aop[2];
-
- w = gfxs->length>>1;
+
+ w = (gfxs->length>>1)+1;
i = gfxs->Xphase>>1;
-
- while (w--) {
+
+ while (--w) {
GenefxAccumulator *S0 = &Sacc[i>>16];
GenefxAccumulator *S1 = &Sacc[(i+SperD)>>16];
-
+
if (!(S0->YUV.a & 0xF000) && !(S1->YUV.a & 0xF000)) {
u32 tmp;
@@ -5711,7 +4906,7 @@ static void Sacc_Sto_Aop_i420( GenefxState *gfxs )
if (tmp & 0xFF00)
tmp = 0xFF;
*Dv = tmp;
-
+
}
else if (!(S0->YUV.a & 0xF000)) {
*Du = (*Du + ((S0->YUV.u & 0xFF00) ? 0xFF : S0->YUV.u)) >> 1;
@@ -5721,39 +4916,94 @@ static void Sacc_Sto_Aop_i420( GenefxState *gfxs )
*Du = (*Du + ((S1->YUV.u & 0xFF00) ? 0xFF : S1->YUV.u)) >> 1;
*Dv = (*Dv + ((S1->YUV.v & 0xFF00) ? 0xFF : S1->YUV.v)) >> 1;
}
-
- Du++;
- Dv++;
+
+ ++Du;
+ ++Dv;
i += SperD << 1;
}
}
}
+static void Sacc_Sto_Aop_yv16( GenefxState *gfxs )
+{
+ int i = gfxs->Xphase;
+ int w = gfxs->length + 1;
+ GenefxAccumulator *Sacc = gfxs->Sacc;
+ u8 * __restrict Dy = gfxs->Aop[0];
+ u8 * __restrict Du = gfxs->Aop[1];
+ u8 * __restrict Dv = gfxs->Aop[2];
+ int SperD = gfxs->SperD;
+
+ while (--w) {
+ GenefxAccumulator *S = &Sacc[i>>16];
+
+ if (!(S->YUV.a & 0xF000))
+ *Dy = (S->YUV.y & 0xFF00) ? 0xFF : S->YUV.y;
+
+ Dy++;
+ i += SperD;
+ }
+
+ w = (gfxs->length / 2) + 1;
+ i = gfxs->Xphase / 2;
+
+ while (--w) {
+ GenefxAccumulator *S0 = &Sacc[i>>16];
+ GenefxAccumulator *S1 = &Sacc[(i+SperD)>>16];
+
+ if (!(S0->YUV.a & 0xF000) && !(S1->YUV.a & 0xF000)) {
+ u32 tmp;
+
+ tmp = (S0->YUV.u + S1->YUV.u) / 2;
+ if (tmp & 0xFF00)
+ tmp = 0xFF;
+ *Du = tmp;
+
+ tmp = (S0->YUV.v + S1->YUV.v) / 2;
+ if (tmp & 0xFF00)
+ tmp = 0xFF;
+ *Dv = tmp;
+ }
+ else if (!(S0->YUV.a & 0xF000)) {
+ *Du = (*Du + ((S0->YUV.u & 0xFF00) ? 0xFF : S0->YUV.u)) / 2;
+ *Dv = (*Dv + ((S0->YUV.v & 0xFF00) ? 0xFF : S0->YUV.v)) / 2;
+ }
+ else if (!(S1->YUV.a & 0xF000)) {
+ *Du = (*Du + ((S1->YUV.u & 0xFF00) ? 0xFF : S1->YUV.u)) / 2;
+ *Dv = (*Dv + ((S1->YUV.v & 0xFF00) ? 0xFF : S1->YUV.v)) / 2;
+ }
+
+ Du++;
+ Dv++;
+ i += SperD << 1;
+ }
+}
+
static void Sacc_Sto_Aop_nv12( GenefxState *gfxs )
{
int i = gfxs->Xphase;
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *Sacc = gfxs->Sacc;
u8 *Dy = gfxs->Aop[0];
int SperD = gfxs->SperD;
- while (w--) {
+ while (--w) {
GenefxAccumulator *S = &Sacc[i>>16];
if (!(S->YUV.a & 0xF000))
*Dy = (S->YUV.y & 0xFF00) ? 0xFF : S->YUV.y;
- Dy++;
+ ++Dy;
i += SperD;
}
if (gfxs->dst_format == DSPF_NV16 || gfxs->AopY & 1) {
u16 *Duv = gfxs->Aop[1];
- w = gfxs->length>>1;
+ w = (gfxs->length>>1)+1;
i = gfxs->Xphase>>1;
- while (w--) {
+ while (--w) {
GenefxAccumulator *S0 = &Sacc[i>>16];
GenefxAccumulator *S1 = &Sacc[(i+SperD)>>16];
u32 cb, cr;
@@ -5780,7 +5030,7 @@ static void Sacc_Sto_Aop_nv12( GenefxState *gfxs )
*Duv = cb | (cr << 8);
}
- Duv++;
+ ++Duv;
i += SperD << 1;
}
@@ -5790,18 +5040,18 @@ static void Sacc_Sto_Aop_nv12( GenefxState *gfxs )
static void Sacc_Sto_Aop_nv21( GenefxState *gfxs )
{
int i = gfxs->Xphase;
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *Sacc = gfxs->Sacc;
u8 *Dy = gfxs->Aop[0];
int SperD = gfxs->SperD;
- while (w--) {
+ while (--w) {
GenefxAccumulator *S = &Sacc[i>>16];
if (!(S->YUV.a & 0xF000))
*Dy = (S->YUV.y & 0xFF00) ? 0xFF : S->YUV.y;
- Dy++;
+ ++Dy;
i += SperD;
}
@@ -5809,10 +5059,10 @@ static void Sacc_Sto_Aop_nv21( GenefxState *gfxs )
if (gfxs->dst_format == DSPF_NV16 || gfxs->AopY & 1) {
u16 *Dvu = gfxs->Aop[1];
- w = gfxs->length>>1;
+ w = (gfxs->length>>1)+1;
i = gfxs->Xphase>>1;
- while (w--) {
+ while (--w) {
GenefxAccumulator *S0 = &Sacc[i>>16];
GenefxAccumulator *S1 = &Sacc[(i+SperD)>>16];
u32 cb, cr;
@@ -5839,7 +5089,7 @@ static void Sacc_Sto_Aop_nv21( GenefxState *gfxs )
*Dvu = cr | (cb << 8);
}
- Dvu++;
+ ++Dvu;
i += SperD << 1;
}
@@ -5848,13 +5098,13 @@ static void Sacc_Sto_Aop_nv21( GenefxState *gfxs )
static void Sacc_Sto_Aop_ayuv( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
GenefxAccumulator *Sacc = gfxs->Sacc;
u32 *D = gfxs->Aop[0];
int SperD = gfxs->SperD;
- while (w--) {
+ while (--w) {
GenefxAccumulator *S = &Sacc[i>>16];
if (!(S->YUV.a & 0xF000)) {
@@ -5864,7 +5114,7 @@ static void Sacc_Sto_Aop_ayuv( GenefxState *gfxs )
(S->YUV.v & 0xFF00) ? 0xFF : S->YUV.v );
}
- D++;
+ ++D;
i += SperD;
}
}
@@ -5911,20 +5161,20 @@ static void Sacc_Sto_Aop_avyu( GenefxState *gfxs )
(S->YUV.v & 0xFF00) ? 0xFF : S->YUV.v );
}
- D++;
+ ++D;
i += SperD;
}
}
static void Sacc_Sto_Aop_vyu( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int i = gfxs->Xphase;
GenefxAccumulator *Sacc = gfxs->Sacc;
u8 *D = gfxs->Aop[0];
int SperD = gfxs->SperD;
- while (w--) {
+ while (--w) {
GenefxAccumulator *S = &Sacc[i>>16];
if (!(S->YUV.a & 0xF000)) {
@@ -5950,185 +5200,60 @@ static void Sacc_Sto_Aop_vyu( GenefxState *gfxs )
static GenefxFunc Sacc_Sto_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Sacc_Sto_Aop_argb1555, /* DSPF_ARGB1555 */
- Sacc_Sto_Aop_rgb16, /* DSPF_RGB16 */
- Sacc_Sto_Aop_rgb24, /* DSPF_RGB24 */
- Sacc_Sto_Aop_rgb32, /* DSPF_RGB32 */
- Sacc_Sto_Aop_argb, /* DSPF_ARGB */
- Sacc_Sto_Aop_a8, /* DSPF_A8 */
- Sacc_Sto_Aop_yuy2, /* DSPF_YUY2 */
- Sacc_Sto_Aop_rgb332, /* DSPF_RGB332 */
- Sacc_Sto_Aop_uyvy, /* DSPF_UYVY */
- Sacc_Sto_Aop_i420, /* DSPF_I420 */
- Sacc_Sto_Aop_i420, /* DSPF_YV12 */
- Sacc_Sto_Aop_lut8, /* DSPF_LUT8 */
- Sacc_Sto_Aop_alut44, /* DSPF_ALUT44 */
- Sacc_Sto_Aop_airgb, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- Sacc_Sto_Aop_nv12, /* DSPF_NV12 */
- Sacc_Sto_Aop_nv12, /* DSPF_NV16 */
- Sacc_Sto_Aop_argb2554, /* DSPF_ARGB2554 */
- Sacc_Sto_Aop_argb4444, /* DSPF_ARGB4444 */
- Sacc_Sto_Aop_rgba4444, /* DSPF_RGBA4444 */
- Sacc_Sto_Aop_nv21, /* DSPF_NV21 */
- Sacc_Sto_Aop_ayuv, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- Sacc_Sto_Aop_argb1666, /* DSPF_ARGB1666 */
- Sacc_Sto_Aop_argb6666, /* DSPF_ARGB6666 */
- Sacc_Sto_Aop_rgb18, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Sacc_Sto_Aop_xrgb4444, /* DSPF_RGB444 */
- Sacc_Sto_Aop_xrgb1555, /* DSPF_RGB555 */
- Sacc_Sto_Aop_xbgr1555, /* DSPF_BGR555 */
- Sacc_Sto_Aop_rgba5551, /* DSPF_RGBA5551 */
- Sacc_Sto_Aop_yuv444p, /* DSPF_YUV444P */
- Sacc_Sto_Aop_argb8565, /* DSPF_ARGB8565 */
- Sacc_Sto_Aop_avyu, /* DSPF_AVYU */
- Sacc_Sto_Aop_vyu, /* DSPF_VYU */
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Sacc_Sto_Aop_argb1555,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Sacc_Sto_Aop_rgb16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Sacc_Sto_Aop_rgb24,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Sacc_Sto_Aop_rgb32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Sacc_Sto_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Sacc_Sto_Aop_a8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Sacc_Sto_Aop_yuy2,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Sacc_Sto_Aop_rgb332,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Sacc_Sto_Aop_uyvy,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = Sacc_Sto_Aop_i420,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = Sacc_Sto_Aop_i420,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Sacc_Sto_Aop_lut8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Sacc_Sto_Aop_alut44,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Sacc_Sto_Aop_airgb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = Sacc_Sto_Aop_nv12,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = Sacc_Sto_Aop_nv12,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Sacc_Sto_Aop_argb2554,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Sacc_Sto_Aop_argb4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Sacc_Sto_Aop_rgba4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = Sacc_Sto_Aop_nv21,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Sacc_Sto_Aop_ayuv,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Sacc_Sto_Aop_argb1666,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Sacc_Sto_Aop_argb6666,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Sacc_Sto_Aop_rgb18,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Sacc_Sto_Aop_xrgb4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Sacc_Sto_Aop_xrgb1555,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Sacc_Sto_Aop_xbgr1555,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Sacc_Sto_Aop_rgba5551,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Sacc_Sto_Aop_yuv444p,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Sacc_Sto_Aop_argb8565,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Sacc_Sto_Aop_avyu,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Sacc_Sto_Aop_vyu,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = Sacc_Sto_Aop_yv16,
};
/********************************* Sacc_toK_Aop_PFI ***************************/
-static void Sacc_toK_Aop_argb6666( GenefxState *gfxs )
-{
- int w = gfxs->length;
- GenefxAccumulator *S = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
- u32 Dkey = gfxs->Dkey;
-
- while (w--) {
- if (!(S->RGB.a & 0xF000) && Dkey == ((u32)(D[2]<<16 | D[1]<<8 | D[0]) & 0x3FFFF)) {
- u32 pixel = PIXEL_ARGB6666( (S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a,
- (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
- (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g,
- (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
-
- D[0] = pixel;
- D[1] = pixel >> 8;
- D[2] = pixel >> 16;
- }
- D +=3;
- S++;
- }
-}
-
-static void Sacc_toK_Aop_argb1666( GenefxState *gfxs )
-{
- int w = gfxs->length;
- GenefxAccumulator *S = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
- u32 Dkey = gfxs->Dkey;
-
- while (w--) {
- if (!(S->RGB.a & 0xF000) && Dkey == ((u32)(D[2]<<16 | D[1]<<8 | D[0]) & 0x3FFFF)) {
- u32 pixel = PIXEL_ARGB1666( (S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a,
- (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
- (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g,
- (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
-
- D[0] = pixel;
- D[1] = pixel >> 8;
- D[2] = pixel >> 16;
- }
- D +=3;
- S++;
- }
-}
-
-static void Sacc_toK_Aop_rgb18( GenefxState *gfxs )
-{
- int w = gfxs->length;
- GenefxAccumulator *S = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
- u32 Dkey = gfxs->Dkey;
-
- while (w--) {
- if (!(S->RGB.a & 0xF000) && Dkey == ((u32)(D[2]<<16 | D[1]<<8 | D[0]) & 0x3FFFF)) {
- u32 pixel = PIXEL_RGB18( (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
- (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g,
- (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
-
- D[0] = pixel;
- D[1] = pixel >> 8;
- D[2] = pixel >> 16;
- }
- D +=3;
- S++;
- }
-}
-
-static void Sacc_toK_Aop_argb8565( GenefxState *gfxs )
-{
- int w = gfxs->length + 1;
- GenefxAccumulator *S = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
- u32 Dkey = gfxs->Dkey;
-
- while (--w) {
-
-#ifdef WORDS_BIGENDIAN
- u32 d = D[1] << 8 | D[2];
-#else
- u32 d = D[1] << 8 | D[0];
-#endif
-
- if (!(S->RGB.a & 0xF000) && Dkey == d) {
- u32 pixel = PIXEL_ARGB8565( (S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a,
- (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
- (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g,
- (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
-#ifdef WORDS_BIGENDIAN
- D[0] = (pixel >> 16) & 0xff;
- D[1] = (pixel >> 8) & 0xff;
- D[2] = (pixel >> 0) & 0xff;
-#else
- D[0] = (pixel >> 0) & 0xff;
- D[1] = (pixel >> 8) & 0xff;
- D[2] = (pixel >> 16) & 0xff;
-#endif
-
- }
-
- D += 3;
- S++;
- }
-}
-
-static void Sacc_toK_Aop_rgb24( GenefxState *gfxs )
-{
- int w = gfxs->length;
- GenefxAccumulator *S = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
- u8 r = (gfxs->Dkey >> 16);
- u8 g = (gfxs->Dkey >> 8) & 0xff;
- u8 b = (gfxs->Dkey ) & 0xff;
-
- while (w--) {
- if (!(S->RGB.a & 0xF000) && D[0] == b && D[1] == g && D[2] == r) {
- *D++ = (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b;
- *D++ = (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g;
- *D++ = (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r;
- }
- else
- D += 3;
-
- S++;
- }
-}
-
static void Sacc_toK_Aop_a8( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
u8 *D = gfxs->Aop[0];
/* FIXME: do all or do none? */
- while (w--) {
+ while (--w) {
if (!(S->RGB.a & 0xF000))
*D = (S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a;
- D++;
- S++;
+ ++D;
+ ++S;
}
}
@@ -6152,9 +5277,9 @@ static void Sacc_toK_Aop_yuy2( GenefxState *gfxs )
*D = ((S->YUV.y & 0xFF00) ? 0x00FF : S->YUV.y) |
((S->YUV.v & 0xFF00) ? 0xFF00 : (S->YUV.v<<8));
}
- S++;
- D++;
- w--;
+ ++S;
+ ++D;
+ --w;
}
for (l = w>>1; l--;) {
@@ -6203,20 +5328,20 @@ static void Sacc_toK_Aop_yuy2( GenefxState *gfxs )
static void Sacc_toK_Aop_rgb332( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
u8 *D = gfxs->Aop[0];
u32 Dkey = gfxs->Dkey;
- while (w--) {
+ while (--w) {
if (!(S->RGB.a & 0xF000) && (*D == Dkey)) {
*D = PIXEL_RGB332( (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
(S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g,
(S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
}
- D++;
- S++;
+ ++D;
+ ++S;
}
}
@@ -6240,9 +5365,9 @@ static void Sacc_toK_Aop_uyvy( GenefxState *gfxs )
*D = ((S->YUV.v & 0xFF00) ? 0x00FF : S->YUV.v) |
((S->YUV.y & 0xFF00) ? 0xFF00 : (S->YUV.y<<8));
}
- S++;
- D++;
- w--;
+ ++S;
+ ++D;
+ --w;
}
for (l = w>>1; l--;) {
@@ -6291,12 +5416,12 @@ static void Sacc_toK_Aop_uyvy( GenefxState *gfxs )
static void Sacc_toK_Aop_lut8( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
u8 *D = gfxs->Aop[0];
u32 Dkey = gfxs->Dkey;
- while (w--) {
+ while (--w) {
if (!(S->RGB.a & 0xF000) && (*D == Dkey)) {
*D = dfb_palette_search( gfxs->Alut,
(S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
@@ -6305,19 +5430,19 @@ static void Sacc_toK_Aop_lut8( GenefxState *gfxs )
(S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a );
}
- D++;
- S++;
+ ++D;
+ ++S;
}
}
static void Sacc_toK_Aop_alut44( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
u8 *D = gfxs->Aop[0];
u32 Dkey = gfxs->Dkey;
- while (w--) {
+ while (--w) {
if (!(S->RGB.a & 0xF000) && ((*D & 0x0F) == Dkey)) {
*D = (S->RGB.a & 0xFF00) ? 0xF0 : (S->RGB.a & 0xF0) +
dfb_palette_search( gfxs->Alut,
@@ -6327,8 +5452,8 @@ static void Sacc_toK_Aop_alut44( GenefxState *gfxs )
0x80 );
}
- D++;
- S++;
+ ++D;
+ ++S;
}
}
@@ -6353,7 +5478,7 @@ static void Sacc_toK_Aop_yuv444p( GenefxState *gfxs )
}
++Dy; ++Du; ++Dv;
- S++;
+ ++S;
}
}
@@ -6373,8 +5498,8 @@ static void Sacc_toK_Aop_avyu( GenefxState *gfxs )
(S->YUV.u & 0xff00) ? 0xff : S->YUV.u,
(S->YUV.v & 0xff00) ? 0xff : S->YUV.v );
- S++;
- D++;
+ ++S;
+ ++D;
}
}
@@ -6410,90 +5535,52 @@ static void Sacc_toK_Aop_vyu( GenefxState *gfxs )
}
D += 3;
- S++;
- }
-}
-
-static GenefxFunc Sacc_toK_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Sacc_toK_Aop_argb1555, /* DSPF_ARGB1555 */
- Sacc_toK_Aop_rgb16, /* DSPF_RGB16 */
- Sacc_toK_Aop_rgb24, /* DSPF_RGB24 */
- Sacc_toK_Aop_rgb32, /* DSPF_RGB32 */
- Sacc_toK_Aop_argb, /* DSPF_ARGB */
- Sacc_toK_Aop_a8, /* DSPF_A8 */
- Sacc_toK_Aop_yuy2, /* DSPF_YUY2 */
- Sacc_toK_Aop_rgb332, /* DSPF_RGB332 */
- Sacc_toK_Aop_uyvy, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- Sacc_toK_Aop_lut8, /* DSPF_LUT8 */
- Sacc_toK_Aop_alut44, /* DSPF_ALUT44 */
- Sacc_toK_Aop_airgb, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- Sacc_toK_Aop_argb2554, /* DSPF_ARGB2554 */
- Sacc_toK_Aop_argb4444, /* DSPF_ARGB4444 */
- Sacc_toK_Aop_rgba4444, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- NULL, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- Sacc_toK_Aop_argb1666, /* DSPF_ARGB1666 */
- Sacc_toK_Aop_argb6666, /* DSPF_ARGB6666 */
- Sacc_toK_Aop_rgb18, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Sacc_toK_Aop_xrgb4444, /* DSPF_RGB444 */
- Sacc_toK_Aop_xrgb1555, /* DSPF_RGB555 */
- Sacc_toK_Aop_xbgr1555, /* DSPF_BGR555 */
- Sacc_toK_Aop_rgba5551, /* DSPF_RGBA5551 */
- Sacc_toK_Aop_yuv444p, /* DSPF_YUV444P */
- Sacc_toK_Aop_argb8565, /* DSPF_ARGB8565 */
- Sacc_toK_Aop_avyu, /* DSPF_AVYU */
- Sacc_toK_Aop_vyu, /* DSPF_VYU */
+ ++S;
+ }
+}
+
+static const GenefxFunc Sacc_toK_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Sacc_toK_Aop_argb1555,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Sacc_toK_Aop_rgb16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Sacc_toK_Aop_rgb24,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Sacc_toK_Aop_rgb32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Sacc_toK_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Sacc_toK_Aop_a8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Sacc_toK_Aop_yuy2,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Sacc_toK_Aop_rgb332,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Sacc_toK_Aop_uyvy,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Sacc_toK_Aop_lut8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Sacc_toK_Aop_alut44,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Sacc_toK_Aop_airgb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Sacc_toK_Aop_argb2554,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Sacc_toK_Aop_argb4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Sacc_toK_Aop_rgba4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Sacc_toK_Aop_argb1666,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Sacc_toK_Aop_argb6666,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Sacc_toK_Aop_rgb18,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Sacc_toK_Aop_xrgb4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Sacc_toK_Aop_xrgb1555,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Sacc_toK_Aop_xbgr1555,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Sacc_toK_Aop_rgba5551,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Sacc_toK_Aop_yuv444p,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Sacc_toK_Aop_argb8565,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Sacc_toK_Aop_avyu,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Sacc_toK_Aop_vyu,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
};
/********************************* Sacc_StoK_Aop_PFI **************************/
-static void Sacc_StoK_Aop_argb8565( GenefxState *gfxs )
-{
- int w = gfxs->length + 1;
- int i = gfxs->Xphase;
- int SperD = gfxs->Xphase;
- GenefxAccumulator *Sacc = gfxs->Sacc;
- u8 *D = gfxs->Aop[0];
- u32 Dkey = gfxs->Dkey;
-
- while (--w) {
- GenefxAccumulator *S = &Sacc[i>>16];
-
-#ifdef WORDS_BIGENDIAN
- u32 d = D[1] << 8 | D[2];
-#else
- u32 d = D[1] << 8 | D[0];
-#endif
-
- if (!(S->RGB.a & 0xF000) && Dkey == d) {
- u32 pixel = PIXEL_ARGB8565( (S->RGB.a & 0xFF00) ? 0xFF : S->RGB.a,
- (S->RGB.r & 0xFF00) ? 0xFF : S->RGB.r,
- (S->RGB.g & 0xFF00) ? 0xFF : S->RGB.g,
- (S->RGB.b & 0xFF00) ? 0xFF : S->RGB.b );
-#ifdef WORDS_BIGENDIAN
- D[0] = (pixel >> 16) & 0xff;
- D[1] = (pixel >> 8) & 0xff;
- D[2] = (pixel >> 0) & 0xff;
-#else
- D[0] = (pixel >> 0) & 0xff;
- D[1] = (pixel >> 8) & 0xff;
- D[2] = (pixel >> 16) & 0xff;
-#endif
-
- }
-
- D += 3;
- i += SperD;
- }
-}
-
static void Sacc_StoK_Aop_yuv444p( GenefxState *gfxs )
{
int w = gfxs->length + 1;
@@ -6541,7 +5628,7 @@ static void Sacc_StoK_Aop_avyu( GenefxState *gfxs )
(S->YUV.u & 0xff00) ? 0xff : S->YUV.u,
(S->YUV.v & 0xff00) ? 0xff : S->YUV.v );
- D++;
+ ++D;
i += SperD;
}
}
@@ -6585,42 +5672,44 @@ static void Sacc_StoK_Aop_vyu( GenefxState *gfxs )
}
}
-static GenefxFunc Sacc_StoK_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Sacc_StoK_Aop_argb1555, /* DSPF_ARGB1555 */
- Sacc_StoK_Aop_rgb16, /* DSPF_RGB16 */
- NULL, /* DSPF_RGB24 */
- Sacc_StoK_Aop_rgb32, /* DSPF_RGB32 */
- Sacc_StoK_Aop_argb, /* DSPF_ARGB */
- NULL, /* DSPF_A8 */
- NULL, /* DSPF_YUY2 */
- NULL, /* DSPF_RGB332 */
- NULL, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- NULL, /* DSPF_LUT8 */
- NULL, /* DSPF_ALUT44 */
- Sacc_StoK_Aop_airgb, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- Sacc_StoK_Aop_argb2554, /* DSPF_ARGB2554 */
- Sacc_StoK_Aop_argb4444, /* DSPF_ARGB4444 */
- Sacc_StoK_Aop_rgba4444, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- NULL, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- NULL, /* DSPF_ARGB1666 */
- NULL, /* DSPF_ARGB6666 */
- NULL, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- Sacc_StoK_Aop_xrgb4444, /* DSPF_RGB444 */
- Sacc_StoK_Aop_xrgb1555, /* DSPF_RGB555 */
- Sacc_StoK_Aop_xbgr1555, /* DSPF_BGR555 */
- Sacc_StoK_Aop_rgba5551, /* DSPF_RGBA5551 */
- Sacc_StoK_Aop_yuv444p, /* DSPF_YUV444P */
- Sacc_StoK_Aop_argb8565, /* DSPF_ARGB8565 */
- Sacc_StoK_Aop_avyu, /* DSPF_AVYU */
- Sacc_StoK_Aop_vyu, /* DSPF_VYU */
+static const GenefxFunc Sacc_StoK_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Sacc_StoK_Aop_argb1555,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Sacc_StoK_Aop_rgb16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Sacc_StoK_Aop_rgb24,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Sacc_StoK_Aop_rgb32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Sacc_StoK_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Sacc_StoK_Aop_airgb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Sacc_StoK_Aop_argb2554,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Sacc_StoK_Aop_argb4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Sacc_StoK_Aop_rgba4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Sacc_StoK_Aop_argb1666,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Sacc_StoK_Aop_argb6666,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Sacc_StoK_Aop_rgb18,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = Sacc_StoK_Aop_xrgb4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = Sacc_StoK_Aop_xrgb1555,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = Sacc_StoK_Aop_xbgr1555,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Sacc_StoK_Aop_rgba5551,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Sacc_StoK_Aop_yuv444p,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Sacc_StoK_Aop_argb8565,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Sacc_StoK_Aop_avyu,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Sacc_StoK_Aop_vyu,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
};
/************** Bop_a8_set_alphapixel_Aop_PFI *********************************/
@@ -6676,9 +5765,9 @@ static void Bop_a8_set_alphapixel_Aop_rgba5551( GenefxState *gfxs )
register u32 s = (a>>3)+1;\
register u32 t1 = (d & 0xf83e);\
register u32 t2 = (d & 0x07c0);\
- d = (((d) & 0x0001)<<15) | ((a & 0x80) << 8) | \
+ d = ((d) & 0x0001) | ((a & 0x80) >> 7) | \
((((rb-t1)*s+(t1<<4)) & 0x000f83e0) + \
- ((( g-t2)*s+(t2<<4)) & 0x00007c00)) >> 5;\
+ ((( g-t2)*s+(t2<<4)) & 0x00007c00)) >> 4;\
}\
}
@@ -6862,14 +5951,14 @@ static void Bop_a8_set_alphapixel_Aop_argb8565( GenefxState *gfxs )
#endif
while (w>4) {
- SET_PIXEL( D, *S ); D+=3; S++;
- SET_PIXEL( D, *S ); D+=3; S++;
- SET_PIXEL( D, *S ); D+=3; S++;
- SET_PIXEL( D, *S ); D+=3; S++;
+ SET_PIXEL( D, *S ); D+=3; ++S;
+ SET_PIXEL( D, *S ); D+=3; ++S;
+ SET_PIXEL( D, *S ); D+=3; ++S;
+ SET_PIXEL( D, *S ); D+=3; ++S;
w-=4;
}
while (w--) {
- SET_PIXEL( D, *S ); D+=3, S++;
+ SET_PIXEL( D, *S ); D+=3; ++S;
}
#undef SET_PIXEL
@@ -6898,14 +5987,14 @@ static void Bop_a8_set_alphapixel_Aop_rgb24( GenefxState *gfxs )
}
while (w>4) {
- SET_PIXEL( D, color.r, color.g, color.b, *S ); D+=3; S++;
- SET_PIXEL( D, color.r, color.g, color.b, *S ); D+=3; S++;
- SET_PIXEL( D, color.r, color.g, color.b, *S ); D+=3; S++;
- SET_PIXEL( D, color.r, color.g, color.b, *S ); D+=3; S++;
+ SET_PIXEL( D, color.r, color.g, color.b, *S ); D+=3; ++S;
+ SET_PIXEL( D, color.r, color.g, color.b, *S ); D+=3; ++S;
+ SET_PIXEL( D, color.r, color.g, color.b, *S ); D+=3; ++S;
+ SET_PIXEL( D, color.r, color.g, color.b, *S ); D+=3; ++S;
w-=4;
}
while (w--) {
- SET_PIXEL( D, color.r, color.g, color.b, *S ); D+=3, S++;
+ SET_PIXEL( D, color.r, color.g, color.b, *S ); D+=3; ++S;
}
#undef SET_PIXEL
@@ -6982,14 +6071,14 @@ static void Bop_a8_set_alphapixel_Aop_vyu( GenefxState *gfxs )
#endif
while (w>4) {
- SET_PIXEL( D, YCop, CbCop, CrCop, *S ); D+=3; S++;
- SET_PIXEL( D, YCop, CbCop, CrCop, *S ); D+=3; S++;
- SET_PIXEL( D, YCop, CbCop, CrCop, *S ); D+=3; S++;
- SET_PIXEL( D, YCop, CbCop, CrCop, *S ); D+=3; S++;
+ SET_PIXEL( D, YCop, CbCop, CrCop, *S ); D+=3; ++S;
+ SET_PIXEL( D, YCop, CbCop, CrCop, *S ); D+=3; ++S;
+ SET_PIXEL( D, YCop, CbCop, CrCop, *S ); D+=3; ++S;
+ SET_PIXEL( D, YCop, CbCop, CrCop, *S ); D+=3; ++S;
w-=4;
}
while (w--) {
- SET_PIXEL( D, YCop, CbCop, CrCop, *S ); D+=3, S++;
+ SET_PIXEL( D, YCop, CbCop, CrCop, *S ); D+=3; ++S;
}
#undef SET_PIXEL
@@ -7026,6 +6115,7 @@ static void Bop_a8_set_alphapixel_Aop_argb( GenefxState *gfxs )
#undef SET_PIXEL
}
+
static void Bop_a8_set_alphapixel_Aop_airgb( GenefxState *gfxs )
{
int w = gfxs->length;
@@ -7231,7 +6321,7 @@ static void Bop_a8_set_alphapixel_Aop_lut8( GenefxState *gfxs )
static void Bop_a8_set_alphapixel_Aop_alut44( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
u8 *S = gfxs->Bop[0];
u8 *D = gfxs->Aop[0];
u32 Cop = gfxs->Cop;
@@ -7256,9 +6346,9 @@ static void Bop_a8_set_alphapixel_Aop_alut44( GenefxState *gfxs )
}\
}
- while (w--) {
+ while (--w) {
SET_PIXEL( *D, *S );
- D++, S++;
+ ++D, ++S;
}
#undef SET_PIXEL
@@ -7301,42 +6391,44 @@ static void Bop_a8_set_alphapixel_Aop_yuv444p( GenefxState *gfxs )
#undef SET_PIXEL_DUFFS_DEVICE
-static GenefxFunc Bop_a8_set_alphapixel_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Bop_a8_set_alphapixel_Aop_argb1555, /* DSPF_ARGB1555 */
- Bop_a8_set_alphapixel_Aop_rgb16, /* DSPF_RGB16 */
- Bop_a8_set_alphapixel_Aop_rgb24, /* DSPF_RGB24 */
- Bop_a8_set_alphapixel_Aop_rgb32, /* DSPF_RGB32 */
- Bop_a8_set_alphapixel_Aop_argb, /* DSPF_ARGB */
- Bop_a8_set_alphapixel_Aop_a8, /* DSPF_A8 */
- Bop_a8_set_alphapixel_Aop_yuy2, /* DSPF_YUY2 */
- Bop_a8_set_alphapixel_Aop_rgb332, /* DSPF_RGB332 */
- Bop_a8_set_alphapixel_Aop_uyvy, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- Bop_a8_set_alphapixel_Aop_lut8, /* DSPF_LUT8 */
- Bop_a8_set_alphapixel_Aop_alut44, /* DSPF_ALUT44 */
- Bop_a8_set_alphapixel_Aop_airgb, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- NULL, /* DSPF_ARGB2554 */
- NULL, /* DSPF_ARGB4444 */
- NULL, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- Bop_a8_set_alphapixel_Aop_argb, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- Bop_a8_set_alphapixel_Aop_argb1666, /* DSPF_ARGB1666 */
- Bop_a8_set_alphapixel_Aop_argb6666, /* DSPF_ARGB6666 */
- Bop_a8_set_alphapixel_Aop_rgb18, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- NULL, /* DSPF_RGB444 */
- NULL, /* DSPF_RGB555 */
- NULL, /* DSPF_BGR555 */
- Bop_a8_set_alphapixel_Aop_rgba5551, /* DSPF_RGBA5551 */
- Bop_a8_set_alphapixel_Aop_yuv444p, /* DSPF_YUV444P */
- Bop_a8_set_alphapixel_Aop_argb8565, /* DSPF_ARGB8565 */
- Bop_a8_set_alphapixel_Aop_argb, /* DSPF_AVYU */
- Bop_a8_set_alphapixel_Aop_vyu, /* DSPF_VYU */
+static const GenefxFunc Bop_a8_set_alphapixel_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Bop_a8_set_alphapixel_Aop_argb1555,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Bop_a8_set_alphapixel_Aop_rgb16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Bop_a8_set_alphapixel_Aop_rgb24,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_a8_set_alphapixel_Aop_rgb32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Bop_a8_set_alphapixel_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Bop_a8_set_alphapixel_Aop_a8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Bop_a8_set_alphapixel_Aop_yuy2,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Bop_a8_set_alphapixel_Aop_rgb332,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Bop_a8_set_alphapixel_Aop_uyvy,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Bop_a8_set_alphapixel_Aop_lut8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Bop_a8_set_alphapixel_Aop_alut44,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Bop_a8_set_alphapixel_Aop_airgb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Bop_a8_set_alphapixel_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Bop_a8_set_alphapixel_Aop_argb1666,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Bop_a8_set_alphapixel_Aop_argb6666,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Bop_a8_set_alphapixel_Aop_rgb18,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Bop_a8_set_alphapixel_Aop_rgba5551,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Bop_a8_set_alphapixel_Aop_yuv444p,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Bop_a8_set_alphapixel_Aop_argb8565,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Bop_a8_set_alphapixel_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = Bop_a8_set_alphapixel_Aop_vyu,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
};
/************** Bop_a1_set_alphapixel_Aop_PFI *********************************/
@@ -7349,7 +6441,7 @@ static void Bop_a1_set_alphapixel_Aop_argb1555( GenefxState *gfxs )
u16 *D = gfxs->Aop[0];
u16 Cop = gfxs->Cop | 0x8000;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7)))
D[i] = Cop;
}
@@ -7363,7 +6455,7 @@ static void Bop_a1_set_alphapixel_Aop_rgba5551( GenefxState *gfxs )
u16 *D = gfxs->Aop[0];
u16 Cop = gfxs->Cop | 0x0001;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7)))
D[i] = Cop;
}
@@ -7377,7 +6469,7 @@ static void Bop_a1_set_alphapixel_Aop_rgb16( GenefxState *gfxs )
u16 *D = gfxs->Aop[0];
u16 Cop = gfxs->Cop;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7)))
D[i] = Cop;
}
@@ -7391,7 +6483,7 @@ static void Bop_a1_set_alphapixel_Aop_argb6666( GenefxState *gfxs )
u8 *D = gfxs->Aop[0];
DFBColor color = gfxs->color;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7))) {
u32 pixel = PIXEL_ARGB6666( color.a, color.r, color.g, color.b );
@@ -7412,7 +6504,7 @@ static void Bop_a1_set_alphapixel_Aop_argb1666( GenefxState *gfxs )
u8 *D = gfxs->Aop[0];
DFBColor color = gfxs->color;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7))) {
u32 pixel = PIXEL_ARGB1666( color.a, color.r, color.g, color.b );
@@ -7433,7 +6525,7 @@ static void Bop_a1_set_alphapixel_Aop_rgb18( GenefxState *gfxs )
u8 *D = gfxs->Aop[0];
DFBColor color = gfxs->color;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7))) {
u32 pixel = PIXEL_RGB18( color.r, color.g, color.b );
@@ -7454,7 +6546,7 @@ static void Bop_a1_set_alphapixel_Aop_argb8565( GenefxState *gfxs )
u8 *D = gfxs->Aop[0];
u32 Cop = gfxs->Cop | 0xFF0000;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7))) {
#ifdef WORDS_BIGENDIAN
@@ -7481,7 +6573,7 @@ static void Bop_a1_set_alphapixel_Aop_rgb24( GenefxState *gfxs )
u8 *D = gfxs->Aop[0];
DFBColor color = gfxs->color;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7))) {
D[0] = color.b;
D[1] = color.g;
@@ -7500,7 +6592,7 @@ static void Bop_a1_set_alphapixel_Aop_rgb32( GenefxState *gfxs )
u32 *D = gfxs->Aop[0];
u32 Cop = gfxs->Cop;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7)))
D[i] = Cop;
}
@@ -7514,7 +6606,7 @@ static void Bop_a1_set_alphapixel_Aop_argb( GenefxState *gfxs )
u32 *D = gfxs->Aop[0];
u32 Cop = gfxs->Cop | 0xFF000000;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7)))
D[i] = Cop;
}
@@ -7528,7 +6620,7 @@ static void Bop_a1_set_alphapixel_Aop_airgb( GenefxState *gfxs )
u32 *D = gfxs->Aop[0];
u32 Cop = gfxs->Cop & 0x00FFFFFF;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7)))
D[i] = Cop;
}
@@ -7541,7 +6633,7 @@ static void Bop_a1_set_alphapixel_Aop_a8( GenefxState *gfxs )
u8 *S = gfxs->Bop[0];
u8 *D = gfxs->Aop[0];
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7)))
D[i] = 0xff;
}
@@ -7556,7 +6648,7 @@ static void Bop_a1_set_alphapixel_Aop_yuy2( GenefxState *gfxs )
u16 Cop0 = gfxs->YCop | (gfxs->CbCop << 8);
u16 Cop1 = gfxs->YCop | (gfxs->CrCop << 8);
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7))) {
D[i] = ((long)&D[i] & 2) ? Cop1 : Cop0;
}
@@ -7571,7 +6663,7 @@ static void Bop_a1_set_alphapixel_Aop_rgb332( GenefxState *gfxs )
u8 *D = gfxs->Aop[0];
u8 Cop = gfxs->Cop;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7)))
D[i] = Cop;
}
@@ -7586,7 +6678,7 @@ static void Bop_a1_set_alphapixel_Aop_uyvy( GenefxState *gfxs )
u16 Cop0 = gfxs->CbCop | (gfxs->YCop << 8);
u16 Cop1 = gfxs->CrCop | (gfxs->YCop << 8);
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7))) {
D[i] = ((long)&D[i] & 2) ? Cop1 : Cop0;
}
@@ -7601,7 +6693,7 @@ static void Bop_a1_set_alphapixel_Aop_lut8( GenefxState *gfxs )
u8 *D = gfxs->Aop[0];
u8 Cop = gfxs->Cop;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7)))
D[i] = Cop;
}
@@ -7615,7 +6707,7 @@ static void Bop_a1_set_alphapixel_Aop_alut44( GenefxState *gfxs )
u8 *D = gfxs->Aop[0];
u8 Cop = gfxs->Cop;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7)))
D[i] = Cop;
}
@@ -7629,7 +6721,7 @@ static void Bop_a1_set_alphapixel_Aop_argb2554( GenefxState *gfxs )
u16 *D = gfxs->Aop[0];
u16 Cop = gfxs->Cop | 0xC000;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7)))
D[i] = Cop;
}
@@ -7643,7 +6735,7 @@ static void Bop_a1_set_alphapixel_Aop_argb4444( GenefxState *gfxs )
u16 *D = gfxs->Aop[0];
u16 Cop = gfxs->Cop | 0xF000;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7)))
D[i] = Cop;
}
@@ -7657,7 +6749,7 @@ static void Bop_a1_set_alphapixel_Aop_rgba4444( GenefxState *gfxs )
u16 *D = gfxs->Aop[0];
u16 Cop = gfxs->Cop | 0x000F;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7)))
D[i] = Cop;
}
@@ -7672,7 +6764,7 @@ static void Bop_a1_set_alphapixel_Aop_yuv444p( GenefxState *gfxs )
u8 * __restrict Du = gfxs->Aop[1];
u8 * __restrict Dv = gfxs->Aop[2];
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (S[i>>3] & (0x80 >> (i&7))) {
Dy[i] = gfxs->YCop;
Du[i] = gfxs->CbCop;
@@ -7681,93 +6773,403 @@ static void Bop_a1_set_alphapixel_Aop_yuv444p( GenefxState *gfxs )
}
}
-static GenefxFunc Bop_a1_set_alphapixel_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- Bop_a1_set_alphapixel_Aop_argb1555, /* DSPF_ARGB1555 */
- Bop_a1_set_alphapixel_Aop_rgb16, /* DSPF_RGB16 */
- Bop_a1_set_alphapixel_Aop_rgb24, /* DSPF_RGB24 */
- Bop_a1_set_alphapixel_Aop_rgb32, /* DSPF_RGB32 */
- Bop_a1_set_alphapixel_Aop_argb, /* DSPF_ARGB */
- Bop_a1_set_alphapixel_Aop_a8, /* DSPF_A8 */
- Bop_a1_set_alphapixel_Aop_yuy2, /* DSPF_YUY2 */
- Bop_a1_set_alphapixel_Aop_rgb332, /* DSPF_RGB332 */
- Bop_a1_set_alphapixel_Aop_uyvy, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- Bop_a1_set_alphapixel_Aop_lut8, /* DSPF_LUT8 */
- Bop_a1_set_alphapixel_Aop_alut44, /* DSPF_ALUT44 */
- Bop_a1_set_alphapixel_Aop_airgb, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- Bop_a1_set_alphapixel_Aop_argb2554, /* DSPF_ARGB2554 */
- Bop_a1_set_alphapixel_Aop_argb4444, /* DSPF_ARGB4444 */
- Bop_a1_set_alphapixel_Aop_rgba4444, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- Bop_a1_set_alphapixel_Aop_argb, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- Bop_a1_set_alphapixel_Aop_argb1666, /* DSPF_ARGB1666 */
- Bop_a1_set_alphapixel_Aop_argb6666, /* DSPF_ARGB6666 */
- Bop_a1_set_alphapixel_Aop_rgb18, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- NULL, /* DSPF_RGB444 */
- NULL, /* DSPF_RGB555 */
- NULL, /* DSPF_BGR555 */
- Bop_a1_set_alphapixel_Aop_rgba5551, /* DSPF_RGBA5551 */
- Bop_a1_set_alphapixel_Aop_yuv444p, /* DSPF_YUV444P */
- Bop_a1_set_alphapixel_Aop_argb8565, /* DSPF_ARGB8565 */
- Bop_a1_set_alphapixel_Aop_argb, /* DSPF_AVYU */
- NULL, /* DSPF_VYU */
+static const GenefxFunc Bop_a1_set_alphapixel_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Bop_a1_set_alphapixel_Aop_argb1555,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Bop_a1_set_alphapixel_Aop_rgb16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Bop_a1_set_alphapixel_Aop_rgb24,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_a1_set_alphapixel_Aop_rgb32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Bop_a1_set_alphapixel_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Bop_a1_set_alphapixel_Aop_a8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Bop_a1_set_alphapixel_Aop_yuy2,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Bop_a1_set_alphapixel_Aop_rgb332,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Bop_a1_set_alphapixel_Aop_uyvy,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Bop_a1_set_alphapixel_Aop_lut8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Bop_a1_set_alphapixel_Aop_alut44,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Bop_a1_set_alphapixel_Aop_airgb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Bop_a1_set_alphapixel_Aop_argb2554,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Bop_a1_set_alphapixel_Aop_argb4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = Bop_a1_set_alphapixel_Aop_rgba4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Bop_a1_set_alphapixel_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Bop_a1_set_alphapixel_Aop_argb1666,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Bop_a1_set_alphapixel_Aop_argb6666,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Bop_a1_set_alphapixel_Aop_rgb18,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = Bop_a1_set_alphapixel_Aop_rgba5551,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = Bop_a1_set_alphapixel_Aop_yuv444p,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Bop_a1_set_alphapixel_Aop_argb8565,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = Bop_a1_set_alphapixel_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
};
+/************** Bop_a1_lsb_set_alphapixel_Aop_PFI *********************************/
-/**************************** Bop_translate_to_Aop ****************************/
-
-static void Bop_lut2_translate_to_Aop_lut8( GenefxState *gfxs )
+static void Bop_a1_lsb_set_alphapixel_Aop_argb1555( GenefxState *gfxs )
{
- int i;
- int w = gfxs->length;
- int W = (w + 3) / 4;
- u8 *S = gfxs->Bop[0];
- u8 *D = gfxs->Aop[0];
-
- for (i=0; i<W; i++, D+=4, w-=4) {
- u8 index;
- u8 pixels = S[i];
-
- switch (w) {
- default:
- index = (pixels & 3);
- if (index < gfxs->num_trans && gfxs->trans[index] >= 0)
- D[3] = gfxs->trans[index];
-
- case 3:
- index = (pixels >> 2) & 3;
- if (index < gfxs->num_trans && gfxs->trans[index] >= 0)
- D[2] = gfxs->trans[index];
-
- case 2:
- index = (pixels >> 4) & 3;
- if (index < gfxs->num_trans && gfxs->trans[index] >= 0)
- D[1] = gfxs->trans[index];
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u16 *D = gfxs->Aop[0];
+ u16 Cop = gfxs->Cop | 0x8000;
- case 1:
- index = (pixels >> 6);
- if (index < gfxs->num_trans && gfxs->trans[index] >= 0)
- D[0] = gfxs->trans[index];
- }
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7)))
+ D[i] = Cop;
}
}
-
-/********************************* Xacc_blend *********************************/
-static void Xacc_blend_zero( GenefxState *gfxs )
+static void Bop_a1_lsb_set_alphapixel_Aop_rgb16( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u16 *D = gfxs->Aop[0];
+ u16 Cop = gfxs->Cop;
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7)))
+ D[i] = Cop;
+ }
+}
+
+static void Bop_a1_lsb_set_alphapixel_Aop_argb6666( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+ DFBColor color = gfxs->color;
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7))) {
+ u32 pixel = PIXEL_ARGB6666( color.a, color.r, color.g, color.b );
+
+ D[0] = pixel;
+ D[1] = pixel >> 8;
+ D[2] = pixel >> 16;
+ }
+ D += 3;
+ }
+
+}
+
+static void Bop_a1_lsb_set_alphapixel_Aop_argb1666( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+ DFBColor color = gfxs->color;
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7))) {
+ u32 pixel = PIXEL_ARGB1666( color.a, color.r, color.g, color.b );
+
+ D[0] = pixel;
+ D[1] = pixel >> 8;
+ D[2] = pixel >> 16;
+ }
+ D += 3;
+ }
+
+}
+
+static void Bop_a1_lsb_set_alphapixel_Aop_rgb18( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+ DFBColor color = gfxs->color;
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7))) {
+ u32 pixel = PIXEL_RGB18( color.r, color.g, color.b );
+
+ D[0] = pixel;
+ D[1] = pixel >> 8;
+ D[2] = pixel >> 16;
+ }
+ D += 3;
+ }
+
+}
+
+static void Bop_a1_lsb_set_alphapixel_Aop_rgb24( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+ DFBColor color = gfxs->color;
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7))) {
+ D[0] = color.b;
+ D[1] = color.g;
+ D[2] = color.r;
+ }
+
+ D += 3;
+ }
+}
+
+static void Bop_a1_lsb_set_alphapixel_Aop_rgb32( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u32 *D = gfxs->Aop[0];
+ u32 Cop = gfxs->Cop;
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7)))
+ D[i] = Cop;
+ }
+}
+
+static void Bop_a1_lsb_set_alphapixel_Aop_argb( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u32 *D = gfxs->Aop[0];
+ u32 Cop = gfxs->Cop | 0xFF000000;
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7)))
+ D[i] = Cop;
+ }
+}
+
+static void Bop_a1_lsb_set_alphapixel_Aop_airgb( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u32 *D = gfxs->Aop[0];
+ u32 Cop = gfxs->Cop & 0x00FFFFFF;
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7)))
+ D[i] = Cop;
+ }
+}
+
+static void Bop_a1_lsb_set_alphapixel_Aop_a8( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7)))
+ D[i] = 0xff;
+ }
+}
+
+static void Bop_a1_lsb_set_alphapixel_Aop_yuy2( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u16 *D = gfxs->Aop[0];
+ u16 Cop0 = gfxs->YCop | (gfxs->CbCop << 8);
+ u16 Cop1 = gfxs->YCop | (gfxs->CrCop << 8);
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7))) {
+ D[i] = ((long)&D[i] & 2) ? Cop1 : Cop0;
+ }
+ }
+}
+
+static void Bop_a1_lsb_set_alphapixel_Aop_rgb332( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+ u8 Cop = gfxs->Cop;
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7)))
+ D[i] = Cop;
+ }
+}
+
+static void Bop_a1_lsb_set_alphapixel_Aop_uyvy( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u16 *D = gfxs->Aop[0];
+ u16 Cop0 = gfxs->CbCop | (gfxs->YCop << 8);
+ u16 Cop1 = gfxs->CrCop | (gfxs->YCop << 8);
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7))) {
+ D[i] = ((long)&D[i] & 2) ? Cop1 : Cop0;
+ }
+ }
+}
+
+static void Bop_a1_lsb_set_alphapixel_Aop_lut8( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+ u8 Cop = gfxs->Cop;
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7)))
+ D[i] = Cop;
+ }
+}
+
+static void Bop_a1_lsb_set_alphapixel_Aop_alut44( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+ u8 Cop = gfxs->Cop;
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7)))
+ D[i] = Cop;
+ }
+}
+
+static void Bop_a1_lsb_set_alphapixel_Aop_argb2554( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u16 *D = gfxs->Aop[0];
+ u16 Cop = gfxs->Cop | 0xC000;
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7)))
+ D[i] = Cop;
+ }
+}
+
+static void Bop_a1_lsb_set_alphapixel_Aop_argb4444( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ u8 *S = gfxs->Bop[0];
+ u16 *D = gfxs->Aop[0];
+ u16 Cop = gfxs->Cop | 0xF000;
+
+ for (i=0; i<w; ++i) {
+ if (S[i>>3] & (1 << (i&7)))
+ D[i] = Cop;
+ }
+}
+
+static const GenefxFunc Bop_a1_lsb_set_alphapixel_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = Bop_a1_lsb_set_alphapixel_Aop_argb1555,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Bop_a1_lsb_set_alphapixel_Aop_rgb16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = Bop_a1_lsb_set_alphapixel_Aop_rgb24,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_a1_lsb_set_alphapixel_Aop_rgb32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Bop_a1_lsb_set_alphapixel_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = Bop_a1_lsb_set_alphapixel_Aop_a8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = Bop_a1_lsb_set_alphapixel_Aop_yuy2,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = Bop_a1_lsb_set_alphapixel_Aop_rgb332,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = Bop_a1_lsb_set_alphapixel_Aop_uyvy,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = Bop_a1_lsb_set_alphapixel_Aop_lut8,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = Bop_a1_lsb_set_alphapixel_Aop_alut44,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = Bop_a1_lsb_set_alphapixel_Aop_airgb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = Bop_a1_lsb_set_alphapixel_Aop_argb2554,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = Bop_a1_lsb_set_alphapixel_Aop_argb4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = Bop_a1_lsb_set_alphapixel_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = Bop_a1_lsb_set_alphapixel_Aop_argb1666,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = Bop_a1_lsb_set_alphapixel_Aop_argb6666,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = Bop_a1_lsb_set_alphapixel_Aop_rgb18,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
+};
+
+/**************************** Bop_translate_to_Aop ****************************/
+
+static void Bop_lut2_translate_to_Aop_lut8( GenefxState *gfxs )
+{
+ int i;
+ int w = gfxs->length;
+ int W = (w + 3) / 4;
+ u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+
+ for (i=0; i<W; ++i, D+=4, w-=4) {
+ u8 index;
+ u8 pixels = S[i];
+
+ switch (w) {
+ default:
+ index = (pixels & 3);
+ if (index < gfxs->num_trans && gfxs->trans[index] >= 0)
+ D[3] = gfxs->trans[index];
+
+ case 3:
+ index = (pixels >> 2) & 3;
+ if (index < gfxs->num_trans && gfxs->trans[index] >= 0)
+ D[2] = gfxs->trans[index];
+
+ case 2:
+ index = (pixels >> 4) & 3;
+ if (index < gfxs->num_trans && gfxs->trans[index] >= 0)
+ D[1] = gfxs->trans[index];
+
+ case 1:
+ index = (pixels >> 6);
+ if (index < gfxs->num_trans && gfxs->trans[index] >= 0)
+ D[0] = gfxs->trans[index];
+ }
+ }
+}
+
+/********************************* Xacc_blend *********************************/
+
+static void Xacc_blend_zero( GenefxState *gfxs )
{
int i;
int w = gfxs->length;
GenefxAccumulator *X = gfxs->Xacc;
GenefxAccumulator *Y = gfxs->Yacc;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
if (!(Y[i].RGB.a & 0xF000))
X[i].RGB.a = X[i].RGB.r = X[i].RGB.g = X[i].RGB.b = 0;
else
@@ -7782,21 +7184,21 @@ static void Xacc_blend_one( GenefxState *gfxs )
GenefxAccumulator *X = gfxs->Xacc;
GenefxAccumulator *Y = gfxs->Yacc;
- for (i=0; i<w; i++) {
+ for (i=0; i<w; ++i) {
X[i] = Y[i];
}
}
static void Xacc_blend_srccolor( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *X = gfxs->Xacc;
GenefxAccumulator *Y = gfxs->Yacc;
if (gfxs->Sacc) {
GenefxAccumulator *S = gfxs->Sacc;
- while (w--) {
+ while (--w) {
if (!(Y->RGB.a & 0xF000)) {
X->RGB.r = ((S->RGB.r + 1) * Y->RGB.r) >> 8;
X->RGB.g = ((S->RGB.g + 1) * Y->RGB.g) >> 8;
@@ -7805,9 +7207,9 @@ static void Xacc_blend_srccolor( GenefxState *gfxs )
} else
*X = *Y;
- X++;
- Y++;
- S++;
+ ++X;
+ ++Y;
+ ++S;
}
}
else {
@@ -7817,7 +7219,7 @@ static void Xacc_blend_srccolor( GenefxState *gfxs )
Cacc.RGB.b = Cacc.RGB.b + 1;
Cacc.RGB.a = Cacc.RGB.a + 1;
- while (w--) {
+ while (--w) {
if (!(Y->RGB.a & 0xF000)) {
X->RGB.r = (Cacc.RGB.r * Y->RGB.r) >> 8;
X->RGB.g = (Cacc.RGB.g * Y->RGB.g) >> 8;
@@ -7826,22 +7228,22 @@ static void Xacc_blend_srccolor( GenefxState *gfxs )
} else
*X = *Y;
- X++;
- Y++;
+ ++X;
+ ++Y;
}
}
}
static void Xacc_blend_invsrccolor( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *X = gfxs->Xacc;
GenefxAccumulator *Y = gfxs->Yacc;
if (gfxs->Sacc) {
GenefxAccumulator *S = gfxs->Sacc;
- while (w--) {
+ while (--w) {
if (!(Y->RGB.a & 0xF000)) {
X->RGB.r = ((0x100 - S->RGB.r) * Y->RGB.r) >> 8;
X->RGB.g = ((0x100 - S->RGB.g) * Y->RGB.g) >> 8;
@@ -7850,9 +7252,9 @@ static void Xacc_blend_invsrccolor( GenefxState *gfxs )
} else
*X = *Y;
- X++;
- Y++;
- S++;
+ ++X;
+ ++Y;
+ ++S;
}
}
else {
@@ -7862,7 +7264,7 @@ static void Xacc_blend_invsrccolor( GenefxState *gfxs )
Cacc.RGB.b = 0x100 - Cacc.RGB.b;
Cacc.RGB.a = 0x100 - Cacc.RGB.a;
- while (w--) {
+ while (--w) {
if (!(Y->RGB.a & 0xF000)) {
X->RGB.r = (Cacc.RGB.r * Y->RGB.r) >> 8;
X->RGB.g = (Cacc.RGB.g * Y->RGB.g) >> 8;
@@ -7871,22 +7273,22 @@ static void Xacc_blend_invsrccolor( GenefxState *gfxs )
} else
*X = *Y;
- X++;
- Y++;
+ ++X;
+ ++Y;
}
}
}
static void Xacc_blend_srcalpha( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *X = gfxs->Xacc;
GenefxAccumulator *Y = gfxs->Yacc;
if (gfxs->Sacc) {
GenefxAccumulator *S = gfxs->Sacc;
- while (w--) {
+ while (--w) {
if (!(Y->RGB.a & 0xF000)) {
register u16 Sa = S->RGB.a + 1;
@@ -7897,15 +7299,15 @@ static void Xacc_blend_srcalpha( GenefxState *gfxs )
} else
*X = *Y;
- X++;
- Y++;
- S++;
+ ++X;
+ ++Y;
+ ++S;
}
}
else {
register u16 Sa = gfxs->color.a + 1;
- while (w--) {
+ while (--w) {
if (!(Y->RGB.a & 0xF000)) {
X->RGB.r = (Sa * Y->RGB.r) >> 8;
X->RGB.g = (Sa * Y->RGB.g) >> 8;
@@ -7914,22 +7316,22 @@ static void Xacc_blend_srcalpha( GenefxState *gfxs )
} else
*X = *Y;
- X++;
- Y++;
+ ++X;
+ ++Y;
}
}
}
static void Xacc_blend_invsrcalpha( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *X = gfxs->Xacc;
GenefxAccumulator *Y = gfxs->Yacc;
if (gfxs->Sacc) {
GenefxAccumulator *S = gfxs->Sacc;
- while (w--) {
+ while (--w) {
if (!(Y->RGB.a & 0xF000)) {
register u16 Sa = 0x100 - S->RGB.a;
@@ -7940,15 +7342,15 @@ static void Xacc_blend_invsrcalpha( GenefxState *gfxs )
} else
*X = *Y;
- X++;
- Y++;
- S++;
+ ++X;
+ ++Y;
+ ++S;
}
}
else {
register u16 Sa = 0x100 - gfxs->color.a;
- while (w--) {
+ while (--w) {
if (!(Y->RGB.a & 0xF000)) {
X->RGB.a = (Sa * Y->RGB.a) >> 8;
X->RGB.r = (Sa * Y->RGB.r) >> 8;
@@ -7957,20 +7359,20 @@ static void Xacc_blend_invsrcalpha( GenefxState *gfxs )
} else
*X = *Y;
- X++;
- Y++;
+ ++X;
+ ++Y;
}
}
}
static void Xacc_blend_dstalpha( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *X = gfxs->Xacc;
GenefxAccumulator *Y = gfxs->Yacc;
GenefxAccumulator *D = gfxs->Dacc;
- while (w--) {
+ while (--w) {
if (!(Y->RGB.a & 0xF000)) {
register u16 Da = D->RGB.a + 1;
@@ -7981,20 +7383,20 @@ static void Xacc_blend_dstalpha( GenefxState *gfxs )
} else
*X = *Y;
- X++;
- Y++;
- D++;
+ ++X;
+ ++Y;
+ ++D;
}
}
static void Xacc_blend_invdstalpha( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *X = gfxs->Xacc;
GenefxAccumulator *Y = gfxs->Yacc;
GenefxAccumulator *D = gfxs->Dacc;
- while (w--) {
+ while (--w) {
if (!(Y->RGB.a & 0xF000)) {
register u16 Da = 0x100 - D->RGB.a;
@@ -8005,20 +7407,20 @@ static void Xacc_blend_invdstalpha( GenefxState *gfxs )
} else
*X = *Y;
- X++;
- Y++;
- D++;
+ ++X;
+ ++Y;
+ ++D;
}
}
static void Xacc_blend_destcolor( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *X = gfxs->Xacc;
GenefxAccumulator *Y = gfxs->Yacc;
GenefxAccumulator *D = gfxs->Dacc;
- while (w--) {
+ while (--w) {
if (!(Y->RGB.a & 0xF000)) {
X->RGB.r = ((D->RGB.r + 1) * Y->RGB.r) >> 8;
X->RGB.g = ((D->RGB.g + 1) * Y->RGB.g) >> 8;
@@ -8027,20 +7429,20 @@ static void Xacc_blend_destcolor( GenefxState *gfxs )
} else
*X = *Y;
- X++;
- Y++;
- D++;
+ ++X;
+ ++Y;
+ ++D;
}
}
static void Xacc_blend_invdestcolor( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *X = gfxs->Xacc;
GenefxAccumulator *Y = gfxs->Yacc;
GenefxAccumulator *D = gfxs->Dacc;
- while (w--) {
+ while (--w) {
if (!(Y->RGB.a & 0xF000)) {
X->RGB.r = ((0x100 - D->RGB.r) * Y->RGB.r) >> 8;
X->RGB.g = ((0x100 - D->RGB.g) * Y->RGB.g) >> 8;
@@ -8049,15 +7451,15 @@ static void Xacc_blend_invdestcolor( GenefxState *gfxs )
} else
*X = *Y;
- X++;
- Y++;
- D++;
+ ++X;
+ ++Y;
+ ++D;
}
}
static void Xacc_blend_srcalphasat( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *X = gfxs->Xacc;
GenefxAccumulator *Y = gfxs->Yacc;
GenefxAccumulator *D = gfxs->Dacc;
@@ -8065,7 +7467,7 @@ static void Xacc_blend_srcalphasat( GenefxState *gfxs )
if (gfxs->Sacc) {
GenefxAccumulator *S = gfxs->Sacc;
- while (w--) {
+ while (--w) {
if (!(Y->RGB.a & 0xF000)) {
register u16 Sa = MIN( S->RGB.a + 1, 0x100 - D->RGB.a );
@@ -8076,14 +7478,14 @@ static void Xacc_blend_srcalphasat( GenefxState *gfxs )
} else
*X = *Y;
- X++;
- Y++;
- D++;
- S++;
+ ++X;
+ ++Y;
+ ++D;
+ ++S;
}
}
else {
- while (w--) {
+ while (--w) {
if (!(Y->RGB.a & 0xF000)) {
register u16 Sa = MIN( gfxs->color.a + 1, 0x100 - D->RGB.a );
@@ -8094,84 +7496,84 @@ static void Xacc_blend_srcalphasat( GenefxState *gfxs )
} else
*X = *Y;
- X++;
- Y++;
- D++;
+ ++X;
+ ++Y;
+ ++D;
}
}
}
static GenefxFunc Xacc_blend[] = {
- Xacc_blend_zero, /* DSBF_ZERO */
- Xacc_blend_one, /* DSBF_ONE */
- Xacc_blend_srccolor, /* DSBF_SRCCOLOR */
- Xacc_blend_invsrccolor, /* DSBF_INVSRCCOLOR */
- Xacc_blend_srcalpha, /* DSBF_SRCALPHA */
- Xacc_blend_invsrcalpha, /* DSBF_INVSRCALPHA */
- Xacc_blend_dstalpha, /* DSBF_DESTALPHA */
- Xacc_blend_invdstalpha, /* DSBF_INVDESTALPHA */
- Xacc_blend_destcolor, /* DSBF_DESTCOLOR */
- Xacc_blend_invdestcolor, /* DSBF_INVDESTCOLOR */
- Xacc_blend_srcalphasat /* DSBF_SRCALPHASAT */
+ [DSBF_ZERO-1] = Xacc_blend_zero,
+ [DSBF_ONE-1] = Xacc_blend_one,
+ [DSBF_SRCCOLOR-1] = Xacc_blend_srccolor,
+ [DSBF_INVSRCCOLOR-1] = Xacc_blend_invsrccolor,
+ [DSBF_SRCALPHA-1] = Xacc_blend_srcalpha,
+ [DSBF_INVSRCALPHA-1] = Xacc_blend_invsrcalpha,
+ [DSBF_DESTALPHA-1] = Xacc_blend_dstalpha,
+ [DSBF_INVDESTALPHA-1] = Xacc_blend_invdstalpha,
+ [DSBF_DESTCOLOR-1] = Xacc_blend_destcolor,
+ [DSBF_INVDESTCOLOR-1] = Xacc_blend_invdestcolor,
+ [DSBF_SRCALPHASAT-1] = Xacc_blend_srcalphasat,
};
/********************************* Dacc_modulation ****************************/
static void Dacc_set_alpha( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
int a = gfxs->color.a;
- while (w--) {
+ while (--w) {
if (!(D->RGB.a & 0xF000)) {
D->RGB.a = a;
}
- D++;
+ ++D;
}
}
static void Dacc_modulate_alpha( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
int a = gfxs->Cacc.RGB.a;
- while (w--) {
+ while (--w) {
if (!(D->RGB.a & 0xF000)) {
D->RGB.a = (a * D->RGB.a) >> 8;
}
- D++;
+ ++D;
}
}
static void Dacc_modulate_rgb( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
GenefxAccumulator Cacc = gfxs->Cacc;
- while (w--) {
+ while (--w) {
if (!(D->RGB.a & 0xF000)) {
D->RGB.r = (Cacc.RGB.r * D->RGB.r) >> 8;
D->RGB.g = (Cacc.RGB.g * D->RGB.g) >> 8;
D->RGB.b = (Cacc.RGB.b * D->RGB.b) >> 8;
}
- D++;
+ ++D;
}
}
static void Dacc_modulate_rgb_set_alpha( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
GenefxAccumulator Cacc = gfxs->Cacc;
int a = gfxs->color.a;
- while (w--) {
+ while (--w) {
if (!(D->RGB.a & 0xF000)) {
D->RGB.a = a;
D->RGB.r = (Cacc.RGB.r * D->RGB.r) >> 8;
@@ -8179,17 +7581,17 @@ static void Dacc_modulate_rgb_set_alpha( GenefxState *gfxs )
D->RGB.b = (Cacc.RGB.b * D->RGB.b) >> 8;
}
- D++;
+ ++D;
}
}
static void Dacc_modulate_argb( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
GenefxAccumulator Cacc = gfxs->Cacc;
- while (w--) {
+ while (--w) {
if (!(D->RGB.a & 0xF000)) {
D->RGB.a = (Cacc.RGB.a * D->RGB.a) >> 8;
D->RGB.r = (Cacc.RGB.r * D->RGB.r) >> 8;
@@ -8197,29 +7599,34 @@ static void Dacc_modulate_argb( GenefxState *gfxs )
D->RGB.b = (Cacc.RGB.b * D->RGB.b) >> 8;
}
- D++;
+ ++D;
}
}
static GenefxFunc Dacc_modulation[] = {
- NULL,
- NULL,
- Dacc_set_alpha,
- Dacc_modulate_alpha,
- Dacc_modulate_rgb,
- Dacc_modulate_rgb,
- Dacc_modulate_rgb_set_alpha,
- Dacc_modulate_argb
+ [DSBLIT_NOFX] = NULL,
+ [DSBLIT_BLEND_ALPHACHANNEL] = NULL,
+ [DSBLIT_BLEND_COLORALPHA] = Dacc_set_alpha,
+ [DSBLIT_BLEND_ALPHACHANNEL
+ | DSBLIT_BLEND_COLORALPHA] = Dacc_modulate_alpha,
+ [DSBLIT_COLORIZE] = Dacc_modulate_rgb,
+ [DSBLIT_COLORIZE
+ | DSBLIT_BLEND_ALPHACHANNEL] = Dacc_modulate_rgb,
+ [DSBLIT_COLORIZE
+ | DSBLIT_BLEND_COLORALPHA] = Dacc_modulate_rgb_set_alpha,
+ [DSBLIT_COLORIZE
+ | DSBLIT_BLEND_ALPHACHANNEL
+ | DSBLIT_BLEND_COLORALPHA] = Dacc_modulate_argb
};
/********************************* misc accumulator operations ****************/
static void Dacc_premultiply( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
- while (w--) {
+ while (--w) {
if (!(D->RGB.a & 0xF000)) {
register u16 Da = D->RGB.a + 1;
@@ -8228,33 +7635,33 @@ static void Dacc_premultiply( GenefxState *gfxs )
D->RGB.b = (Da * D->RGB.b) >> 8;
}
- D++;
+ ++D;
}
}
static void Dacc_premultiply_color_alpha( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
register u16 Ca = gfxs->Cacc.RGB.a;
- while (w--) {
+ while (--w) {
if (!(D->RGB.a & 0xF000)) {
D->RGB.r = (Ca * D->RGB.r) >> 8;
D->RGB.g = (Ca * D->RGB.g) >> 8;
D->RGB.b = (Ca * D->RGB.b) >> 8;
}
- D++;
+ ++D;
}
}
static void Dacc_demultiply( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
- while (w--) {
+ while (--w) {
if (!(D->RGB.a & 0xF000)) {
register u16 Da = D->RGB.a + 1;
@@ -8263,17 +7670,17 @@ static void Dacc_demultiply( GenefxState *gfxs )
D->RGB.b = (D->RGB.b << 8) / Da;
}
- D++;
+ ++D;
}
}
static void Dacc_xor_C( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
DFBColor color = gfxs->color;
- while (w--) {
+ while (--w) {
if (!(D->RGB.a & 0xF000)) {
D->RGB.a ^= color.a;
D->RGB.r ^= color.r;
@@ -8281,7 +7688,7 @@ static void Dacc_xor_C( GenefxState *gfxs )
D->RGB.b ^= color.b;
}
- D++;
+ ++D;
}
}
@@ -8289,10 +7696,10 @@ static GenefxFunc Dacc_xor = Dacc_xor_C;
static void Dacc_clamp_C( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
- while (w--) {
+ while (--w) {
if (!(D->RGB.a & 0xF000)) {
if (D->RGB.a > 0xff)
D->RGB.a = 0xff;
@@ -8304,56 +7711,56 @@ static void Dacc_clamp_C( GenefxState *gfxs )
D->RGB.b = 0xff;
}
- D++;
+ ++D;
}
}
-static GenefxFunc Dacc_clamp = Dacc_clamp_C;
+static const GenefxFunc Dacc_clamp = Dacc_clamp_C;
static void Sacc_xor_Dacc_C( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
GenefxAccumulator *D = gfxs->Dacc;
- while (w--) {
+ while (--w) {
if (!(D->RGB.a & 0xF000)) {
D->RGB.a ^= S->RGB.a;
D->RGB.r ^= S->RGB.r;
D->RGB.g ^= S->RGB.g;
D->RGB.b ^= S->RGB.b;
}
- D++;
- S++;
+ ++D;
+ ++S;
}
}
-static GenefxFunc Sacc_xor_Dacc = Sacc_xor_Dacc_C;
+static const GenefxFunc Sacc_xor_Dacc = Sacc_xor_Dacc_C;
static void Cacc_to_Dacc( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
GenefxAccumulator Cacc = gfxs->Cacc;
- while (w--)
+ while (--w)
*D++ = Cacc;
}
static void SCacc_add_to_Dacc_C( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
GenefxAccumulator SCacc = gfxs->SCacc;
- while (w--) {
+ while (--w) {
if (!(D->RGB.a & 0xF000)) {
D->RGB.a += SCacc.RGB.a;
D->RGB.r += SCacc.RGB.r;
D->RGB.g += SCacc.RGB.g;
D->RGB.b += SCacc.RGB.b;
}
- D++;
+ ++D;
}
}
@@ -8361,19 +7768,19 @@ static GenefxFunc SCacc_add_to_Dacc = SCacc_add_to_Dacc_C;
static void Sacc_add_to_Dacc_C( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
GenefxAccumulator *D = gfxs->Dacc;
- while (w--) {
+ while (--w) {
if (!(D->RGB.a & 0xF000)) {
D->RGB.a += S->RGB.a;
D->RGB.r += S->RGB.r;
D->RGB.g += S->RGB.g;
D->RGB.b += S->RGB.b;
}
- D++;
- S++;
+ ++D;
+ ++S;
}
}
@@ -8466,12 +7873,12 @@ static void Bop_argb_blend_alphachannel_src_invsrc_Aop_rgb16( GenefxState *gfxs
static void Bop_argb_blend_alphachannel_src_invsrc_Aop_rgb32( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
int Dstep = gfxs->Astep;
u32 *S = gfxs->Bop[0];
u32 *D = gfxs->Aop[0];
- while (w--) {
+ while (--w) {
u32 dp32 = *D;
u32 sp32 = *S++;
int salpha = (sp32 >> 25) + 1;
@@ -8531,42 +7938,44 @@ static void Bop_argb_blend_alphachannel_src_invsrc_Aop_argb8565( GenefxState *gf
}
}
-static GenefxFunc Bop_argb_blend_alphachannel_src_invsrc_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- NULL, /* DSPF_ARGB1555 */
- Bop_argb_blend_alphachannel_src_invsrc_Aop_rgb16, /* DSPF_RGB16 */
- NULL, /* DSPF_RGB24 */
- Bop_argb_blend_alphachannel_src_invsrc_Aop_rgb32, /* DSPF_RGB32 */
- NULL, /* DSPF_ARGB */
- NULL, /* DSPF_A8 */
- NULL, /* DSPF_YUY2 */
- NULL, /* DSPF_RGB332 */
- NULL, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- NULL, /* DSPF_LUT8 */
- NULL, /* DSPF_ALUT44 */
- NULL, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- NULL, /* DSPF_ARGB2554 */
- NULL, /* DSPF_ARGB4444 */
- NULL, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- NULL, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- NULL, /* DSPF_ARGB1666 */
- NULL, /* DSPF_ARGB6666 */
- NULL, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- NULL, /* DSPF_RGB444 */
- NULL, /* DSPF_RGB555 */
- NULL, /* DSPF_BGR555 */
- NULL, /* DSPF_RGBA5551 */
- NULL, /* DSPF_YUV444P */
- Bop_argb_blend_alphachannel_src_invsrc_Aop_argb8565, /* DSPF_ARGB8565 */
- NULL, /* DSPF_AVYU */
- NULL, /* DSPF_VYU */
+static const GenefxFunc Bop_argb_blend_alphachannel_src_invsrc_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = Bop_argb_blend_alphachannel_src_invsrc_Aop_rgb16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_argb_blend_alphachannel_src_invsrc_Aop_rgb32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = Bop_argb_blend_alphachannel_src_invsrc_Aop_argb8565,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
};
/**********************************************************************************************************************/
@@ -8575,15 +7984,24 @@ static GenefxFunc Bop_argb_blend_alphachannel_src_invsrc_Aop_PFI[DFB_NUM_PIXELFO
#define SET_PIXEL_DUFFS_DEVICE( D, S, w ) \
SET_PIXEL_DUFFS_DEVICE_N( D, S, w, 3 )
-#define SET_PIXEL( D, S ) \
-do { \
- int invsrc = 256 - (S >> 24); \
- \
- u32 Drb = ((D & 0x00ff00ff) * invsrc) >> 8; \
- u32 Dag = ((D & 0xff00ff00) >> 8) * invsrc; \
- \
- D = S + (Drb & 0x00ff00ff) + (Dag & 0xff00ff00); \
-} while (0)
+#define SET_PIXEL( D, S ) \
+ switch (S >> 24) { \
+ case 0: \
+ D += S; \
+ break; \
+ case 0xff: \
+ D = S; \
+ break; \
+ default: \
+ { \
+ int invsrc = 256 - (S >> 24); \
+ \
+ u32 Drb = ((D & 0x00ff00ff) * invsrc) >> 8; \
+ u32 Dag = ((D & 0xff00ff00) >> 8) * invsrc; \
+ \
+ D = S + (Drb & 0x00ff00ff) + (Dag & 0xff00ff00); \
+ } \
+ } while (0)
static void Bop_argb_blend_alphachannel_one_invsrc_Aop_argb( GenefxState *gfxs )
{
@@ -8597,42 +8015,126 @@ static void Bop_argb_blend_alphachannel_one_invsrc_Aop_argb( GenefxState *gfxs )
#undef SET_PIXEL_DUFFS_DEVICE
#undef SET_PIXEL
-static GenefxFunc Bop_argb_blend_alphachannel_one_invsrc_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
- NULL, /* DSPF_ARGB1555 */
- NULL, /* DSPF_RGB16 */
- NULL, /* DSPF_RGB24 */
- Bop_argb_blend_alphachannel_one_invsrc_Aop_argb, /* DSPF_RGB32 */
- Bop_argb_blend_alphachannel_one_invsrc_Aop_argb, /* DSPF_ARGB */
- NULL, /* DSPF_A8 */
- NULL, /* DSPF_YUY2 */
- NULL, /* DSPF_RGB332 */
- NULL, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- NULL, /* DSPF_LUT8 */
- NULL, /* DSPF_ALUT44 */
- NULL, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- NULL, /* DSPF_ARGB2554 */
- NULL, /* DSPF_ARGB4444 */
- NULL, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- NULL, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- NULL, /* DSPF_ARGB1666 */
- NULL, /* DSPF_ARGB6666 */
- NULL, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- NULL, /* DSPF_RGB444 */
- NULL, /* DSPF_RGB555 */
- NULL, /* DSPF_BGR555 */
- NULL, /* DSPF_RGBA5551 */
- NULL, /* DSPF_YUV444P */
- NULL, /* DSPF_ARGB8565 */
- NULL, /* DSPF_AVYU */
- NULL, /* DSPF_VYU */
+static const GenefxFunc Bop_argb_blend_alphachannel_one_invsrc_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_argb_blend_alphachannel_one_invsrc_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Bop_argb_blend_alphachannel_one_invsrc_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
+};
+
+/**********************************************************************************************************************/
+
+/* change the last value to adjust the size of the device (1-4) */
+#define SET_PIXEL_DUFFS_DEVICE( D, S, w ) \
+ SET_PIXEL_DUFFS_DEVICE_N( D, S, w, 3 )
+
+#define SET_PIXEL( D, S ) \
+ switch (S >> 24) { \
+ case 0: \
+ break; \
+ case 0xff: \
+ D = S; \
+ break; \
+ default: \
+ { \
+ int src = (S >> 24) + 1; \
+ int invsrc = 256 - (S >> 24); \
+ \
+ u32 Drb = ((D & 0x00ff00ff) * invsrc) >> 8; \
+ u32 Dag = ((D & 0xff00ff00) >> 8) * invsrc; \
+ \
+ u32 Srb = ((S & 0x00ff00ff) * src) >> 8; \
+ u32 Sxg = ((S & 0xff00ff00) >> 8) * src; \
+ \
+ D = (Srb & 0x00ff00ff) + (Sxg & 0x0000ff00) + \
+ (Drb & 0x00ff00ff) + (Dag & 0xff00ff00) + \
+ (S & 0xff000000); \
+ } \
+ } while (0)
+
+static void Bop_argb_blend_alphachannel_one_invsrc_premultiply_Aop_argb( GenefxState *gfxs )
+{
+ int w = gfxs->length;
+ u32 *S = gfxs->Bop[0];
+ u32 *D = gfxs->Aop[0];
+
+ SET_PIXEL_DUFFS_DEVICE( D, S, w );
+}
+
+#undef SET_PIXEL_DUFFS_DEVICE
+#undef SET_PIXEL
+
+static const GenefxFunc Bop_argb_blend_alphachannel_one_invsrc_premultiply_Aop_PFI[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = Bop_argb_blend_alphachannel_one_invsrc_premultiply_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = Bop_argb_blend_alphachannel_one_invsrc_premultiply_Aop_argb,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
};
/**********************************************************************************************************************/
@@ -8640,17 +8142,17 @@ static GenefxFunc Bop_argb_blend_alphachannel_one_invsrc_Aop_PFI[DFB_NUM_PIXELFO
/* A8/A1 to YCbCr */
static void Dacc_Alpha_to_YCbCr( GenefxState *gfxs )
{
- int w = gfxs->length;
+ int w = gfxs->length+1;
GenefxAccumulator *D = gfxs->Dacc;
- while (w--) {
+ while (--w) {
if (!(D->RGB.a & 0xF000)) {
D->YUV.y = 235;
D->YUV.u = 128;
D->YUV.v = 128;
}
- D++;
+ ++D;
}
}
@@ -8671,6 +8173,7 @@ static void Dacc_is_Aacc( GenefxState *gfxs ) { gfxs->Dacc = gfxs->Aacc;}
static void Dacc_is_Bacc( GenefxState *gfxs ) { gfxs->Dacc = gfxs->Bacc;}
static void Dacc_is_Tacc( GenefxState *gfxs ) { gfxs->Dacc = gfxs->Tacc;}
+__attribute__((unused))
static void Xacc_is_Aacc( GenefxState *gfxs ) { gfxs->Xacc = gfxs->Aacc;}
static void Xacc_is_Bacc( GenefxState *gfxs ) { gfxs->Xacc = gfxs->Bacc;}
static void Xacc_is_Tacc( GenefxState *gfxs ) { gfxs->Xacc = gfxs->Tacc;}
@@ -8767,7 +8270,7 @@ void gGetDriverInfo( GraphicsDriverInfo *info )
snprintf( info->vendor, DFB_GRAPHICS_DRIVER_INFO_VENDOR_LENGTH, "directfb.org" );
info->version.major = 0;
- info->version.minor = 6;
+ info->version.minor = 7;
}
void gGetDeviceInfo( GraphicsDeviceInfo *info )
@@ -8812,13 +8315,13 @@ Bop_rgb24_to_Aop_rgb16_LE( GenefxState *gfxs )
*D++ = PIXEL_RGB16( S[0], S[1], S[2] );
S += 3;
- w -= 1;
+ --w;
}
if ((unsigned long)D & 2) {
*D++ = PIXEL_RGB16( S[0], S[1], S[2] );
- w -= 1;
+ --w;
S += 3;
while (w > 1) {
@@ -8849,7 +8352,7 @@ Bop_rgb24_to_Aop_rgb16_LE( GenefxState *gfxs )
while (w > 0) {
*D++ = PIXEL_RGB16( S[0], S[1], S[2] );
- w -= 1;
+ --w;
S += 3;
}
}
@@ -8869,8 +8372,8 @@ Bop_rgb32_to_Aop_rgb16_LE( GenefxState *gfxs )
d[0] = RGB32_TO_RGB16( S[0] );
- w--;
- S++;
+ --w;
+ ++S;
D = (u32*)(d+1);
}
@@ -8880,7 +8383,7 @@ Bop_rgb32_to_Aop_rgb16_LE( GenefxState *gfxs )
w -= 2;
S += 2;
- D += 1;
+ ++D;
}
if (w > 0) {
@@ -8891,6 +8394,9 @@ Bop_rgb32_to_Aop_rgb16_LE( GenefxState *gfxs )
}
#endif /* #ifndef WORDS_BIGENDIAN */
+/**********************************************************************************************************************/
+/**********************************************************************************************************************/
+
bool gAcquire( CardState *state, DFBAccelerationMask accel )
{
DFBResult ret;
@@ -8960,10 +8466,16 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
else if (state->drawingflags & (DSDRAW_BLEND | DSDRAW_DST_COLORKEY))
access |= CSAF_READ;
+ /*
+ * Push our own identity for buffer locking calls (locality of accessor)
+ */
+ Core_PushIdentity( 0 );
+
/* Lock destination */
ret = dfb_surface_lock_buffer( destination, state->to, CSAID_CPU, access, &state->dst );
if (ret) {
D_DERROR( ret, "DirectFB/Genefx: Could not lock destination!\n" );
+ Core_PopIdentity();
return false;
}
@@ -8985,6 +8497,10 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
gfxs->dst_org[2] = gfxs->dst_org[0] + gfxs->dst_height * gfxs->dst_pitch;
gfxs->dst_org[1] = gfxs->dst_org[2] + gfxs->dst_height/2 * gfxs->dst_pitch/2;
break;
+ case DSPF_YV16:
+ gfxs->dst_org[2] = gfxs->dst_org[0] + gfxs->dst_height * gfxs->dst_pitch;
+ gfxs->dst_org[1] = gfxs->dst_org[2] + gfxs->dst_height * gfxs->dst_pitch/2;
+ break;
case DSPF_NV12:
case DSPF_NV21:
case DSPF_NV16:
@@ -9018,6 +8534,7 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
if (ret) {
D_DERROR( ret, "DirectFB/Genefx: Could not lock source!\n" );
dfb_surface_unlock_buffer( destination, &state->dst );
+ Core_PopIdentity();
return false;
}
@@ -9039,6 +8556,10 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
gfxs->src_org[2] = gfxs->src_org[0] + gfxs->src_height * gfxs->src_pitch;
gfxs->src_org[1] = gfxs->src_org[2] + gfxs->src_height/2 * gfxs->src_pitch/2;
break;
+ case DSPF_YV16:
+ gfxs->src_org[2] = gfxs->src_org[0] + gfxs->src_height * gfxs->src_pitch;
+ gfxs->src_org[1] = gfxs->src_org[2] + gfxs->src_height * gfxs->src_pitch/2;
+ break;
case DSPF_NV12:
case DSPF_NV21:
case DSPF_NV16:
@@ -9057,7 +8578,6 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
state->flags |= CSF_SOURCE_LOCKED;
}
-
/* premultiply source (color) */
if (DFB_DRAWING_FUNCTION(accel) && (state->drawingflags & DSDRAW_SRC_PREMULTIPLY)) {
u16 ca = color.a + 1;
@@ -9097,10 +8617,10 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
gfxs->Cop = PIXEL_AiRGB( color.a, color.r, color.g, color.b );
break;
case DSPF_ARGB6666:
- gfxs->Cop = PIXEL_ARGB6666( color.a, color.r, color.g, color.b );
+ gfxs->Cop = PIXEL_ARGB6666( color.a, color.r, color.g, color.b );
break;
case DSPF_ARGB1666:
- gfxs->Cop = PIXEL_ARGB1666( color.a, color.r, color.g, color.b );
+ gfxs->Cop = PIXEL_ARGB1666( color.a, color.r, color.g, color.b );
break;
case DSPF_A1:
gfxs->Cop = color.a >> 7;
@@ -9126,6 +8646,7 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
break;
case DSPF_I420:
case DSPF_YV12:
+ case DSPF_YV16:
case DSPF_NV12:
case DSPF_NV16:
case DSPF_YUV444P:
@@ -9183,6 +8704,9 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
gfxs->YCop, gfxs->CbCop, gfxs->CrCop );
gfxs->Cop = PIXEL_VYU( gfxs->YCop, gfxs->CbCop, gfxs->CrCop );
break;
+ case DSPF_A1_LSB:
+ gfxs->Cop = color.a & 1;
+ break;
default:
D_ONCE("unsupported destination format");
goto error;
@@ -9219,6 +8743,7 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
DSBLIT_SRC_PREMULTCOLOR))
goto error;
case DSPF_A1:
+ case DSPF_A1_LSB:
case DSPF_A4:
case DSPF_A8:
if (DFB_PLANAR_PIXELFORMAT(gfxs->dst_format) &&
@@ -9228,6 +8753,7 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
break;
case DSPF_I420:
case DSPF_YV12:
+ case DSPF_YV16:
case DSPF_NV12:
case DSPF_NV21:
case DSPF_NV16:
@@ -9316,21 +8842,18 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
*funcs++ = Dacc_is_Aacc;
*funcs++ = Sop_PFI_to_Dacc[dst_pfi];
+ if (dst_ycbcr)
+ *funcs++ = Dacc_YCbCr_to_RGB;
+
/* premultiply destination */
if (state->drawingflags & DSDRAW_DST_PREMULTIPLY)
*funcs++ = Dacc_premultiply;
/* load source (color) */
Cacc.RGB.a = color.a;
- if (!dst_ycbcr) {
- Cacc.RGB.r = color.r;
- Cacc.RGB.g = color.g;
- Cacc.RGB.b = color.b;
- } else {
- Cacc.YUV.y = gfxs->YCop;
- Cacc.YUV.u = gfxs->CbCop;
- Cacc.YUV.v = gfxs->CrCop;
- }
+ Cacc.RGB.r = color.r;
+ Cacc.RGB.g = color.g;
+ Cacc.RGB.b = color.b;
/* premultiply source (color) */
/*if (state->drawingflags & DSDRAW_SRC_PREMULTIPLY) {
@@ -9451,17 +8974,34 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
*funcs++ = Sacc_xor_Dacc;
*funcs++ = Sacc_is_Tacc;
+
+ if (dst_ycbcr)
+ *funcs++ = Dacc_is_Tacc;
}
else {
*funcs++ = Dacc_xor;
*funcs++ = Sacc_is_Aacc;
+
+ if (dst_ycbcr)
+ *funcs++ = Dacc_is_Aacc;
}
}
- else if (state->drawingflags & DSDRAW_BLEND)
+ else if (state->drawingflags & DSDRAW_BLEND) {
*funcs++ = Sacc_is_Tacc;
- else
+
+ if (dst_ycbcr)
+ *funcs++ = Dacc_is_Tacc;
+ }
+ else {
*funcs++ = Sacc_is_Aacc;
+ if (dst_ycbcr)
+ *funcs++ = Dacc_is_Aacc;
+ }
+
+ if (dst_ycbcr)
+ *funcs++ = Dacc_RGB_to_YCbCr;
+
/* write to destination */
if (state->drawingflags & DSDRAW_DST_COLORKEY) {
gfxs->Dkey = state->dst_colorkey;
@@ -9476,7 +9016,7 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
}
else {
gfxs->need_accumulator = false;
-
+
if (state->drawingflags & DSDRAW_DST_COLORKEY) {
gfxs->Dkey = state->dst_colorkey;
*funcs++ = Cop_toK_Aop_PFI[dst_pfi];
@@ -9508,6 +9048,17 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
break;
}
}
+ if (state->blittingflags == (DSBLIT_BLEND_ALPHACHANNEL | DSBLIT_SRC_PREMULTIPLY) &&
+ state->src_blend == DSBF_ONE &&
+ state->dst_blend == DSBF_INVSRCALPHA)
+ {
+ if (gfxs->src_format == DSPF_ARGB &&
+ Bop_argb_blend_alphachannel_one_invsrc_premultiply_Aop_PFI[dst_pfi])
+ {
+ *funcs++ = Bop_argb_blend_alphachannel_one_invsrc_premultiply_Aop_PFI[dst_pfi];
+ break;
+ }
+ }
if (((state->blittingflags == (DSBLIT_COLORIZE | DSBLIT_BLEND_ALPHACHANNEL |
DSBLIT_SRC_PREMULTIPLY) &&
state->src_blend == DSBF_ONE)
@@ -9525,6 +9076,10 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
*funcs++ = Bop_a1_set_alphapixel_Aop_PFI[dst_pfi];
break;
}
+ if (gfxs->src_format == DSPF_A1_LSB && Bop_a1_lsb_set_alphapixel_Aop_PFI[dst_pfi]) {
+ *funcs++ = Bop_a1_lsb_set_alphapixel_Aop_PFI[dst_pfi];
+ break;
+ }
}
#ifndef WORDS_BIGENDIAN
if (state->blittingflags == DSBLIT_NOFX &&
@@ -9543,10 +9098,11 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
}
#endif
/* fallthru */
+ case DFXL_TEXTRIANGLES:
case DFXL_STRETCHBLIT: {
int modulation = state->blittingflags & MODULATION_FLAGS;
- if (modulation) {
+ if (modulation || (accel == DFXL_TEXTRIANGLES && (src_pfi != dst_pfi || state->blittingflags))) {
bool read_destination = false;
bool source_needs_destination = false;
bool scale_from_accumulator;
@@ -9584,6 +9140,9 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
*funcs++ = Dacc_is_Aacc;
*funcs++ = Sop_PFI_to_Dacc[dst_pfi];
+ if (dst_ycbcr)
+ *funcs++ = Dacc_YCbCr_to_RGB;
+
if (state->blittingflags & DSBLIT_DST_PREMULTIPLY)
*funcs++ = Dacc_premultiply;
}
@@ -9596,30 +9155,34 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
if (DFB_PIXELFORMAT_IS_INDEXED(gfxs->src_format))
*funcs++ = Slut_is_Blut;
*funcs++ = Dacc_is_Bacc;
- if (state->blittingflags & DSBLIT_SRC_COLORKEY) {
- gfxs->Skey = state->src_colorkey;
- if (accel == DFXL_BLIT || scale_from_accumulator)
- *funcs++ = Sop_PFI_Kto_Dacc[src_pfi];
- else
- *funcs++ = Sop_PFI_SKto_Dacc[src_pfi];
+ if (accel == DFXL_TEXTRIANGLES) {
+ if (state->blittingflags & DSBLIT_SRC_COLORKEY) {
+ gfxs->Skey = state->src_colorkey;
+
+ *funcs++ = Sop_PFI_TEX_Kto_Dacc[src_pfi];
+ }
+ else {
+ *funcs++ = Sop_PFI_TEX_to_Dacc[src_pfi];
+ }
}
else {
- if (accel == DFXL_BLIT || scale_from_accumulator)
- *funcs++ = Sop_PFI_to_Dacc[src_pfi];
- else
- *funcs++ = Sop_PFI_Sto_Dacc[src_pfi];
+ if (state->blittingflags & DSBLIT_SRC_COLORKEY) {
+ gfxs->Skey = state->src_colorkey;
+ if (accel == DFXL_BLIT || scale_from_accumulator)
+ *funcs++ = Sop_PFI_Kto_Dacc[src_pfi];
+ else
+ *funcs++ = Sop_PFI_SKto_Dacc[src_pfi];
+ }
+ else {
+ if (accel == DFXL_BLIT || scale_from_accumulator)
+ *funcs++ = Sop_PFI_to_Dacc[src_pfi];
+ else
+ *funcs++ = Sop_PFI_Sto_Dacc[src_pfi];
+ }
}
- if (!src_ycbcr && dst_ycbcr) {
- if (DFB_COLOR_BITS_PER_PIXEL(gfxs->src_format))
- *funcs++ = Dacc_RGB_to_YCbCr;
- /*else
- *funcs++ = Dacc_Alpha_to_YCbCr;*/
- }
- else if (src_ycbcr && !dst_ycbcr) {
- if (DFB_COLOR_BITS_PER_PIXEL(gfxs->dst_format))
- *funcs++ = Dacc_YCbCr_to_RGB;
- }
+ if (src_ycbcr)
+ *funcs++ = Dacc_YCbCr_to_RGB;
/* Premultiply color alpha? */
if (state->blittingflags & DSBLIT_SRC_PREMULTCOLOR) {
@@ -9628,20 +9191,18 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
}
/* modulate the source if requested */
- if (Dacc_modulation[modulation & 0x7]) {
+ if (Dacc_modulation[modulation & (DSBLIT_COLORIZE
+ | DSBLIT_BLEND_ALPHACHANNEL
+ | DSBLIT_BLEND_COLORALPHA)]) {
/* modulation source */
gfxs->Cacc.RGB.a = color.a + 1;
- if (!dst_ycbcr) {
- gfxs->Cacc.RGB.r = color.r + 1;
- gfxs->Cacc.RGB.g = color.g + 1;
- gfxs->Cacc.RGB.b = color.b + 1;
- } else {
- gfxs->Cacc.YUV.y = gfxs->YCop + 1;
- gfxs->Cacc.YUV.u = gfxs->CbCop + 1;
- gfxs->Cacc.YUV.v = gfxs->CrCop + 1;
- }
+ gfxs->Cacc.RGB.r = color.r + 1;
+ gfxs->Cacc.RGB.g = color.g + 1;
+ gfxs->Cacc.RGB.b = color.b + 1;
- *funcs++ = Dacc_modulation[modulation & 0x7];
+ *funcs++ = Dacc_modulation[modulation & (DSBLIT_COLORIZE
+ | DSBLIT_BLEND_ALPHACHANNEL
+ | DSBLIT_BLEND_COLORALPHA)];
}
/* Premultiply (modulated) source alpha? */
@@ -9703,6 +9264,11 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
*funcs++ = Sacc_xor_Dacc;
}
+ if (dst_ycbcr) {
+ *funcs++ = Dacc_is_Bacc;
+ *funcs++ = Dacc_RGB_to_YCbCr;
+ }
+
/* write source to destination */
*funcs++ = Sacc_is_Bacc;
if (scale_from_accumulator) {
@@ -9747,52 +9313,76 @@ bool gAcquire( CardState *state, DFBAccelerationMask accel )
break;
}
}
- else if (((gfxs->src_format == gfxs->dst_format &&
+ else if (((gfxs->src_format == gfxs->dst_format &&
(!DFB_PIXELFORMAT_IS_INDEXED(gfxs->src_format) ||
dfb_palette_equal( gfxs->Alut, gfxs->Blut ))) ||
- ((gfxs->src_format == DSPF_I420 || gfxs->src_format == DSPF_YV12) &&
- (gfxs->dst_format == DSPF_I420 || gfxs->dst_format == DSPF_YV12))) &&
+ ((gfxs->src_format == DSPF_I420 || gfxs->src_format == DSPF_YV12 || gfxs->src_format == DSPF_YV16) &&
+ (gfxs->dst_format == DSPF_I420 || gfxs->dst_format == DSPF_YV12 || gfxs->dst_format == DSPF_YV16))) &&
(accel == DFXL_BLIT || !(state->blittingflags & (DSBLIT_ROTATE90 |
DSBLIT_ROTATE180 |
DSBLIT_ROTATE270 |
DSBLIT_FLIP_HORIZONTAL))))
{
gfxs->need_accumulator = false;
-
- if (accel == DFXL_BLIT) {
- if (state->blittingflags & DSBLIT_SRC_COLORKEY &&
- state->blittingflags & DSBLIT_DST_COLORKEY) {
- gfxs->Skey = state->src_colorkey;
- gfxs->Dkey = state->dst_colorkey;
- *funcs++ = Bop_PFI_KtoK_Aop_PFI[dst_pfi];
- } else if (state->blittingflags & DSBLIT_SRC_COLORKEY) {
- gfxs->Skey = state->src_colorkey;
- *funcs++ = Bop_PFI_Kto_Aop_PFI[dst_pfi];
- } else if (state->blittingflags & DSBLIT_DST_COLORKEY) {
- gfxs->Dkey = state->dst_colorkey;
- *funcs++ = Bop_PFI_toK_Aop_PFI[dst_pfi];
- } else if (state->blittingflags & (DSBLIT_ROTATE90 |
- DSBLIT_ROTATE180 |
- DSBLIT_ROTATE270 |
- DSBLIT_FLIP_HORIZONTAL)) {
- *funcs++ = Bop_PFI_toR_Aop_PFI[dst_pfi];
- } else
- *funcs++ = Bop_PFI_to_Aop_PFI[dst_pfi];
- }
- else {
- if (state->blittingflags & DSBLIT_SRC_COLORKEY &&
- state->blittingflags & DSBLIT_DST_COLORKEY) {
- gfxs->Skey = state->src_colorkey;
- gfxs->Dkey = state->dst_colorkey;
- *funcs++ = Bop_PFI_SKtoK_Aop_PFI[dst_pfi];
- } else if (state->blittingflags & DSBLIT_SRC_COLORKEY) {
- gfxs->Skey = state->src_colorkey;
- *funcs++ = Bop_PFI_SKto_Aop_PFI[dst_pfi];
- } else if (state->blittingflags & DSBLIT_DST_COLORKEY) {
- gfxs->Dkey = state->dst_colorkey;
- *funcs++ = Bop_PFI_StoK_Aop_PFI[dst_pfi];
- } else
- *funcs++ = Bop_PFI_Sto_Aop_PFI[dst_pfi];
+
+ switch (accel) {
+ case DFXL_BLIT:
+ if (state->blittingflags & DSBLIT_SRC_COLORKEY &&
+ state->blittingflags & DSBLIT_DST_COLORKEY) {
+ gfxs->Skey = state->src_colorkey;
+ gfxs->Dkey = state->dst_colorkey;
+ *funcs++ = Bop_PFI_KtoK_Aop_PFI[dst_pfi];
+ } else if (state->blittingflags & DSBLIT_SRC_COLORKEY) {
+ gfxs->Skey = state->src_colorkey;
+ *funcs++ = Bop_PFI_Kto_Aop_PFI[dst_pfi];
+ } else if (state->blittingflags & DSBLIT_DST_COLORKEY) {
+ gfxs->Dkey = state->dst_colorkey;
+ *funcs++ = Bop_PFI_toK_Aop_PFI[dst_pfi];
+ } else if (state->blittingflags & (DSBLIT_ROTATE90 |
+ DSBLIT_ROTATE180 |
+ DSBLIT_ROTATE270 |
+ DSBLIT_FLIP_HORIZONTAL)) {
+ *funcs++ = Bop_PFI_toR_Aop_PFI[dst_pfi];
+ } else
+ *funcs++ = Bop_PFI_to_Aop_PFI[dst_pfi];
+ break;
+
+ case DFXL_STRETCHBLIT:
+ if (state->blittingflags & DSBLIT_SRC_COLORKEY &&
+ state->blittingflags & DSBLIT_DST_COLORKEY) {
+ gfxs->Skey = state->src_colorkey;
+ gfxs->Dkey = state->dst_colorkey;
+ *funcs++ = Bop_PFI_SKtoK_Aop_PFI[dst_pfi];
+ } else if (state->blittingflags & DSBLIT_SRC_COLORKEY) {
+ gfxs->Skey = state->src_colorkey;
+ *funcs++ = Bop_PFI_SKto_Aop_PFI[dst_pfi];
+ } else if (state->blittingflags & DSBLIT_DST_COLORKEY) {
+ gfxs->Dkey = state->dst_colorkey;
+ *funcs++ = Bop_PFI_StoK_Aop_PFI[dst_pfi];
+ } else
+ *funcs++ = Bop_PFI_Sto_Aop_PFI[dst_pfi];
+ break;
+
+ case DFXL_TEXTRIANGLES:
+/*
+ if (state->blittingflags & DSBLIT_SRC_COLORKEY &&
+ state->blittingflags & DSBLIT_DST_COLORKEY) {
+ gfxs->Skey = state->src_colorkey;
+ gfxs->Dkey = state->dst_colorkey;
+ *funcs++ = Bop_PFI_TEX_KtoK_Aop_PFI[dst_pfi];
+ } else if (state->blittingflags & DSBLIT_SRC_COLORKEY) {
+ gfxs->Skey = state->src_colorkey;
+ *funcs++ = Bop_PFI_TEX_Kto_Aop_PFI[dst_pfi];
+ } else if (state->blittingflags & DSBLIT_DST_COLORKEY) {
+ gfxs->Dkey = state->dst_colorkey;
+ *funcs++ = Bop_PFI_TEX_toK_Aop_PFI[dst_pfi];
+ } else
+*/
+ *funcs++ = Bop_PFI_TEX_to_Aop_PFI[dst_pfi];
+ break;
+
+ default:
+ break;
}
}
else {
@@ -9879,1467 +9469,13 @@ void gRelease( CardState *state )
dfb_surface_unlock_buffer( state->source, &state->src );
state->flags &= ~CSF_SOURCE_LOCKED;
}
-}
-
-#define CHECK_PIPELINE() \
- { \
- if (!gfxs->funcs[0]) \
- return; \
- \
- if (dfb_config->software_trace) { \
- int i; \
- GenefxFunc *funcs = gfxs->funcs; \
- \
- direct_log_lock( NULL ); \
- direct_log_printf( NULL, " Software Fallback Pipeline:\n" ); \
- \
- for (i=0; funcs[i]; ++i) \
- direct_log_printf( NULL, " [%2d] %s\n", i, \
- direct_trace_lookup_symbol_at( funcs[i] ) ); \
- \
- direct_log_printf( NULL, "\n" ); \
- direct_log_unlock( NULL ); \
- } \
- }
-
-#define RUN_PIPELINE() \
- { \
- int i; \
- GenefxFunc *funcs = gfxs->funcs; \
- \
- for (i=0; funcs[i]; ++i) \
- funcs[i]( gfxs ); \
- }
-
-/**********************************************************************************************************************/
-
-typedef void (*XopAdvanceFunc)( GenefxState *gfxs );
-
-static inline void Aop_xy( GenefxState *gfxs, int x, int y )
-{
- int pitch = gfxs->dst_pitch;
-
- gfxs->Aop[0] = gfxs->dst_org[0];
- gfxs->AopY = y;
-
- if (gfxs->dst_caps & DSCAPS_SEPARATED) {
- gfxs->Aop_field = y & 1;
- if (gfxs->Aop_field)
- gfxs->Aop[0] += gfxs->dst_field_offset;
-
- y /= 2;
- }
-
- D_ASSUME( !(x & DFB_PIXELFORMAT_ALIGNMENT(gfxs->dst_format)) );
-
- gfxs->Aop[0] += y * pitch + DFB_BYTES_PER_LINE( gfxs->dst_format, x );
-
- if (DFB_PLANAR_PIXELFORMAT(gfxs->dst_format)) {
- int dst_field_offset = gfxs->dst_field_offset;
-
- switch (gfxs->dst_format) {
- case DSPF_YV12:
- case DSPF_I420:
- dst_field_offset /= 4;
- pitch /= 2;
- y /= 2;
- x /= 2;
- break;
- case DSPF_NV12:
- case DSPF_NV21:
- dst_field_offset /= 2;
- y /= 2;
- case DSPF_NV16:
- x &= ~1;
- break;
- case DSPF_YUV444P: /* nothing to adjust */
- default:
- break;
- }
-
- gfxs->Aop[1] = gfxs->dst_org[1];
- gfxs->Aop[2] = gfxs->dst_org[2];
-
- if (gfxs->dst_caps & DSCAPS_SEPARATED && gfxs->Aop_field) {
- gfxs->Aop[1] += dst_field_offset;
- gfxs->Aop[2] += dst_field_offset;
- }
-
- gfxs->Aop[1] += y * pitch + x;
- gfxs->Aop[2] += y * pitch + x;
- }
-}
-
-static void Aop_crab( GenefxState *gfxs )
-{
- gfxs->Aop[0] += gfxs->dst_bpp;
- gfxs->AopY++;
-}
-static void Aop_next( GenefxState *gfxs )
-{
- int pitch = gfxs->dst_pitch;
-
- if (gfxs->dst_caps & DSCAPS_SEPARATED) {
- gfxs->Aop_field++;
-
- if (gfxs->Aop_field & 1)
- gfxs->Aop[0] += gfxs->dst_field_offset;
- else
- gfxs->Aop[0] += pitch - gfxs->dst_field_offset;
- }
- else
- gfxs->Aop[0] += pitch;
-
- if (DFB_PLANAR_PIXELFORMAT(gfxs->dst_format)) {
- if (gfxs->dst_format == DSPF_YV12 || gfxs->dst_format == DSPF_I420) {
- if (gfxs->AopY & 1) {
- if (gfxs->dst_caps & DSCAPS_SEPARATED) {
- if (gfxs->Aop_field & 2) {
- gfxs->Aop[1] += gfxs->dst_field_offset/4;
- gfxs->Aop[2] += gfxs->dst_field_offset/4;
- }
- else {
- gfxs->Aop[1] += pitch/2 - gfxs->dst_field_offset/4;
- gfxs->Aop[2] += pitch/2 - gfxs->dst_field_offset/4;
- }
- }
- else {
- gfxs->Aop[1] += pitch/2;
- gfxs->Aop[2] += pitch/2;
- }
- }
- }
- else if (gfxs->dst_format == DSPF_NV12 || gfxs->dst_format == DSPF_NV21) {
- if (gfxs->AopY & 1) {
- if (gfxs->dst_caps & DSCAPS_SEPARATED) {
- if (gfxs->Aop_field & 2)
- gfxs->Aop[1] += gfxs->dst_field_offset/2;
- else
- gfxs->Aop[1] += pitch - gfxs->dst_field_offset/2;
- }
- else {
- gfxs->Aop[1] += pitch;
- }
- }
- }
- else if (gfxs->dst_format == DSPF_YUV444P) {
- if (gfxs->dst_caps & DSCAPS_SEPARATED) {
- if (gfxs->Aop_field & 1) {
- gfxs->Aop[1] += gfxs->dst_field_offset;
- gfxs->Aop[2] += gfxs->dst_field_offset;
- }
- else {
- gfxs->Aop[1] += pitch - gfxs->dst_field_offset;
- gfxs->Aop[2] += pitch - gfxs->dst_field_offset;
- }
- }
- else {
- gfxs->Aop[1] += pitch;
- gfxs->Aop[2] += pitch;
- }
- }
- else { /* NV16 */
- if (gfxs->dst_caps & DSCAPS_SEPARATED) {
- if (gfxs->Aop_field & 1)
- gfxs->Aop[1] += gfxs->dst_field_offset;
- else
- gfxs->Aop[1] += pitch - gfxs->dst_field_offset;
- }
- else {
- gfxs->Aop[1] += pitch;
- }
- }
- }
-
- gfxs->AopY++;
+ Core_PopIdentity();
}
-static void Aop_prev( GenefxState *gfxs )
-{
- int pitch = gfxs->dst_pitch;
-
- if (gfxs->dst_caps & DSCAPS_SEPARATED) {
- gfxs->Aop_field++;
-
- if (gfxs->Aop_field & 1)
- gfxs->Aop[0] += gfxs->dst_field_offset - pitch;
- else
- gfxs->Aop[0] -= gfxs->dst_field_offset;
- }
- else
- gfxs->Aop[0] -= pitch;
-
- if (DFB_PLANAR_PIXELFORMAT(gfxs->dst_format)) {
- if (gfxs->dst_format == DSPF_YV12 || gfxs->dst_format == DSPF_I420) {
- if (gfxs->AopY & 1) {
- if (gfxs->dst_caps & DSCAPS_SEPARATED) {
- if (gfxs->Aop_field & 2) {
- gfxs->Aop[1] += gfxs->dst_field_offset/4 - pitch/2;
- gfxs->Aop[2] += gfxs->dst_field_offset/4 - pitch/2;
- }
- else {
- gfxs->Aop[1] -= gfxs->dst_field_offset/4;
- gfxs->Aop[2] -= gfxs->dst_field_offset/4;
- }
- }
- else {
- gfxs->Aop[1] -= pitch/2;
- gfxs->Aop[2] -= pitch/2;
- }
- }
- }
- else if (gfxs->dst_format == DSPF_NV12 || gfxs->dst_format == DSPF_NV21) {
- if (gfxs->AopY & 1) {
- if (gfxs->dst_caps & DSCAPS_SEPARATED) {
- if (gfxs->Aop_field & 2)
- gfxs->Aop[1] += gfxs->dst_field_offset/2 - pitch;
- else
- gfxs->Aop[1] -= gfxs->dst_field_offset/2;
- }
- else {
- gfxs->Aop[1] -= pitch;
- }
- }
- }
- else if (gfxs->dst_format == DSPF_YUV444P) {
- if (gfxs->dst_caps & DSCAPS_SEPARATED) {
- if (gfxs->Aop_field & 1) {
- gfxs->Aop[1] += gfxs->dst_field_offset - pitch;
- gfxs->Aop[2] += gfxs->dst_field_offset - pitch;
- }
- else {
- gfxs->Aop[1] -= gfxs->dst_field_offset;
- gfxs->Aop[2] -= gfxs->dst_field_offset;
- }
- }
- else {
- gfxs->Aop[1] -= pitch;
- gfxs->Aop[2] -= pitch;
- }
- }
- else { /* NV16 */
- if (gfxs->dst_caps & DSCAPS_SEPARATED) {
- if (gfxs->Aop_field & 1)
- gfxs->Aop[1] += gfxs->dst_field_offset - pitch;
- else
- gfxs->Aop[1] -= gfxs->dst_field_offset;
- }
- else {
- gfxs->Aop[1] -= pitch;
- }
- }
- }
-
- gfxs->AopY--;
-}
-
-
-static inline void Bop_xy( GenefxState *gfxs, int x, int y )
-{
- int pitch = gfxs->src_pitch;
-
- gfxs->Bop[0] = gfxs->src_org[0];
- gfxs->BopY = y;
-
- if (gfxs->src_caps & DSCAPS_SEPARATED) {
- gfxs->Bop_field = y & 1;
- if (gfxs->Bop_field)
- gfxs->Bop[0] += gfxs->src_field_offset;
-
- y /= 2;
- }
-
- D_ASSUME( !(x & DFB_PIXELFORMAT_ALIGNMENT(gfxs->src_format)) );
-
- gfxs->Bop[0] += y * pitch + DFB_BYTES_PER_LINE( gfxs->src_format, x );
-
- if (DFB_PLANAR_PIXELFORMAT(gfxs->src_format)) {
- int src_field_offset = gfxs->src_field_offset;
-
- switch (gfxs->src_format) {
- case DSPF_YV12:
- case DSPF_I420:
- src_field_offset /= 4;
- pitch /= 2;
- y /= 2;
- x /= 2;
- break;
- case DSPF_NV12:
- case DSPF_NV21:
- src_field_offset /= 2;
- y /= 2;
- case DSPF_NV16:
- x &= ~1;
- break;
- case DSPF_YUV444P: /* nothing to adjust */
- default:
- break;
- }
-
- gfxs->Bop[1] = gfxs->src_org[1];
- gfxs->Bop[2] = gfxs->src_org[2];
-
- if (gfxs->src_caps & DSCAPS_SEPARATED && gfxs->Bop_field) {
- gfxs->Bop[1] += src_field_offset;
- gfxs->Bop[2] += src_field_offset;
- }
-
- gfxs->Bop[1] += y * pitch + x;
- gfxs->Bop[2] += y * pitch + x;
- }
-}
-
-static void Bop_next( GenefxState *gfxs )
-{
- int pitch = gfxs->src_pitch;
-
- if (gfxs->src_caps & DSCAPS_SEPARATED) {
- gfxs->Bop_field++;
-
- if (gfxs->Bop_field & 1)
- gfxs->Bop[0] += gfxs->src_field_offset;
- else
- gfxs->Bop[0] += pitch - gfxs->src_field_offset;
- }
- else
- gfxs->Bop[0] += pitch;
-
- if (DFB_PLANAR_PIXELFORMAT(gfxs->src_format)) {
- if (gfxs->src_format == DSPF_YV12 || gfxs->src_format == DSPF_I420) {
- if (gfxs->BopY & 1) {
- if (gfxs->src_caps & DSCAPS_SEPARATED) {
- if (gfxs->Bop_field & 2) {
- gfxs->Bop[1] += gfxs->src_field_offset/4;
- gfxs->Bop[2] += gfxs->src_field_offset/4;
- }
- else {
- gfxs->Bop[1] += pitch/2 - gfxs->src_field_offset/4;
- gfxs->Bop[2] += pitch/2 - gfxs->src_field_offset/4;
- }
- }
- else {
- gfxs->Bop[1] += pitch/2;
- gfxs->Bop[2] += pitch/2;
- }
- }
- }
- else if (gfxs->src_format == DSPF_NV12 || gfxs->src_format == DSPF_NV21) {
- if (gfxs->BopY & 1) {
- if (gfxs->src_caps & DSCAPS_SEPARATED) {
- if (gfxs->Bop_field & 2)
- gfxs->Bop[1] += gfxs->src_field_offset/2;
- else
- gfxs->Bop[1] += pitch - gfxs->src_field_offset/2;
- }
- else {
- gfxs->Bop[1] += pitch;
- }
- }
- }
- else if (gfxs->src_format == DSPF_YUV444P) {
- if (gfxs->src_caps & DSCAPS_SEPARATED) {
- if (gfxs->Bop_field & 1) {
- gfxs->Bop[1] += gfxs->src_field_offset;
- gfxs->Bop[2] += gfxs->src_field_offset;
- }
- else {
- gfxs->Bop[1] += pitch - gfxs->src_field_offset;
- gfxs->Bop[2] += pitch - gfxs->src_field_offset;
- }
- }
- else {
- gfxs->Bop[1] += pitch;
- gfxs->Bop[2] += pitch;
- }
- }
- else { /* NV16 */
- if (gfxs->src_caps & DSCAPS_SEPARATED) {
- if (gfxs->Bop_field & 1)
- gfxs->Bop[1] += gfxs->src_field_offset;
- else
- gfxs->Bop[1] += pitch - gfxs->src_field_offset;
- }
- else {
- gfxs->Bop[1] += pitch;
- }
- }
- }
-
- gfxs->BopY++;
-}
-
-static void Bop_prev( GenefxState *gfxs )
-{
- int pitch = gfxs->src_pitch;
-
- if (gfxs->src_caps & DSCAPS_SEPARATED) {
- gfxs->Bop_field++;
-
- if (gfxs->Bop_field & 1)
- gfxs->Bop[0] += gfxs->src_field_offset - pitch;
- else
- gfxs->Bop[0] -= gfxs->src_field_offset;
- }
- else
- gfxs->Bop[0] -= pitch;
-
- if (DFB_PLANAR_PIXELFORMAT(gfxs->src_format)) {
- if (gfxs->src_format == DSPF_YV12 || gfxs->src_format == DSPF_I420) {
- if (gfxs->BopY & 1) {
- if (gfxs->src_caps & DSCAPS_SEPARATED) {
- if (gfxs->Bop_field & 2) {
- gfxs->Bop[1] += gfxs->src_field_offset/4 - pitch/2;
- gfxs->Bop[2] += gfxs->src_field_offset/4 - pitch/2;
- }
- else {
- gfxs->Bop[1] -= gfxs->src_field_offset/4;
- gfxs->Bop[2] -= gfxs->src_field_offset/4;
- }
- }
- else {
- gfxs->Bop[1] -= pitch/2;
- gfxs->Bop[2] -= pitch/2;
- }
- }
- }
- else if (gfxs->src_format == DSPF_NV12 || gfxs->src_format == DSPF_NV21) {
- if (gfxs->BopY & 1) {
- if (gfxs->src_caps & DSCAPS_SEPARATED) {
- if (gfxs->Bop_field & 2)
- gfxs->Bop[1] += gfxs->src_field_offset/2 - pitch;
- else
- gfxs->Bop[1] -= gfxs->src_field_offset/2;
- }
- else {
- gfxs->Bop[1] -= pitch;
- }
- }
- }
- else if (gfxs->src_format == DSPF_YUV444P) {
- if (gfxs->src_caps & DSCAPS_SEPARATED) {
- if (gfxs->Bop_field & 1) {
- gfxs->Bop[1] += gfxs->src_field_offset - pitch;
- gfxs->Bop[2] += gfxs->src_field_offset - pitch;
- }
- else {
- gfxs->Bop[1] -= gfxs->src_field_offset;
- gfxs->Bop[2] -= gfxs->src_field_offset;
- }
- }
- else {
- gfxs->Bop[1] -= pitch;
- gfxs->Bop[2] -= pitch;
- }
- }
- else { /* NV16 */
- if (gfxs->src_caps & DSCAPS_SEPARATED) {
- if (gfxs->Bop_field & 1)
- gfxs->Bop[1] += gfxs->src_field_offset - pitch;
- else
- gfxs->Bop[1] -= gfxs->src_field_offset;
- }
- else {
- gfxs->Bop[1] -= pitch;
- }
- }
- }
-
- gfxs->BopY--;
-}
-
-/**********************************************************************************************************************/
-
-static bool
-ABacc_prepare( GenefxState *gfxs, int width )
-{
- int size;
-
- if (!gfxs->need_accumulator)
- return true;
-
- size = (width + 31) & ~31;
-
- if (gfxs->ABsize < size) {
- void *ABstart = D_MALLOC( size * sizeof(GenefxAccumulator) * 3 + 31 );
-
- if (!ABstart) {
- D_WARN( "out of memory" );
- return false;
- }
-
- if (gfxs->ABstart)
- D_FREE( gfxs->ABstart );
-
- gfxs->ABstart = ABstart;
- gfxs->ABsize = size;
- gfxs->Aacc = (GenefxAccumulator*) (((unsigned long)ABstart+31) & ~31);
- gfxs->Bacc = gfxs->Aacc + size;
- gfxs->Tacc = gfxs->Aacc + size + size;
- }
-
- gfxs->Sacc = gfxs->Dacc = gfxs->Aacc;
-
- return true;
-}
-
-static void
-ABacc_flush( GenefxState *gfxs )
-{
- if (dfb_config->keep_accumulators >= 0 && gfxs->ABsize > dfb_config->keep_accumulators) {
- D_FREE( gfxs->ABstart );
-
- gfxs->ABsize = 0;
- gfxs->ABstart = NULL;
- gfxs->Aacc = NULL;
- gfxs->Bacc = NULL;
- gfxs->Sacc = NULL;
- gfxs->Dacc = NULL;
- }
-}
-
-/**********************************************************************************************************************/
-
-void gFillRectangle( CardState *state, DFBRectangle *rect )
-{
- int h;
- GenefxState *gfxs = state->gfxs;
-
- D_ASSERT( gfxs != NULL );
-
- if (dfb_config->software_warn) {
- D_WARN( "FillRectangle (%4d,%4d-%4dx%4d) %6s, flags 0x%08x, color 0x%02x%02x%02x%02x",
- DFB_RECTANGLE_VALS(rect), dfb_pixelformat_name(gfxs->dst_format), state->drawingflags,
- state->color.a, state->color.r, state->color.g, state->color.b );
- }
-
- D_ASSERT( state->clip.x1 <= rect->x );
- D_ASSERT( state->clip.y1 <= rect->y );
- D_ASSERT( state->clip.x2 >= (rect->x + rect->w - 1) );
- D_ASSERT( state->clip.y2 >= (rect->y + rect->h - 1) );
-
- CHECK_PIPELINE();
-
- if (!ABacc_prepare( gfxs, rect->w ))
- return;
-
- gfxs->length = rect->w;
-
- Aop_xy( gfxs, rect->x, rect->y );
-
- h = rect->h;
- while (h--) {
- RUN_PIPELINE();
-
- Aop_next( gfxs );
- }
-
- ABacc_flush( gfxs );
-}
-
-void gDrawLine( CardState *state, DFBRegion *line )
-{
- GenefxState *gfxs = state->gfxs;
-
- int i,dx,dy,sdy,dxabs,dyabs,x,y,px,py;
-
- D_ASSERT( gfxs != NULL );
-
- CHECK_PIPELINE();
-
- /* the horizontal distance of the line */
- dx = line->x2 - line->x1;
- dxabs = abs(dx);
-
- if (!ABacc_prepare( gfxs, dxabs ))
- return;
-
- /* the vertical distance of the line */
- dy = line->y2 - line->y1;
- dyabs = abs(dy);
-
- if (!dx || !dy) { /* draw horizontal/vertical line */
- DFBRectangle rect = {
- MIN (line->x1, line->x2),
- MIN (line->y1, line->y2),
- dxabs + 1, dyabs + 1};
-
- gFillRectangle( state, &rect );
- return;
- }
-
- if (dfb_config->software_warn) {
- D_WARN( "DrawLine (%4d,%4d-%4d,%4d) %6s, flags 0x%08x, color 0x%02x%02x%02x%02x",
- DFB_RECTANGLE_VALS_FROM_REGION(line), dfb_pixelformat_name(gfxs->dst_format), state->drawingflags,
- state->color.a, state->color.r, state->color.g, state->color.b );
- }
-
- sdy = SIGN(dy) * SIGN(dx);
- x = dyabs >> 1;
- y = dxabs >> 1;
-
- if (dx > 0) {
- px = line->x1;
- py = line->y1;
- }
- else {
- px = line->x2;
- py = line->y2;
- }
-
- if (dxabs >= dyabs) { /* the line is more horizontal than vertical */
-
- for (i=0, gfxs->length=1; i<dxabs; i++, gfxs->length++) {
- y += dyabs;
- if (y >= dxabs) {
- Aop_xy( gfxs, px, py );
- RUN_PIPELINE();
- px += gfxs->length;
- gfxs->length = 0;
- y -= dxabs;
- py += sdy;
- }
- }
- Aop_xy( gfxs, px, py );
- RUN_PIPELINE();
- }
- else { /* the line is more vertical than horizontal */
-
- gfxs->length = 1;
- Aop_xy( gfxs, px, py );
- RUN_PIPELINE();
-
- for (i=0; i<dyabs; i++) {
- x += dxabs;
- if (x >= dyabs) {
- x -= dyabs;
- px++;
- }
- py += sdy;
-
- Aop_xy( gfxs, px, py );
- RUN_PIPELINE();
- }
- }
-
- ABacc_flush( gfxs );
-}
-
-void gBlit( CardState *state, DFBRectangle *rect, int dx, int dy )
-{
- GenefxState *gfxs = state->gfxs;
- int x, h;
- XopAdvanceFunc Aop_advance;
- XopAdvanceFunc Bop_advance;
- int Aop_X;
- int Aop_Y;
- int Bop_X;
- int Bop_Y;
-
- D_ASSERT( gfxs != NULL );
-
- if (dfb_config->software_warn) {
- D_WARN( "Blit (%4d,%4d-%4dx%4d) %6s, flags 0x%08x, color 0x%02x%02x%02x%02x, source (%4d,%4d) %6s",
- dx, dy, rect->w, rect->h, dfb_pixelformat_name(gfxs->dst_format), state->blittingflags,
- state->color.a, state->color.r, state->color.g, state->color.b, rect->x, rect->y,
- dfb_pixelformat_name(gfxs->src_format) );
- }
-
- D_ASSERT( state->clip.x1 <= dx );
- D_ASSERT( state->clip.y1 <= dy );
- D_ASSERT( (state->blittingflags & (DSBLIT_ROTATE90 | DSBLIT_ROTATE270)) || state->clip.x2 >= (dx + rect->w - 1) );
- D_ASSERT( (state->blittingflags & (DSBLIT_ROTATE90 | DSBLIT_ROTATE270)) || state->clip.y2 >= (dy + rect->h - 1) );
- D_ASSERT( !(state->blittingflags & (DSBLIT_ROTATE90 | DSBLIT_ROTATE270)) || state->clip.x2 >= (dx + rect->h - 1) );
- D_ASSERT( !(state->blittingflags & (DSBLIT_ROTATE90 | DSBLIT_ROTATE270)) || state->clip.y2 >= (dy + rect->w - 1) );
-
- CHECK_PIPELINE();
-
- if (!ABacc_prepare( gfxs, rect->w ))
- return;
-
-
- switch (gfxs->src_format) {
- case DSPF_A4:
- case DSPF_YUY2:
- case DSPF_UYVY:
- rect->x &= ~1;
- break;
- default:
- break;
- }
-
- switch (gfxs->dst_format) {
- case DSPF_A4:
- case DSPF_YUY2:
- case DSPF_UYVY:
- dx &= ~1;
- break;
- default:
- break;
- }
-
- gfxs->length = rect->w;
-
-
- if (gfxs->src_org[0] == gfxs->dst_org[0] && dy == rect->y && dx > rect->x)
- /* we must blit from right to left */
- gfxs->Astep = gfxs->Bstep = -1;
- else
- /* we must blit from left to right*/
- gfxs->Astep = gfxs->Bstep = 1;
-
-
-
- if (state->blittingflags & DSBLIT_FLIP_HORIZONTAL) {
- gfxs->Astep *= -1;
-
- Aop_X = dx + rect->w - 1;
- Aop_Y = dy;
-
- Bop_X = rect->x;
- Bop_Y = rect->y;
-
- Aop_advance = Aop_next;
- Bop_advance = Bop_next;
- }
- else if (state->blittingflags & DSBLIT_FLIP_VERTICAL) {
- Aop_X = dx;
- Aop_Y = dy + rect->h - 1;
-
- Bop_X = rect->x;
- Bop_Y = rect->y;
-
- Aop_advance = Aop_prev;
- Bop_advance = Bop_next;
- }
- else if (state->blittingflags & DSBLIT_ROTATE180) {
- gfxs->Astep *= -1;
-
- Aop_X = dx + rect->w - 1;
- Aop_Y = dy;
-
- Bop_X = rect->x;
- Bop_Y = rect->y + rect->h - 1;
-
- Aop_advance = Aop_next;
- Bop_advance = Bop_prev;
- }
- else if (state->blittingflags & DSBLIT_ROTATE270) {
- gfxs->Astep *= gfxs->dst_pitch / gfxs->dst_bpp;
-
- Aop_X = dx;
- Aop_Y = dy;
-
- Bop_X = rect->x;
- Bop_Y = rect->y + rect->h - 1;
-
- Aop_advance = Aop_crab;
- Bop_advance = Bop_prev;
- }
- else if (state->blittingflags & DSBLIT_ROTATE90) {
- gfxs->Astep *= -gfxs->dst_pitch / gfxs->dst_bpp;
-
- Aop_X = dx;
- Aop_Y = dy + rect->w - 1;
-
- Bop_X = rect->x;
- Bop_Y = rect->y;
-
- Aop_advance = Aop_crab;
- Bop_advance = Bop_next;
- }
- else if (gfxs->src_org[0] == gfxs->dst_org[0] && dy > rect->y && !(state->blittingflags & DSBLIT_DEINTERLACE)) {
- /* we must blit from bottom to top */
- Aop_X = dx;
- Aop_Y = dy + rect->h - 1;
-
- Bop_X = rect->x;
- Bop_Y = rect->y + rect->h - 1;
-
- Aop_advance = Aop_prev;
- Bop_advance = Bop_prev;
- }
- else {
- /* we must blit from top to bottom */
- Aop_X = dx;
- Aop_Y = dy;
-
- Bop_X = rect->x;
- Bop_Y = rect->y;
-
- Aop_advance = Aop_next;
- Bop_advance = Bop_next;
- }
-
-
-
- Aop_xy( gfxs, Aop_X, Aop_Y );
- Bop_xy( gfxs, Bop_X, Bop_Y );
-
- if (state->blittingflags & DSBLIT_DEINTERLACE) {
- if (state->source->field) {
- Aop_advance( gfxs );
- Bop_advance( gfxs );
- rect->h--;
- }
-
- for (h = rect->h/2; h; h--) {
- RUN_PIPELINE();
-
- Aop_advance( gfxs );
-
- RUN_PIPELINE();
-
- Aop_advance( gfxs );
-
- Bop_advance( gfxs );
- Bop_advance( gfxs );
- }
- } /* ! DSBLIT_DEINTERLACE */
- else {
- for (h = rect->h; h; h--) {
- RUN_PIPELINE();
-
- Aop_advance( gfxs );
- Bop_advance( gfxs );
- }
- }
-
- ABacc_flush( gfxs );
-}
-
-/**********************************************************************************************************************/
-/********* **************************************************************************************************/
-/*** Smooth scaling routines ******************************************************************************************/
-/********* **************************************************************************************************/
-/**********************************************************************************************************************/
-
-#if DFB_SMOOTH_SCALING
-
-typedef struct {
- DFBRegion clip;
- const void *colors;
- ulong protect;
- ulong key;
-} StretchCtx;
-
-typedef void (*StretchHVx)( void *dst,
- int dpitch,
- const void *src,
- int spitch,
- int width,
- int height,
- int dst_width,
- int dst_height,
- const StretchCtx *ctx );
-
-#define STRETCH_NONE 0
-#define STRETCH_SRCKEY 1
-#define STRETCH_PROTECT 2
-#define STRETCH_SRCKEY_PROTECT 3
-#define STRETCH_NUM 4
-
-typedef struct {
- struct {
- StretchHVx up[STRETCH_NUM];
- StretchHVx down[STRETCH_NUM];
- } f[DFB_NUM_PIXELFORMATS];
-} StretchFunctionTable;
-
/**********************************************************************************************************************/
-/*** 16 bit RGB 565 scalers *******************************************************************************************/
-/**********************************************************************************************************************/
-
-#define DST_FORMAT DSPF_RGB16
-#define TABLE_NAME stretch_hvx_RGB16
-#define FUNC_NAME(UPDOWN,K,P,F) stretch_hvx_RGB16_ ## UPDOWN ## _ ## K ## P ## _ ## F
-#define SHIFT_R5 5
-#define SHIFT_R6 6
-#define X_F81F 0xf81f
-#define X_07E0 0x07e0
-#define MASK_RGB 0xffff
-
-#define FORMAT_RGB16
-#include "stretch_up_down_16.h"
-#undef FORMAT_RGB16
-
-#undef DST_FORMAT
-#undef TABLE_NAME
-#undef FUNC_NAME
-#undef SHIFT_R5
-#undef SHIFT_R6
-#undef X_F81F
-#undef X_07E0
-#undef MASK_RGB
-
-/**********************************************************************************************************************/
-/*** 16 bit ARGB 4444 scalers *****************************************************************************************/
-/**********************************************************************************************************************/
-
-#define DST_FORMAT DSPF_ARGB4444
-#define TABLE_NAME stretch_hvx_ARGB4444
-#define FUNC_NAME(UPDOWN,K,P,F) stretch_hvx_ARGB4444_ ## UPDOWN ## _ ## K ## P ## _ ## F
-#define SHIFT_R5 4
-#define SHIFT_R6 4
-#define X_F81F 0x0f0f
-#define X_07E0 0xf0f0
-#define MASK_RGB 0x0fff
-#define HAS_ALPHA
-
-#define FORMAT_ARGB4444
-#include "stretch_up_down_16.h"
-#undef FORMAT_ARGB4444
-
-#undef DST_FORMAT
-#undef TABLE_NAME
-#undef FUNC_NAME
-#undef SHIFT_R5
-#undef SHIFT_R6
-#undef X_F81F
-#undef X_07E0
-#undef MASK_RGB
-#undef HAS_ALPHA
-
-/**********************************************************************************************************************/
-/*** 16 bit RGBA 4444 scalers *****************************************************************************************/
-/**********************************************************************************************************************/
-
-#define DST_FORMAT DSPF_RGBA4444
-#define TABLE_NAME stretch_hvx_RGBA4444
-#define FUNC_NAME(UPDOWN,K,P,F) stretch_hvx_RGBA4444_ ## UPDOWN ## _ ## K ## P ## _ ## F
-#define SHIFT_R5 4
-#define SHIFT_R6 4
-#define X_F81F 0x0f0f
-#define X_07E0 0xf0f0
-#define MASK_RGB 0xfff0
-#define HAS_ALPHA
-
-#define FORMAT_RGBA4444
-#include "stretch_up_down_16.h"
-#undef FORMAT_RGBA4444
-
-#undef DST_FORMAT
-#undef TABLE_NAME
-#undef FUNC_NAME
-#undef SHIFT_R5
-#undef SHIFT_R6
-#undef X_F81F
-#undef X_07E0
-#undef MASK_RGB
-#undef HAS_ALPHA
-
-/**********************************************************************************************************************/
-/*** 32 bit ARGB 8888 scalers *****************************************************************************************/
-/**********************************************************************************************************************/
-
-#define DST_FORMAT DSPF_ARGB
-#define TABLE_NAME stretch_hvx_ARGB
-#define FUNC_NAME(UPDOWN,K,P,F) stretch_hvx_ARGB_ ## UPDOWN ## _ ## K ## P ## _ ## F
-#define SHIFT_R8 8
-#define SHIFT_L8 8
-#define X_00FF00FF 0x00ff00ff
-#define X_FF00FF00 0xff00ff00
-#define MASK_RGB 0x00ffffff
-#define HAS_ALPHA
-
-#include "stretch_up_down_32.h"
-
-#undef DST_FORMAT
-#undef TABLE_NAME
-#undef FUNC_NAME
-#undef SHIFT_R8
-#undef SHIFT_L8
-#undef X_00FF00FF
-#undef X_FF00FF00
-#undef MASK_RGB
-#undef HAS_ALPHA
-
-/**********************************************************************************************************************/
-/*** 32 bit RGB 888 scalers *******************************************************************************************/
-/**********************************************************************************************************************/
-
-#define DST_FORMAT DSPF_RGB32
-#define TABLE_NAME stretch_hvx_RGB32
-#define FUNC_NAME(UPDOWN,K,P,F) stretch_hvx_RGB32_ ## UPDOWN ## _ ## K ## P ## _ ## F
-#define SHIFT_R8 8
-#define SHIFT_L8 8
-#define X_00FF00FF 0x00ff00ff
-#define X_FF00FF00 0x0000ff00
-#define MASK_RGB 0x00ffffff
-
-#include "stretch_up_down_32.h"
-
-#undef DST_FORMAT
-#undef TABLE_NAME
-#undef FUNC_NAME
-#undef SHIFT_R8
-#undef SHIFT_L8
-#undef X_00FF00FF
-#undef X_FF00FF00
-#undef MASK_RGB
-
-#if 0
-/**********************************************************************************************************************/
-/*** 16 bit YUV 422 scalers *******************************************************************************************/
-/**********************************************************************************************************************/
-
-#define FUNC_NAME(UPDOWN) stretch_hvx_nv16_ ## UPDOWN
-
-#include "stretch_up_down_8.h"
-
-#undef FUNC_NAME
-
-/**********************************************************************************************************************/
-
-#define FUNC_NAME(UPDOWN) stretch_hvx_nv16_uv_ ## UPDOWN
-
-#include "stretch_up_down_88.h"
-
-#undef FUNC_NAME
-
-#endif
-/**********************************************************************************************************************/
-/**********************************************************************************************************************/
-
-static const StretchFunctionTable *stretch_tables[DFB_NUM_PIXELFORMATS] = {
- NULL, /* DSPF_ARGB1555 */
- &stretch_hvx_RGB16, /* DSPF_RGB16 */
- NULL, /* DSPF_RGB24 */
- &stretch_hvx_RGB32, /* DSPF_RGB32 */
- &stretch_hvx_ARGB, /* DSPF_ARGB */
- NULL, /* DSPF_A8 */
- NULL, /* DSPF_YUY2 */
- NULL, /* DSPF_RGB332 */
- NULL, /* DSPF_UYVY */
- NULL, /* DSPF_I420 */
- NULL, /* DSPF_YV12 */
- NULL, /* DSPF_LUT8 */
- NULL, /* DSPF_ALUT44 */
- NULL, /* DSPF_AiRGB */
- NULL, /* DSPF_A1 */
- NULL, /* DSPF_NV12 */
- NULL, /* DSPF_NV16 */
- NULL, /* DSPF_ARGB2554 */
- &stretch_hvx_ARGB4444, /* DSPF_ARGB4444 */
- &stretch_hvx_RGBA4444, /* DSPF_RGBA4444 */
- NULL, /* DSPF_NV21 */
- NULL, /* DSPF_AYUV */
- NULL, /* DSPF_A4 */
- NULL, /* DSPF_ARGB1666 */
- NULL, /* DSPF_ARGB6666 */
- NULL, /* DSPF_RGB18 */
- NULL, /* DSPF_LUT2 */
- NULL, /* DSPF_RGB444 */
- NULL, /* DSPF_RGB555 */
- NULL, /* DSPF_BGR555 */
- NULL, /* DSPF_RGBA5551 */
- NULL, /* DSPF_YUV444P */
- NULL, /* DSPF_ARGB8565 */
- NULL, /* DSPF_AVYU */
- NULL, /* DSPF_VYU */
-};
-
/**********************************************************************************************************************/
-__attribute__((noinline))
-static bool
-stretch_hvx( CardState *state, DFBRectangle *srect, DFBRectangle *drect )
-{
- GenefxState *gfxs;
- const StretchFunctionTable *table;
- StretchHVx stretch;
- bool down = false;
- void *dst;
- void *src;
- StretchCtx ctx;
- int idx = STRETCH_NONE;
- u32 colors[256];
-
- D_ASSERT( state != NULL );
- DFB_RECTANGLE_ASSERT( srect );
- DFB_RECTANGLE_ASSERT( drect );
-
- gfxs = state->gfxs;
-
- if (state->blittingflags & ~(DSBLIT_COLORKEY_PROTECT | DSBLIT_SRC_COLORKEY | DSBLIT_SRC_PREMULTIPLY))
- return false;
-
- if (state->blittingflags & DSBLIT_SRC_PREMULTIPLY && !DFB_PIXELFORMAT_IS_INDEXED( gfxs->src_format ))
- return false;
-
- if (DFB_PIXELFORMAT_INDEX(gfxs->dst_format) >= D_ARRAY_SIZE(stretch_tables))
- return false;
-
- if (DFB_PIXELFORMAT_INDEX(gfxs->src_format) >= D_ARRAY_SIZE((stretch_tables[0])->f))
- return false;
-
- table = stretch_tables[DFB_PIXELFORMAT_INDEX(gfxs->dst_format)];
- if (!table)
- return false;
-
- if (srect->w > drect->w && srect->h > drect->h)
- down = true;
-
- if (state->blittingflags & DSBLIT_SRC_COLORKEY)
- idx |= STRETCH_SRCKEY;
-
- if (state->blittingflags & DSBLIT_COLORKEY_PROTECT)
- idx |= STRETCH_PROTECT;
-
- if (down) {
- if (!(state->render_options & DSRO_SMOOTH_DOWNSCALE))
- return false;
-
- stretch = table->f[DFB_PIXELFORMAT_INDEX(gfxs->src_format)].down[idx];
- }
- else {
- if (!(state->render_options & DSRO_SMOOTH_UPSCALE))
- return false;
-
- stretch = table->f[DFB_PIXELFORMAT_INDEX(gfxs->src_format)].up[idx];
- }
-
- if (!stretch)
- return false;
-
- ctx.clip = state->clip;
-
- if (!dfb_region_rectangle_intersect( &ctx.clip, drect ))
- return false;
-
- dfb_region_translate( &ctx.clip, - drect->x, - drect->y );
-
- if (DFB_PIXELFORMAT_IS_INDEXED( gfxs->src_format )) {
- int i;
- const DFBColor *entries;
- u16 *colors16 = (void*) colors;
-
- D_ASSERT( gfxs->Blut != NULL );
-
- entries = gfxs->Blut->entries;
-
- switch (gfxs->dst_format) {
- case DSPF_ARGB:
- if (state->blittingflags & DSBLIT_SRC_PREMULTIPLY) {
- for (i=0; i<gfxs->Blut->num_entries; i++) {
- int alpha = entries[i].a + 1;
-
- switch (alpha) {
- case 0:
- colors[i] = 0;
- break;
-
- case 255:
- colors[i] = PIXEL_ARGB( entries[i].a,
- entries[i].r,
- entries[i].g,
- entries[i].b );
- break;
-
- default:
- colors[i] = PIXEL_ARGB( entries[i].a,
- (alpha * entries[i].r) >> 8,
- (alpha * entries[i].g) >> 8,
- (alpha * entries[i].b) >> 8 );
- }
- }
- }
- else {
- for (i=0; i<gfxs->Blut->num_entries; i++)
- colors[i] = PIXEL_ARGB( entries[i].a, entries[i].r, entries[i].g, entries[i].b );
- }
- break;
-
- case DSPF_RGB32:
- for (i=0; i<gfxs->Blut->num_entries; i++)
- colors[i] = PIXEL_RGB32( entries[i].r, entries[i].g, entries[i].b );
- break;
-
- case DSPF_RGB16:
- for (i=0; i<gfxs->Blut->num_entries; i++)
- colors16[i] = PIXEL_RGB16( entries[i].r, entries[i].g, entries[i].b );
- break;
-
- case DSPF_ARGB4444:
- if (state->blittingflags & DSBLIT_SRC_PREMULTIPLY) {
- for (i=0; i<gfxs->Blut->num_entries; i++) {
- int alpha = entries[i].a + 1;
-
- switch (alpha) {
- case 0:
- colors16[i] = 0;
- break;
-
- case 255:
- colors16[i] = PIXEL_ARGB4444( entries[i].a,
- entries[i].r,
- entries[i].g,
- entries[i].b );
- break;
-
- default:
- colors16[i] = PIXEL_ARGB4444( entries[i].a,
- (alpha * entries[i].r) >> 8,
- (alpha * entries[i].g) >> 8,
- (alpha * entries[i].b) >> 8 );
- }
- }
- }
- else {
- for (i=0; i<gfxs->Blut->num_entries; i++)
- colors16[i] = PIXEL_ARGB4444( entries[i].a, entries[i].r, entries[i].g, entries[i].b );
- }
- break;
-
- case DSPF_RGBA4444:
- if (state->blittingflags & DSBLIT_SRC_PREMULTIPLY) {
- for (i=0; i<gfxs->Blut->num_entries; i++) {
- int alpha = entries[i].a + 1;
-
- switch (alpha) {
- case 0:
- colors16[i] = 0;
- break;
-
- case 255:
- colors16[i] = PIXEL_RGBA4444( entries[i].a,
- entries[i].r,
- entries[i].g,
- entries[i].b );
- break;
-
- default:
- colors16[i] = PIXEL_RGBA4444( entries[i].a,
- (alpha * entries[i].r) >> 8,
- (alpha * entries[i].g) >> 8,
- (alpha * entries[i].b) >> 8 );
- }
- }
- }
- else {
- for (i=0; i<gfxs->Blut->num_entries; i++)
- colors16[i] = PIXEL_RGBA4444( entries[i].a, entries[i].r, entries[i].g, entries[i].b );
- }
- break;
-
- case DSPF_RGB444:
- for (i=0; i<gfxs->Blut->num_entries; i++)
- colors16[i] = PIXEL_RGB444( entries[i].r, entries[i].g, entries[i].b );
- break;
-
- default:
- D_UNIMPLEMENTED();
- }
-
- ctx.colors = colors;
-
- if (state->blittingflags & DSBLIT_SRC_COLORKEY) {
- if (DFB_PIXELFORMAT_IS_INDEXED( gfxs->dst_format ))
- ctx.key = state->src_colorkey;
- else {
- const DFBColor *color = &entries[state->src_colorkey % gfxs->Blut->num_entries];
-
- ctx.key = dfb_color_to_pixel( gfxs->dst_format, color->r, color->g, color->b );
- }
- }
- }
- else {
- ctx.colors = NULL;
-
- if (state->blittingflags & DSBLIT_SRC_COLORKEY) {
- DFBColor color;
-
- dfb_pixel_to_color( gfxs->src_format, state->src_colorkey, &color );
-
- ctx.key = dfb_color_to_pixel( gfxs->dst_format, color.r, color.g, color.b );
- }
- }
-
- if (state->blittingflags & DSBLIT_COLORKEY_PROTECT) {
- if (DFB_PIXELFORMAT_IS_INDEXED( gfxs->dst_format ))
- ctx.protect = state->colorkey.index;
- else
- ctx.protect = dfb_color_to_pixel( gfxs->dst_format,
- state->colorkey.r,
- state->colorkey.g,
- state->colorkey.b );
- }
-
- dst = gfxs->dst_org[0] + drect->y * gfxs->dst_pitch + DFB_BYTES_PER_LINE( gfxs->dst_format, drect->x );
- src = gfxs->src_org[0] + srect->y * gfxs->src_pitch + DFB_BYTES_PER_LINE( gfxs->src_format, srect->x );
-
- stretch( dst, gfxs->dst_pitch, src, gfxs->src_pitch,
- srect->w, srect->h, drect->w, drect->h, &ctx );
-
-#if 0 /* FIXME: repair */
- switch (gfxs->dst_format) {
- case DSPF_NV16:
- ctx.clip.x1 /= 2;
- ctx.clip.x2 /= 2;
- if (srect->w < drect->w || srect->h < drect->h) {
- stretch_hvx_nv16_uv_up( dst, gfxs->dst_pitch, src, gfxs->src_pitch,
- srect->w/2, srect->h, drect->w/2, drect->h, &ctx );
- }
- else {
- stretch_hvx_nv16_uv_down( dst, gfxs->dst_pitch, src, gfxs->src_pitch,
- srect->w/2, srect->h, drect->w/2, drect->h, &ctx );
- }
- break;
-
- default:
- break;
- }
-#endif
-
- return true;
-}
-#endif /* DFB_SMOOTH_SCALING */
-
-void gStretchBlit( CardState *state, DFBRectangle *srect, DFBRectangle *drect )
-{
- GenefxState *gfxs = state->gfxs;
- DFBRectangle orect = *drect;
- XopAdvanceFunc Aop_advance;
- XopAdvanceFunc Bop_advance;
- int Aop_X;
- int Aop_Y;
- int Bop_X;
- int Bop_Y;
-
- int fx, fy;
- int ix, iy;
- int h;
-
- D_ASSERT( gfxs != NULL );
-
- if (dfb_config->software_warn) {
- D_WARN( "StretchBlit (%4d,%4d-%4dx%4d) %6s, flags 0x%08x, color 0x%02x%02x%02x%02x, source (%4d,%4d-%4dx%4d) %6s",
- drect->x, drect->y, drect->w, drect->h, dfb_pixelformat_name(gfxs->dst_format), state->blittingflags,
- state->color.a, state->color.r, state->color.g, state->color.b, srect->x, srect->y, srect->w, srect->h,
- dfb_pixelformat_name(gfxs->src_format) );
- }
-
- CHECK_PIPELINE();
-
-#if DFB_SMOOTH_SCALING
- if (state->render_options & (DSRO_SMOOTH_UPSCALE | DSRO_SMOOTH_DOWNSCALE) &&
- stretch_hvx( state, srect, drect ))
- return;
-#endif
-
- /* Clip destination rectangle. */
- if (!dfb_rectangle_intersect_by_region( drect, &state->clip ))
- return;
-
- /* Calculate fractions. */
- fx = (srect->w << 16) / orect.w;
- fy = (srect->h << 16) / orect.h;
-
- /* Calculate horizontal phase and offset. */
- ix = fx * (drect->x - orect.x);
- srect->x += ix >> 16;
- ix &= 0xFFFF;
-
- /* Calculate vertical phase and offset. */
- iy = fy * (drect->y - orect.y);
- srect->y += iy >> 16;
- iy &= 0xFFFF;
-
- /* Adjust source size. */
- srect->w = ((drect->w * fx + ix) + 0xFFFF) >> 16;
- srect->h = ((drect->h * fy + iy) + 0xFFFF) >> 16;
-
- D_ASSERT( srect->x + srect->w <= state->source->config.size.w );
- D_ASSERT( srect->y + srect->h <= state->source->config.size.h );
- D_ASSERT( drect->x + drect->w <= state->clip.x2 + 1 );
- D_ASSERT( drect->y + drect->h <= state->clip.y2 + 1 );
-
-
- if (!ABacc_prepare( gfxs, MAX( srect->w, drect->w ) ))
- return;
-
-
- switch (gfxs->src_format) {
- case DSPF_A4:
- case DSPF_YUY2:
- case DSPF_UYVY:
- srect->x &= ~1;
- break;
- default:
- break;
- }
-
- switch (gfxs->dst_format) {
- case DSPF_A4:
- case DSPF_YUY2:
- case DSPF_UYVY:
- drect->x &= ~1;
- break;
- default:
- break;
- }
-
- gfxs->Slen = srect->w;
- gfxs->Dlen = drect->w;
- gfxs->length = gfxs->Dlen;
- gfxs->SperD = fx;
- gfxs->Xphase = ix;
-
- h = drect->h;
-
- if (state->blittingflags & DSBLIT_FLIP_HORIZONTAL) {
- gfxs->Astep *= -1;
-
- Aop_X = drect->x + drect->w - 1;
- Aop_Y = drect->y;
-
- Bop_X = srect->x;
- Bop_Y = srect->y;
-
- Aop_advance = Aop_next;
- Bop_advance = Bop_next;
- }
- else if (state->blittingflags & DSBLIT_FLIP_VERTICAL) {
- Aop_X = drect->x;
- Aop_Y = drect->y + drect->h - 1;
-
- Bop_X = srect->x;
- Bop_Y = srect->y;
-
- Aop_advance = Aop_prev;
- Bop_advance = Bop_next;
- }
- else {
- Aop_X = drect->x;
- Aop_Y = drect->y;
-
- Bop_X = srect->x;
- Bop_Y = srect->y;
-
- Aop_advance = Aop_next;
- Bop_advance = Bop_next;
- }
-
- Aop_xy( gfxs, Aop_X, Aop_Y );
- Bop_xy( gfxs, Bop_X, Bop_Y );
-
- while (h--) {
- RUN_PIPELINE();
-
- Aop_advance( gfxs );
-
- iy += fy;
-
- while (iy > 0xFFFF) {
- iy -= 0x10000;
- Bop_advance( gfxs );
- }
- }
-
- ABacc_flush( gfxs );
-}
-
-
#ifdef USE_MMX
#include "generic_mmx.h"
@@ -11370,8 +9506,8 @@ static void gInit_MMX( void )
/********************************* misc accumulator operations ****************/
SCacc_add_to_Dacc = SCacc_add_to_Dacc_MMX;
Sacc_add_to_Dacc = Sacc_add_to_Dacc_MMX;
- Dacc_YCbCr_to_RGB = Dacc_YCbCr_to_RGB_MMX;
- Dacc_RGB_to_YCbCr = Dacc_RGB_to_YCbCr_MMX;
+ //Dacc_YCbCr_to_RGB = Dacc_YCbCr_to_RGB_MMX;
+ //Dacc_RGB_to_YCbCr = Dacc_RGB_to_YCbCr_MMX;
}
#endif
diff --git a/src/gfx/generic/generic.h b/src/gfx/generic/generic.h
index 7c73c40..d084f28 100644
--- a/src/gfx/generic/generic.h
+++ b/src/gfx/generic/generic.h
@@ -112,6 +112,9 @@ struct _GenefxState {
int AopY;
int BopY;
+ int s;
+ int t;
+
/*
* color keys
*/
@@ -148,7 +151,8 @@ struct _GenefxState {
int Ostep; /* controls horizontal blitting direction */
- int SperD; /* for scaled routines only */
+ int SperD; /* for scaled/texture routines only */
+ int TperD; /* for texture routines only */
int Xphase; /* initial value for fractional steps (zero if not clipped) */
bool need_accumulator;
@@ -157,6 +161,17 @@ struct _GenefxState {
int num_trans;
};
+/**********************************************************************************************************************/
+
+
+typedef struct {
+ int x;
+ int y;
+ int s;
+ int t;
+} GenefxVertexAffine;
+
+/**********************************************************************************************************************/
void gGetDriverInfo( GraphicsDriverInfo *info );
void gGetDeviceInfo( GraphicsDeviceInfo *info );
@@ -171,4 +186,90 @@ void gBlit ( CardState *state, DFBRectangle *rect, int dx, int dy );
void gStretchBlit ( CardState *state, DFBRectangle *srect, DFBRectangle *drect );
+void Genefx_TextureTriangles( CardState *state,
+ DFBVertex *vertices,
+ int num,
+ DFBTriangleFormation formation,
+ const DFBRegion *clip );
+
+void Genefx_TextureTrianglesAffine( CardState *state,
+ GenefxVertexAffine *vertices,
+ int num,
+ DFBTriangleFormation formation,
+ const DFBRegion *clip );
+
+/**********************************************************************************************************************/
+/**********************************************************************************************************************/
+
+void Genefx_TextureTriangleAffine( GenefxState *gfxs,
+ GenefxVertexAffine *v0,
+ GenefxVertexAffine *v1,
+ GenefxVertexAffine *v2,
+ const DFBRegion *clip );
+
+
+/**********************************************************************************************************************/
+/**********************************************************************************************************************/
+
+
+#define CHECK_PIPELINE() \
+ { \
+ if (!gfxs->funcs[0]) \
+ return; \
+ \
+ if (dfb_config->software_trace) { \
+ int i; \
+ GenefxFunc *funcs = gfxs->funcs; \
+ \
+ direct_log_lock( NULL ); \
+ direct_log_printf( NULL, " Software Fallback Pipeline:\n" ); \
+ \
+ for (i=0; funcs[i]; ++i) \
+ direct_log_printf( NULL, " [%2d] %s\n", i, \
+ direct_trace_lookup_symbol_at( funcs[i] ) ); \
+ \
+ direct_log_printf( NULL, "\n" ); \
+ direct_log_unlock( NULL ); \
+ } \
+ }
+
+#define RUN_PIPELINE() \
+ { \
+ int i; \
+ GenefxFunc *funcs = gfxs->funcs; \
+ \
+ for (i=0; funcs[i]; ++i) \
+ funcs[i]( gfxs ); \
+ }
+
+
+
+/**********************************************************************************************************************/
+
+typedef void (*XopAdvanceFunc)( GenefxState *gfxs );
+
+
+void Genefx_Aop_xy( GenefxState *gfxs, int x, int y );
+
+void Genefx_Aop_crab( GenefxState *gfxs );
+
+void Genefx_Aop_prev_crab( GenefxState *gfxs );
+
+void Genefx_Aop_next( GenefxState *gfxs );
+
+void Genefx_Aop_prev( GenefxState *gfxs );
+
+
+void Genefx_Bop_xy( GenefxState *gfxs, int x, int y );
+
+void Genefx_Bop_next( GenefxState *gfxs );
+
+void Genefx_Bop_prev( GenefxState *gfxs );
+
+/**********************************************************************************************************************/
+
+bool Genefx_ABacc_prepare( GenefxState *gfxs, int width );
+
+void Genefx_ABacc_flush( GenefxState *gfxs );
+
#endif
diff --git a/src/gfx/generic/generic_blit.c b/src/gfx/generic/generic_blit.c
new file mode 100644
index 0000000..8e372bb
--- /dev/null
+++ b/src/gfx/generic/generic_blit.c
@@ -0,0 +1,278 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <dfb_types.h>
+
+#include <pthread.h>
+
+#include <directfb.h>
+
+#include <core/core.h>
+#include <core/coredefs.h>
+#include <core/coretypes.h>
+
+#include <core/gfxcard.h>
+#include <core/state.h>
+#include <core/palette.h>
+
+#include <misc/gfx_util.h>
+#include <misc/util.h>
+#include <misc/conf.h>
+
+#include <direct/clock.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+#include <direct/util.h>
+
+#include <gfx/convert.h>
+#include <gfx/util.h>
+
+#include "generic.h"
+
+/**********************************************************************************************************************/
+/**********************************************************************************************************************/
+
+void gBlit( CardState *state, DFBRectangle *rect, int dx, int dy )
+{
+ GenefxState *gfxs = state->gfxs;
+ int h;
+ XopAdvanceFunc Aop_advance;
+ XopAdvanceFunc Bop_advance;
+ int Aop_X;
+ int Aop_Y;
+ int Bop_X;
+ int Bop_Y;
+
+ DFBSurfaceBlittingFlags rotflip_blittingflags = state->blittingflags;
+
+ dfb_simplify_blittingflags( &rotflip_blittingflags );
+ rotflip_blittingflags &= (DSBLIT_FLIP_HORIZONTAL | DSBLIT_FLIP_VERTICAL | DSBLIT_ROTATE90 );
+
+ D_ASSERT( gfxs != NULL );
+
+ if (dfb_config->software_warn) {
+ D_WARN( "Blit (%4d,%4d-%4dx%4d) %6s, flags 0x%08x, funcs %d/%d, color 0x%02x%02x%02x%02x, source (%4d,%4d) %6s",
+ dx, dy, rect->w, rect->h, dfb_pixelformat_name(gfxs->dst_format), state->blittingflags,
+ state->src_blend, state->dst_blend,
+ state->color.a, state->color.r, state->color.g, state->color.b, rect->x, rect->y,
+ dfb_pixelformat_name(gfxs->src_format) );
+ }
+
+ D_ASSERT( state->clip.x1 <= dx );
+ D_ASSERT( state->clip.y1 <= dy );
+ D_ASSERT( (rotflip_blittingflags & DSBLIT_ROTATE90) || state->clip.x2 >= (dx + rect->w - 1) );
+ D_ASSERT( (rotflip_blittingflags & DSBLIT_ROTATE90) || state->clip.y2 >= (dy + rect->h - 1) );
+ D_ASSERT( !(rotflip_blittingflags & DSBLIT_ROTATE90) || state->clip.x2 >= (dx + rect->h - 1) );
+ D_ASSERT( !(rotflip_blittingflags & DSBLIT_ROTATE90) || state->clip.y2 >= (dy + rect->w - 1) );
+
+ CHECK_PIPELINE();
+
+ if (!Genefx_ABacc_prepare( gfxs, rect->w ))
+ return;
+
+
+ switch (gfxs->src_format) {
+ case DSPF_A4:
+ case DSPF_YUY2:
+ case DSPF_UYVY:
+ rect->x &= ~1;
+ break;
+ default:
+ break;
+ }
+
+ switch (gfxs->dst_format) {
+ case DSPF_A4:
+ case DSPF_YUY2:
+ case DSPF_UYVY:
+ dx &= ~1;
+ break;
+ default:
+ break;
+ }
+
+ gfxs->length = rect->w;
+
+
+ if (gfxs->src_org[0] == gfxs->dst_org[0] && dy == rect->y && dx > rect->x)
+ /* we must blit from right to left */
+ gfxs->Astep = gfxs->Bstep = -1;
+ else
+ /* we must blit from left to right*/
+ gfxs->Astep = gfxs->Bstep = 1;
+
+
+ if (rotflip_blittingflags == (DSBLIT_FLIP_HORIZONTAL | DSBLIT_FLIP_VERTICAL)) { // 180 deg
+ gfxs->Astep *= -1;
+
+ Aop_X = dx + rect->w - 1;
+ Aop_Y = dy;
+
+ Bop_X = rect->x;
+ Bop_Y = rect->y + rect->h - 1;
+
+ Aop_advance = Genefx_Aop_next;
+ Bop_advance = Genefx_Bop_prev;
+ }
+ else if (rotflip_blittingflags == DSBLIT_FLIP_HORIZONTAL) {
+ gfxs->Astep *= -1;
+
+ Aop_X = dx + rect->w - 1;
+ Aop_Y = dy;
+
+ Bop_X = rect->x;
+ Bop_Y = rect->y;
+
+ Aop_advance = Genefx_Aop_next;
+ Bop_advance = Genefx_Bop_next;
+ }
+ else if (rotflip_blittingflags == DSBLIT_FLIP_VERTICAL) {
+ Aop_X = dx;
+ Aop_Y = dy + rect->h - 1;
+
+ Bop_X = rect->x;
+ Bop_Y = rect->y;
+
+ Aop_advance = Genefx_Aop_prev;
+ Bop_advance = Genefx_Bop_next;
+ }
+ else if (rotflip_blittingflags == (DSBLIT_ROTATE90 | DSBLIT_FLIP_HORIZONTAL | DSBLIT_FLIP_VERTICAL)) { // 270 deg ccw
+ gfxs->Astep *= gfxs->dst_pitch / gfxs->dst_bpp;
+
+ Aop_X = dx;
+ Aop_Y = dy;
+
+ Bop_X = rect->x;
+ Bop_Y = rect->y + rect->h - 1;
+
+ Aop_advance = Genefx_Aop_crab;
+ Bop_advance = Genefx_Bop_prev;
+ }
+ else if (rotflip_blittingflags == DSBLIT_ROTATE90) { // 90 deg ccw
+ gfxs->Astep *= -gfxs->dst_pitch / gfxs->dst_bpp;
+
+ Aop_X = dx;
+ Aop_Y = dy + rect->w - 1;
+
+ Bop_X = rect->x;
+ Bop_Y = rect->y;
+
+ Aop_advance = Genefx_Aop_crab;
+ Bop_advance = Genefx_Bop_next;
+ }
+ else if (rotflip_blittingflags == (DSBLIT_ROTATE90 | DSBLIT_FLIP_VERTICAL)) {
+ gfxs->Astep *= -gfxs->dst_pitch / gfxs->dst_bpp;
+
+ Aop_X = dx + rect->h - 1;
+ Aop_Y = dy + rect->w - 1;
+
+ Bop_X = rect->x;
+ Bop_Y = rect->y;
+
+ Aop_advance = Genefx_Aop_prev_crab;
+ Bop_advance = Genefx_Bop_next;
+ }
+ else if (rotflip_blittingflags == (DSBLIT_ROTATE90 | DSBLIT_FLIP_HORIZONTAL)) {
+ gfxs->Astep *= gfxs->dst_pitch / gfxs->dst_bpp;
+
+ Aop_X = dx;
+ Aop_Y = dy;
+
+ Bop_X = rect->x;
+ Bop_Y = rect->y;
+
+ Aop_advance = Genefx_Aop_crab;
+ Bop_advance = Genefx_Bop_next;
+ }
+ else if (gfxs->src_org[0] == gfxs->dst_org[0] && dy > rect->y && !(state->blittingflags & DSBLIT_DEINTERLACE)) {
+ /* we must blit from bottom to top */
+ Aop_X = dx;
+ Aop_Y = dy + rect->h - 1;
+
+ Bop_X = rect->x;
+ Bop_Y = rect->y + rect->h - 1;
+
+ Aop_advance = Genefx_Aop_prev;
+ Bop_advance = Genefx_Bop_prev;
+ }
+ else {
+ /* we must blit from top to bottom */
+ Aop_X = dx;
+ Aop_Y = dy;
+
+ Bop_X = rect->x;
+ Bop_Y = rect->y;
+
+ Aop_advance = Genefx_Aop_next;
+ Bop_advance = Genefx_Bop_next;
+ }
+
+
+
+ Genefx_Aop_xy( gfxs, Aop_X, Aop_Y );
+ Genefx_Bop_xy( gfxs, Bop_X, Bop_Y );
+
+ if (state->blittingflags & DSBLIT_DEINTERLACE) {
+ if (state->source->field) {
+ Aop_advance( gfxs );
+ Bop_advance( gfxs );
+ rect->h--;
+ }
+
+ for (h = rect->h/2; h; h--) {
+ RUN_PIPELINE();
+
+ Aop_advance( gfxs );
+
+ RUN_PIPELINE();
+
+ Aop_advance( gfxs );
+
+ Bop_advance( gfxs );
+ Bop_advance( gfxs );
+ }
+ } /* ! DSBLIT_DEINTERLACE */
+ else {
+ for (h = rect->h; h; h--) {
+ RUN_PIPELINE();
+
+ Aop_advance( gfxs );
+ Bop_advance( gfxs );
+ }
+ }
+
+ Genefx_ABacc_flush( gfxs );
+}
+
diff --git a/src/gfx/generic/generic_draw_line.c b/src/gfx/generic/generic_draw_line.c
new file mode 100644
index 0000000..2152c6c
--- /dev/null
+++ b/src/gfx/generic/generic_draw_line.c
@@ -0,0 +1,154 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <dfb_types.h>
+
+#include <pthread.h>
+
+#include <directfb.h>
+
+#include <core/core.h>
+#include <core/coredefs.h>
+#include <core/coretypes.h>
+
+#include <core/gfxcard.h>
+#include <core/state.h>
+#include <core/palette.h>
+
+#include <misc/gfx_util.h>
+#include <misc/util.h>
+#include <misc/conf.h>
+
+#include <direct/clock.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+#include <direct/util.h>
+
+#include <gfx/convert.h>
+#include <gfx/util.h>
+
+#include "generic.h"
+
+/**********************************************************************************************************************/
+/**********************************************************************************************************************/
+
+void gDrawLine( CardState *state, DFBRegion *line )
+{
+ GenefxState *gfxs = state->gfxs;
+
+ int i,dx,dy,sdy,dxabs,dyabs,x,y,px,py;
+
+ D_ASSERT( gfxs != NULL );
+
+ CHECK_PIPELINE();
+
+ /* the horizontal distance of the line */
+ dx = line->x2 - line->x1;
+ dxabs = abs(dx);
+
+ if (!Genefx_ABacc_prepare( gfxs, dxabs ))
+ return;
+
+ /* the vertical distance of the line */
+ dy = line->y2 - line->y1;
+ dyabs = abs(dy);
+
+ if (!dx || !dy) { /* draw horizontal/vertical line */
+ DFBRectangle rect = {
+ MIN (line->x1, line->x2),
+ MIN (line->y1, line->y2),
+ dxabs + 1, dyabs + 1};
+
+ gFillRectangle( state, &rect );
+ return;
+ }
+
+ if (dfb_config->software_warn) {
+ D_WARN( "DrawLine (%4d,%4d-%4d,%4d) %6s, flags 0x%08x, color 0x%02x%02x%02x%02x",
+ DFB_RECTANGLE_VALS_FROM_REGION(line), dfb_pixelformat_name(gfxs->dst_format), state->drawingflags,
+ state->color.a, state->color.r, state->color.g, state->color.b );
+ }
+
+ sdy = SIGN(dy) * SIGN(dx);
+ x = dyabs >> 1;
+ y = dxabs >> 1;
+
+ if (dx > 0) {
+ px = line->x1;
+ py = line->y1;
+ }
+ else {
+ px = line->x2;
+ py = line->y2;
+ }
+
+ if (dxabs >= dyabs) { /* the line is more horizontal than vertical */
+
+ for (i=0, gfxs->length=1; i<dxabs; i++, gfxs->length++) {
+ y += dyabs;
+ if (y >= dxabs) {
+ Genefx_Aop_xy( gfxs, px, py );
+ RUN_PIPELINE();
+ px += gfxs->length;
+ gfxs->length = 0;
+ y -= dxabs;
+ py += sdy;
+ }
+ }
+ Genefx_Aop_xy( gfxs, px, py );
+ RUN_PIPELINE();
+ }
+ else { /* the line is more vertical than horizontal */
+
+ gfxs->length = 1;
+ Genefx_Aop_xy( gfxs, px, py );
+ RUN_PIPELINE();
+
+ for (i=0; i<dyabs; i++) {
+ x += dxabs;
+ if (x >= dyabs) {
+ x -= dyabs;
+ px++;
+ }
+ py += sdy;
+
+ Genefx_Aop_xy( gfxs, px, py );
+ RUN_PIPELINE();
+ }
+ }
+
+ Genefx_ABacc_flush( gfxs );
+}
+
diff --git a/src/gfx/generic/generic_fill_rectangle.c b/src/gfx/generic/generic_fill_rectangle.c
new file mode 100644
index 0000000..231ab4e
--- /dev/null
+++ b/src/gfx/generic/generic_fill_rectangle.c
@@ -0,0 +1,103 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <dfb_types.h>
+
+#include <pthread.h>
+
+#include <directfb.h>
+
+#include <core/core.h>
+#include <core/coredefs.h>
+#include <core/coretypes.h>
+
+#include <core/gfxcard.h>
+#include <core/state.h>
+#include <core/palette.h>
+
+#include <misc/gfx_util.h>
+#include <misc/util.h>
+#include <misc/conf.h>
+
+#include <direct/clock.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+#include <direct/util.h>
+
+#include <gfx/convert.h>
+#include <gfx/util.h>
+
+#include "generic.h"
+
+/**********************************************************************************************************************/
+/**********************************************************************************************************************/
+
+void gFillRectangle( CardState *state, DFBRectangle *rect )
+{
+ int h;
+ GenefxState *gfxs = state->gfxs;
+
+ D_ASSERT( gfxs != NULL );
+
+ if (dfb_config->software_warn) {
+ D_WARN( "FillRectangle (%4d,%4d-%4dx%4d) %6s, flags 0x%08x, color 0x%02x%02x%02x%02x",
+ DFB_RECTANGLE_VALS(rect), dfb_pixelformat_name(gfxs->dst_format), state->drawingflags,
+ state->color.a, state->color.r, state->color.g, state->color.b );
+ }
+
+ D_ASSERT( state->clip.x1 <= rect->x );
+ D_ASSERT( state->clip.y1 <= rect->y );
+ D_ASSERT( state->clip.x2 >= (rect->x + rect->w - 1) );
+ D_ASSERT( state->clip.y2 >= (rect->y + rect->h - 1) );
+
+ CHECK_PIPELINE();
+
+ if (!Genefx_ABacc_prepare( gfxs, rect->w ))
+ return;
+
+ gfxs->length = rect->w;
+
+ Genefx_Aop_xy( gfxs, rect->x, rect->y );
+
+ h = rect->h;
+ while (h--) {
+ RUN_PIPELINE();
+
+ Genefx_Aop_next( gfxs );
+ }
+
+ Genefx_ABacc_flush( gfxs );
+}
+
diff --git a/src/gfx/generic/generic_mmx.h b/src/gfx/generic/generic_mmx.h
index 57757f3..5f294a9 100644
--- a/src/gfx/generic/generic_mmx.h
+++ b/src/gfx/generic/generic_mmx.h
@@ -90,6 +90,7 @@ static void Sacc_add_to_Dacc_MMX( GenefxState *gfxs )
: "%st", "memory");
}
+__attribute__((unused))
static void Sacc_to_Aop_rgb16_MMX( GenefxState *gfxs )
{
static const u32 preload[] = { 0xFF00FF00, 0x0000FF00 };
@@ -127,6 +128,7 @@ static void Sacc_to_Aop_rgb16_MMX( GenefxState *gfxs )
: "%eax", "%st", "memory");
}
+__attribute__((unused))
static void Sacc_to_Aop_rgb32_MMX( GenefxState *gfxs )
{
static const u32 preload[] = { 0xFF00FF00, 0x0000FF00 };
@@ -162,6 +164,7 @@ static void Sacc_to_Aop_rgb32_MMX( GenefxState *gfxs )
: "%st", "memory");
}
+__attribute__((unused))
__attribute__((no_instrument_function))
static void Sop_argb_Sto_Dacc_MMX( GenefxState *gfxs )
{
@@ -201,6 +204,7 @@ static void Sop_argb_Sto_Dacc_MMX( GenefxState *gfxs )
: "%edx", "%st", "memory");
}
+__attribute__((unused))
static void Sop_argb_to_Dacc_MMX( GenefxState *gfxs )
{
static const u32 zeros[] = { 0, 0 };
@@ -223,6 +227,7 @@ static void Sop_argb_to_Dacc_MMX( GenefxState *gfxs )
: "%st", "memory");
}
+__attribute__((unused))
static void Sop_rgb16_to_Dacc_MMX( GenefxState *gfxs )
{
static const u32 mask[] = { 0x07E0001F, 0x0000F800 };
@@ -301,6 +306,7 @@ static void Sop_rgb16_to_Dacc_MMX( GenefxState *gfxs )
: "%st", "memory");
}
+__attribute__((unused))
static void Sop_rgb32_to_Dacc_MMX( GenefxState *gfxs )
{
static const u32 alpha[] = { 0, 0x00FF0000 };
diff --git a/src/gfx/generic/generic_stretch_blit.c b/src/gfx/generic/generic_stretch_blit.c
new file mode 100644
index 0000000..e175262
--- /dev/null
+++ b/src/gfx/generic/generic_stretch_blit.c
@@ -0,0 +1,759 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <dfb_types.h>
+
+#include <pthread.h>
+
+#include <directfb.h>
+
+#include <core/core.h>
+#include <core/coredefs.h>
+#include <core/coretypes.h>
+
+#include <core/gfxcard.h>
+#include <core/state.h>
+#include <core/palette.h>
+
+#include <misc/gfx_util.h>
+#include <misc/util.h>
+#include <misc/conf.h>
+
+#include <direct/clock.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+#include <direct/util.h>
+
+#include <gfx/convert.h>
+#include <gfx/util.h>
+
+#include "generic.h"
+
+/**********************************************************************************************************************/
+/**********************************************************************************************************************/
+
+/**********************************************************************************************************************/
+/********* **************************************************************************************************/
+/*** Smooth scaling routines ******************************************************************************************/
+/********* **************************************************************************************************/
+/**********************************************************************************************************************/
+
+#if DFB_SMOOTH_SCALING
+
+typedef struct {
+ DFBRegion clip;
+ const void *colors;
+ ulong protect;
+ ulong key;
+} StretchCtx;
+
+typedef void (*StretchHVx)( void *dst,
+ int dpitch,
+ const void *src,
+ int spitch,
+ int width,
+ int height,
+ int dst_width,
+ int dst_height,
+ const StretchCtx *ctx );
+
+#define STRETCH_NONE 0
+#define STRETCH_SRCKEY 1
+#define STRETCH_PROTECT 2
+#define STRETCH_SRCKEY_PROTECT 3
+#define STRETCH_NUM 4
+
+typedef struct {
+ struct {
+ StretchHVx up[STRETCH_NUM];
+ StretchHVx down[STRETCH_NUM];
+ } f[DFB_NUM_PIXELFORMATS];
+} StretchFunctionTable;
+
+/**********************************************************************************************************************/
+/*** 16 bit RGB 565 scalers *******************************************************************************************/
+/**********************************************************************************************************************/
+
+#define DST_FORMAT DSPF_RGB16
+#define TABLE_NAME stretch_hvx_RGB16
+#define FUNC_NAME(UPDOWN,K,P,F) stretch_hvx_RGB16_ ## UPDOWN ## _ ## K ## P ## _ ## F
+#define SHIFT_R5 5
+#define SHIFT_R6 6
+#define X_F81F 0xf81f
+#define X_07E0 0x07e0
+#define MASK_RGB 0xffff
+
+#define FORMAT_RGB16
+#include "stretch_up_down_16.h"
+#undef FORMAT_RGB16
+
+#undef DST_FORMAT
+#undef TABLE_NAME
+#undef FUNC_NAME
+#undef SHIFT_R5
+#undef SHIFT_R6
+#undef X_F81F
+#undef X_07E0
+#undef MASK_RGB
+
+/**********************************************************************************************************************/
+/*** 16 bit ARGB 4444 scalers *****************************************************************************************/
+/**********************************************************************************************************************/
+
+#define DST_FORMAT DSPF_ARGB4444
+#define TABLE_NAME stretch_hvx_ARGB4444
+#define FUNC_NAME(UPDOWN,K,P,F) stretch_hvx_ARGB4444_ ## UPDOWN ## _ ## K ## P ## _ ## F
+#define SHIFT_R5 4
+#define SHIFT_R6 4
+#define X_F81F 0x0f0f
+#define X_07E0 0xf0f0
+#define MASK_RGB 0x0fff
+#define HAS_ALPHA
+
+#define FORMAT_ARGB4444
+#include "stretch_up_down_16.h"
+#undef FORMAT_ARGB4444
+
+#undef DST_FORMAT
+#undef TABLE_NAME
+#undef FUNC_NAME
+#undef SHIFT_R5
+#undef SHIFT_R6
+#undef X_F81F
+#undef X_07E0
+#undef MASK_RGB
+#undef HAS_ALPHA
+
+/**********************************************************************************************************************/
+/*** 16 bit RGBA 4444 scalers *****************************************************************************************/
+/**********************************************************************************************************************/
+
+#define DST_FORMAT DSPF_RGBA4444
+#define TABLE_NAME stretch_hvx_RGBA4444
+#define FUNC_NAME(UPDOWN,K,P,F) stretch_hvx_RGBA4444_ ## UPDOWN ## _ ## K ## P ## _ ## F
+#define SHIFT_R5 4
+#define SHIFT_R6 4
+#define X_F81F 0x0f0f
+#define X_07E0 0xf0f0
+#define MASK_RGB 0xfff0
+#define HAS_ALPHA
+
+#define FORMAT_RGBA4444
+#include "stretch_up_down_16.h"
+#undef FORMAT_RGBA4444
+
+#undef DST_FORMAT
+#undef TABLE_NAME
+#undef FUNC_NAME
+#undef SHIFT_R5
+#undef SHIFT_R6
+#undef X_F81F
+#undef X_07E0
+#undef MASK_RGB
+#undef HAS_ALPHA
+
+/**********************************************************************************************************************/
+/*** 32 bit ARGB 8888 scalers *****************************************************************************************/
+/**********************************************************************************************************************/
+
+#define DST_FORMAT DSPF_ARGB
+#define TABLE_NAME stretch_hvx_ARGB
+#define FUNC_NAME(UPDOWN,K,P,F) stretch_hvx_ARGB_ ## UPDOWN ## _ ## K ## P ## _ ## F
+#define SHIFT_R8 8
+#define SHIFT_L8 8
+#define X_00FF00FF 0x00ff00ff
+#define X_FF00FF00 0xff00ff00
+#define MASK_RGB 0x00ffffff
+#define HAS_ALPHA
+
+#include "stretch_up_down_32.h"
+
+#undef DST_FORMAT
+#undef TABLE_NAME
+#undef FUNC_NAME
+#undef SHIFT_R8
+#undef SHIFT_L8
+#undef X_00FF00FF
+#undef X_FF00FF00
+#undef MASK_RGB
+#undef HAS_ALPHA
+
+/**********************************************************************************************************************/
+/*** 32 bit RGB 888 scalers *******************************************************************************************/
+/**********************************************************************************************************************/
+
+#define DST_FORMAT DSPF_RGB32
+#define TABLE_NAME stretch_hvx_RGB32
+#define FUNC_NAME(UPDOWN,K,P,F) stretch_hvx_RGB32_ ## UPDOWN ## _ ## K ## P ## _ ## F
+#define SHIFT_R8 8
+#define SHIFT_L8 8
+#define X_00FF00FF 0x00ff00ff
+#define X_FF00FF00 0x0000ff00
+#define MASK_RGB 0x00ffffff
+
+#include "stretch_up_down_32.h"
+
+#undef DST_FORMAT
+#undef TABLE_NAME
+#undef FUNC_NAME
+#undef SHIFT_R8
+#undef SHIFT_L8
+#undef X_00FF00FF
+#undef X_FF00FF00
+#undef MASK_RGB
+
+/**********************************************************************************************************************/
+/*** 8 bit scalers ****************************************************************************************************/
+/**********************************************************************************************************************/
+
+#define FUNC_NAME(UPDOWN) stretch_hvx_8_ ## UPDOWN
+
+#include "stretch_up_down_8.h"
+
+#undef FUNC_NAME
+
+/**********************************************************************************************************************/
+
+#define FUNC_NAME(UPDOWN) stretch_hvx_88_ ## UPDOWN
+
+#include "stretch_up_down_88.h"
+
+#undef FUNC_NAME
+
+/**********************************************************************************************************************/
+/**********************************************************************************************************************/
+
+static const StretchFunctionTable *stretch_tables[DFB_NUM_PIXELFORMATS] = {
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB16)] = &stretch_hvx_RGB16,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB24)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB32)] = &stretch_hvx_RGB32,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB)] = &stretch_hvx_ARGB,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUY2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB332)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_UYVY)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_I420)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT8)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ALUT44)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AiRGB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV12)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV16)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB2554)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB4444)] = &stretch_hvx_ARGB4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA4444)] = &stretch_hvx_RGBA4444,
+ [DFB_PIXELFORMAT_INDEX(DSPF_NV21)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AYUV)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A4)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB1666)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB6666)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB18)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_LUT2)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB444)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGB555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_BGR555)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_RGBA5551)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YUV444P)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_ARGB8565)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_AVYU)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_VYU)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_A1_LSB)] = NULL,
+ [DFB_PIXELFORMAT_INDEX(DSPF_YV16)] = NULL,
+};
+
+/**********************************************************************************************************************/
+
+__attribute__((noinline))
+static bool
+stretch_hvx_planar( CardState *state, DFBRectangle *srect, DFBRectangle *drect, bool down )
+{
+ GenefxState *gfxs;
+ void *dst;
+ void *src;
+ DFBRegion clip;
+
+ D_ASSERT( state != NULL );
+ DFB_RECTANGLE_ASSERT( srect );
+ DFB_RECTANGLE_ASSERT( drect );
+
+ gfxs = state->gfxs;
+
+ if (state->blittingflags)
+ return false;
+
+ if (gfxs->dst_format != gfxs->src_format)
+ return false;
+
+ clip = state->clip;
+
+ if (!dfb_region_rectangle_intersect( &clip, drect ))
+ return false;
+
+ dfb_region_translate( &clip, - drect->x, - drect->y );
+
+ dst = gfxs->dst_org[0] + drect->y * gfxs->dst_pitch + DFB_BYTES_PER_LINE( gfxs->dst_format, drect->x );
+ src = gfxs->src_org[0] + srect->y * gfxs->src_pitch + DFB_BYTES_PER_LINE( gfxs->src_format, srect->x );
+
+ switch (gfxs->dst_format) {
+ case DSPF_NV12:
+ case DSPF_NV21:
+ if (down)
+ stretch_hvx_8_down( dst, gfxs->dst_pitch, src, gfxs->src_pitch,
+ srect->w, srect->h, drect->w, drect->h, &clip );
+ else
+ stretch_hvx_8_up( dst, gfxs->dst_pitch, src, gfxs->src_pitch,
+ srect->w, srect->h, drect->w, drect->h, &clip );
+
+ clip.x1 /= 2;
+ clip.x2 /= 2;
+ clip.y1 /= 2;
+ clip.y2 /= 2;
+
+ dst = gfxs->dst_org[1] + drect->y/2 * gfxs->dst_pitch + DFB_BYTES_PER_LINE( gfxs->dst_format, drect->x );
+ src = gfxs->src_org[1] + srect->y/2 * gfxs->src_pitch + DFB_BYTES_PER_LINE( gfxs->src_format, srect->x );
+
+ if (down)
+ stretch_hvx_88_down( dst, gfxs->dst_pitch, src, gfxs->src_pitch,
+ srect->w/2, srect->h, drect->w/2, drect->h, &clip );
+ else
+ stretch_hvx_88_up( dst, gfxs->dst_pitch, src, gfxs->src_pitch,
+ srect->w/2, srect->h, drect->w/2, drect->h, &clip );
+ break;
+
+ default:
+ break;
+ }
+
+ return true;
+}
+
+__attribute__((noinline))
+static bool
+stretch_hvx( CardState *state, DFBRectangle *srect, DFBRectangle *drect )
+{
+ GenefxState *gfxs;
+ const StretchFunctionTable *table;
+ StretchHVx stretch;
+ bool down = false;
+ void *dst;
+ void *src;
+ StretchCtx ctx;
+ int idx = STRETCH_NONE;
+ u32 colors[256];
+
+ D_ASSERT( state != NULL );
+ DFB_RECTANGLE_ASSERT( srect );
+ DFB_RECTANGLE_ASSERT( drect );
+
+ gfxs = state->gfxs;
+
+ if (srect->w > drect->w && srect->h > drect->h)
+ down = true;
+
+ if (down) {
+ if (!(state->render_options & DSRO_SMOOTH_DOWNSCALE))
+ return false;
+ }
+ else {
+ if (!(state->render_options & DSRO_SMOOTH_UPSCALE))
+ return false;
+ }
+
+ switch (gfxs->dst_format) {
+ case DSPF_NV12:
+ case DSPF_NV21:
+ return stretch_hvx_planar( state, srect, drect, down );
+
+ default:
+ break;
+ }
+
+ if (state->blittingflags & ~(DSBLIT_COLORKEY_PROTECT | DSBLIT_SRC_COLORKEY | DSBLIT_SRC_PREMULTIPLY))
+ return false;
+
+ if (state->blittingflags & DSBLIT_SRC_PREMULTIPLY && !DFB_PIXELFORMAT_IS_INDEXED( gfxs->src_format ))
+ return false;
+
+ if (DFB_PIXELFORMAT_INDEX(gfxs->dst_format) >= D_ARRAY_SIZE(stretch_tables))
+ return false;
+
+ if (DFB_PIXELFORMAT_INDEX(gfxs->src_format) >= D_ARRAY_SIZE((stretch_tables[0])->f))
+ return false;
+
+ table = stretch_tables[DFB_PIXELFORMAT_INDEX(gfxs->dst_format)];
+ if (!table)
+ return false;
+
+ if (state->blittingflags & DSBLIT_SRC_COLORKEY)
+ idx |= STRETCH_SRCKEY;
+
+ if (state->blittingflags & DSBLIT_COLORKEY_PROTECT)
+ idx |= STRETCH_PROTECT;
+
+ if (down)
+ stretch = table->f[DFB_PIXELFORMAT_INDEX(gfxs->src_format)].down[idx];
+ else
+ stretch = table->f[DFB_PIXELFORMAT_INDEX(gfxs->src_format)].up[idx];
+
+ if (!stretch)
+ return false;
+
+ ctx.clip = state->clip;
+
+ if (!dfb_region_rectangle_intersect( &ctx.clip, drect ))
+ return false;
+
+ dfb_region_translate( &ctx.clip, - drect->x, - drect->y );
+
+ if (DFB_PIXELFORMAT_IS_INDEXED( gfxs->src_format )) {
+ int i;
+ const DFBColor *entries;
+ u16 *colors16 = (void*) colors;
+
+ D_ASSERT( gfxs->Blut != NULL );
+
+ entries = gfxs->Blut->entries;
+
+ switch (gfxs->dst_format) {
+ case DSPF_ARGB:
+ if (state->blittingflags & DSBLIT_SRC_PREMULTIPLY) {
+ for (i=0; i<gfxs->Blut->num_entries; i++) {
+ int alpha = entries[i].a + 1;
+
+ switch (alpha) {
+ case 0:
+ colors[i] = 0;
+ break;
+
+ case 255:
+ colors[i] = PIXEL_ARGB( entries[i].a,
+ entries[i].r,
+ entries[i].g,
+ entries[i].b );
+ break;
+
+ default:
+ colors[i] = PIXEL_ARGB( entries[i].a,
+ (alpha * entries[i].r) >> 8,
+ (alpha * entries[i].g) >> 8,
+ (alpha * entries[i].b) >> 8 );
+ }
+ }
+ }
+ else {
+ for (i=0; i<gfxs->Blut->num_entries; i++)
+ colors[i] = PIXEL_ARGB( entries[i].a, entries[i].r, entries[i].g, entries[i].b );
+ }
+ break;
+
+ case DSPF_RGB32:
+ for (i=0; i<gfxs->Blut->num_entries; i++)
+ colors[i] = PIXEL_RGB32( entries[i].r, entries[i].g, entries[i].b );
+ break;
+
+ case DSPF_RGB16:
+ for (i=0; i<gfxs->Blut->num_entries; i++)
+ colors16[i] = PIXEL_RGB16( entries[i].r, entries[i].g, entries[i].b );
+ break;
+
+ case DSPF_ARGB4444:
+ if (state->blittingflags & DSBLIT_SRC_PREMULTIPLY) {
+ for (i=0; i<gfxs->Blut->num_entries; i++) {
+ int alpha = entries[i].a + 1;
+
+ switch (alpha) {
+ case 0:
+ colors16[i] = 0;
+ break;
+
+ case 255:
+ colors16[i] = PIXEL_ARGB4444( entries[i].a,
+ entries[i].r,
+ entries[i].g,
+ entries[i].b );
+ break;
+
+ default:
+ colors16[i] = PIXEL_ARGB4444( entries[i].a,
+ (alpha * entries[i].r) >> 8,
+ (alpha * entries[i].g) >> 8,
+ (alpha * entries[i].b) >> 8 );
+ }
+ }
+ }
+ else {
+ for (i=0; i<gfxs->Blut->num_entries; i++)
+ colors16[i] = PIXEL_ARGB4444( entries[i].a, entries[i].r, entries[i].g, entries[i].b );
+ }
+ break;
+
+ case DSPF_RGBA4444:
+ if (state->blittingflags & DSBLIT_SRC_PREMULTIPLY) {
+ for (i=0; i<gfxs->Blut->num_entries; i++) {
+ int alpha = entries[i].a + 1;
+
+ switch (alpha) {
+ case 0:
+ colors16[i] = 0;
+ break;
+
+ case 255:
+ colors16[i] = PIXEL_RGBA4444( entries[i].a,
+ entries[i].r,
+ entries[i].g,
+ entries[i].b );
+ break;
+
+ default:
+ colors16[i] = PIXEL_RGBA4444( entries[i].a,
+ (alpha * entries[i].r) >> 8,
+ (alpha * entries[i].g) >> 8,
+ (alpha * entries[i].b) >> 8 );
+ }
+ }
+ }
+ else {
+ for (i=0; i<gfxs->Blut->num_entries; i++)
+ colors16[i] = PIXEL_RGBA4444( entries[i].a, entries[i].r, entries[i].g, entries[i].b );
+ }
+ break;
+
+ case DSPF_RGB444:
+ for (i=0; i<gfxs->Blut->num_entries; i++)
+ colors16[i] = PIXEL_RGB444( entries[i].r, entries[i].g, entries[i].b );
+ break;
+
+ default:
+ D_UNIMPLEMENTED();
+ }
+
+ ctx.colors = colors;
+
+ if (state->blittingflags & DSBLIT_SRC_COLORKEY) {
+ if (DFB_PIXELFORMAT_IS_INDEXED( gfxs->dst_format ))
+ ctx.key = state->src_colorkey;
+ else {
+ const DFBColor *color = &entries[state->src_colorkey % gfxs->Blut->num_entries];
+
+ ctx.key = dfb_color_to_pixel( gfxs->dst_format, color->r, color->g, color->b );
+ }
+ }
+ }
+ else {
+ ctx.colors = NULL;
+
+ if (state->blittingflags & DSBLIT_SRC_COLORKEY) {
+ DFBColor color;
+
+ dfb_pixel_to_color( gfxs->src_format, state->src_colorkey, &color );
+
+ ctx.key = dfb_color_to_pixel( gfxs->dst_format, color.r, color.g, color.b );
+ }
+ }
+
+ if (state->blittingflags & DSBLIT_COLORKEY_PROTECT) {
+ if (DFB_PIXELFORMAT_IS_INDEXED( gfxs->dst_format ))
+ ctx.protect = state->colorkey.index;
+ else
+ ctx.protect = dfb_color_to_pixel( gfxs->dst_format,
+ state->colorkey.r,
+ state->colorkey.g,
+ state->colorkey.b );
+ }
+
+ dst = gfxs->dst_org[0] + drect->y * gfxs->dst_pitch + DFB_BYTES_PER_LINE( gfxs->dst_format, drect->x );
+ src = gfxs->src_org[0] + srect->y * gfxs->src_pitch + DFB_BYTES_PER_LINE( gfxs->src_format, srect->x );
+
+ stretch( dst, gfxs->dst_pitch, src, gfxs->src_pitch,
+ srect->w, srect->h, drect->w, drect->h, &ctx );
+
+#if 0 /* FIXME: repair */
+ switch (gfxs->dst_format) {
+ case DSPF_NV16:
+ ctx.clip.x1 /= 2;
+ ctx.clip.x2 /= 2;
+ if (srect->w < drect->w || srect->h < drect->h) {
+ stretch_hvx_nv16_uv_up( dst, gfxs->dst_pitch, src, gfxs->src_pitch,
+ srect->w/2, srect->h, drect->w/2, drect->h, &ctx );
+ }
+ else {
+ stretch_hvx_nv16_uv_down( dst, gfxs->dst_pitch, src, gfxs->src_pitch,
+ srect->w/2, srect->h, drect->w/2, drect->h, &ctx );
+ }
+ break;
+
+ default:
+ break;
+ }
+#endif
+
+ return true;
+}
+#endif /* DFB_SMOOTH_SCALING */
+
+void gStretchBlit( CardState *state, DFBRectangle *srect, DFBRectangle *drect )
+{
+ GenefxState *gfxs = state->gfxs;
+ DFBRectangle orect = *drect;
+ XopAdvanceFunc Aop_advance;
+ XopAdvanceFunc Bop_advance;
+ int Aop_X;
+ int Aop_Y;
+ int Bop_X;
+ int Bop_Y;
+
+ int fx, fy;
+ int ix, iy;
+ int h;
+
+ D_ASSERT( gfxs != NULL );
+
+ if (dfb_config->software_warn) {
+ D_WARN( "StretchBlit (%4d,%4d-%4dx%4d) %6s, flags 0x%08x, color 0x%02x%02x%02x%02x, source (%4d,%4d-%4dx%4d) %6s",
+ drect->x, drect->y, drect->w, drect->h, dfb_pixelformat_name(gfxs->dst_format), state->blittingflags,
+ state->color.a, state->color.r, state->color.g, state->color.b, srect->x, srect->y, srect->w, srect->h,
+ dfb_pixelformat_name(gfxs->src_format) );
+ }
+
+ CHECK_PIPELINE();
+
+#if DFB_SMOOTH_SCALING
+ if (state->render_options & (DSRO_SMOOTH_UPSCALE | DSRO_SMOOTH_DOWNSCALE) &&
+ stretch_hvx( state, srect, drect ))
+ return;
+#endif
+
+ /* Clip destination rectangle. */
+ if (!dfb_rectangle_intersect_by_region( drect, &state->clip ))
+ return;
+
+ /* Calculate fractions. */
+ fx = (srect->w << 16) / orect.w;
+ fy = (srect->h << 16) / orect.h;
+
+ /* Calculate horizontal phase and offset. */
+ ix = fx * (drect->x - orect.x);
+ srect->x += ix >> 16;
+ ix &= 0xFFFF;
+
+ /* Calculate vertical phase and offset. */
+ iy = fy * (drect->y - orect.y);
+ srect->y += iy >> 16;
+ iy &= 0xFFFF;
+
+ /* Adjust source size. */
+ srect->w = ((drect->w * fx + ix) + 0xFFFF) >> 16;
+ srect->h = ((drect->h * fy + iy) + 0xFFFF) >> 16;
+
+ D_ASSERT( srect->x + srect->w <= state->source->config.size.w );
+ D_ASSERT( srect->y + srect->h <= state->source->config.size.h );
+ D_ASSERT( drect->x + drect->w <= state->clip.x2 + 1 );
+ D_ASSERT( drect->y + drect->h <= state->clip.y2 + 1 );
+
+
+ if (!Genefx_ABacc_prepare( gfxs, MAX( srect->w, drect->w ) ))
+ return;
+
+
+ switch (gfxs->src_format) {
+ case DSPF_A4:
+ case DSPF_YUY2:
+ case DSPF_UYVY:
+ srect->x &= ~1;
+ break;
+ default:
+ break;
+ }
+
+ switch (gfxs->dst_format) {
+ case DSPF_A4:
+ case DSPF_YUY2:
+ case DSPF_UYVY:
+ drect->x &= ~1;
+ break;
+ default:
+ break;
+ }
+
+ gfxs->Slen = srect->w;
+ gfxs->Dlen = drect->w;
+ gfxs->length = gfxs->Dlen;
+ gfxs->SperD = fx;
+ gfxs->Xphase = ix;
+
+ h = drect->h;
+
+ Aop_X = drect->x;
+ Aop_Y = drect->y;
+
+ Bop_X = srect->x;
+ Bop_Y = srect->y;
+
+ Bop_advance = Genefx_Bop_next;
+
+ if (state->blittingflags & DSBLIT_FLIP_HORIZONTAL) {
+ gfxs->Astep *= -1;
+
+ Aop_X += (drect->w - 1);
+ }
+ if (state->blittingflags & DSBLIT_FLIP_VERTICAL) {
+ Aop_Y += (drect->h - 1);
+
+ Aop_advance = Genefx_Aop_prev;
+ }
+ else
+ Aop_advance = Genefx_Aop_next;
+
+ Genefx_Aop_xy( gfxs, Aop_X, Aop_Y );
+ Genefx_Bop_xy( gfxs, Bop_X, Bop_Y );
+
+ while (h--) {
+ RUN_PIPELINE();
+
+ Aop_advance( gfxs );
+
+ iy += fy;
+
+ while (iy > 0xFFFF) {
+ iy -= 0x10000;
+ Bop_advance( gfxs );
+ }
+ }
+
+ Genefx_ABacc_flush( gfxs );
+}
+
diff --git a/src/gfx/generic/generic_texture_triangles.c b/src/gfx/generic/generic_texture_triangles.c
new file mode 100644
index 0000000..54325a1
--- /dev/null
+++ b/src/gfx/generic/generic_texture_triangles.c
@@ -0,0 +1,581 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+//#define DIRECT_ENABLE_DEBUG
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <dfb_types.h>
+
+#include <pthread.h>
+
+#include <directfb.h>
+
+#include <core/core.h>
+#include <core/coredefs.h>
+#include <core/coretypes.h>
+
+#include <core/gfxcard.h>
+#include <core/state.h>
+#include <core/palette.h>
+
+#include <misc/gfx_util.h>
+#include <misc/util.h>
+#include <misc/conf.h>
+
+#include <direct/clock.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+#include <direct/util.h>
+
+#include <gfx/convert.h>
+#include <gfx/util.h>
+
+#include "generic.h"
+
+D_DEBUG_DOMAIN( Genefx_TexTriangles, "Genefx/TexTriangles", "Genefx Texture Triangles" );
+
+/**********************************************************************************************************************/
+/**********************************************************************************************************************/
+
+
+typedef struct {
+ int xi;
+ int xf;
+ int mi;
+ int mf;
+ int _2dy;
+} DDA;
+
+#define SETUP_DDA(xs,ys,xe,ye,dda) \
+ do { \
+ int dx = (xe) - (xs); \
+ int dy = (ye) - (ys); \
+ dda.xi = (xs); \
+ if (dy != 0) { \
+ dda.mi = dx / dy; \
+ dda.mf = 2*(dx % dy); \
+ dda.xf = -dy; \
+ dda._2dy = 2 * dy; \
+ if (dda.mf < 0) { \
+ dda.mf += 2 * ABS(dy); \
+ dda.mi--; \
+ } \
+ } \
+ else { \
+ dda.mi = 0; \
+ dda.mf = 0; \
+ dda.xf = 0; \
+ dda._2dy = 0; \
+ } \
+ } while (0)
+
+
+#define INC_DDA(dda) \
+ do { \
+ dda.xi += dda.mi; \
+ dda.xf += dda.mf; \
+ if (dda.xf > 0) { \
+ dda.xi++; \
+ dda.xf -= dda._2dy; \
+ } \
+ } while (0)
+
+
+void
+Genefx_TextureTriangleAffine( GenefxState *gfxs,
+ GenefxVertexAffine *v0,
+ GenefxVertexAffine *v1,
+ GenefxVertexAffine *v2,
+ const DFBRegion *clip )
+{
+ D_DEBUG_AT( Genefx_TexTriangles, "%s( state %p, v0 %p, v1 %p, v2 %p )\n", __func__, gfxs, v0, v1, v2 );
+
+ if (v0->y == v1->y && v1->y == v2->y) {
+ D_DEBUG_AT( Genefx_TexTriangles, " -> all points on one horizontal line\n" );
+ return;
+ }
+
+ D_DEBUG_AT( Genefx_TexTriangles, " -> clip [%4d,%4d-%4d,%4d]\n", clip->x1, clip->y1, clip->x2, clip->y2 );
+
+ GenefxVertexAffine *v_tmp;
+
+ /*
+ * Triangle Sorting (vertical)
+ */
+ if (v1->y < v0->y) {
+ v_tmp = v0;
+ v0 = v1;
+ v1 = v_tmp;
+ }
+ if (v2->y < v0->y) {
+ v_tmp = v2;
+ v2 = v1;
+ v1 = v0;
+ v0 = v_tmp;
+ }
+ else if (v2->y < v1->y) {
+ v_tmp = v1;
+ v1 = v2;
+ v2 = v_tmp;
+ }
+
+ /*
+ * Vertical Pre-Clipping
+ */
+ int y_top = v0->y;
+ int y_bottom = v2->y;
+
+ if (y_top > clip->y2 || y_bottom < clip->y1) {
+ D_DEBUG_AT( Genefx_TexTriangles, " -> totally clipped (vertical)\n" );
+ return;
+ }
+
+ /*
+ * Horizontal Pre-Clipping
+ */
+ if (v0->x > clip->x2 && v1->x > clip->x2 && v2->x > clip->x2) {
+ D_DEBUG_AT( Genefx_TexTriangles, " -> totally clipped right\n" );
+ return;
+ }
+
+ if (v0->x < clip->x1 && v1->x < clip->x1 && v2->x < clip->x1) {
+ D_DEBUG_AT( Genefx_TexTriangles, " -> totally clipped left\n" );
+ return;
+ }
+
+
+ int y_update = -1;
+
+ /*
+ * Triangle Sorting (horizontal)
+ */
+
+ /* Flat top */
+ if (v0->y == v1->y) {
+ if (v0->x > v1->x) {
+ v_tmp = v0;
+ v0 = v1;
+ v1 = v_tmp;
+ }
+ }
+ /* Flat bottom */
+ else if (v1->y == v2->y) {
+ if (v1->x > v2->x) {
+ v_tmp = v1;
+ v1 = v2;
+ v2 = v_tmp;
+ }
+ }
+ /* Two parts */
+ else
+ y_update = v1->y;
+
+
+ D_DEBUG_AT( Genefx_TexTriangles, " -> [0] %4d,%4d\n", v0->x, v0->y );
+ D_DEBUG_AT( Genefx_TexTriangles, " -> [1] %4d,%4d\n", v1->x, v1->y );
+ D_DEBUG_AT( Genefx_TexTriangles, " -> [2] %4d,%4d\n", v2->x, v2->y );
+
+
+ /*
+ * Triangle Setup
+ *
+ * FIXME: This could be simplified
+ */
+
+ int height = v2->y - v0->y;
+ int half_top = v1->y - v0->y;
+ int half_bottom = v2->y - v1->y;
+
+ int y;
+ int sl, sr;
+ int tl, tr;
+ int dsl, dsr;
+ int dtl, dtr;
+ int dsl2, dsr2;
+ int dtl2, dtr2;
+
+ /* Flat top */
+ if (v0->y == v1->y) {
+ D_DEBUG_AT( Genefx_TexTriangles, " -> flat top\n" );
+
+ if (v0->x == v1->x) {
+ D_DEBUG_AT( Genefx_TexTriangles, " -> top points equal\n" );
+ return;
+ }
+
+ sl = v0->s;
+ sr = v1->s;
+
+ dsl = dsl2 = (v2->s - sl) / height;
+ dsr = dsr2 = (v2->s - sr) / height;
+
+ tl = v0->t;
+ tr = v1->t;
+
+ dtl = dtl2 = (v2->t - tl) / height;
+ dtr = dtr2 = (v2->t - tr) / height;
+ }
+ /* Flat bottom */
+ else if (v1->y == v2->y) {
+ D_DEBUG_AT( Genefx_TexTriangles, " -> flat bottom\n" );
+
+ if (v1->x == v2->x) {
+ D_DEBUG_AT( Genefx_TexTriangles, " -> bottom points equal\n" );
+ return;
+ }
+
+ sl = sr = v0->s;
+
+ dsl = dsl2 = (v1->s - sl) / height;
+ dsr = dsr2 = (v2->s - sr) / height;
+
+ tl = tr = v0->t;
+
+ dtl = dtl2 = (v1->t - tl) / height;
+ dtr = dtr2 = (v2->t - tr) / height;
+ }
+ /* Two parts */
+ else {
+ sl = sr = v0->s;
+ tl = tr = v0->t;
+
+ int x_v1 = v0->x + (v2->x - v0->x) * (v1->y - v0->y) / height;
+
+ /* Update left */
+ if (x_v1 > v1->x) {
+ D_DEBUG_AT( Genefx_TexTriangles, " -> two parts, update left\n" );
+
+ dsl = (v1->s - sl) / half_top;
+ dsr = (v2->s - sr) / height;
+
+ dsl2 = (v2->s - v1->s) / half_bottom;
+ dsr2 = dsr;
+
+ dtl = (v1->t - tl) / half_top;
+ dtr = (v2->t - tr) / height;
+
+ dtl2 = (v2->t - v1->t) / half_bottom;
+ dtr2 = dtr;
+ }
+ /* Update right */
+ else if (x_v1 < v1->x) {
+ D_DEBUG_AT( Genefx_TexTriangles, " -> two parts, update right\n" );
+
+ dsl = (v2->s - sl) / height;
+ dsr = (v1->s - sr) / half_top;
+
+ dsl2 = dsl;
+ dsr2 = (v2->s - v1->s) / half_bottom;
+
+ dtl = (v2->t - tl) / height;
+ dtr = (v1->t - tr) / half_top;
+
+ dtl2 = dtl;
+ dtr2 = (v2->t - v1->t) / half_bottom;
+ }
+ else {
+ D_DEBUG_AT( Genefx_TexTriangles, " -> all points on one line\n" );
+ return;
+ }
+ }
+
+ DDA dda1 = { .xi = 0 }, dda2 = { .xi = 0 };
+
+ SETUP_DDA(v0->x, v0->y, v2->x, v2->y, dda1);
+ SETUP_DDA(v0->x, v0->y, v1->x, v1->y, dda2);
+
+
+ /*
+ * Vertical Clipping
+ */
+ if (y_top < clip->y1) {
+ D_DEBUG_AT( Genefx_TexTriangles, " -> clipped top from %d to %d\n", y_top, clip->y1 );
+
+ y_top = clip->y1;
+ }
+
+ if (y_bottom > clip->y2) {
+ D_DEBUG_AT( Genefx_TexTriangles, " -> clipped bottom from %d to %d\n", y_bottom, clip->y2 );
+
+ y_bottom = clip->y2;
+ }
+
+ if (y_top > v0->y) {
+ for (y=v0->y; y<y_top; y++) {
+ if (y == v1->y)
+ SETUP_DDA(v1->x, v1->y, v2->x, v2->y, dda2);
+
+ INC_DDA(dda1);
+ INC_DDA(dda2);
+ }
+
+ /* Two parts */
+ if (y_update != -1 && y_top > y_update) {
+ sl += dsl * (y_update - v0->y) + dsl2 * (y_top - v1->y);
+ sr += dsr * (y_update - v0->y) + dsr2 * (y_top - v1->y);
+
+ tl += dtl * (y_update - v0->y) + dtl2 * (y_top - v1->y);
+ tr += dtr * (y_update - v0->y) + dtr2 * (y_top - v1->y);
+
+ dsl = dsl2;
+ dsr = dsr2;
+
+ dtl = dtl2;
+ dtr = dtr2;
+
+ D_DEBUG_AT( Genefx_TexTriangles, " -> clipped two parts\n" );
+ }
+ /* One part or only top clipped */
+ else {
+ sl += dsl * (y_top - v0->y);
+ sr += dsr * (y_top - v0->y);
+
+ tl += dtl * (y_top - v0->y);
+ tr += dtr * (y_top - v0->y);
+
+ D_DEBUG_AT( Genefx_TexTriangles, " -> clipped one part\n" );
+ }
+ }
+
+ /*
+ * Loop over clipped lines
+ */
+ for (y=y_top; y<=y_bottom; y++) {
+ /*
+ * Slope update (for bottom half)
+ */
+ if (y == y_update) {
+ dsl = dsl2;
+ dtl = dtl2;
+
+ dsr = dsr2;
+ dtr = dtr2;
+ }
+
+ if (y == v1->y)
+ SETUP_DDA(v1->x, v1->y, v2->x, v2->y, dda2);
+
+
+ /*
+ * Scanline Setup
+ */
+ int len = ABS( dda1.xi - dda2.xi );
+ int x1 = MIN( dda1.xi, dda2.xi );
+ int x2 = x1 + len - 1;
+
+ D_DEBUG_AT( Genefx_TexTriangles,
+ " -> y %4d, len %d, x1 %d, x2 %d\n", y, len, x1, x2 );
+
+
+ if (len > 0 && x1 <= clip->x2 && x2 >= clip->x1) {
+ int csl = sl;
+ int ctl = tl;
+ int SperD = (sr - sl) / len;
+ int TperD = (tr - tl) / len;
+
+ /*
+ * Horizontal Clipping
+ */
+ if (x1 < clip->x1) {
+ D_DEBUG_AT( Genefx_TexTriangles,
+ " -> clipping x1 to %d, SperD * %d = %d\n",
+ clip->x1, (clip->x1 - x1), SperD * (clip->x1 - x1) );
+
+ csl += SperD * (clip->x1 - x1);
+ ctl += TperD * (clip->x1 - x1);
+
+ x1 = clip->x1;
+ }
+
+ if (x2 > clip->x2)
+ x2 = clip->x2;
+
+ D_DEBUG_AT( Genefx_TexTriangles,
+ " -> len %d, x1 %d, x2 %d, csl %d, sr %d, ctl %d, tr %d, SperD %d, TperD %d\n",
+ len, x1, x2, csl, sr, ctl, tr, SperD, TperD );
+
+ /*
+ * Pipeline Setup
+ */
+ gfxs->Dlen = x2 - x1 + 1;
+ gfxs->length = gfxs->Dlen;
+
+ gfxs->SperD = SperD;
+ gfxs->TperD = TperD;
+ gfxs->s = csl;
+ gfxs->t = ctl;
+
+ Genefx_Aop_xy( gfxs, x1, y );
+
+ /*
+ * Run Pipeline
+ */
+ RUN_PIPELINE();
+ }
+ else
+ D_DEBUG_AT( Genefx_TexTriangles, " -> y %4d, totally clipped line\n", y );
+
+ /*
+ * Increments
+ */
+ sl += dsl;
+ sr += dsr;
+
+ tl += dtl;
+ tr += dtr;
+
+ INC_DDA(dda1);
+ INC_DDA(dda2);
+ }
+}
+
+/**********************************************************************************************************************/
+
+void
+Genefx_TextureTriangles( CardState *state,
+ DFBVertex *vertices,
+ int num,
+ DFBTriangleFormation formation,
+ const DFBRegion *clip )
+{
+ int i;
+
+ /*
+ * Convert vertices
+ */
+ GenefxVertexAffine genefx_vertices[num];
+
+ for (i=0; i<num; i++) {
+ genefx_vertices[i].x = vertices[i].x;
+ genefx_vertices[i].y = vertices[i].y;
+ genefx_vertices[i].s = vertices[i].s * state->source->config.size.w * 0x10000;
+ genefx_vertices[i].t = vertices[i].t * state->source->config.size.h * 0x10000;
+ }
+
+ // FIXME: Implement perspective correct mapping
+ Genefx_TextureTrianglesAffine( state, genefx_vertices, num, formation, clip );
+}
+
+/**********************************************************************************************************************/
+
+void
+Genefx_TextureTrianglesAffine( CardState *state,
+ GenefxVertexAffine *vertices,
+ int num,
+ DFBTriangleFormation formation,
+ const DFBRegion *clip )
+{
+ GenefxState *gfxs = state->gfxs;
+
+ D_ASSERT( gfxs != NULL );
+
+ CHECK_PIPELINE();
+
+
+ if (!Genefx_ABacc_prepare( gfxs, state->destination->config.size.w ))
+ return;
+
+ /*
+ * Reset Bop to 0,0 as texture lookup accesses the whole buffer arbitrarily
+ */
+ Genefx_Bop_xy( gfxs, 0, 0 );
+
+
+ /*
+ * Render triangles
+ */
+ int index = 0;
+
+ for (index=0; index<num;) {
+ GenefxVertexAffine *v[3];
+
+ /*
+ * Triangle Fetch
+ */
+
+ if (index == 0) {
+ v[0] = &vertices[index+0];
+ v[1] = &vertices[index+1];
+ v[2] = &vertices[index+2];
+
+ index += 3;
+ }
+ else {
+ switch (formation) {
+ case DTTF_LIST:
+ v[0] = &vertices[index+0];
+ v[1] = &vertices[index+1];
+ v[2] = &vertices[index+2];
+
+ index += 3;
+ break;
+
+ case DTTF_STRIP:
+ v[0] = &vertices[index-2];
+ v[1] = &vertices[index-1];
+ v[2] = &vertices[index+0];
+
+ index += 1;
+ break;
+
+ case DTTF_FAN:
+ v[0] = &vertices[0];
+ v[1] = &vertices[index-1];
+ v[2] = &vertices[index+0];
+
+ index += 1;
+ break;
+
+ default:
+ D_BUG( "unknown formation %d", formation );
+ Genefx_ABacc_flush( gfxs );
+ return;
+ }
+ }
+
+ if (dfb_config->software_warn) {
+ D_WARN( "TextureTriangles (%d,%d %d,%d %d,%d) %6s, flags 0x%08x, color 0x%02x%02x%02x%02x, source [%4d,%4d] %6s",
+ v[0]->x, v[0]->y, v[1]->x, v[1]->y, v[2]->x, v[2]->y,
+ dfb_pixelformat_name(gfxs->dst_format), state->blittingflags,
+ state->color.a, state->color.r, state->color.g, state->color.b,
+ state->source->config.size.w, state->source->config.size.h,
+ dfb_pixelformat_name(gfxs->src_format) );
+ }
+
+ Genefx_TextureTriangleAffine( gfxs, v[0], v[1], v[2], clip );
+ }
+
+ Genefx_ABacc_flush( gfxs );
+}
+
diff --git a/src/gfx/generic/generic_util.c b/src/gfx/generic/generic_util.c
new file mode 100644
index 0000000..644008d
--- /dev/null
+++ b/src/gfx/generic/generic_util.c
@@ -0,0 +1,629 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <dfb_types.h>
+
+#include <pthread.h>
+
+#include <directfb.h>
+
+#include <core/core.h>
+#include <core/coredefs.h>
+#include <core/coretypes.h>
+
+#include <core/gfxcard.h>
+#include <core/state.h>
+#include <core/palette.h>
+
+#include <misc/gfx_util.h>
+#include <misc/util.h>
+#include <misc/conf.h>
+
+#include <direct/clock.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+#include <direct/util.h>
+
+#include <gfx/convert.h>
+#include <gfx/util.h>
+
+#include "generic.h"
+
+/**********************************************************************************************************************/
+/**********************************************************************************************************************/
+
+void Genefx_Aop_xy( GenefxState *gfxs, int x, int y )
+{
+ int pitch = gfxs->dst_pitch;
+
+ gfxs->Aop[0] = gfxs->dst_org[0];
+ gfxs->AopY = y;
+
+ if (gfxs->dst_caps & DSCAPS_SEPARATED) {
+ gfxs->Aop_field = y & 1;
+ if (gfxs->Aop_field)
+ gfxs->Aop[0] += gfxs->dst_field_offset;
+
+ y /= 2;
+ }
+
+ D_ASSUME( !(x & DFB_PIXELFORMAT_ALIGNMENT(gfxs->dst_format)) );
+
+ gfxs->Aop[0] += y * pitch + DFB_BYTES_PER_LINE( gfxs->dst_format, x );
+
+ if (DFB_PLANAR_PIXELFORMAT(gfxs->dst_format)) {
+ int dst_field_offset = gfxs->dst_field_offset;
+
+ switch (gfxs->dst_format) {
+ case DSPF_YV12:
+ case DSPF_I420:
+ dst_field_offset /= 4;
+ pitch /= 2;
+ y /= 2;
+ x /= 2;
+ break;
+ case DSPF_YV16:
+ dst_field_offset /= 2;
+ pitch /= 2;
+ x /= 2;
+ break;
+ case DSPF_NV12:
+ case DSPF_NV21:
+ dst_field_offset /= 2;
+ y /= 2;
+ case DSPF_NV16:
+ x &= ~1;
+ break;
+ case DSPF_YUV444P: /* nothing to adjust */
+ default:
+ break;
+ }
+
+ gfxs->Aop[1] = gfxs->dst_org[1];
+ gfxs->Aop[2] = gfxs->dst_org[2];
+
+ if (gfxs->dst_caps & DSCAPS_SEPARATED && gfxs->Aop_field) {
+ gfxs->Aop[1] += dst_field_offset;
+ gfxs->Aop[2] += dst_field_offset;
+ }
+
+ gfxs->Aop[1] += y * pitch + x;
+ gfxs->Aop[2] += y * pitch + x;
+ }
+}
+
+void Genefx_Aop_crab( GenefxState *gfxs )
+{
+ gfxs->Aop[0] += gfxs->dst_bpp;
+ gfxs->AopY++;
+}
+
+void Genefx_Aop_prev_crab( GenefxState *gfxs )
+{
+ gfxs->Aop[0] -= gfxs->dst_bpp;
+ gfxs->AopY++;
+}
+
+void Genefx_Aop_next( GenefxState *gfxs )
+{
+ int pitch = gfxs->dst_pitch;
+
+ if (gfxs->dst_caps & DSCAPS_SEPARATED) {
+ gfxs->Aop_field++;
+
+ if (gfxs->Aop_field & 1)
+ gfxs->Aop[0] += gfxs->dst_field_offset;
+ else
+ gfxs->Aop[0] += pitch - gfxs->dst_field_offset;
+ }
+ else
+ gfxs->Aop[0] += pitch;
+
+ if (DFB_PLANAR_PIXELFORMAT(gfxs->dst_format)) {
+ if (gfxs->dst_format == DSPF_YV12 || gfxs->dst_format == DSPF_I420) {
+ if (gfxs->AopY & 1) {
+ if (gfxs->dst_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Aop_field & 2) {
+ gfxs->Aop[1] += gfxs->dst_field_offset/4;
+ gfxs->Aop[2] += gfxs->dst_field_offset/4;
+ }
+ else {
+ gfxs->Aop[1] += pitch/2 - gfxs->dst_field_offset/4;
+ gfxs->Aop[2] += pitch/2 - gfxs->dst_field_offset/4;
+ }
+ }
+ else {
+ gfxs->Aop[1] += pitch/2;
+ gfxs->Aop[2] += pitch/2;
+ }
+ }
+ }
+ else if (gfxs->dst_format == DSPF_YV16) {
+ if (gfxs->dst_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Aop_field & 2) {
+ gfxs->Aop[1] += gfxs->dst_field_offset/2;
+ gfxs->Aop[2] += gfxs->dst_field_offset/2;
+ }
+ else {
+ gfxs->Aop[1] += pitch/2 - gfxs->dst_field_offset/2;
+ gfxs->Aop[2] += pitch/2 - gfxs->dst_field_offset/2;
+ }
+ }
+ else {
+ gfxs->Aop[1] += pitch/2;
+ gfxs->Aop[2] += pitch/2;
+ }
+ }
+ else if (gfxs->dst_format == DSPF_NV12 || gfxs->dst_format == DSPF_NV21) {
+ if (gfxs->AopY & 1) {
+ if (gfxs->dst_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Aop_field & 2)
+ gfxs->Aop[1] += gfxs->dst_field_offset/2;
+ else
+ gfxs->Aop[1] += pitch - gfxs->dst_field_offset/2;
+ }
+ else {
+ gfxs->Aop[1] += pitch;
+ }
+ }
+ }
+ else if (gfxs->dst_format == DSPF_YUV444P) {
+ if (gfxs->dst_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Aop_field & 1) {
+ gfxs->Aop[1] += gfxs->dst_field_offset;
+ gfxs->Aop[2] += gfxs->dst_field_offset;
+ }
+ else {
+ gfxs->Aop[1] += pitch - gfxs->dst_field_offset;
+ gfxs->Aop[2] += pitch - gfxs->dst_field_offset;
+ }
+ }
+ else {
+ gfxs->Aop[1] += pitch;
+ gfxs->Aop[2] += pitch;
+ }
+ }
+ else { /* NV16 */
+ if (gfxs->dst_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Aop_field & 1)
+ gfxs->Aop[1] += gfxs->dst_field_offset;
+ else
+ gfxs->Aop[1] += pitch - gfxs->dst_field_offset;
+ }
+ else {
+ gfxs->Aop[1] += pitch;
+ }
+ }
+ }
+
+ gfxs->AopY++;
+}
+
+void Genefx_Aop_prev( GenefxState *gfxs )
+{
+ int pitch = gfxs->dst_pitch;
+
+ if (gfxs->dst_caps & DSCAPS_SEPARATED) {
+ gfxs->Aop_field++;
+
+ if (gfxs->Aop_field & 1)
+ gfxs->Aop[0] += gfxs->dst_field_offset - pitch;
+ else
+ gfxs->Aop[0] -= gfxs->dst_field_offset;
+ }
+ else
+ gfxs->Aop[0] -= pitch;
+
+ if (DFB_PLANAR_PIXELFORMAT(gfxs->dst_format)) {
+ if (gfxs->dst_format == DSPF_YV12 || gfxs->dst_format == DSPF_I420) {
+ if (gfxs->AopY & 1) {
+ if (gfxs->dst_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Aop_field & 2) {
+ gfxs->Aop[1] += gfxs->dst_field_offset/4 - pitch/2;
+ gfxs->Aop[2] += gfxs->dst_field_offset/4 - pitch/2;
+ }
+ else {
+ gfxs->Aop[1] -= gfxs->dst_field_offset/4;
+ gfxs->Aop[2] -= gfxs->dst_field_offset/4;
+ }
+ }
+ else {
+ gfxs->Aop[1] -= pitch/2;
+ gfxs->Aop[2] -= pitch/2;
+ }
+ }
+ }
+ else if (gfxs->dst_format == DSPF_YV16) {
+ if (gfxs->dst_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Aop_field & 2) {
+ gfxs->Aop[1] += gfxs->dst_field_offset/2 - pitch/2;
+ gfxs->Aop[2] += gfxs->dst_field_offset/2 - pitch/2;
+ }
+ else {
+ gfxs->Aop[1] -= gfxs->dst_field_offset/2;
+ gfxs->Aop[2] -= gfxs->dst_field_offset/2;
+ }
+ }
+ else {
+ gfxs->Aop[1] -= pitch/2;
+ gfxs->Aop[2] -= pitch/2;
+ }
+ }
+ else if (gfxs->dst_format == DSPF_NV12 || gfxs->dst_format == DSPF_NV21) {
+ if (gfxs->AopY & 1) {
+ if (gfxs->dst_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Aop_field & 2)
+ gfxs->Aop[1] += gfxs->dst_field_offset/2 - pitch;
+ else
+ gfxs->Aop[1] -= gfxs->dst_field_offset/2;
+ }
+ else {
+ gfxs->Aop[1] -= pitch;
+ }
+ }
+ }
+ else if (gfxs->dst_format == DSPF_YUV444P) {
+ if (gfxs->dst_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Aop_field & 1) {
+ gfxs->Aop[1] += gfxs->dst_field_offset - pitch;
+ gfxs->Aop[2] += gfxs->dst_field_offset - pitch;
+ }
+ else {
+ gfxs->Aop[1] -= gfxs->dst_field_offset;
+ gfxs->Aop[2] -= gfxs->dst_field_offset;
+ }
+ }
+ else {
+ gfxs->Aop[1] -= pitch;
+ gfxs->Aop[2] -= pitch;
+ }
+ }
+ else { /* NV16 */
+ if (gfxs->dst_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Aop_field & 1)
+ gfxs->Aop[1] += gfxs->dst_field_offset - pitch;
+ else
+ gfxs->Aop[1] -= gfxs->dst_field_offset;
+ }
+ else {
+ gfxs->Aop[1] -= pitch;
+ }
+ }
+ }
+
+ gfxs->AopY--;
+}
+
+
+void Genefx_Bop_xy( GenefxState *gfxs, int x, int y )
+{
+ int pitch = gfxs->src_pitch;
+
+ gfxs->Bop[0] = gfxs->src_org[0];
+ gfxs->BopY = y;
+
+ if (gfxs->src_caps & DSCAPS_SEPARATED) {
+ gfxs->Bop_field = y & 1;
+ if (gfxs->Bop_field)
+ gfxs->Bop[0] += gfxs->src_field_offset;
+
+ y /= 2;
+ }
+
+ D_ASSUME( !(x & DFB_PIXELFORMAT_ALIGNMENT(gfxs->src_format)) );
+
+ gfxs->Bop[0] += y * pitch + DFB_BYTES_PER_LINE( gfxs->src_format, x );
+
+ if (DFB_PLANAR_PIXELFORMAT(gfxs->src_format)) {
+ int src_field_offset = gfxs->src_field_offset;
+
+ switch (gfxs->src_format) {
+ case DSPF_YV12:
+ case DSPF_I420:
+ src_field_offset /= 4;
+ pitch /= 2;
+ y /= 2;
+ x /= 2;
+ break;
+ case DSPF_YV16:
+ src_field_offset /= 2;
+ pitch /= 2;
+ x /= 2;
+ break;
+ case DSPF_NV12:
+ case DSPF_NV21:
+ src_field_offset /= 2;
+ y /= 2;
+ case DSPF_NV16:
+ x &= ~1;
+ break;
+ case DSPF_YUV444P: /* nothing to adjust */
+ default:
+ break;
+ }
+
+ gfxs->Bop[1] = gfxs->src_org[1];
+ gfxs->Bop[2] = gfxs->src_org[2];
+
+ if (gfxs->src_caps & DSCAPS_SEPARATED && gfxs->Bop_field) {
+ gfxs->Bop[1] += src_field_offset;
+ gfxs->Bop[2] += src_field_offset;
+ }
+
+ gfxs->Bop[1] += y * pitch + x;
+ gfxs->Bop[2] += y * pitch + x;
+ }
+}
+
+void Genefx_Bop_next( GenefxState *gfxs )
+{
+ int pitch = gfxs->src_pitch;
+
+ if (gfxs->src_caps & DSCAPS_SEPARATED) {
+ gfxs->Bop_field++;
+
+ if (gfxs->Bop_field & 1)
+ gfxs->Bop[0] += gfxs->src_field_offset;
+ else
+ gfxs->Bop[0] += pitch - gfxs->src_field_offset;
+ }
+ else
+ gfxs->Bop[0] += pitch;
+
+ if (DFB_PLANAR_PIXELFORMAT(gfxs->src_format)) {
+ if (gfxs->src_format == DSPF_YV12 || gfxs->src_format == DSPF_I420) {
+ if (gfxs->BopY & 1) {
+ if (gfxs->src_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Bop_field & 2) {
+ gfxs->Bop[1] += gfxs->src_field_offset/4;
+ gfxs->Bop[2] += gfxs->src_field_offset/4;
+ }
+ else {
+ gfxs->Bop[1] += pitch/2 - gfxs->src_field_offset/4;
+ gfxs->Bop[2] += pitch/2 - gfxs->src_field_offset/4;
+ }
+ }
+ else {
+ gfxs->Bop[1] += pitch/2;
+ gfxs->Bop[2] += pitch/2;
+ }
+ }
+ }
+ else if (gfxs->src_format == DSPF_YV16) {
+ if (gfxs->src_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Bop_field & 2) {
+ gfxs->Bop[1] += gfxs->src_field_offset/2;
+ gfxs->Bop[2] += gfxs->src_field_offset/2;
+ }
+ else {
+ gfxs->Bop[1] += pitch/2 - gfxs->src_field_offset/2;
+ gfxs->Bop[2] += pitch/2 - gfxs->src_field_offset/2;
+ }
+ }
+ else {
+ gfxs->Bop[1] += pitch/2;
+ gfxs->Bop[2] += pitch/2;
+ }
+ }
+ else if (gfxs->src_format == DSPF_NV12 || gfxs->src_format == DSPF_NV21) {
+ if (gfxs->BopY & 1) {
+ if (gfxs->src_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Bop_field & 2)
+ gfxs->Bop[1] += gfxs->src_field_offset/2;
+ else
+ gfxs->Bop[1] += pitch - gfxs->src_field_offset/2;
+ }
+ else {
+ gfxs->Bop[1] += pitch;
+ }
+ }
+ }
+ else if (gfxs->src_format == DSPF_YUV444P) {
+ if (gfxs->src_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Bop_field & 1) {
+ gfxs->Bop[1] += gfxs->src_field_offset;
+ gfxs->Bop[2] += gfxs->src_field_offset;
+ }
+ else {
+ gfxs->Bop[1] += pitch - gfxs->src_field_offset;
+ gfxs->Bop[2] += pitch - gfxs->src_field_offset;
+ }
+ }
+ else {
+ gfxs->Bop[1] += pitch;
+ gfxs->Bop[2] += pitch;
+ }
+ }
+ else { /* NV16 */
+ if (gfxs->src_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Bop_field & 1)
+ gfxs->Bop[1] += gfxs->src_field_offset;
+ else
+ gfxs->Bop[1] += pitch - gfxs->src_field_offset;
+ }
+ else {
+ gfxs->Bop[1] += pitch;
+ }
+ }
+ }
+
+ gfxs->BopY++;
+}
+
+void Genefx_Bop_prev( GenefxState *gfxs )
+{
+ int pitch = gfxs->src_pitch;
+
+ if (gfxs->src_caps & DSCAPS_SEPARATED) {
+ gfxs->Bop_field++;
+
+ if (gfxs->Bop_field & 1)
+ gfxs->Bop[0] += gfxs->src_field_offset - pitch;
+ else
+ gfxs->Bop[0] -= gfxs->src_field_offset;
+ }
+ else
+ gfxs->Bop[0] -= pitch;
+
+ if (DFB_PLANAR_PIXELFORMAT(gfxs->src_format)) {
+ if (gfxs->src_format == DSPF_YV12 || gfxs->src_format == DSPF_I420) {
+ if (gfxs->BopY & 1) {
+ if (gfxs->src_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Bop_field & 2) {
+ gfxs->Bop[1] += gfxs->src_field_offset/4 - pitch/2;
+ gfxs->Bop[2] += gfxs->src_field_offset/4 - pitch/2;
+ }
+ else {
+ gfxs->Bop[1] -= gfxs->src_field_offset/4;
+ gfxs->Bop[2] -= gfxs->src_field_offset/4;
+ }
+ }
+ else {
+ gfxs->Bop[1] -= pitch/2;
+ gfxs->Bop[2] -= pitch/2;
+ }
+ }
+ }
+ else if (gfxs->src_format == DSPF_YV16) {
+ if (gfxs->src_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Bop_field & 2) {
+ gfxs->Bop[1] += gfxs->src_field_offset/2 - pitch/2;
+ gfxs->Bop[2] += gfxs->src_field_offset/2 - pitch/2;
+ }
+ else {
+ gfxs->Bop[1] -= gfxs->src_field_offset/2;
+ gfxs->Bop[2] -= gfxs->src_field_offset/2;
+ }
+ }
+ else {
+ gfxs->Bop[1] -= pitch/2;
+ gfxs->Bop[2] -= pitch/2;
+ }
+ }
+ else if (gfxs->src_format == DSPF_NV12 || gfxs->src_format == DSPF_NV21) {
+ if (gfxs->BopY & 1) {
+ if (gfxs->src_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Bop_field & 2)
+ gfxs->Bop[1] += gfxs->src_field_offset/2 - pitch;
+ else
+ gfxs->Bop[1] -= gfxs->src_field_offset/2;
+ }
+ else {
+ gfxs->Bop[1] -= pitch;
+ }
+ }
+ }
+ else if (gfxs->src_format == DSPF_YUV444P) {
+ if (gfxs->src_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Bop_field & 1) {
+ gfxs->Bop[1] += gfxs->src_field_offset - pitch;
+ gfxs->Bop[2] += gfxs->src_field_offset - pitch;
+ }
+ else {
+ gfxs->Bop[1] -= gfxs->src_field_offset;
+ gfxs->Bop[2] -= gfxs->src_field_offset;
+ }
+ }
+ else {
+ gfxs->Bop[1] -= pitch;
+ gfxs->Bop[2] -= pitch;
+ }
+ }
+ else { /* NV16 */
+ if (gfxs->src_caps & DSCAPS_SEPARATED) {
+ if (gfxs->Bop_field & 1)
+ gfxs->Bop[1] += gfxs->src_field_offset - pitch;
+ else
+ gfxs->Bop[1] -= gfxs->src_field_offset;
+ }
+ else {
+ gfxs->Bop[1] -= pitch;
+ }
+ }
+ }
+
+ gfxs->BopY--;
+}
+
+/**********************************************************************************************************************/
+
+bool
+Genefx_ABacc_prepare( GenefxState *gfxs, int width )
+{
+ int size;
+
+ if (!gfxs->need_accumulator)
+ return true;
+
+ size = (width + 31) & ~31;
+
+ if (gfxs->ABsize < size) {
+ void *ABstart = D_MALLOC( size * sizeof(GenefxAccumulator) * 3 + 31 );
+
+ if (!ABstart) {
+ D_WARN( "out of memory" );
+ return false;
+ }
+
+ if (gfxs->ABstart)
+ D_FREE( gfxs->ABstart );
+
+ gfxs->ABstart = ABstart;
+ gfxs->ABsize = size;
+ gfxs->Aacc = (GenefxAccumulator*) (((unsigned long)ABstart+31) & ~31);
+ gfxs->Bacc = gfxs->Aacc + size;
+ gfxs->Tacc = gfxs->Aacc + size + size;
+ }
+
+ gfxs->Sacc = gfxs->Dacc = gfxs->Aacc;
+
+ return true;
+}
+
+void
+Genefx_ABacc_flush( GenefxState *gfxs )
+{
+ if (dfb_config->keep_accumulators >= 0 && gfxs->ABsize > dfb_config->keep_accumulators) {
+ D_FREE( gfxs->ABstart );
+
+ gfxs->ABsize = 0;
+ gfxs->ABstart = NULL;
+ gfxs->Aacc = NULL;
+ gfxs->Bacc = NULL;
+ gfxs->Sacc = NULL;
+ gfxs->Dacc = NULL;
+ }
+}
+
diff --git a/src/gfx/generic/template_acc_16.h b/src/gfx/generic/template_acc_16.h
index 05cea6d..117a968 100644
--- a/src/gfx/generic/template_acc_16.h
+++ b/src/gfx/generic/template_acc_16.h
@@ -70,7 +70,7 @@
static void Sop_PFI_OP_Dacc(Sto)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
u16 *S = gfxs->Sop[0];
@@ -80,12 +80,12 @@ static void Sop_PFI_OP_Dacc(Sto)( GenefxState *gfxs )
if (Ostep != 1)
D_UNIMPLEMENTED();
- while (l--) {
+ while (--l) {
u16 s = S[i>>16];
EXPAND( *D, s );
- D++;
+ ++D;
i += SperD;
}
}
@@ -94,7 +94,7 @@ static void Sop_PFI_OP_Dacc(Sto)( GenefxState *gfxs )
static void Sop_PFI_OP_Dacc(SKto)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
u16 *S = gfxs->Sop[0];
@@ -105,7 +105,7 @@ static void Sop_PFI_OP_Dacc(SKto)( GenefxState *gfxs )
if (Ostep != 1)
D_UNIMPLEMENTED();
- while (l--) {
+ while (--l) {
u16 s = S[i>>16];
if (MASK_RGB( s ) != Skey)
@@ -113,7 +113,7 @@ static void Sop_PFI_OP_Dacc(SKto)( GenefxState *gfxs )
else
D->RGB.a = 0xF000;
- D++;
+ ++D;
i += SperD;
}
}
@@ -128,14 +128,15 @@ static void Sop_PFI_OP_Dacc(to)( GenefxState *gfxs )
int Ostep = gfxs->Ostep;
if (Ostep != 1) {
- while (l--) {
+ l++;
+ while (--l) {
u16 s = *S;
EXPAND( *D, s );
S += Ostep;
- D++;
+ ++D;
}
return;
}
@@ -145,12 +146,12 @@ static void Sop_PFI_OP_Dacc(to)( GenefxState *gfxs )
EXPAND( *D, s );
- D++;
- l--;
+ ++D;
+ --l;
}
- w = l >> 1;
- while (w--) {
+ w = (l >> 1) +1;
+ while (--w) {
u32 s = *(u32 *) S;
#ifdef WORDS_BIGENDIAN
@@ -176,13 +177,13 @@ static void Sop_PFI_OP_Dacc(to)( GenefxState *gfxs )
static void Sop_PFI_OP_Dacc(Kto)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
u16 *S = gfxs->Sop[0];
GenefxAccumulator *D = gfxs->Dacc;
u16 Skey = gfxs->Skey;
int Ostep = gfxs->Ostep;
- while (l--) {
+ while (--l) {
u16 s = *S;
if (MASK_RGB( s ) != Skey)
@@ -191,7 +192,7 @@ static void Sop_PFI_OP_Dacc(Kto)( GenefxState *gfxs )
D->RGB.a = 0xF000;
S += Ostep;
- D++;
+ ++D;
}
}
@@ -205,11 +206,12 @@ static void Sacc_OP_Aop_PFI(to)( GenefxState *gfxs )
int Dstep = gfxs->Astep;
if (Dstep != 1) {
- while (l--) {
+ l++;
+ while (--l) {
if (!(S->RGB.a & 0xF000))
*D = PIXEL( *S );
- S++;
+ ++S;
D += Dstep;
}
return;
@@ -219,13 +221,13 @@ static void Sacc_OP_Aop_PFI(to)( GenefxState *gfxs )
if (!(S->RGB.a & 0xF000))
*D = PIXEL( *S );
- S++;
- D++;
- l--;
+ ++S;
+ ++D;
+ --l;
}
- w = l >> 1;
- while (w--) {
+ w = (l >> 1) +1;
+ while (--w) {
u32 *D2 = (u32 *) D;
if (!(S[0].RGB.a & 0xF000) && !(S[1].RGB.a & 0xF000)) {
@@ -263,7 +265,8 @@ static void Sacc_OP_Aop_PFI(Sto)( GenefxState *gfxs )
int Dstep = gfxs->Astep;
if (Dstep != 1) {
- while (l--) {
+ l++;
+ while (--l) {
GenefxAccumulator *S = &Sacc[i>>16];
if (!(S->RGB.a & 0xF000))
@@ -280,13 +283,13 @@ static void Sacc_OP_Aop_PFI(Sto)( GenefxState *gfxs )
if (!(S->RGB.a & 0xF000))
*D = PIXEL( *S );
- D++;
- l--;
+ ++D;
+ --l;
i += SperD;
}
- w = l >> 1;
- while (w--) {
+ w = (l >> 1) +1;
+ while (--w) {
GenefxAccumulator *S0 = &Sacc[i>>16];
GenefxAccumulator *S1 = &Sacc[(i+SperD)>>16];
u32 *D2 = (u32 *) D;
@@ -320,17 +323,17 @@ static void Sacc_OP_Aop_PFI(Sto)( GenefxState *gfxs )
static void Sacc_OP_Aop_PFI(toK)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
u16 *D = gfxs->Aop[0];
u16 Dkey = gfxs->Dkey;
int Dstep = gfxs->Astep;
- while (l--) {
+ while (--l) {
if (!(S->RGB.a & 0xF000) && MASK_RGB( *D ) == Dkey)
*D = PIXEL( *S );
- S++;
+ ++S;
D += Dstep;
}
}
@@ -339,7 +342,7 @@ static void Sacc_OP_Aop_PFI(toK)( GenefxState *gfxs )
static void Sacc_OP_Aop_PFI(StoK)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
GenefxAccumulator *Sacc = gfxs->Sacc;
@@ -347,7 +350,7 @@ static void Sacc_OP_Aop_PFI(StoK)( GenefxState *gfxs )
u16 Dkey = gfxs->Dkey;
int Dstep = gfxs->Astep;
- while (l--) {
+ while (--l) {
GenefxAccumulator *S = &Sacc[i>>16];
if (!(S->RGB.a & 0xF000) && MASK_RGB( *D ) == Dkey)
@@ -358,6 +361,66 @@ static void Sacc_OP_Aop_PFI(StoK)( GenefxState *gfxs )
}
}
+/********************************* Sop_PFI_TEX_to_Dacc ***************************/
+
+static void Sop_PFI_OP_Dacc(TEX_to)( GenefxState *gfxs )
+{
+ int l = gfxs->length+1;
+ int s = gfxs->s;
+ int t = gfxs->t;
+ int SperD = gfxs->SperD;
+ int TperD = gfxs->TperD;
+ u16 *S = gfxs->Sop[0];
+ int Ostep = gfxs->Ostep;
+ GenefxAccumulator *D = gfxs->Dacc;
+ int sp2 = gfxs->src_pitch / 2;
+
+ if (Ostep != 1)
+ D_UNIMPLEMENTED();
+
+ while (--l) {
+ u16 p = S[(s>>16) + (t>>16) * sp2];
+
+ EXPAND( *D, p );
+
+ ++D;
+ s += SperD;
+ t += TperD;
+ }
+}
+
+/********************************* Sop_PFI_TEX_Kto_Dacc ***************************/
+
+static void Sop_PFI_OP_Dacc(TEX_Kto)( GenefxState *gfxs )
+{
+ int l = gfxs->length+1;
+ int s = gfxs->s;
+ int t = gfxs->t;
+ int SperD = gfxs->SperD;
+ int TperD = gfxs->TperD;
+ u16 *S = gfxs->Sop[0];
+ u16 Skey = gfxs->Skey;
+ int Ostep = gfxs->Ostep;
+ GenefxAccumulator *D = gfxs->Dacc;
+ int sp2 = gfxs->src_pitch / 2;
+
+ if (Ostep != 1)
+ D_UNIMPLEMENTED();
+
+ while (--l) {
+ u16 p = S[(s>>16) + (t>>16) * sp2];
+
+ if ((p & RGB_MASK) != Skey)
+ EXPAND( *D, p );
+ else
+ D->RGB.a = 0xF000;
+
+ ++D;
+ s += SperD;
+ t += TperD;
+ }
+}
+
/******************************************************************************/
#undef RGB_MASK
diff --git a/src/gfx/generic/template_acc_24.h b/src/gfx/generic/template_acc_24.h
new file mode 100644
index 0000000..90ed96c
--- /dev/null
+++ b/src/gfx/generic/template_acc_24.h
@@ -0,0 +1,383 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+/*
+ * Example:
+ * #define A_SHIFT 16
+ * #define R_SHIFT 11
+ * #define G_SHIFT 5
+ * #define B_SHIFT 0
+ * #define A_MASK 0xff0000
+ * #define R_MASK 0x00f800
+ * #define G_MASK 0x0007e0
+ * #define B_MASK 0x00001f
+ * #define PIXEL_OUT( a, r, g, b ) PIXEL_ARGB8565( a, r, g, b )
+ * #define EXPAND_Ato8( a ) (a)
+ * #define EXPAND_Rto8( r ) EXPAND_5to8( r )
+ * #define EXPAND_Gto8( g ) EXPAND_6to8( g )
+ * #define EXPAND_Bto8( b ) EXPAND_5to8( b )
+ * #define Sop_PFI_OP_Dacc( op ) Sop_argb8565_##op##_Dacc
+ * #define Sacc_OP_Aop_PFI( op ) Sacc_##op##_Aop_argb8565
+ * #include "template_acc_24.h"
+ */
+
+#define RGB_MASK (R_MASK | G_MASK | B_MASK)
+
+#if RGB_MASK == 0xffffff
+#define MASK_RGB( p ) (p)
+#else
+#define MASK_RGB( p ) ((p) & RGB_MASK)
+#endif
+
+#define PIXEL( x ) PIXEL_OUT( ((x).RGB.a & 0xFF00) ? 0xFF : (x).RGB.a, \
+ ((x).RGB.r & 0xFF00) ? 0xFF : (x).RGB.r, \
+ ((x).RGB.g & 0xFF00) ? 0xFF : (x).RGB.g, \
+ ((x).RGB.b & 0xFF00) ? 0xFF : (x).RGB.b )
+
+#define EXPAND( d, s ) do { \
+ (d).RGB.a = EXPAND_Ato8( (s & A_MASK) >> A_SHIFT ); \
+ (d).RGB.r = EXPAND_Rto8( (s & R_MASK) >> R_SHIFT ); \
+ (d).RGB.g = EXPAND_Gto8( (s & G_MASK) >> G_SHIFT ); \
+ (d).RGB.b = EXPAND_Bto8( (s & B_MASK) >> B_SHIFT ); \
+} while (0)
+
+#ifdef WORD_BIGENDIAN
+#define READ_PIXEL( s ) \
+ (0 \
+ | ((s)[0] << 16) \
+ | ((s)[1] << 8) \
+ | ((s)[2] << 0) \
+ )
+#define WRITE_PIXEL( d, pix ) \
+ do { \
+ (d)[0] = ((pix) >> 16) & 0xff; \
+ (d)[1] = ((pix) >> 8) & 0xff; \
+ (d)[2] = ((pix) >> 0) & 0xff; \
+ } while (0)
+#else
+#define READ_PIXEL( s ) \
+ (0 \
+ | ((s)[2] << 16) \
+ | ((s)[1] << 8) \
+ | ((s)[0] << 0) \
+ )
+#define WRITE_PIXEL( d, pix ) \
+ do { \
+ (d)[0] = ((pix) >> 0) & 0xff; \
+ (d)[1] = ((pix) >> 8) & 0xff; \
+ (d)[2] = ((pix) >> 16) & 0xff; \
+ } while (0)
+#endif
+
+/********************************* Sop_PFI_Sto_Dacc ***************************/
+
+static void Sop_PFI_OP_Dacc(Sto)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ int i = gfxs->Xphase;
+ int SperD = gfxs->SperD;
+
+ GenefxAccumulator *D = gfxs->Dacc;
+ const u8 *S = gfxs->Sop[0];
+
+ int Ostep = gfxs->Ostep;
+
+ if (Ostep != 1)
+ D_UNIMPLEMENTED();
+
+ while (--w) {
+ int pixelstart = (i >> 16) * 3;
+
+ u32 s = READ_PIXEL( &S[pixelstart] );
+
+ EXPAND( *D, s );
+
+ ++D;
+ i += SperD;
+ }
+}
+
+/********************************* Sop_PFI_SKto_Dacc **************************/
+
+static void Sop_PFI_OP_Dacc(SKto)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ int i = gfxs->Xphase;
+ int SperD = gfxs->SperD;
+ u32 Skey = gfxs->Skey;
+
+ GenefxAccumulator *D = gfxs->Dacc;
+ const u8 *S = gfxs->Sop[0];
+
+ int Ostep = gfxs->Ostep;
+
+ if (Ostep != 1)
+ D_UNIMPLEMENTED();
+
+ while (--w) {
+ int pixelstart = (i >> 16) * 3;
+
+ u32 s = READ_PIXEL( &S[pixelstart] );
+
+ if (MASK_RGB( s ) != Skey)
+ EXPAND( *D, s );
+ else
+ D->RGB.a = 0xF000;
+
+ ++D;
+ i += SperD;
+ }
+}
+
+/********************************* Sop_PFI_to_Dacc ****************************/
+
+static void Sop_PFI_OP_Dacc(to)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ const u8 *S = gfxs->Sop[0];
+ int Ostep = gfxs->Ostep * 3;
+
+ GenefxAccumulator *D = gfxs->Dacc;
+
+ while (--w) {
+ u32 s = READ_PIXEL( S );
+
+ EXPAND( *D, s );
+
+ ++D;
+ S += Ostep;
+ }
+}
+
+/********************************* Sop_PFI_Kto_Dacc ***************************/
+
+static void Sop_PFI_OP_Dacc(Kto)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ const u8 *S = gfxs->Sop[0];
+ u32 Skey = gfxs->Skey;
+ GenefxAccumulator *D = gfxs->Dacc;
+
+ int Ostep = gfxs->Ostep * 3;
+
+ while (--w) {
+ u32 s = READ_PIXEL( S );
+
+ if (MASK_RGB( s ) != Skey)
+ EXPAND( *D, s );
+ else
+ D->RGB.a = 0xF000;
+
+ ++D;
+ S += Ostep;
+ }
+}
+
+/********************************* Sacc_to_Aop_PFI ****************************/
+
+static void Sacc_OP_Aop_PFI(to)( GenefxState *gfxs )
+{
+ int l = gfxs->length + 1;
+ const GenefxAccumulator *S = gfxs->Sacc;
+ u8 *D = gfxs->Aop[0];
+ int Dstep = gfxs->Astep * 3;
+
+ while (--l) {
+ if (!(S->RGB.a & 0xF000)) {
+ u32 pix = PIXEL( *S );
+ WRITE_PIXEL( D, pix );
+ }
+
+ ++S;
+ D += Dstep;
+ }
+}
+
+/********************************* Sacc_Sto_Aop_PFI ***************************/
+
+static void Sacc_OP_Aop_PFI(Sto)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ int i = gfxs->Xphase;
+ int SperD = gfxs->SperD;
+ const GenefxAccumulator *Sacc = gfxs->Sacc;
+ u8 *D = gfxs->Aop[0];
+ int Dstep = gfxs->Astep * 3;
+
+ while (--w) {
+ const GenefxAccumulator *S = &Sacc[i>>16];
+
+ if (!(S->RGB.a & 0xF000)) {
+ u32 pix = PIXEL( *S );
+ WRITE_PIXEL( D, pix );
+ }
+
+ D += Dstep;
+ i += SperD;
+ }
+}
+
+/********************************* Sacc_toK_Aop_PFI ***************************/
+
+static void Sacc_OP_Aop_PFI(toK)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ u8 *D = gfxs->Aop[0];
+ u32 Dkey = gfxs->Dkey;
+ int Dstep = gfxs->Astep * 3;
+ const GenefxAccumulator *S = gfxs->Sacc;
+
+ while (--w) {
+ if (!(S->RGB.a & 0xF000)) {
+ u32 pix = READ_PIXEL( D );
+ if (MASK_RGB( pix ) == Dkey) {
+ pix = PIXEL( *S );
+ WRITE_PIXEL( D, pix );
+ }
+ }
+
+ ++S;
+ D += Dstep;
+ }
+}
+
+/********************************* Sacc_StoK_Aop_PFI **************************/
+
+static void Sacc_OP_Aop_PFI(StoK)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ int i = gfxs->Xphase;
+ int SperD = gfxs->SperD;
+ u8 *D = gfxs->Aop[0];
+ int Dstep = gfxs->Astep * 3;
+ u32 Dkey = gfxs->Dkey;
+ const GenefxAccumulator *Sacc = gfxs->Sacc;
+
+ while (--w) {
+ const GenefxAccumulator *S = &Sacc[i>>16];
+
+ if (!(S->RGB.a & 0xF000)) {
+ u32 pix = READ_PIXEL( D );
+ if (MASK_RGB( pix ) == Dkey) {
+ pix = PIXEL( *S );
+ WRITE_PIXEL( D, pix );
+ }
+ }
+
+ D += Dstep;
+ i += SperD;
+ }
+}
+
+/********************************* Sop_PFI_TEX_to_Dacc ***************************/
+
+static void Sop_PFI_OP_Dacc(TEX_to)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ int s = gfxs->s;
+ int t = gfxs->t;
+ int SperD = gfxs->SperD;
+ int TperD = gfxs->TperD;
+ u8 *S = gfxs->Sop[0];
+ int Ostep = gfxs->Ostep * 3;
+ GenefxAccumulator *D = gfxs->Dacc;
+ int sp3 = gfxs->src_pitch / 3;
+
+ if (Ostep != 1)
+ D_UNIMPLEMENTED();
+
+ while (--w) {
+ int pixelstart = ((s>>16) + (t>>16) * sp3) * 3;
+ u32 p = READ_PIXEL( &S[pixelstart] );
+
+ EXPAND( *D, p );
+
+ D++;
+ s += SperD;
+ t += TperD;
+ }
+}
+
+/********************************* Sop_PFI_TEX_Kto_Dacc ***************************/
+
+static void Sop_PFI_OP_Dacc(TEX_Kto)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ int s = gfxs->s;
+ int t = gfxs->t;
+ int SperD = gfxs->SperD;
+ int TperD = gfxs->TperD;
+ const u8 *S = gfxs->Sop[0];
+ u32 Skey = gfxs->Skey;
+ int Ostep = gfxs->Ostep * 3;
+ GenefxAccumulator *D = gfxs->Dacc;
+ int sp3 = gfxs->src_pitch / 3;
+
+ if (Ostep != 1)
+ D_UNIMPLEMENTED();
+
+ while (--w) {
+ int pixelstart = ((s>>16) + (t>>16) * sp3) * 3;
+ u32 p = READ_PIXEL( &S[pixelstart] );
+
+ if (MASK_RGB( p ) != Skey)
+ EXPAND( *D, p );
+ else
+ D->RGB.a = 0xF000;
+
+ D++;
+ s += SperD;
+ t += TperD;
+ }
+}
+
+/******************************************************************************/
+
+#undef RGB_MASK
+#undef MASK_RGB
+#undef PIXEL
+#undef EXPAND
+
+#undef A_SHIFT
+#undef R_SHIFT
+#undef G_SHIFT
+#undef B_SHIFT
+#undef A_MASK
+#undef R_MASK
+#undef G_MASK
+#undef B_MASK
+#undef PIXEL_OUT
+#undef EXPAND_Ato8
+#undef EXPAND_Rto8
+#undef EXPAND_Gto8
+#undef EXPAND_Bto8
+#undef Sop_PFI_OP_Dacc
+#undef Sacc_OP_Aop_PFI
+
+#undef READ_PIXEL
+#undef WRITE_PIXEL
diff --git a/src/gfx/generic/template_acc_32.h b/src/gfx/generic/template_acc_32.h
index 313d568..9f85b5f 100644
--- a/src/gfx/generic/template_acc_32.h
+++ b/src/gfx/generic/template_acc_32.h
@@ -65,7 +65,7 @@ do { \
static void Sop_PFI_OP_Dacc(Sto)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
u32 *S = gfxs->Sop[0];
@@ -75,12 +75,12 @@ static void Sop_PFI_OP_Dacc(Sto)( GenefxState *gfxs )
if (Ostep != 1)
D_UNIMPLEMENTED();
- while (l--) {
+ while (--l) {
u32 s = S[i>>16];
EXPAND( *D, s );
- D++;
+ ++D;
i += SperD;
}
}
@@ -89,7 +89,7 @@ static void Sop_PFI_OP_Dacc(Sto)( GenefxState *gfxs )
static void Sop_PFI_OP_Dacc(SKto)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
u32 *S = gfxs->Sop[0];
@@ -100,7 +100,7 @@ static void Sop_PFI_OP_Dacc(SKto)( GenefxState *gfxs )
if (Ostep != 1)
D_UNIMPLEMENTED();
- while (l--) {
+ while (--l) {
u32 s = S[i>>16];
if ((s & RGB_MASK) != Skey)
@@ -108,7 +108,7 @@ static void Sop_PFI_OP_Dacc(SKto)( GenefxState *gfxs )
else
D->RGB.a = 0xF000;
- D++;
+ ++D;
i += SperD;
}
}
@@ -117,19 +117,18 @@ static void Sop_PFI_OP_Dacc(SKto)( GenefxState *gfxs )
static void Sop_PFI_OP_Dacc(to)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
u32 *S = gfxs->Sop[0];
GenefxAccumulator *D = gfxs->Dacc;
int Ostep = gfxs->Ostep;
- while (l--) {
+ while (--l) {
u32 s = *S;
EXPAND( *D, s );
-
+ ++D;
S += Ostep;
- D++;
}
}
@@ -137,13 +136,13 @@ static void Sop_PFI_OP_Dacc(to)( GenefxState *gfxs )
static void Sop_PFI_OP_Dacc(Kto)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
u32 *S = gfxs->Sop[0];
GenefxAccumulator *D = gfxs->Dacc;
u32 Skey = gfxs->Skey;
int Ostep = gfxs->Ostep;
- while (l--) {
+ while (--l) {
u32 s = *S;
if ((s & RGB_MASK) != Skey)
@@ -152,7 +151,7 @@ static void Sop_PFI_OP_Dacc(Kto)( GenefxState *gfxs )
D->RGB.a = 0xF000;
S += Ostep;
- D++;
+ ++D;
}
}
@@ -160,16 +159,16 @@ static void Sop_PFI_OP_Dacc(Kto)( GenefxState *gfxs )
static void Sacc_OP_Aop_PFI(to)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
u32 *D = gfxs->Aop[0];
int Dstep = gfxs->Astep;
- while (l--) {
+ while (--l) {
if (!(S->RGB.a & 0xF000))
*D = PIXEL( *S );
- S++;
+ ++S;
D += Dstep;
}
}
@@ -178,14 +177,14 @@ static void Sacc_OP_Aop_PFI(to)( GenefxState *gfxs )
static void Sacc_OP_Aop_PFI(Sto)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
GenefxAccumulator *Sacc = gfxs->Sacc;
u32 *D = gfxs->Aop[0];
int Dstep = gfxs->Astep;
- while (l--) {
+ while (--l) {
GenefxAccumulator *S = &Sacc[i>>16];
if (!(S->RGB.a & 0xF000))
@@ -200,17 +199,17 @@ static void Sacc_OP_Aop_PFI(Sto)( GenefxState *gfxs )
static void Sacc_OP_Aop_PFI(toK)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
GenefxAccumulator *S = gfxs->Sacc;
u32 *D = gfxs->Aop[0];
int Dstep = gfxs->Astep;
u32 Dkey = gfxs->Dkey;
- while (l--) {
+ while (--l) {
if (!(S->RGB.a & 0xF000) && (*D & RGB_MASK) == Dkey)
*D = PIXEL( *S );
- S++;
+ ++S;
D += Dstep;
}
}
@@ -219,7 +218,7 @@ static void Sacc_OP_Aop_PFI(toK)( GenefxState *gfxs )
static void Sacc_OP_Aop_PFI(StoK)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
GenefxAccumulator *Sacc = gfxs->Sacc;
@@ -227,7 +226,7 @@ static void Sacc_OP_Aop_PFI(StoK)( GenefxState *gfxs )
int Dstep = gfxs->Astep;
u32 Dkey = gfxs->Dkey;
- while (l--) {
+ while (--l) {
GenefxAccumulator *S = &Sacc[i>>16];
if (!(S->RGB.a & 0xF000) && (*D & RGB_MASK) == Dkey)
@@ -238,6 +237,66 @@ static void Sacc_OP_Aop_PFI(StoK)( GenefxState *gfxs )
}
}
+/********************************* Sop_PFI_TEX_to_Dacc ***************************/
+
+static void Sop_PFI_OP_Dacc(TEX_to)( GenefxState *gfxs )
+{
+ int l = gfxs->length+1;
+ int s = gfxs->s;
+ int t = gfxs->t;
+ int SperD = gfxs->SperD;
+ int TperD = gfxs->TperD;
+ u32 *S = gfxs->Sop[0];
+ int Ostep = gfxs->Ostep;
+ GenefxAccumulator *D = gfxs->Dacc;
+ int sp4 = gfxs->src_pitch / 4;
+
+ if (Ostep != 1)
+ D_UNIMPLEMENTED();
+
+ while (--l) {
+ u32 p = S[(s>>16) + (t>>16) * sp4];
+
+ EXPAND( *D, p );
+
+ ++D;
+ s += SperD;
+ t += TperD;
+ }
+}
+
+/********************************* Sop_PFI_TEX_Kto_Dacc ***************************/
+
+static void Sop_PFI_OP_Dacc(TEX_Kto)( GenefxState *gfxs )
+{
+ int l = gfxs->length+1;
+ int s = gfxs->s;
+ int t = gfxs->t;
+ int SperD = gfxs->SperD;
+ int TperD = gfxs->TperD;
+ u32 *S = gfxs->Sop[0];
+ u32 Skey = gfxs->Skey;
+ int Ostep = gfxs->Ostep;
+ GenefxAccumulator *D = gfxs->Dacc;
+ int sp4 = gfxs->src_pitch / 4;
+
+ if (Ostep != 1)
+ D_UNIMPLEMENTED();
+
+ while (--l) {
+ u32 p = S[(s>>16) + (t>>16) * sp4];
+
+ if ((p & RGB_MASK) != Skey)
+ EXPAND( *D, p );
+ else
+ D->RGB.a = 0xF000;
+
+ ++D;
+ s += SperD;
+ t += TperD;
+ }
+}
+
/******************************************************************************/
#undef RGB_MASK
diff --git a/src/gfx/generic/template_colorkey_16.h b/src/gfx/generic/template_colorkey_16.h
index a48fa7a..c1f8808 100644
--- a/src/gfx/generic/template_colorkey_16.h
+++ b/src/gfx/generic/template_colorkey_16.h
@@ -48,16 +48,16 @@
static void Cop_OP_Aop_PFI(toK)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
u16 *D = gfxs->Aop[0];
u16 Dkey = gfxs->Dkey;
u16 Cop = gfxs->Cop;
- while (l--) {
+ while (--l) {
if (MASK_RGB( *D ) == Dkey)
*D = Cop;
- D++;
+ ++D;
}
}
@@ -80,7 +80,8 @@ static void Bop_PFI_OP_Aop_PFI(Kto)( GenefxState *gfxs )
if (((long)S & 2) != ((long)D & 2)) {
/* source and destination misaligned */
- while (l--) {
+ l++;
+ while (--l) {
u16 s = *S;
if (MASK_RGB( s ) != Skey)
@@ -102,15 +103,15 @@ static void Bop_PFI_OP_Aop_PFI(Kto)( GenefxState *gfxs )
if (MASK_RGB( s ) != Skey)
*D = s;
- S++;
- D++;
- l--;
+ ++S;
+ ++D;
+ --l;
}
} else { /* Ostep < 0 */
if ((long)D & 2) {
/* align */
- S--;
- D--;
+ --S;
+ --D;
} else {
/* rightmost pixel */
u16 s = *S;
@@ -120,14 +121,14 @@ static void Bop_PFI_OP_Aop_PFI(Kto)( GenefxState *gfxs )
S -= 2;
D -= 2;
- l--;
+ --l;
}
}
/* blit */
Ostep <<= 1;
- w = l >> 1;
- while (w--) {
+ w = (l >> 1) +1;
+ while (--w) {
u32 s = *(u32 *) S;
if (MASK_RGB_L( s ) != Skey) {
@@ -157,8 +158,8 @@ static void Bop_PFI_OP_Aop_PFI(Kto)( GenefxState *gfxs )
u16 s;
if (Ostep < 0) {
- S++;
- D++;
+ ++S;
+ ++D;
}
s = *S;
@@ -186,7 +187,8 @@ static void Bop_PFI_OP_Aop_PFI(toK)( GenefxState *gfxs )
if (((long)S & 2) != ((long)D & 2)) {
/* source and destination misaligned */
- while (l--) {
+ l++;
+ while (--l) {
if (MASK_RGB( *D ) == Dkey)
*D = *S;
@@ -204,15 +206,15 @@ static void Bop_PFI_OP_Aop_PFI(toK)( GenefxState *gfxs )
if (MASK_RGB( *D ) == Dkey)
*D = *S;
- S++;
- D++;
- l--;
+ ++S;
+ ++D;
+ --l;
}
} else { /* Ostep < 0 */
if ((long)D & 2) {
/* align */
- S--;
- D--;
+ --S;
+ --D;
} else {
/* rightmost pixel */
if (MASK_RGB( *D ) == Dkey)
@@ -220,14 +222,14 @@ static void Bop_PFI_OP_Aop_PFI(toK)( GenefxState *gfxs )
S -= 2;
D -= 2;
- l--;
+ --l;
}
}
/* blit */
Ostep <<= 1;
- w = l >> 1;
- while (w--) {
+ w = (l >> 1) + 1;
+ while (--w) {
u32 d = *(u32 *) D;
if (MASK_RGB_32( d ) == (DkeyH | Dkey)) {
@@ -256,8 +258,8 @@ static void Bop_PFI_OP_Aop_PFI(toK)( GenefxState *gfxs )
/* last potential pixel */
if (l & 1) {
if (Ostep < 0) {
- S++;
- D++;
+ ++S;
+ ++D;
}
if (MASK_RGB( *D ) == Dkey)
@@ -269,7 +271,7 @@ static void Bop_PFI_OP_Aop_PFI(toK)( GenefxState *gfxs )
static void Bop_PFI_OP_Aop_PFI(KtoK)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int Ostep = gfxs->Ostep;
u16 *S = gfxs->Bop[0];
u16 *D = gfxs->Aop[0];
@@ -281,7 +283,7 @@ static void Bop_PFI_OP_Aop_PFI(KtoK)( GenefxState *gfxs )
D += gfxs->length - 1;
}
- while (l--) {
+ while (--l) {
u16 s = *S;
if (MASK_RGB( s ) != Skey && MASK_RGB( *D ) == Dkey)
@@ -296,20 +298,20 @@ static void Bop_PFI_OP_Aop_PFI(KtoK)( GenefxState *gfxs )
static void Bop_PFI_OP_Aop_PFI(SKto)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
u16 *S = gfxs->Bop[0];
u16 *D = gfxs->Aop[0];
u16 Skey = gfxs->Skey;
- while (l--) {
+ while (--l) {
u16 s = S[i>>16];
if (MASK_RGB( s ) != Skey)
*D = s;
- D++;
+ ++D;
i += SperD;
}
}
@@ -318,18 +320,18 @@ static void Bop_PFI_OP_Aop_PFI(SKto)( GenefxState *gfxs )
static void Bop_PFI_OP_Aop_PFI(StoK)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
u16 *S = gfxs->Bop[0];
u16 *D = gfxs->Aop[0];
u16 Dkey = gfxs->Dkey;
- while (l--) {
+ while (--l) {
if (MASK_RGB( *D ) == Dkey)
*D = S[i>>16];
- D++;
+ ++D;
i += SperD;
}
}
@@ -338,7 +340,7 @@ static void Bop_PFI_OP_Aop_PFI(StoK)( GenefxState *gfxs )
static void Bop_PFI_OP_Aop_PFI(SKtoK)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
u16 *S = gfxs->Bop[0];
@@ -346,13 +348,13 @@ static void Bop_PFI_OP_Aop_PFI(SKtoK)( GenefxState *gfxs )
u16 Skey = gfxs->Skey;
u16 Dkey = gfxs->Dkey;
- while (l--) {
+ while (--l) {
u16 s = S[i>>16];
if (MASK_RGB( s ) != Skey && MASK_RGB( *D ) == Dkey)
*D = s;
- D++;
+ ++D;
i += SperD;
}
}
diff --git a/src/gfx/generic/template_colorkey_24.h b/src/gfx/generic/template_colorkey_24.h
new file mode 100644
index 0000000..40fbaab
--- /dev/null
+++ b/src/gfx/generic/template_colorkey_24.h
@@ -0,0 +1,260 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+/*
+ * Example:
+ * #define RGB_MASK 0x00ffff
+ * #define Cop_OP_Aop_PFI( op ) Cop_##op##_Aop_24_16
+ * #define Bop_PFI_OP_Aop_PFI( op ) Bop_24_16_##op##_Aop
+ * #include "template_colorkey_24.h"
+ */
+
+#ifdef WORD_BIGENDIAN
+#define READ_PIXEL( s ) \
+ (0 \
+ | ((s)[0] << 16) \
+ | ((s)[1] << 8) \
+ | ((s)[2] << 0) \
+ )
+#define WRITE_PIXEL( d, pix ) \
+ do { \
+ (d)[0] = ((pix) >> 16) & 0xff; \
+ (d)[1] = ((pix) >> 8) & 0xff; \
+ (d)[2] = ((pix) >> 0) & 0xff; \
+ } while (0)
+#else
+#define READ_PIXEL( s ) \
+ (0 \
+ | ((s)[2] << 16) \
+ | ((s)[1] << 8) \
+ | ((s)[0] << 0) \
+ )
+#define WRITE_PIXEL( d, pix ) \
+ do { \
+ (d)[0] = ((pix) >> 0) & 0xff; \
+ (d)[1] = ((pix) >> 8) & 0xff; \
+ (d)[2] = ((pix) >> 16) & 0xff; \
+ } while (0)
+#endif
+
+/********************************* Cop_toK_Aop_PFI ****************************/
+
+static void Cop_OP_Aop_PFI(toK)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ u8 *D = gfxs->Aop[0];
+ u32 Dkey = gfxs->Dkey;
+ u32 Cop = gfxs->Cop;
+
+ while (--w) {
+ u32 pix = READ_PIXEL( D );
+ if ((pix & RGB_MASK) == Dkey)
+ WRITE_PIXEL( D, Cop );
+
+ D += 3;
+ }
+}
+#undef WRITE_PIXEL
+
+/********************************* Bop_PFI_Kto_Aop_PFI ************************/
+
+static void Bop_PFI_OP_Aop_PFI(Kto)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ const u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+ u32 Skey = gfxs->Skey;
+ int Ostep = gfxs->Ostep * 3;
+
+ if (Ostep < 0) {
+ S += (gfxs->length - 1) * 3;
+ D += (gfxs->length - 1) * 3;
+ }
+
+ while (--w) {
+ u32 pix = READ_PIXEL( S );
+ if ((pix & RGB_MASK) != Skey) {
+ D[0] = S[0];
+ D[1] = S[1];
+ D[2] = S[2];
+ }
+
+ S += Ostep;
+ D += Ostep;
+ }
+}
+
+/********************************* Bop_PFI_toK_Aop_PFI ************************/
+
+static void Bop_PFI_OP_Aop_PFI(toK)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ const u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+ u32 Dkey = gfxs->Dkey;
+ int Ostep = gfxs->Ostep * 3;
+
+ if (Ostep < 0) {
+ S += (gfxs->length - 1) * 3;
+ D += (gfxs->length - 1) * 3;
+ }
+
+ while (--w) {
+ u32 pix = READ_PIXEL( D );
+ if ((pix & RGB_MASK) == Dkey) {
+ D[0] = S[0];
+ D[1] = S[1];
+ D[2] = S[2];
+ }
+
+ S += Ostep;
+ D += Ostep;
+ }
+}
+
+/********************************* Bop_PFI_KtoK_Aop_PFI ***********************/
+
+static void Bop_PFI_OP_Aop_PFI(KtoK)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ int Ostep = gfxs->Ostep * 3;
+ const u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+ u32 Skey = gfxs->Skey;
+ u32 Dkey = gfxs->Dkey;
+
+ if (Ostep < 0) {
+ S += (gfxs->length - 1) * 3;
+ D += (gfxs->length - 1) * 3;
+ }
+
+ while (--w) {
+ u32 s = READ_PIXEL( S );
+ if ((s & RGB_MASK) != Skey) {
+ u32 d = READ_PIXEL( D );
+ if ((d & RGB_MASK) == Dkey) {
+ D[0] = S[0];
+ D[1] = S[1];
+ D[2] = S[2];
+ }
+ }
+
+ S += Ostep;
+ D += Ostep;
+ }
+}
+
+/********************************* Bop_PFI_SKto_Aop_PFI ***********************/
+
+static void Bop_PFI_OP_Aop_PFI(SKto)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ int i = gfxs->Xphase;
+ int SperD = gfxs->SperD;
+ const u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+ int Dstep = gfxs->Astep * 3;
+ u32 Skey = gfxs->Skey;
+
+ while (--w) {
+ int pixelstart = (i >> 16) * 3;
+ u32 s = READ_PIXEL( &S[pixelstart] );
+ if ((s & RGB_MASK) != Skey) {
+ D[0] = S[pixelstart++];
+ D[1] = S[pixelstart++];
+ D[2] = S[pixelstart];
+ }
+
+ D += Dstep;
+ i += SperD;
+ }
+}
+
+/********************************* Bop_PFI_StoK_Aop_PFI ***********************/
+
+static void Bop_PFI_OP_Aop_PFI(StoK)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ int i = gfxs->Xphase;
+ int SperD = gfxs->SperD;
+ const u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+ u32 Dkey = gfxs->Dkey;
+ int Dstep = gfxs->Astep * 3;
+
+ while (--w) {
+ u32 d = READ_PIXEL( D );
+ if ((d & RGB_MASK) == Dkey) {
+ int pixelstart = (i >> 16) * 3;
+ D[0] = S[pixelstart++];
+ D[1] = S[pixelstart++];
+ D[2] = S[pixelstart];
+ }
+
+ D += Dstep;
+ i += SperD;
+ }
+}
+
+/********************************* Bop_PFI_SKtoK_Aop_PFI **********************/
+
+static void Bop_PFI_OP_Aop_PFI(SKtoK)( GenefxState *gfxs )
+{
+ int w = gfxs->length + 1;
+ int i = gfxs->Xphase;
+ int SperD = gfxs->SperD;
+ const u8 *S = gfxs->Bop[0];
+ u8 *D = gfxs->Aop[0];
+ u32 Skey = gfxs->Skey;
+ u32 Dkey = gfxs->Dkey;
+
+ while (--w) {
+ int pixelstart = (i >> 16) * 3;
+ u32 s = READ_PIXEL( &S[pixelstart] );
+
+ if ((s & RGB_MASK) != Skey) {
+ u32 d = READ_PIXEL( D );
+ if ((d & RGB_MASK) == Dkey) {
+ D[0] = S[pixelstart++];
+ D[1] = S[pixelstart++];
+ D[2] = S[pixelstart];
+ }
+ }
+
+ D += 3;
+ i += SperD;
+ }
+}
+
+/******************************************************************************/
+
+#undef RGB_MASK
+#undef Cop_OP_Aop_PFI
+#undef Bop_PFI_OP_Aop_PFI
+
+#undef READ_PIXEL
diff --git a/src/gfx/generic/template_colorkey_32.h b/src/gfx/generic/template_colorkey_32.h
index 37174b6..4aa5832 100644
--- a/src/gfx/generic/template_colorkey_32.h
+++ b/src/gfx/generic/template_colorkey_32.h
@@ -38,16 +38,16 @@
static void Cop_OP_Aop_PFI(toK)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
u32 *D = gfxs->Aop[0];
u32 Dkey = gfxs->Dkey;
u32 Cop = gfxs->Cop;
- while (l--) {
+ while (--l) {
if ((*D & RGB_MASK) == Dkey)
*D = Cop;
- D++;
+ ++D;
}
}
@@ -55,7 +55,7 @@ static void Cop_OP_Aop_PFI(toK)( GenefxState *gfxs )
static void Bop_PFI_OP_Aop_PFI(Kto)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int Sstep = gfxs->Bstep;
int Dstep = gfxs->Astep;
u32 *S = gfxs->Bop[0];
@@ -67,7 +67,7 @@ static void Bop_PFI_OP_Aop_PFI(Kto)( GenefxState *gfxs )
D += (gfxs->length - 1) * gfxs->Astep;
}
- while (l--) {
+ while (--l) {
u32 s = *S;
if ((s & RGB_MASK) != Skey)
@@ -82,7 +82,7 @@ static void Bop_PFI_OP_Aop_PFI(Kto)( GenefxState *gfxs )
static void Bop_PFI_OP_Aop_PFI(toK)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int Sstep = gfxs->Bstep;
int Dstep = gfxs->Astep;
u32 *S = gfxs->Bop[0];
@@ -94,7 +94,7 @@ static void Bop_PFI_OP_Aop_PFI(toK)( GenefxState *gfxs )
D += (gfxs->length - 1) * gfxs->Astep;
}
- while (l--) {
+ while (--l) {
if ((*D & RGB_MASK) == Dkey)
*D = *S;
@@ -107,7 +107,7 @@ static void Bop_PFI_OP_Aop_PFI(toK)( GenefxState *gfxs )
static void Bop_PFI_OP_Aop_PFI(KtoK)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int Sstep = gfxs->Bstep;
int Dstep = gfxs->Astep;
u32 *S = gfxs->Bop[0];
@@ -120,7 +120,7 @@ static void Bop_PFI_OP_Aop_PFI(KtoK)( GenefxState *gfxs )
D += (gfxs->length - 1) * gfxs->Astep;
}
- while (l--) {
+ while (--l) {
u32 s = *S;
if ((s & RGB_MASK) != Skey && (*D & RGB_MASK) == Dkey)
@@ -135,7 +135,7 @@ static void Bop_PFI_OP_Aop_PFI(KtoK)( GenefxState *gfxs )
static void Bop_PFI_OP_Aop_PFI(SKto)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
u32 *S = gfxs->Bop[0];
@@ -143,7 +143,7 @@ static void Bop_PFI_OP_Aop_PFI(SKto)( GenefxState *gfxs )
int Dstep = gfxs->Astep;
u32 Skey = gfxs->Skey;
- while (l--) {
+ while (--l) {
u32 s = S[i>>16];
if ((s & RGB_MASK) != Skey)
@@ -158,7 +158,7 @@ static void Bop_PFI_OP_Aop_PFI(SKto)( GenefxState *gfxs )
static void Bop_PFI_OP_Aop_PFI(StoK)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
u32 *S = gfxs->Bop[0];
@@ -166,7 +166,7 @@ static void Bop_PFI_OP_Aop_PFI(StoK)( GenefxState *gfxs )
u32 Dkey = gfxs->Dkey;
int Dstep = gfxs->Astep;
- while (l--) {
+ while (--l) {
if ((*D & RGB_MASK) == Dkey)
*D = S[i>>16];
@@ -179,7 +179,7 @@ static void Bop_PFI_OP_Aop_PFI(StoK)( GenefxState *gfxs )
static void Bop_PFI_OP_Aop_PFI(SKtoK)( GenefxState *gfxs )
{
- int l = gfxs->length;
+ int l = gfxs->length+1;
int i = gfxs->Xphase;
int SperD = gfxs->SperD;
u32 *S = gfxs->Bop[0];
@@ -188,7 +188,7 @@ static void Bop_PFI_OP_Aop_PFI(SKtoK)( GenefxState *gfxs )
u32 Dkey = gfxs->Dkey;
int Dstep = gfxs->Astep;
- while (l--) {
+ while (--l) {
u32 s = S[i>>16];
if ((s & RGB_MASK) != Skey && (*D & RGB_MASK) == Dkey)
diff --git a/src/gfx/util.c b/src/gfx/util.c
index 9e59b84..339dde5 100644
--- a/src/gfx/util.c
+++ b/src/gfx/util.c
@@ -87,6 +87,7 @@ dfb_gfx_copy_to( CoreSurface *source, CoreSurface *destination, const DFBRectang
copy_state.source = source;
copy_state.destination = destination;
copy_state.from = from_back ? CSBR_BACK : CSBR_FRONT;
+ copy_state.to = CSBR_BACK;
if (rect) {
if (dfb_rectangle_intersect( &sourcerect, rect ))
@@ -103,6 +104,134 @@ dfb_gfx_copy_to( CoreSurface *source, CoreSurface *destination, const DFBRectang
pthread_mutex_unlock( ©_lock );
}
+void
+dfb_gfx_clear( CoreSurface *surface, CoreSurfaceBufferRole role )
+{
+ DFBRectangle rect = { 0, 0, surface->config.size.w, surface->config.size.h };
+
+ pthread_mutex_lock( ©_lock );
+
+ if (!copy_state_inited) {
+ dfb_state_init( ©_state, NULL );
+ copy_state_inited = true;
+ }
+
+ copy_state.modified |= SMF_CLIP | SMF_COLOR | SMF_DESTINATION;
+
+ copy_state.clip.x2 = surface->config.size.w - 1;
+ copy_state.clip.y2 = surface->config.size.h - 1;
+ copy_state.destination = surface;
+ copy_state.source = surface;
+ copy_state.to = role;
+ copy_state.color.a = 0;
+ copy_state.color.r = 0;
+ copy_state.color.g = 0;
+ copy_state.color.b = 0;
+ copy_state.color_index = 0;
+
+ dfb_gfxcard_fillrectangles( &rect, 1, ©_state );
+
+ /* Signal end of sequence. */
+ dfb_state_stop_drawing( ©_state );
+
+ pthread_mutex_unlock( ©_lock );
+}
+
+void
+dfb_gfx_stretch_to( CoreSurface *source, CoreSurface *destination,
+ const DFBRectangle *srect, const DFBRectangle *drect, bool from_back )
+{
+ DFBRectangle sourcerect = { 0, 0, source->config.size.w, source->config.size.h };
+ DFBRectangle destrect = { 0, 0, destination->config.size.w, destination->config.size.h };
+
+ if (srect) {
+ if (!dfb_rectangle_intersect( &sourcerect, srect ))
+ return;
+ }
+
+ if (drect) {
+ if (!dfb_rectangle_intersect( &destrect, drect ))
+ return;
+ }
+
+ pthread_mutex_lock( ©_lock );
+
+ if (!copy_state_inited) {
+ dfb_state_init( ©_state, NULL );
+ copy_state_inited = true;
+ }
+
+ copy_state.modified |= SMF_CLIP | SMF_SOURCE | SMF_DESTINATION;
+
+ copy_state.clip.x2 = destination->config.size.w - 1;
+ copy_state.clip.y2 = destination->config.size.h - 1;
+ copy_state.source = source;
+ copy_state.destination = destination;
+ copy_state.from = from_back ? CSBR_BACK : CSBR_FRONT;
+ copy_state.to = CSBR_BACK;
+
+ dfb_gfxcard_stretchblit( &sourcerect, &destrect, ©_state );
+
+ /* Signal end of sequence. */
+ dfb_state_stop_drawing( ©_state );
+
+ pthread_mutex_unlock( ©_lock );
+}
+
+void
+dfb_gfx_copy_regions( CoreSurface *source,
+ CoreSurfaceBufferRole from,
+ CoreSurface *destination,
+ CoreSurfaceBufferRole to,
+ const DFBRegion *regions,
+ unsigned int num,
+ int x,
+ int y )
+{
+ unsigned int i, n = 0;
+ DFBRectangle rect = { 0, 0, source->config.size.w, source->config.size.h };
+ DFBRectangle rects[num];
+ DFBPoint points[num];
+
+ for (i=0; i<num; i++) {
+ DFB_REGION_ASSERT( ®ions[i] );
+
+ rects[n] = DFB_RECTANGLE_INIT_FROM_REGION( ®ions[i] );
+
+ if (dfb_rectangle_intersect( &rects[n], &rect )) {
+ points[n].x = x + rects[n].x - rect.x;
+ points[n].y = y + rects[n].y - rect.y;
+
+ n++;
+ }
+ }
+
+ if (n > 0) {
+ pthread_mutex_lock( ©_lock );
+
+ if (!copy_state_inited) {
+ dfb_state_init( ©_state, NULL );
+ copy_state_inited = true;
+ }
+
+ copy_state.modified |= SMF_CLIP | SMF_SOURCE | SMF_DESTINATION;
+
+ copy_state.clip.x2 = destination->config.size.w - 1;
+ copy_state.clip.y2 = destination->config.size.h - 1;
+ copy_state.source = source;
+ copy_state.destination = destination;
+ copy_state.from = from;
+ copy_state.to = to;
+
+ dfb_gfxcard_batchblit( rects, points, n, ©_state );
+
+ /* Signal end of sequence. */
+ dfb_state_stop_drawing( ©_state );
+
+ pthread_mutex_unlock( ©_lock );
+ }
+}
+
static void
back_to_front_copy( CoreSurface *surface, const DFBRegion *region, DFBSurfaceBlittingFlags flags, int rotation)
{
@@ -268,3 +397,21 @@ void dfb_sort_triangle( DFBTriangle *tri )
}
}
+void dfb_sort_trapezoid( DFBTrapezoid *trap )
+{
+ int temp;
+
+ if (trap->y1 > trap->y2) {
+ temp = trap->x1;
+ trap->x1 = trap->x2;
+ trap->x2 = temp;
+
+ temp = trap->y1;
+ trap->y1 = trap->y2;
+ trap->y2 = temp;
+
+ temp = trap->w1;
+ trap->w1 = trap->w2;
+ trap->w2 = temp;
+ }
+}
diff --git a/src/gfx/util.h b/src/gfx/util.h
index 79cbd6d..d2a79a3 100644
--- a/src/gfx/util.h
+++ b/src/gfx/util.h
@@ -33,10 +33,43 @@
void dfb_gfx_copy( CoreSurface *source, CoreSurface *destination, const DFBRectangle *rect );
void dfb_gfx_copy_to( CoreSurface *source, CoreSurface *destination, const DFBRectangle *rect, int x, int y, bool from_back );
+void dfb_gfx_clear( CoreSurface *surface, CoreSurfaceBufferRole role );
+void dfb_gfx_stretch_to( CoreSurface *source, CoreSurface *destination, const DFBRectangle *srect, const DFBRectangle *drect, bool from_back );
void dfb_back_to_front_copy( CoreSurface *surface, const DFBRegion *region );
void dfb_back_to_front_copy_rotation( CoreSurface *surface, const DFBRegion *region, int rotation );
void dfb_clear_depth( CoreSurface *surface, const DFBRegion *region );
void dfb_sort_triangle( DFBTriangle *tri );
+void dfb_sort_trapezoid( DFBTrapezoid *trap );
+
+
+void dfb_gfx_copy_regions( CoreSurface *source,
+ CoreSurfaceBufferRole from,
+ CoreSurface *destination,
+ CoreSurfaceBufferRole to,
+ const DFBRegion *regions,
+ unsigned int num,
+ int x,
+ int y );
+
+/*
+ * Simplyfy blitting flags
+ *
+ * Allow any combination of DSBLIT_ROTATE_ and DSBLIT_FLIP_ flags to be reduced
+ * to a combination of DSBLIT_ROTATE_90, DSBLIT_FLIP_HORIZONTAL and DSBLIT_FLIP_VERTICAL
+ *
+ */
+static inline void dfb_simplify_blittingflags( DFBSurfaceBlittingFlags *flags )
+{
+ if (*flags & DSBLIT_ROTATE180)
+ *flags ^= (DSBLIT_ROTATE180 | DSBLIT_FLIP_HORIZONTAL | DSBLIT_FLIP_VERTICAL);
+
+ if (*flags & DSBLIT_ROTATE270) {
+ if (*flags & DSBLIT_ROTATE90)
+ *flags ^= (DSBLIT_ROTATE90 | DSBLIT_ROTATE270);
+ else
+ *flags ^= (DSBLIT_ROTATE90 | DSBLIT_ROTATE270 | DSBLIT_FLIP_HORIZONTAL | DSBLIT_FLIP_VERTICAL);
+ }
+}
#endif
diff --git a/src/idirectfb.c b/src/idirectfb.c
index f6bfa8e..b99f1d3 100644
--- a/src/idirectfb.c
+++ b/src/idirectfb.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -42,7 +42,16 @@
#include <directfb_version.h>
#include <core/core.h>
-#include <core/coretypes.h>
+
+#include <core/CoreDFB.h>
+#include <core/CoreLayer.h>
+#include <core/CoreLayerContext.h>
+#include <core/CoreLayerRegion.h>
+#include <core/CorePalette.h>
+#include <core/CoreScreen.h>
+#include <core/CoreSurface.h>
+#include <core/CoreWindow.h>
+#include <core/CoreWindowStack.h>
#include <core/clipboard.h>
#include <core/state.h>
@@ -52,10 +61,12 @@
#include <core/layer_control.h>
#include <core/layer_region.h>
#include <core/layers.h>
+#include <core/layers_internal.h>
#include <core/palette.h>
#include <core/screen.h>
#include <core/screens.h>
#include <core/surface.h>
+#include <core/surface_pool.h>
#include <core/system.h>
#include <core/windows.h>
#include <core/windows_internal.h> /* FIXME */
@@ -165,6 +176,95 @@ static void drop_window( IDirectFB_data *data, bool enable_cursor );
/**********************************************************************************************************************/
+/* The containers_XXXX function family will maintain the connections between
+ * event buffers created by IDirectFB::CreateInputEventBuffer and input
+ * devices that are hot-plugged in.
+ */
+
+static DirectLink *containers = NULL;
+static pthread_mutex_t containers_lock = PTHREAD_MUTEX_INITIALIZER;
+
+typedef struct {
+ DirectLink link;
+ DFBInputDeviceCapabilities caps;
+ IDirectFBEventBuffer *iface;
+
+} Event_Buffer_Container;
+
+void
+containers_attach_device(CoreInputDevice *device)
+{
+ Event_Buffer_Container *container;
+ DFBInputDeviceCapabilities dev_caps;
+
+ D_ASSERT( device != NULL );
+
+ dev_caps = dfb_input_device_caps(device);
+
+ pthread_mutex_lock( &containers_lock );
+
+ direct_list_foreach(container, containers) {
+ if (dev_caps & container->caps) {
+ IDirectFBEventBuffer_AttachInputDevice( container->iface, device );
+ }
+ }
+
+ pthread_mutex_unlock( &containers_lock );
+}
+
+void
+containers_detach_device(CoreInputDevice *device)
+{
+ Event_Buffer_Container *container;
+
+ pthread_mutex_lock( &containers_lock );
+
+ direct_list_foreach(container, containers) {
+ IDirectFBEventBuffer_DetachInputDevice(container->iface, device);
+ }
+
+ pthread_mutex_unlock( &containers_lock );
+}
+
+static void
+containers_add_input_eventbuffer(CreateEventBuffer_Context * context)
+{
+ Event_Buffer_Container *container;
+
+ pthread_mutex_lock( &containers_lock );
+
+ container = D_CALLOC(1, sizeof(Event_Buffer_Container));
+ if (!container) {
+ D_OOM();
+ D_ERROR( "Can not allocate memory! in %s\n", __FUNCTION__ );
+ }
+ container->caps = context->caps;
+ container->iface = *context->interface;
+
+ direct_list_append(&containers, &container->link);
+
+ pthread_mutex_unlock( &containers_lock );
+}
+
+void
+containers_remove_input_eventbuffer(IDirectFBEventBuffer *thiz)
+{
+ Event_Buffer_Container *container = NULL;
+
+ pthread_mutex_lock( &containers_lock );
+
+ direct_list_foreach(container, containers) {
+ if (thiz == container->iface) {
+ direct_list_remove(&containers, &container->link);
+ D_FREE(container);
+ }
+ }
+
+ pthread_mutex_unlock( &containers_lock );
+}
+
+/**********************************************************************************************************************/
+
/*
* Destructor
*
@@ -261,11 +361,11 @@ IDirectFB_SetCooperativeLevel( IDirectFB *thiz,
return DFB_ACCESSDENIED;
if (data->level == DFSCL_NORMAL) {
- ret = dfb_layer_create_context( data->layer, &context );
+ ret = CoreLayer_CreateContext( data->layer, &context );
if (ret)
return ret;
- ret = dfb_layer_activate_context( data->layer, context );
+ ret = CoreLayer_ActivateContext( data->layer, context );
if (ret) {
dfb_layer_context_unref( context );
return ret;
@@ -310,14 +410,14 @@ IDirectFB_GetDeviceDescription( IDirectFB *thiz,
ret_desc->drawing_flags = device_info.caps.drawing;
ret_desc->video_memory = dfb_gfxcard_memory_length();
- snprintf( ret_desc->name, DFB_GRAPHICS_DEVICE_DESC_NAME_LENGTH, device_info.name );
- snprintf( ret_desc->vendor, DFB_GRAPHICS_DEVICE_DESC_NAME_LENGTH, device_info.vendor );
+ direct_snputs( ret_desc->name, device_info.name, DFB_GRAPHICS_DEVICE_DESC_NAME_LENGTH );
+ direct_snputs( ret_desc->vendor, device_info.vendor, DFB_GRAPHICS_DEVICE_DESC_NAME_LENGTH );
ret_desc->driver.major = driver_info.version.major;
ret_desc->driver.minor = driver_info.version.minor;
- snprintf( ret_desc->driver.name, DFB_GRAPHICS_DRIVER_INFO_NAME_LENGTH, driver_info.name );
- snprintf( ret_desc->driver.vendor, DFB_GRAPHICS_DRIVER_INFO_VENDOR_LENGTH, driver_info.vendor );
+ direct_snputs( ret_desc->driver.name, driver_info.name, DFB_GRAPHICS_DRIVER_INFO_NAME_LENGTH );
+ direct_snputs( ret_desc->driver.vendor, driver_info.vendor, DFB_GRAPHICS_DRIVER_INFO_VENDOR_LENGTH );
return DFB_OK;
}
@@ -388,7 +488,7 @@ IDirectFB_SetVideoMode( IDirectFB *thiz,
config.height = height;
config.pixelformat = format;
- ret = dfb_layer_context_set_configuration( data->primary.context,
+ ret = CoreLayerContext_SetConfiguration( data->primary.context,
&config );
if (ret)
return ret;
@@ -404,20 +504,24 @@ IDirectFB_SetVideoMode( IDirectFB *thiz,
return DFB_OK;
}
-static void
+static DFBResult
init_palette( CoreSurface *surface, const DFBSurfaceDescription *desc )
{
- int num;
- CorePalette *palette = surface->palette;
+ DFBResult ret;
+ CorePalette *palette;
- if (!palette || !(desc->flags & DSDESC_PALETTE))
- return;
+ if (!(desc->flags & DSDESC_PALETTE))
+ return DFB_OK;
+
+ ret = CoreSurface_GetPalette( surface, &palette );
+ if (ret)
+ return ret;
- num = MIN( desc->palette.size, palette->num_entries );
+ ret = CorePalette_SetEntries( palette, desc->palette.entries, MIN( desc->palette.size, palette->num_entries ), 0 );
- direct_memcpy( palette->entries, desc->palette.entries, num * sizeof(DFBColor));
+ dfb_palette_unref( palette );
- dfb_palette_update( palette, 0, num - 1 );
+ return ret;
}
static DFBResult
@@ -474,9 +578,19 @@ IDirectFB_CreateSurface( IDirectFB *thiz,
return DFB_INVARG;
}
- if (desc->flags & DSDESC_PALETTE)
- if (!desc->palette.entries || !desc->palette.size)
+ if (desc->flags & DSDESC_PALETTE) {
+ D_DEBUG_AT( IDFB, " -> PALETTE\n" );
+
+ if (!desc->palette.entries) {
+ D_DEBUG_AT( IDFB, " -> no entries!\n" );
+ return DFB_INVARG;
+ }
+
+ if (!desc->palette.size) {
+ D_DEBUG_AT( IDFB, " -> no size!\n" );
return DFB_INVARG;
+ }
+ }
if (desc->flags & DSDESC_CAPS) {
D_DEBUG_AT( IDFB, " -> caps 0x%08x\n", desc->caps );
@@ -495,6 +609,7 @@ IDirectFB_CreateSurface( IDirectFB *thiz,
switch (format) {
case DSPF_A1:
+ case DSPF_A1_LSB:
case DSPF_A4:
case DSPF_A8:
case DSPF_ARGB:
@@ -521,6 +636,7 @@ IDirectFB_CreateSurface( IDirectFB *thiz,
case DSPF_UYVY:
case DSPF_YUY2:
case DSPF_YV12:
+ case DSPF_YV16:
case DSPF_NV12:
case DSPF_NV21:
case DSPF_NV16:
@@ -532,12 +648,15 @@ IDirectFB_CreateSurface( IDirectFB *thiz,
break;
default:
+ D_DEBUG_AT( IDFB, " -> invalid pixelformat 0x%08x\n", format );
return DFB_INVARG;
}
if (caps & DSCAPS_PRIMARY) {
- if (desc->flags & DSDESC_PREALLOCATED)
+ if (desc->flags & DSDESC_PREALLOCATED) {
+ D_DEBUG_AT( IDFB, " -> cannot make preallocated primary!\n" );
return DFB_INVARG;
+ }
if (desc->flags & DSDESC_PIXELFORMAT)
format = desc->pixelformat;
@@ -595,8 +714,8 @@ IDirectFB_CreateSurface( IDirectFB *thiz,
ret = IDirectFBSurface_Construct( iface, NULL,
NULL, NULL, NULL, surface, caps, data->core );
if (ret == DFB_OK) {
- dfb_windowstack_set_background_image( data->stack, surface );
- dfb_windowstack_set_background_mode( data->stack, DLBM_IMAGE );
+ CoreWindowStack_BackgroundSetImage( data->stack, surface );
+ CoreWindowStack_BackgroundSetMode( data->stack, DLBM_IMAGE );
}
dfb_surface_unref( surface );
@@ -610,9 +729,6 @@ IDirectFB_CreateSurface( IDirectFB *thiz,
CoreWindow *window;
DFBWindowDescription wd;
- if ((caps & DSCAPS_FLIPPING) == DSCAPS_TRIPLE)
- return DFB_UNSUPPORTED;
-
memset( &wd, 0, sizeof(wd) );
wd.flags = DWDESC_POSX | DWDESC_POSY | DWDESC_WIDTH | DWDESC_HEIGHT |
@@ -630,7 +746,7 @@ IDirectFB_CreateSurface( IDirectFB *thiz,
wd.width = width;
wd.height = height;
wd.pixelformat = format;
- wd.surface_caps = caps & ~DSCAPS_FLIPPING;
+ wd.surface_caps = caps;
switch (format) {
case DSPF_ARGB8565:
@@ -653,7 +769,7 @@ IDirectFB_CreateSurface( IDirectFB *thiz,
if ((caps & DSCAPS_FLIPPING) == DSCAPS_DOUBLE)
wd.caps |= DWCAPS_DOUBLEBUFFER;
- ret = dfb_layer_context_create_window( data->core, data->context, &wd, &window );
+ ret = CoreLayerContext_CreateWindow( data->context, &wd, NULL, NULL, &window );
if (ret)
return ret;
@@ -664,9 +780,10 @@ IDirectFB_CreateSurface( IDirectFB *thiz,
dfb_window_attach( window, focus_listener,
data, &data->primary.reaction );
- dfb_window_change_options( window, DWOP_NONE, DWOP_SCALE );
+ CoreWindow_ChangeOptions( window, DWOP_NONE, DWOP_SCALE );
+
if (dfb_config->scaled.width && dfb_config->scaled.height)
- dfb_window_resize( window, dfb_config->scaled.width,
+ CoreWindow_Resize( window, dfb_config->scaled.width,
dfb_config->scaled.height );
init_palette( window->surface, desc );
@@ -716,13 +833,13 @@ IDirectFB_CreateSurface( IDirectFB *thiz,
config.width = width;
config.height = height;
- ret = dfb_layer_context_set_configuration( context, &config );
+ ret = CoreLayerContext_SetConfiguration( context, &config );
if (ret) {
if (!(caps & (DSCAPS_SYSTEMONLY | DSCAPS_VIDEOONLY)) &&
config.buffermode == DLBM_BACKVIDEO) {
config.buffermode = DLBM_BACKSYSTEM;
- ret = dfb_layer_context_set_configuration( context, &config );
+ ret = CoreLayerContext_SetConfiguration( context, &config );
if (ret)
return ret;
}
@@ -730,12 +847,11 @@ IDirectFB_CreateSurface( IDirectFB *thiz,
return ret;
}
- ret = dfb_layer_context_get_primary_region( context, true,
- ®ion );
+ ret = CoreLayerContext_GetPrimaryRegion( context, true, ®ion );
if (ret)
return ret;
- ret = dfb_layer_region_get_surface( region, &surface );
+ ret = CoreLayerRegion_GetSurface( region, &surface );
if (ret) {
dfb_layer_region_unref( region );
return ret;
@@ -756,10 +872,26 @@ IDirectFB_CreateSurface( IDirectFB *thiz,
init_palette( surface, desc );
- /* Force initial update to unfreeze region as no Flip() may come from application. */
- if (!(caps & DSCAPS_FLIPPING))
- dfb_layer_region_flip_update( region, NULL, DSFLIP_NONE );
-
+ /* Make a single buffered primary display layer visible
+ * since the IDirectFB::GetDisplayLayer automatic flip
+ * defect fix prevents flipping when the region is frozen.
+ */
+ if (config.buffermode != DLBM_BACKVIDEO &&
+ config.buffermode != DLBM_TRIPLE) {
+ /* If a window stack is available, give it the
+ * opportunity to render the background (optionally
+ * based on configuration) and flip the display layer
+ * so it is visible. Otherwise, just directly flip
+ * the display layer and make it visible.
+ */
+ D_ASSERT( region->context );
+ if (region->context->stack) {
+ CoreWindowStack_RepaintAll( region->context->stack );
+ }
+ else {
+ CoreLayerRegion_FlipUpdate( region, NULL, DSFLIP_NONE );
+ }
+ }
DIRECT_ALLOCATE_INTERFACE( iface, IDirectFBSurface );
@@ -781,29 +913,30 @@ IDirectFB_CreateSurface( IDirectFB *thiz,
if ((caps & DSCAPS_FLIPPING) == DSCAPS_FLIPPING)
caps &= ~DSCAPS_TRIPLE;
- if (caps & DSCAPS_TRIPLE)
- return DFB_UNSUPPORTED;
-
if (desc->flags & DSDESC_PREALLOCATED) {
- int min_pitch;
+ int min_pitch;
CoreSurfaceConfig config;
-
- if (caps & DSCAPS_VIDEOONLY)
- return DFB_INVARG;
+ int i, num = 1;
min_pitch = DFB_BYTES_PER_LINE(format, width);
- if (!desc->preallocated[0].data ||
- desc->preallocated[0].pitch < min_pitch)
- {
- return DFB_INVARG;
- }
+ if (caps & DSCAPS_DOUBLE)
+ num = 2;
+ else if (caps & DSCAPS_TRIPLE)
+ num = 3;
- if ((caps & DSCAPS_DOUBLE) &&
- (!desc->preallocated[1].data ||
- desc->preallocated[1].pitch < min_pitch))
- {
- return DFB_INVARG;
+ D_DEBUG_AT( IDFB, " -> %d buffers, min pitch %d\n", num, min_pitch );
+
+ for (i=0; i<num; i++) {
+ if (!desc->preallocated[i].data) {
+ D_DEBUG_AT( IDFB, " -> no data in preallocated [%d]\n", i );
+ return DFB_INVARG;
+ }
+
+ if (desc->preallocated[i].pitch < min_pitch) {
+ D_DEBUG_AT( IDFB, " -> wrong pitch (%d) in preallocated [%d]\n", desc->preallocated[i].pitch, i );
+ return DFB_INVARG;
+ }
}
config.flags = CSCONF_SIZE | CSCONF_FORMAT | CSCONF_CAPS | CSCONF_PREALLOCATED;
@@ -812,13 +945,13 @@ IDirectFB_CreateSurface( IDirectFB *thiz,
config.format = format;
config.caps = caps;
- config.preallocated[0].addr = desc->preallocated[0].data;
- config.preallocated[0].pitch = desc->preallocated[0].pitch;
-
- config.preallocated[1].addr = desc->preallocated[1].data;
- config.preallocated[1].pitch = desc->preallocated[1].pitch;
+ ret = dfb_surface_pools_prealloc( desc, &config );
+ if (ret) {
+ D_DERROR( ret, "IDirectFB::CreateSurface: Preallocation failed!\n" );
+ return ret;
+ }
- ret = dfb_surface_create( data->core, &config, CSTF_PREALLOCATED, resource_id, NULL, &surface );
+ ret = CoreDFB_CreateSurface( data->core, &config, CSTF_PREALLOCATED, resource_id, NULL, &surface );
if (ret)
return ret;
}
@@ -831,7 +964,7 @@ IDirectFB_CreateSurface( IDirectFB *thiz,
config.format = format;
config.caps = caps;
- ret = dfb_surface_create( data->core, &config, CSTF_NONE, resource_id, NULL, &surface );
+ ret = CoreDFB_CreateSurface( data->core, &config, CSTF_NONE, resource_id, NULL, &surface );
if (ret)
return ret;
}
@@ -875,21 +1008,18 @@ IDirectFB_CreatePalette( IDirectFB *thiz,
size = desc->size;
}
- ret = dfb_palette_create( data->core, size, &palette );
+ ret = CoreDFB_CreatePalette( data->core, size, &palette );
if (ret)
return ret;
- if (desc && desc->flags & DPDESC_ENTRIES) {
- direct_memcpy( palette->entries, desc->entries, size * sizeof(DFBColor));
-
- dfb_palette_update( palette, 0, size - 1 );
- }
+ if (desc && desc->flags & DPDESC_ENTRIES)
+ CorePalette_SetEntries( palette, desc->entries, size, 0 );
else
dfb_palette_generate_rgb332_map( palette );
DIRECT_ALLOCATE_INTERFACE( iface, IDirectFBPalette );
- ret = IDirectFBPalette_Construct( iface, palette );
+ ret = IDirectFBPalette_Construct( iface, palette, data->core );
dfb_palette_unref( palette );
@@ -1104,6 +1234,9 @@ IDirectFB_CreateInputEventBuffer( IDirectFB *thiz,
context.caps = caps;
context.interface = &iface;
+ /* Store the context of input event buffer for input device hotplug support. */
+ containers_add_input_eventbuffer(&context);
+
dfb_input_enumerate_devices( CreateEventBuffer_Callback, &context, caps );
*interface = iface;
@@ -1194,9 +1327,9 @@ IDirectFB_CreateFont( IDirectFB *thiz,
IDirectFBFont **interface )
{
DFBResult ret;
- DirectInterfaceFuncs *funcs = NULL;
+ DFBDataBufferDescription dbdesc;
+ IDirectFBDataBuffer *databuffer;
IDirectFBFont *font;
- IDirectFBFont_ProbeContext ctx;
DIRECT_INTERFACE_GET_DATA(IDirectFB)
@@ -1222,24 +1355,24 @@ IDirectFB_CreateFont( IDirectFB *thiz,
return errno2result( errno );
}
- /* Fill out probe context */
- ctx.filename = filename;
+ /* Create a data buffer. */
+ dbdesc.flags = DBDESC_FILE;
+ dbdesc.file = filename;
- /* Find a suitable implemenation */
- ret = DirectGetInterface( &funcs, "IDirectFBFont", NULL, DirectProbeInterface, &ctx );
+ ret = thiz->CreateDataBuffer( thiz, &dbdesc, &databuffer );
if (ret)
return ret;
- DIRECT_ALLOCATE_INTERFACE( font, IDirectFBFont );
+ /* Create (probing) the font. */
+ ret = IDirectFBFont_CreateFromBuffer( databuffer, data->core, desc, &font );
- /* Construct the interface */
- ret = funcs->Construct( font, data->core, filename, desc );
- if (ret)
- return ret;
+ /* We don't need it anymore, font has its own reference. */
+ databuffer->Release( databuffer );
- *interface = font;
+ if (!ret)
+ *interface = font;
- return DFB_OK;
+ return ret;
}
static DFBResult
@@ -1382,9 +1515,7 @@ IDirectFB_WaitIdle( IDirectFB *thiz )
D_DEBUG_AT( IDFB, "%s( %p )\n", __FUNCTION__, thiz );
- dfb_gfxcard_sync();
-
- return DFB_OK;
+ return CoreDFB_WaitIdle( data->core );
}
static DFBResult
@@ -1394,7 +1525,7 @@ IDirectFB_WaitForSync( IDirectFB *thiz )
D_DEBUG_AT( IDFB, "%s( %p )\n", __FUNCTION__, thiz );
- dfb_layer_wait_vsync( data->layer );
+ CoreLayer_WaitVSync( data->layer );
return DFB_OK;
}
@@ -1488,7 +1619,7 @@ LoadBackgroundImage( IDirectFB *dfb,
image_data = (IDirectFBSurface_data*) image->priv;
- dfb_windowstack_set_background_image( stack, image_data->surface );
+ CoreWindowStack_BackgroundSetImage( stack, image_data->surface );
image->Release( image );
}
@@ -1539,8 +1670,9 @@ InitLayers( IDirectFB *dfb,
CoreWindowStack *stack;
CardCapabilities caps;
DFBDisplayLayerConfigFlags fail;
+ DFBColorKey key;
- ret = dfb_layer_get_primary_context( layer, false, &context );
+ ret = CoreLayer_GetPrimaryContext( layer, false, &context );
if (ret) {
D_DERROR( ret, "InitLayers: Could not get context of layer %d!\n", i );
goto error;
@@ -1558,7 +1690,7 @@ InitLayers( IDirectFB *dfb,
conf->config.buffermode = (caps.accel & DFXL_BLIT) ? DLBM_BACKVIDEO : DLBM_BACKSYSTEM;
}
- if (dfb_layer_context_test_configuration( context, &conf->config, &fail )) {
+ if (CoreLayerContext_TestConfiguration( context, &conf->config, &fail )) {
if (fail & (DLCONF_WIDTH | DLCONF_HEIGHT)) {
D_ERROR( "DirectFB/DirectFBCreate: "
"Setting desktop resolution to %dx%d failed!\n"
@@ -1584,7 +1716,7 @@ InitLayers( IDirectFB *dfb,
conf->config.buffermode = DLBM_BACKSYSTEM;
- if (dfb_layer_context_test_configuration( context, &conf->config, &fail )) {
+ if (CoreLayerContext_TestConfiguration( context, &conf->config, &fail )) {
D_ERROR( "DirectFB/DirectFBCreate: "
"Setting system memory desktop back buffer failed!\n"
" -> Using front buffer only mode.\n" );
@@ -1595,7 +1727,7 @@ InitLayers( IDirectFB *dfb,
}
if (conf->config.flags) {
- ret = dfb_layer_context_set_configuration( context, &conf->config );
+ ret = CoreLayerContext_SetConfiguration( context, &conf->config );
if (ret) {
D_DERROR( ret, "InitLayers: Could not set configuration for layer %d!\n", i );
dfb_layer_context_unref( context );
@@ -1606,7 +1738,7 @@ InitLayers( IDirectFB *dfb,
ret = dfb_layer_context_get_configuration( context, &conf->config );
D_ASSERT( ret == DFB_OK );
- ret = dfb_layer_context_get_primary_region( context, true, &data->layers[i].region );
+ ret = CoreLayerContext_GetPrimaryRegion( context, true, &data->layers[i].region );
if (ret) {
D_DERROR( ret, "InitLayers: Could not get primary region of layer %d!\n", i );
dfb_layer_context_unref( context );
@@ -1625,19 +1757,22 @@ InitLayers( IDirectFB *dfb,
InitLayerPalette( data, conf, data->layers[i].surface, &data->layers[i].palette );
if (conf->src_key_index >= 0 && conf->src_key_index < D_ARRAY_SIZE(conf->palette)) {
- dfb_layer_context_set_src_colorkey( context,
- conf->palette[conf->src_key_index].r,
- conf->palette[conf->src_key_index].g,
- conf->palette[conf->src_key_index].b,
- conf->src_key_index );
+ conf->src_key.r = conf->palette[conf->src_key_index].r;
+ conf->src_key.g = conf->palette[conf->src_key_index].g;
+ conf->src_key.b = conf->palette[conf->src_key_index].b;
}
- else
- dfb_layer_context_set_src_colorkey( context, conf->src_key.r, conf->src_key.g, conf->src_key.b, -1 );
+
+ key.r = conf->src_key.r;
+ key.g = conf->src_key.g;
+ key.b = conf->src_key.b;
+ key.index = conf->src_key_index;
+
+ CoreLayerContext_SetSrcColorKey( context, &key );
switch (conf->background.mode) {
case DLBM_COLOR:
- dfb_windowstack_set_background_color( stack, &conf->background.color );
- dfb_windowstack_set_background_color_index( stack, conf->background.color_index );
+ CoreWindowStack_BackgroundSetColor( stack, &conf->background.color );
+ CoreWindowStack_BackgroundSetColorIndex( stack, conf->background.color_index );
break;
case DLBM_IMAGE:
@@ -1649,7 +1784,7 @@ InitLayers( IDirectFB *dfb,
break;
}
- dfb_windowstack_set_background_mode( stack, conf->background.mode );
+ CoreWindowStack_BackgroundSetMode( stack, conf->background.mode );
data->layers[i].context = context;
}
@@ -1706,7 +1841,7 @@ IDirectFB_Construct( IDirectFB *thiz, CoreDFB *core )
data->layer = dfb_layer_at_translated( DLID_PRIMARY );
- ret = dfb_layer_get_primary_context( data->layer, true, &data->context );
+ ret = CoreLayer_GetPrimaryContext( data->layer, true, &data->context );
if (ret) {
D_ERROR( "%s: Could not get default context of primary layer!\n", __FUNCTION__ );
DIRECT_DEALLOCATE_INTERFACE(thiz);
@@ -1918,21 +2053,23 @@ input_filter_local( DFBEvent *evt,
if (!data->primary.focused && !data->app_focus)
return true;
- switch (event->type) {
- case DIET_BUTTONPRESS:
- if (data->primary.window)
- dfb_windowstack_cursor_enable( data->core, data->stack, false );
- break;
- case DIET_KEYPRESS:
- if (data->primary.window)
- dfb_windowstack_cursor_enable( data->core, data->stack,
- (event->key_symbol ==
- DIKS_ESCAPE) ||
- (event->modifiers &
- DIMM_META) );
- break;
- default:
- break;
+ if (dfb_config->cursor_automation) {
+ switch (event->type) {
+ case DIET_BUTTONPRESS:
+ if (data->primary.window)
+ CoreWindowStack_CursorEnable( data->stack, false );
+ break;
+ case DIET_KEYPRESS:
+ if (data->primary.window)
+ CoreWindowStack_CursorEnable( data->stack,
+ (event->key_symbol ==
+ DIKS_ESCAPE) ||
+ (event->modifiers &
+ DIMM_META) );
+ break;
+ default:
+ break;
+ }
}
}
@@ -1967,6 +2104,7 @@ drop_window( IDirectFB_data *data, bool enable_cursor )
data->primary.window = NULL;
data->primary.focused = false;
- dfb_windowstack_cursor_enable( data->core, data->stack, enable_cursor );
+ if (dfb_config->cursor_automation)
+ CoreWindowStack_CursorEnable( data->stack, enable_cursor );
}
diff --git a/src/idirectfb.h b/src/idirectfb.h
index 0d5f4d8..da47cab 100644
--- a/src/idirectfb.h
+++ b/src/idirectfb.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -83,6 +83,13 @@ void IDirectFB_Destruct ( IDirectFB *thiz );
DFBResult IDirectFB_SetAppFocus( IDirectFB *thiz,
DFBBoolean focused );
+/*
+ * Remove the event buffer element from the internally managed linked list of
+ * connections between event buffers created by
+ * IDirectFB::CreateInputEventBuffer and input devices that are hot-plugged in.
+ */
+void containers_remove_input_eventbuffer( IDirectFBEventBuffer *thiz );
+
extern IDirectFB *idirectfb_singleton;
diff --git a/src/input/Makefile.am b/src/input/Makefile.am
index b80f078..ad9e3e7 100644
--- a/src/input/Makefile.am
+++ b/src/input/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/src/input
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -17,6 +18,14 @@ internalinclude_HEADERS = \
noinst_LTLIBRARIES = libdirectfb_input.la
+
+if DIRECTFB_BUILD_PURE_VOODOO
+NON_PURE_VOODOO_SOURCESs =
+else
+NON_PURE_VOODOO_SOURCESs = \
+ idirectfbinputdevice.c
+endif
+
libdirectfb_input_la_SOURCES = \
- idirectfbinputdevice.c \
+ $(NON_PURE_VOODOO_SOURCESs) \
idirectfbinputbuffer.c
diff --git a/src/input/Makefile.in b/src/input/Makefile.in
index 5a1d2aa..f9e4d27 100644
--- a/src/input/Makefile.in
+++ b/src/input/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,39 +47,82 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libdirectfb_input_la_LIBADD =
-am_libdirectfb_input_la_OBJECTS = idirectfbinputdevice.lo \
+am__libdirectfb_input_la_SOURCES_DIST = idirectfbinputdevice.c \
+ idirectfbinputbuffer.c
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@am__objects_1 = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ idirectfbinputdevice.lo
+am_libdirectfb_input_la_OBJECTS = $(am__objects_1) \
idirectfbinputbuffer.lo
libdirectfb_input_la_OBJECTS = $(am_libdirectfb_input_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_input_la_SOURCES)
-DIST_SOURCES = $(libdirectfb_input_la_SOURCES)
+DIST_SOURCES = $(am__libdirectfb_input_la_SOURCES_DIST)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(internalincludedir)"
-internalincludeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(internalinclude_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -101,11 +146,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -119,16 +167,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -149,12 +198,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -165,21 +217,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -187,6 +247,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -200,6 +264,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -207,9 +272,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -256,11 +322,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -271,8 +339,12 @@ internalinclude_HEADERS = \
idirectfbinputbuffer.h
noinst_LTLIBRARIES = libdirectfb_input.la
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@NON_PURE_VOODOO_SOURCESs = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ idirectfbinputdevice.c
+
+ at DIRECTFB_BUILD_PURE_VOODOO_TRUE@NON_PURE_VOODOO_SOURCESs =
libdirectfb_input_la_SOURCES = \
- idirectfbinputdevice.c \
+ $(NON_PURE_VOODOO_SOURCESs) \
idirectfbinputbuffer.c
all: all-am
@@ -283,14 +355,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/input/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/input/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/input/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/input/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -308,6 +380,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@@ -317,8 +390,8 @@ clean-noinstLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_input.la: $(libdirectfb_input_la_OBJECTS) $(libdirectfb_input_la_DEPENDENCIES)
- $(LINK) $(libdirectfb_input_la_OBJECTS) $(libdirectfb_input_la_LIBADD) $(LIBS)
+libdirectfb_input.la: $(libdirectfb_input_la_OBJECTS) $(libdirectfb_input_la_DEPENDENCIES) $(EXTRA_libdirectfb_input_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libdirectfb_input_la_OBJECTS) $(libdirectfb_input_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -330,25 +403,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbinputdevice.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -358,34 +431,35 @@ clean-libtool:
install-internalincludeHEADERS: $(internalinclude_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(internalincludedir)" || $(MKDIR_P) "$(DESTDIR)$(internalincludedir)"
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(internalincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(internalincludedir)/$$f'"; \
- $(internalincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(internalincludedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(internalincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(internalincludedir)" || exit $$?; \
done
uninstall-internalincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(internalincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(internalincludedir)/$$f"; \
- done
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(internalincludedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -393,29 +467,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -436,13 +515,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -463,16 +546,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -494,6 +583,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -502,18 +593,28 @@ install-data-am: install-internalincludeHEADERS
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -552,6 +653,7 @@ uninstall-am: uninstall-internalincludeHEADERS
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-internalincludeHEADERS
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/input/idirectfbinputbuffer.c b/src/input/idirectfbinputbuffer.c
index 3e60448..76f2328 100644
--- a/src/input/idirectfbinputbuffer.c
+++ b/src/input/idirectfbinputbuffer.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -62,6 +62,8 @@
#include <misc/util.h>
+#include <idirectfb.h>
+
#include "idirectfbinputbuffer.h"
@@ -123,11 +125,13 @@ typedef struct {
static void IDirectFBEventBuffer_AddItem( IDirectFBEventBuffer_data *data,
EventBufferItem *item );
+#if !DIRECTFB_BUILD_PURE_VOODOO
static ReactionResult IDirectFBEventBuffer_InputReact( const void *msg_data,
void *ctx );
static ReactionResult IDirectFBEventBuffer_WindowReact( const void *msg_data,
void *ctx );
+#endif
static void *IDirectFBEventBuffer_Feed( DirectThread *thread, void *arg );
@@ -140,13 +144,20 @@ static void
IDirectFBEventBuffer_Destruct( IDirectFBEventBuffer *thiz )
{
IDirectFBEventBuffer_data *data = thiz->priv;
+#if !DIRECTFB_BUILD_PURE_VOODOO
AttachedDevice *device;
AttachedWindow *window;
+#endif
EventBufferItem *item;
DirectLink *n;
D_DEBUG_AT( IDFBEvBuf, "%s( %p )\n", __FUNCTION__, thiz );
+#if !DIRECTFB_BUILD_PURE_VOODOO
+ /* Remove the event buffer from the containers linked list. */
+ containers_remove_input_eventbuffer( thiz );
+#endif
+
pthread_mutex_lock( &data->events_mutex );
if (data->pipe) {
@@ -165,6 +176,7 @@ IDirectFBEventBuffer_Destruct( IDirectFBEventBuffer *thiz )
close( data->pipe_fds[1] );
}
+#if !DIRECTFB_BUILD_PURE_VOODOO
direct_list_foreach_safe (device, n, data->devices) {
dfb_input_detach( device->device, &device->reaction );
@@ -179,6 +191,7 @@ IDirectFBEventBuffer_Destruct( IDirectFBEventBuffer *thiz )
D_FREE( window );
}
+#endif
direct_list_foreach_safe (item, n, data->events)
D_FREE( item );
@@ -198,7 +211,7 @@ IDirectFBEventBuffer_AddRef( IDirectFBEventBuffer *thiz )
data->ref++;
- return DFB_OK;
+ return DR_OK;
}
static DirectResult
@@ -211,7 +224,7 @@ IDirectFBEventBuffer_Release( IDirectFBEventBuffer *thiz )
if (--data->ref == 0)
IDirectFBEventBuffer_Destruct( thiz );
- return DFB_OK;
+ return DR_OK;
}
static DFBResult
@@ -682,6 +695,7 @@ IDirectFBEventBuffer_Construct( IDirectFBEventBuffer *thiz,
/* directfb internals */
+#if !DIRECTFB_BUILD_PURE_VOODOO
DFBResult IDirectFBEventBuffer_AttachInputDevice( IDirectFBEventBuffer *thiz,
CoreInputDevice *device )
{
@@ -792,6 +806,7 @@ DFBResult IDirectFBEventBuffer_DetachWindow( IDirectFBEventBuffer *thiz,
return DFB_OK;
}
+#endif
/* file internals */
@@ -815,6 +830,7 @@ static void IDirectFBEventBuffer_AddItem( IDirectFBEventBuffer_data *data,
pthread_mutex_unlock( &data->events_mutex );
}
+#if !DIRECTFB_BUILD_PURE_VOODOO
static ReactionResult IDirectFBEventBuffer_InputReact( const void *msg_data,
void *ctx )
{
@@ -870,6 +886,7 @@ static ReactionResult IDirectFBEventBuffer_WindowReact( const void *msg_data,
return RS_OK;
}
+#endif
static void *
IDirectFBEventBuffer_Feed( DirectThread *thread, void *arg )
diff --git a/src/input/idirectfbinputdevice.c b/src/input/idirectfbinputdevice.c
index 1a68090..072a90b 100644
--- a/src/input/idirectfbinputdevice.c
+++ b/src/input/idirectfbinputdevice.c
@@ -38,6 +38,8 @@
#include <directfb.h>
+#include <core/CoreInputDevice.h>
+
#include <core/coredefs.h>
#include <core/coretypes.h>
@@ -102,7 +104,7 @@ IDirectFBInputDevice_AddRef( IDirectFBInputDevice *thiz )
data->ref++;
- return DFB_OK;
+ return DR_OK;
}
static DirectResult
@@ -113,7 +115,7 @@ IDirectFBInputDevice_Release( IDirectFBInputDevice *thiz )
if (--data->ref == 0)
IDirectFBInputDevice_Destruct( thiz );
- return DFB_OK;
+ return DR_OK;
}
static DFBResult
@@ -218,7 +220,7 @@ IDirectFBInputDevice_SetKeymapEntry( IDirectFBInputDevice *thiz,
keycode > data->desc.max_keycode)
return DFB_INVARG;
- return dfb_input_device_set_keymap_entry( data->device, keycode, entry );
+ return CoreInputDevice_SetKeymapEntry( data->device, keycode, entry );
}
static DFBResult
@@ -253,12 +255,19 @@ static DFBResult
IDirectFBInputDevice_GetModifiers( IDirectFBInputDevice *thiz,
DFBInputDeviceModifierMask *modifiers )
{
+ DFBResult ret;
+ CoreInputDeviceState state;
+
DIRECT_INTERFACE_GET_DATA(IDirectFBInputDevice)
if (!modifiers)
return DFB_INVARG;
- *modifiers = data->modifiers;
+ ret = dfb_input_device_get_state( data->device, &state );
+ if (ret)
+ return ret;
+
+ *modifiers = state.modifiers_l | state.modifiers_r;
return DFB_OK;
}
@@ -267,12 +276,19 @@ static DFBResult
IDirectFBInputDevice_GetLockState( IDirectFBInputDevice *thiz,
DFBInputDeviceLockState *locks )
{
+ DFBResult ret;
+ CoreInputDeviceState state;
+
DIRECT_INTERFACE_GET_DATA(IDirectFBInputDevice)
if (!locks)
return DFB_INVARG;
- *locks = data->locks;
+ ret = dfb_input_device_get_state( data->device, &state );
+ if (ret)
+ return ret;
+
+ *locks = state.locks;
return DFB_OK;
}
@@ -281,12 +297,19 @@ static DFBResult
IDirectFBInputDevice_GetButtons( IDirectFBInputDevice *thiz,
DFBInputDeviceButtonMask *buttons )
{
+ DFBResult ret;
+ CoreInputDeviceState state;
+
DIRECT_INTERFACE_GET_DATA(IDirectFBInputDevice)
if (!buttons)
return DFB_INVARG;
- *buttons = data->buttonmask;
+ ret = dfb_input_device_get_state( data->device, &state );
+ if (ret)
+ return ret;
+
+ *buttons = state.buttons;
return DFB_OK;
}
@@ -294,14 +317,21 @@ IDirectFBInputDevice_GetButtons( IDirectFBInputDevice *thiz,
static DFBResult
IDirectFBInputDevice_GetButtonState( IDirectFBInputDevice *thiz,
DFBInputDeviceButtonIdentifier button,
- DFBInputDeviceButtonState *state)
+ DFBInputDeviceButtonState *ret_state)
{
+ DFBResult ret;
+ CoreInputDeviceState state;
+
DIRECT_INTERFACE_GET_DATA(IDirectFBInputDevice)
- if (!state || (int)button < DIBI_FIRST || button > DIBI_LAST)
+ ret = dfb_input_device_get_state( data->device, &state );
+ if (ret)
+ return ret;
+
+ if (!ret_state || (int)button < DIBI_FIRST || button > DIBI_LAST)
return DFB_INVARG;
- *state = (data->buttonmask & (1 << button)) ? DIBS_DOWN : DIBS_UP;
+ *ret_state = (state.buttons & (1 << button)) ? DIBS_DOWN : DIBS_UP;
return DFB_OK;
}
diff --git a/src/media/DataBuffer.c b/src/media/DataBuffer.c
new file mode 100644
index 0000000..30ff151
--- /dev/null
+++ b/src/media/DataBuffer.c
@@ -0,0 +1,752 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "DataBuffer.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+D_DEBUG_DOMAIN( DirectFB_DataBuffer, "DirectFB/DataBuffer", "DirectFB DataBuffer" );
+
+/*********************************************************************************************************************/
+
+DFBResult
+DataBuffer_Flush(
+ DataBuffer *obj
+
+)
+{
+ return IDataBuffer_Requestor__Flush( obj );
+}
+
+DFBResult
+DataBuffer_Finish(
+ DataBuffer *obj
+
+)
+{
+ return IDataBuffer_Requestor__Finish( obj );
+}
+
+DFBResult
+DataBuffer_SeekTo(
+ DataBuffer *obj,
+ u64 offset
+)
+{
+ return IDataBuffer_Requestor__SeekTo( obj, offset );
+}
+
+DFBResult
+DataBuffer_GetPosition(
+ DataBuffer *obj,
+ u64 *ret_offset
+)
+{
+ return IDataBuffer_Requestor__GetPosition( obj, ret_offset );
+}
+
+DFBResult
+DataBuffer_GetLength(
+ DataBuffer *obj,
+ u64 *ret_length
+)
+{
+ return IDataBuffer_Requestor__GetLength( obj, ret_length );
+}
+
+DFBResult
+DataBuffer_WaitForData(
+ DataBuffer *obj,
+ u64 length
+)
+{
+ return IDataBuffer_Requestor__WaitForData( obj, length );
+}
+
+DFBResult
+DataBuffer_WaitForDataWithTimeout(
+ DataBuffer *obj,
+ u64 length,
+ u64 timeout_ms
+)
+{
+ return IDataBuffer_Requestor__WaitForDataWithTimeout( obj, length, timeout_ms );
+}
+
+DFBResult
+DataBuffer_GetData(
+ DataBuffer *obj,
+ u32 length,
+ u8 *ret_data,
+ u32 *ret_read
+)
+{
+ return IDataBuffer_Requestor__GetData( obj, length, ret_data, ret_read );
+}
+
+DFBResult
+DataBuffer_PeekData(
+ DataBuffer *obj,
+ u32 length,
+ s64 offset,
+ u8 *ret_data,
+ u32 *ret_read
+)
+{
+ return IDataBuffer_Requestor__PeekData( obj, length, offset, ret_data, ret_read );
+}
+
+DFBResult
+DataBuffer_HasData(
+ DataBuffer *obj
+
+)
+{
+ return IDataBuffer_Requestor__HasData( obj );
+}
+
+DFBResult
+DataBuffer_PutData(
+ DataBuffer *obj,
+ const u8 *data,
+ u32 length
+)
+{
+ return IDataBuffer_Requestor__PutData( obj, data, length );
+}
+
+/*********************************************************************************************************************/
+
+static FusionCallHandlerResult
+DataBuffer_Dispatch( int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *ptr, /* optional call parameter */
+ unsigned int length,
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ IDirectFBDataBuffer *obj = (IDirectFBDataBuffer*) ctx;
+ DataBufferDispatch__Dispatch( obj, caller, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+
+ return FCHR_RETURN;
+}
+
+void DataBuffer_Init_Dispatch(
+ CoreDFB *core,
+ IDirectFBDataBuffer *obj,
+ FusionCall *call
+)
+{
+ fusion_call_init3( call, DataBuffer_Dispatch, obj, core->world );
+}
+
+void DataBuffer_Deinit_Dispatch(
+ FusionCall *call
+)
+{
+ fusion_call_destroy( call );
+}
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+IDataBuffer_Requestor__Flush( DataBuffer *obj
+
+)
+{
+ DFBResult ret;
+ DataBufferFlush *args = (DataBufferFlush*) alloca( sizeof(DataBufferFlush) );
+ DataBufferFlushReturn *return_args = (DataBufferFlushReturn*) alloca( sizeof(DataBufferFlushReturn) );
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "IDataBuffer_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) DataBuffer_Call( obj, FCEF_NONE, _DataBuffer_Flush, args, sizeof(DataBufferFlush), return_args, sizeof(DataBufferFlushReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: DataBuffer_Call( DataBuffer_Flush ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: DataBuffer_Flush failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IDataBuffer_Requestor__Finish( DataBuffer *obj
+
+)
+{
+ DFBResult ret;
+ DataBufferFinish *args = (DataBufferFinish*) alloca( sizeof(DataBufferFinish) );
+ DataBufferFinishReturn *return_args = (DataBufferFinishReturn*) alloca( sizeof(DataBufferFinishReturn) );
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "IDataBuffer_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) DataBuffer_Call( obj, FCEF_NONE, _DataBuffer_Finish, args, sizeof(DataBufferFinish), return_args, sizeof(DataBufferFinishReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: DataBuffer_Call( DataBuffer_Finish ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: DataBuffer_Finish failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IDataBuffer_Requestor__SeekTo( DataBuffer *obj,
+ u64 offset
+)
+{
+ DFBResult ret;
+ DataBufferSeekTo *args = (DataBufferSeekTo*) alloca( sizeof(DataBufferSeekTo) );
+ DataBufferSeekToReturn *return_args = (DataBufferSeekToReturn*) alloca( sizeof(DataBufferSeekToReturn) );
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "IDataBuffer_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->offset = offset;
+
+ ret = (DFBResult) DataBuffer_Call( obj, FCEF_NONE, _DataBuffer_SeekTo, args, sizeof(DataBufferSeekTo), return_args, sizeof(DataBufferSeekToReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: DataBuffer_Call( DataBuffer_SeekTo ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: DataBuffer_SeekTo failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IDataBuffer_Requestor__GetPosition( DataBuffer *obj,
+ u64 *ret_offset
+)
+{
+ DFBResult ret;
+ DataBufferGetPosition *args = (DataBufferGetPosition*) alloca( sizeof(DataBufferGetPosition) );
+ DataBufferGetPositionReturn *return_args = (DataBufferGetPositionReturn*) alloca( sizeof(DataBufferGetPositionReturn) );
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "IDataBuffer_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) DataBuffer_Call( obj, FCEF_NONE, _DataBuffer_GetPosition, args, sizeof(DataBufferGetPosition), return_args, sizeof(DataBufferGetPositionReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: DataBuffer_Call( DataBuffer_GetPosition ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: DataBuffer_GetPosition failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ *ret_offset = return_args->offset;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IDataBuffer_Requestor__GetLength( DataBuffer *obj,
+ u64 *ret_length
+)
+{
+ DFBResult ret;
+ DataBufferGetLength *args = (DataBufferGetLength*) alloca( sizeof(DataBufferGetLength) );
+ DataBufferGetLengthReturn *return_args = (DataBufferGetLengthReturn*) alloca( sizeof(DataBufferGetLengthReturn) );
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "IDataBuffer_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) DataBuffer_Call( obj, FCEF_NONE, _DataBuffer_GetLength, args, sizeof(DataBufferGetLength), return_args, sizeof(DataBufferGetLengthReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: DataBuffer_Call( DataBuffer_GetLength ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: DataBuffer_GetLength failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ *ret_length = return_args->length;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IDataBuffer_Requestor__WaitForData( DataBuffer *obj,
+ u64 length
+)
+{
+ DFBResult ret;
+ DataBufferWaitForData *args = (DataBufferWaitForData*) alloca( sizeof(DataBufferWaitForData) );
+ DataBufferWaitForDataReturn *return_args = (DataBufferWaitForDataReturn*) alloca( sizeof(DataBufferWaitForDataReturn) );
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "IDataBuffer_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->length = length;
+
+ ret = (DFBResult) DataBuffer_Call( obj, FCEF_NONE, _DataBuffer_WaitForData, args, sizeof(DataBufferWaitForData), return_args, sizeof(DataBufferWaitForDataReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: DataBuffer_Call( DataBuffer_WaitForData ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: DataBuffer_WaitForData failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IDataBuffer_Requestor__WaitForDataWithTimeout( DataBuffer *obj,
+ u64 length,
+ u64 timeout_ms
+)
+{
+ DFBResult ret;
+ DataBufferWaitForDataWithTimeout *args = (DataBufferWaitForDataWithTimeout*) alloca( sizeof(DataBufferWaitForDataWithTimeout) );
+ DataBufferWaitForDataWithTimeoutReturn *return_args = (DataBufferWaitForDataWithTimeoutReturn*) alloca( sizeof(DataBufferWaitForDataWithTimeoutReturn) );
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "IDataBuffer_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->length = length;
+ args->timeout_ms = timeout_ms;
+
+ ret = (DFBResult) DataBuffer_Call( obj, FCEF_NONE, _DataBuffer_WaitForDataWithTimeout, args, sizeof(DataBufferWaitForDataWithTimeout), return_args, sizeof(DataBufferWaitForDataWithTimeoutReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: DataBuffer_Call( DataBuffer_WaitForDataWithTimeout ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: DataBuffer_WaitForDataWithTimeout failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IDataBuffer_Requestor__GetData( DataBuffer *obj,
+ u32 length,
+ u8 *ret_data,
+ u32 *ret_read
+)
+{
+ DFBResult ret;
+ DataBufferGetData *args = (DataBufferGetData*) alloca( sizeof(DataBufferGetData) );
+ DataBufferGetDataReturn *return_args = (DataBufferGetDataReturn*) alloca( sizeof(DataBufferGetDataReturn) + length * sizeof(u8) );
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "IDataBuffer_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->length = length;
+
+ ret = (DFBResult) DataBuffer_Call( obj, FCEF_NONE, _DataBuffer_GetData, args, sizeof(DataBufferGetData), return_args, sizeof(DataBufferGetDataReturn) + length * sizeof(u8), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: DataBuffer_Call( DataBuffer_GetData ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: DataBuffer_GetData failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ *ret_read = return_args->read;
+ direct_memcpy( ret_data, (char*) (return_args + 1), return_args->read * sizeof(u8) );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IDataBuffer_Requestor__PeekData( DataBuffer *obj,
+ u32 length,
+ s64 offset,
+ u8 *ret_data,
+ u32 *ret_read
+)
+{
+ DFBResult ret;
+ DataBufferPeekData *args = (DataBufferPeekData*) alloca( sizeof(DataBufferPeekData) );
+ DataBufferPeekDataReturn *return_args = (DataBufferPeekDataReturn*) alloca( sizeof(DataBufferPeekDataReturn) + length * sizeof(u8) );
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "IDataBuffer_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->length = length;
+ args->offset = offset;
+
+ ret = (DFBResult) DataBuffer_Call( obj, FCEF_NONE, _DataBuffer_PeekData, args, sizeof(DataBufferPeekData), return_args, sizeof(DataBufferPeekDataReturn) + length * sizeof(u8), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: DataBuffer_Call( DataBuffer_PeekData ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: DataBuffer_PeekData failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ *ret_read = return_args->read;
+ direct_memcpy( ret_data, (char*) (return_args + 1), return_args->read * sizeof(u8) );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IDataBuffer_Requestor__HasData( DataBuffer *obj
+
+)
+{
+ DFBResult ret;
+ DataBufferHasData *args = (DataBufferHasData*) alloca( sizeof(DataBufferHasData) );
+ DataBufferHasDataReturn *return_args = (DataBufferHasDataReturn*) alloca( sizeof(DataBufferHasDataReturn) );
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "IDataBuffer_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) DataBuffer_Call( obj, FCEF_NONE, _DataBuffer_HasData, args, sizeof(DataBufferHasData), return_args, sizeof(DataBufferHasDataReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: DataBuffer_Call( DataBuffer_HasData ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: DataBuffer_HasData failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IDataBuffer_Requestor__PutData( DataBuffer *obj,
+ const u8 *data,
+ u32 length
+)
+{
+ DFBResult ret;
+ DataBufferPutData *args = (DataBufferPutData*) alloca( sizeof(DataBufferPutData) + length * sizeof(u8) );
+ DataBufferPutDataReturn *return_args = (DataBufferPutDataReturn*) alloca( sizeof(DataBufferPutDataReturn) );
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "IDataBuffer_Requestor::%s()\n", __FUNCTION__ );
+
+
+ args->length = length;
+ direct_memcpy( (char*) (args + 1), data, length * sizeof(u8) );
+
+ ret = (DFBResult) DataBuffer_Call( obj, FCEF_NONE, _DataBuffer_PutData, args, sizeof(DataBufferPutData) + length * sizeof(u8), return_args, sizeof(DataBufferPutDataReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: DataBuffer_Call( DataBuffer_PutData ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: DataBuffer_PutData failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+/*********************************************************************************************************************/
+
+static DFBResult
+__DataBufferDispatch__Dispatch( IDirectFBDataBuffer *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_UNUSED
+ DFBResult ret;
+
+
+ switch (method) {
+ case _DataBuffer_Flush: {
+ D_UNUSED
+ DataBufferFlush *args = (DataBufferFlush *) ptr;
+ DataBufferFlushReturn *return_args = (DataBufferFlushReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "=-> DataBuffer_Flush\n" );
+
+ return_args->result = IDataBuffer_Real__Flush( obj );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(DataBufferFlushReturn);
+
+ return DFB_OK;
+ }
+
+ case _DataBuffer_Finish: {
+ D_UNUSED
+ DataBufferFinish *args = (DataBufferFinish *) ptr;
+ DataBufferFinishReturn *return_args = (DataBufferFinishReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "=-> DataBuffer_Finish\n" );
+
+ return_args->result = IDataBuffer_Real__Finish( obj );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(DataBufferFinishReturn);
+
+ return DFB_OK;
+ }
+
+ case _DataBuffer_SeekTo: {
+ D_UNUSED
+ DataBufferSeekTo *args = (DataBufferSeekTo *) ptr;
+ DataBufferSeekToReturn *return_args = (DataBufferSeekToReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "=-> DataBuffer_SeekTo\n" );
+
+ return_args->result = IDataBuffer_Real__SeekTo( obj, args->offset );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(DataBufferSeekToReturn);
+
+ return DFB_OK;
+ }
+
+ case _DataBuffer_GetPosition: {
+ D_UNUSED
+ DataBufferGetPosition *args = (DataBufferGetPosition *) ptr;
+ DataBufferGetPositionReturn *return_args = (DataBufferGetPositionReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "=-> DataBuffer_GetPosition\n" );
+
+ return_args->result = IDataBuffer_Real__GetPosition( obj, &return_args->offset );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(DataBufferGetPositionReturn);
+
+ return DFB_OK;
+ }
+
+ case _DataBuffer_GetLength: {
+ D_UNUSED
+ DataBufferGetLength *args = (DataBufferGetLength *) ptr;
+ DataBufferGetLengthReturn *return_args = (DataBufferGetLengthReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "=-> DataBuffer_GetLength\n" );
+
+ return_args->result = IDataBuffer_Real__GetLength( obj, &return_args->length );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(DataBufferGetLengthReturn);
+
+ return DFB_OK;
+ }
+
+ case _DataBuffer_WaitForData: {
+ D_UNUSED
+ DataBufferWaitForData *args = (DataBufferWaitForData *) ptr;
+ DataBufferWaitForDataReturn *return_args = (DataBufferWaitForDataReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "=-> DataBuffer_WaitForData\n" );
+
+ return_args->result = IDataBuffer_Real__WaitForData( obj, args->length );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(DataBufferWaitForDataReturn);
+
+ return DFB_OK;
+ }
+
+ case _DataBuffer_WaitForDataWithTimeout: {
+ D_UNUSED
+ DataBufferWaitForDataWithTimeout *args = (DataBufferWaitForDataWithTimeout *) ptr;
+ DataBufferWaitForDataWithTimeoutReturn *return_args = (DataBufferWaitForDataWithTimeoutReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "=-> DataBuffer_WaitForDataWithTimeout\n" );
+
+ return_args->result = IDataBuffer_Real__WaitForDataWithTimeout( obj, args->length, args->timeout_ms );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(DataBufferWaitForDataWithTimeoutReturn);
+
+ return DFB_OK;
+ }
+
+ case _DataBuffer_GetData: {
+ D_UNUSED
+ DataBufferGetData *args = (DataBufferGetData *) ptr;
+ DataBufferGetDataReturn *return_args = (DataBufferGetDataReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "=-> DataBuffer_GetData\n" );
+
+ return_args->result = IDataBuffer_Real__GetData( obj, args->length, (u8*) ((char*)(return_args + 1)), &return_args->read );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(DataBufferGetDataReturn) + return_args->read * sizeof(u8);
+
+ return DFB_OK;
+ }
+
+ case _DataBuffer_PeekData: {
+ D_UNUSED
+ DataBufferPeekData *args = (DataBufferPeekData *) ptr;
+ DataBufferPeekDataReturn *return_args = (DataBufferPeekDataReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "=-> DataBuffer_PeekData\n" );
+
+ return_args->result = IDataBuffer_Real__PeekData( obj, args->length, args->offset, (u8*) ((char*)(return_args + 1)), &return_args->read );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(DataBufferPeekDataReturn) + return_args->read * sizeof(u8);
+
+ return DFB_OK;
+ }
+
+ case _DataBuffer_HasData: {
+ D_UNUSED
+ DataBufferHasData *args = (DataBufferHasData *) ptr;
+ DataBufferHasDataReturn *return_args = (DataBufferHasDataReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "=-> DataBuffer_HasData\n" );
+
+ return_args->result = IDataBuffer_Real__HasData( obj );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(DataBufferHasDataReturn);
+
+ return DFB_OK;
+ }
+
+ case _DataBuffer_PutData: {
+ D_UNUSED
+ DataBufferPutData *args = (DataBufferPutData *) ptr;
+ DataBufferPutDataReturn *return_args = (DataBufferPutDataReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "=-> DataBuffer_PutData\n" );
+
+ return_args->result = IDataBuffer_Real__PutData( obj, (u8*) ((char*)(args + 1)), args->length );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(DataBufferPutDataReturn);
+
+ return DFB_OK;
+ }
+
+ }
+
+ return DFB_NOSUCHMETHOD;
+}
+/*********************************************************************************************************************/
+
+DFBResult
+DataBufferDispatch__Dispatch( IDirectFBDataBuffer *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_DataBuffer, "DataBufferDispatch::%s( %p )\n", __FUNCTION__, obj );
+
+ Core_PushIdentity( caller );
+
+ ret = __DataBufferDispatch__Dispatch( obj, caller, method, ptr, length, ret_ptr, ret_size, ret_length );
+
+ Core_PopIdentity();
+
+ return ret;
+}
diff --git a/src/media/DataBuffer.h b/src/media/DataBuffer.h
new file mode 100644
index 0000000..7803518
--- /dev/null
+++ b/src/media/DataBuffer.h
@@ -0,0 +1,359 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef ___DataBuffer__H___
+#define ___DataBuffer__H___
+
+#include "DataBuffer_includes.h"
+
+/**********************************************************************************************************************
+ * DataBuffer
+ */
+
+#ifdef __cplusplus
+#include <core/Interface.h>
+
+extern "C" {
+#endif
+
+
+DFBResult DataBuffer_Flush(
+ DataBuffer *obj
+);
+
+DFBResult DataBuffer_Finish(
+ DataBuffer *obj
+);
+
+DFBResult DataBuffer_SeekTo(
+ DataBuffer *obj,
+ u64 offset);
+
+DFBResult DataBuffer_GetPosition(
+ DataBuffer *obj,
+ u64 *ret_offset);
+
+DFBResult DataBuffer_GetLength(
+ DataBuffer *obj,
+ u64 *ret_length);
+
+DFBResult DataBuffer_WaitForData(
+ DataBuffer *obj,
+ u64 length);
+
+DFBResult DataBuffer_WaitForDataWithTimeout(
+ DataBuffer *obj,
+ u64 length,
+ u64 timeout_ms);
+
+DFBResult DataBuffer_GetData(
+ DataBuffer *obj,
+ u32 length,
+ u8 *ret_data,
+ u32 *ret_read);
+
+DFBResult DataBuffer_PeekData(
+ DataBuffer *obj,
+ u32 length,
+ s64 offset,
+ u8 *ret_data,
+ u32 *ret_read);
+
+DFBResult DataBuffer_HasData(
+ DataBuffer *obj
+);
+
+DFBResult DataBuffer_PutData(
+ DataBuffer *obj,
+ const u8 *data,
+ u32 length);
+
+
+void DataBuffer_Init_Dispatch(
+ CoreDFB *core,
+ IDirectFBDataBuffer *obj,
+ FusionCall *call
+);
+
+void DataBuffer_Deinit_Dispatch(
+ FusionCall *call
+);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+/*
+ * DataBuffer Calls
+ */
+typedef enum {
+ _DataBuffer_Flush = 1,
+ _DataBuffer_Finish = 2,
+ _DataBuffer_SeekTo = 3,
+ _DataBuffer_GetPosition = 4,
+ _DataBuffer_GetLength = 5,
+ _DataBuffer_WaitForData = 6,
+ _DataBuffer_WaitForDataWithTimeout = 7,
+ _DataBuffer_GetData = 8,
+ _DataBuffer_PeekData = 9,
+ _DataBuffer_HasData = 10,
+ _DataBuffer_PutData = 11,
+} DataBufferCall;
+
+/*
+ * DataBuffer_Flush
+ */
+typedef struct {
+} DataBufferFlush;
+
+typedef struct {
+ DFBResult result;
+} DataBufferFlushReturn;
+
+
+/*
+ * DataBuffer_Finish
+ */
+typedef struct {
+} DataBufferFinish;
+
+typedef struct {
+ DFBResult result;
+} DataBufferFinishReturn;
+
+
+/*
+ * DataBuffer_SeekTo
+ */
+typedef struct {
+ u64 offset;
+} DataBufferSeekTo;
+
+typedef struct {
+ DFBResult result;
+} DataBufferSeekToReturn;
+
+
+/*
+ * DataBuffer_GetPosition
+ */
+typedef struct {
+} DataBufferGetPosition;
+
+typedef struct {
+ DFBResult result;
+ u64 offset;
+} DataBufferGetPositionReturn;
+
+
+/*
+ * DataBuffer_GetLength
+ */
+typedef struct {
+} DataBufferGetLength;
+
+typedef struct {
+ DFBResult result;
+ u64 length;
+} DataBufferGetLengthReturn;
+
+
+/*
+ * DataBuffer_WaitForData
+ */
+typedef struct {
+ u64 length;
+} DataBufferWaitForData;
+
+typedef struct {
+ DFBResult result;
+} DataBufferWaitForDataReturn;
+
+
+/*
+ * DataBuffer_WaitForDataWithTimeout
+ */
+typedef struct {
+ u64 length;
+ u64 timeout_ms;
+} DataBufferWaitForDataWithTimeout;
+
+typedef struct {
+ DFBResult result;
+} DataBufferWaitForDataWithTimeoutReturn;
+
+
+/*
+ * DataBuffer_GetData
+ */
+typedef struct {
+ u32 length;
+} DataBufferGetData;
+
+typedef struct {
+ DFBResult result;
+ u32 read;
+ /* 'read' u8 follow (data) */
+} DataBufferGetDataReturn;
+
+
+/*
+ * DataBuffer_PeekData
+ */
+typedef struct {
+ u32 length;
+ s64 offset;
+} DataBufferPeekData;
+
+typedef struct {
+ DFBResult result;
+ u32 read;
+ /* 'read' u8 follow (data) */
+} DataBufferPeekDataReturn;
+
+
+/*
+ * DataBuffer_HasData
+ */
+typedef struct {
+} DataBufferHasData;
+
+typedef struct {
+ DFBResult result;
+} DataBufferHasDataReturn;
+
+
+/*
+ * DataBuffer_PutData
+ */
+typedef struct {
+ u32 length;
+ /* 'length' u8 follow (data) */
+} DataBufferPutData;
+
+typedef struct {
+ DFBResult result;
+} DataBufferPutDataReturn;
+
+
+DFBResult IDataBuffer_Real__Flush( IDirectFBDataBuffer *obj
+ );
+
+DFBResult IDataBuffer_Real__Finish( IDirectFBDataBuffer *obj
+ );
+
+DFBResult IDataBuffer_Real__SeekTo( IDirectFBDataBuffer *obj,
+ u64 offset );
+
+DFBResult IDataBuffer_Real__GetPosition( IDirectFBDataBuffer *obj,
+ u64 *ret_offset );
+
+DFBResult IDataBuffer_Real__GetLength( IDirectFBDataBuffer *obj,
+ u64 *ret_length );
+
+DFBResult IDataBuffer_Real__WaitForData( IDirectFBDataBuffer *obj,
+ u64 length );
+
+DFBResult IDataBuffer_Real__WaitForDataWithTimeout( IDirectFBDataBuffer *obj,
+ u64 length,
+ u64 timeout_ms );
+
+DFBResult IDataBuffer_Real__GetData( IDirectFBDataBuffer *obj,
+ u32 length,
+ u8 *ret_data,
+ u32 *ret_read );
+
+DFBResult IDataBuffer_Real__PeekData( IDirectFBDataBuffer *obj,
+ u32 length,
+ s64 offset,
+ u8 *ret_data,
+ u32 *ret_read );
+
+DFBResult IDataBuffer_Real__HasData( IDirectFBDataBuffer *obj
+ );
+
+DFBResult IDataBuffer_Real__PutData( IDirectFBDataBuffer *obj,
+ const u8 *data,
+ u32 length );
+
+DFBResult IDataBuffer_Requestor__Flush( DataBuffer *obj
+ );
+
+DFBResult IDataBuffer_Requestor__Finish( DataBuffer *obj
+ );
+
+DFBResult IDataBuffer_Requestor__SeekTo( DataBuffer *obj,
+ u64 offset );
+
+DFBResult IDataBuffer_Requestor__GetPosition( DataBuffer *obj,
+ u64 *ret_offset );
+
+DFBResult IDataBuffer_Requestor__GetLength( DataBuffer *obj,
+ u64 *ret_length );
+
+DFBResult IDataBuffer_Requestor__WaitForData( DataBuffer *obj,
+ u64 length );
+
+DFBResult IDataBuffer_Requestor__WaitForDataWithTimeout( DataBuffer *obj,
+ u64 length,
+ u64 timeout_ms );
+
+DFBResult IDataBuffer_Requestor__GetData( DataBuffer *obj,
+ u32 length,
+ u8 *ret_data,
+ u32 *ret_read );
+
+DFBResult IDataBuffer_Requestor__PeekData( DataBuffer *obj,
+ u32 length,
+ s64 offset,
+ u8 *ret_data,
+ u32 *ret_read );
+
+DFBResult IDataBuffer_Requestor__HasData( DataBuffer *obj
+ );
+
+DFBResult IDataBuffer_Requestor__PutData( DataBuffer *obj,
+ const u8 *data,
+ u32 length );
+
+
+DFBResult DataBufferDispatch__Dispatch( IDirectFBDataBuffer *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
+
+#endif
diff --git a/src/media/DataBuffer_includes.h b/src/media/DataBuffer_includes.h
new file mode 100644
index 0000000..50b1cad
--- /dev/null
+++ b/src/media/DataBuffer_includes.h
@@ -0,0 +1,41 @@
+#ifndef __DataBuffer_includes_h__
+#define __DataBuffer_includes_h__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include <core/coretypes.h>
+
+#include <fusion/types.h>
+#include <fusion/lock.h>
+#include <fusion/object.h>
+
+#include <directfb.h>
+
+typedef struct {
+ FusionCall call;
+} DataBuffer;
+
+static __inline__ DirectResult
+DataBuffer_Call( DataBuffer *buffer,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ return fusion_call_execute3( &buffer->call, flags, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+}
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif
+
diff --git a/src/media/DataBuffer_real.c b/src/media/DataBuffer_real.c
new file mode 100644
index 0000000..c61fbeb
--- /dev/null
+++ b/src/media/DataBuffer_real.c
@@ -0,0 +1,167 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "DataBuffer.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+D_DEBUG_DOMAIN( DirectFB_DataBuffer, "DirectFB/DataBuffer", "DirectFB DataBuffer" );
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+IDataBuffer_Real__Flush( IDirectFBDataBuffer *obj
+
+)
+{
+ return obj->Flush( obj );
+}
+
+
+DFBResult
+IDataBuffer_Real__Finish( IDirectFBDataBuffer *obj
+
+)
+{
+ return obj->Finish( obj );
+}
+
+
+DFBResult
+IDataBuffer_Real__SeekTo( IDirectFBDataBuffer *obj,
+ u64 offset
+)
+{
+ return obj->SeekTo( obj, offset );
+}
+
+
+DFBResult
+IDataBuffer_Real__GetPosition( IDirectFBDataBuffer *obj,
+ u64 *ret_offset
+)
+{
+ DFBResult ret;
+ unsigned int offset;
+
+ ret = obj->GetPosition( obj, &offset );
+ if (ret == DFB_OK)
+ *ret_offset = offset;
+
+ return ret;
+}
+
+
+DFBResult
+IDataBuffer_Real__GetLength( IDirectFBDataBuffer *obj,
+ u64 *ret_length
+)
+{
+ DFBResult ret;
+ unsigned int length;
+
+ ret = obj->GetLength( obj, &length );
+ if (ret == DFB_OK)
+ *ret_length = length;
+
+ return ret;
+}
+
+
+DFBResult
+IDataBuffer_Real__WaitForData( IDirectFBDataBuffer *obj,
+ u64 length
+)
+{
+ return obj->WaitForData( obj, length );
+}
+
+
+DFBResult
+IDataBuffer_Real__WaitForDataWithTimeout( IDirectFBDataBuffer *obj,
+ u64 length,
+ u64 timeout_ms
+)
+{
+ return obj->WaitForDataWithTimeout( obj, length, timeout_ms / 1000ULL, timeout_ms % 1000ULL );
+}
+
+
+DFBResult
+IDataBuffer_Real__GetData( IDirectFBDataBuffer *obj,
+ u32 length,
+ u8 *ret_data,
+ u32 *ret_read
+)
+{
+ return obj->GetData( obj, length, ret_data, ret_read );
+}
+
+
+DFBResult
+IDataBuffer_Real__PeekData( IDirectFBDataBuffer *obj,
+ u32 length,
+ s64 offset,
+ u8 *ret_data,
+ u32 *ret_read
+)
+{
+ return obj->PeekData( obj, length, offset, ret_data, ret_read );
+}
+
+
+DFBResult
+IDataBuffer_Real__HasData( IDirectFBDataBuffer *obj
+
+)
+{
+ return obj->HasData( obj );
+}
+
+
+DFBResult
+IDataBuffer_Real__PutData( IDirectFBDataBuffer *obj,
+ const u8 *data,
+ u32 length
+)
+{
+ return obj->PutData( obj, data, length );
+}
+
diff --git a/src/media/ImageProvider.c b/src/media/ImageProvider.c
new file mode 100644
index 0000000..2b73e50
--- /dev/null
+++ b/src/media/ImageProvider.c
@@ -0,0 +1,370 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "ImageProvider.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+D_DEBUG_DOMAIN( DirectFB_ImageProvider, "DirectFB/ImageProvider", "DirectFB ImageProvider" );
+
+/*********************************************************************************************************************/
+
+DFBResult
+ImageProvider_Dispose(
+ ImageProvider *obj
+
+)
+{
+ return IImageProvider_Requestor__Dispose( obj );
+}
+
+DFBResult
+ImageProvider_GetSurfaceDescription(
+ ImageProvider *obj,
+ DFBSurfaceDescription *ret_description
+)
+{
+ return IImageProvider_Requestor__GetSurfaceDescription( obj, ret_description );
+}
+
+DFBResult
+ImageProvider_GetImageDescription(
+ ImageProvider *obj,
+ DFBImageDescription *ret_description
+)
+{
+ return IImageProvider_Requestor__GetImageDescription( obj, ret_description );
+}
+
+DFBResult
+ImageProvider_RenderTo(
+ ImageProvider *obj,
+ CoreSurface *destination,
+ const DFBRectangle *rect
+)
+{
+ return IImageProvider_Requestor__RenderTo( obj, destination, rect );
+}
+
+/*********************************************************************************************************************/
+
+static FusionCallHandlerResult
+ImageProvider_Dispatch( int caller, /* fusion id of the caller */
+ int call_arg, /* optional call parameter */
+ void *ptr, /* optional call parameter */
+ unsigned int length,
+ void *ctx, /* optional handler context */
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ ImageProviderDispatch *obj = (ImageProviderDispatch*) ctx;
+ ImageProviderDispatch__Dispatch( obj, caller, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+
+ return FCHR_RETURN;
+}
+
+void ImageProvider_Init_Dispatch(
+ CoreDFB *core,
+ ImageProviderDispatch *obj,
+ FusionCall *call
+)
+{
+ fusion_call_init3( call, ImageProvider_Dispatch, obj, core->world );
+}
+
+void ImageProvider_Deinit_Dispatch(
+ FusionCall *call
+)
+{
+ fusion_call_destroy( call );
+}
+
+/*********************************************************************************************************************/
+
+
+DFBResult
+IImageProvider_Requestor__Dispose( ImageProvider *obj
+
+)
+{
+ DFBResult ret;
+ ImageProviderDispose *args = (ImageProviderDispose*) alloca( sizeof(ImageProviderDispose) );
+ ImageProviderDisposeReturn *return_args = (ImageProviderDisposeReturn*) alloca( sizeof(ImageProviderDisposeReturn) );
+
+ D_DEBUG_AT( DirectFB_ImageProvider, "IImageProvider_Requestor::%s()\n", __FUNCTION__ );
+
+
+
+ ret = (DFBResult) ImageProvider_Call( obj, FCEF_NONE, _ImageProvider_Dispose, args, sizeof(ImageProviderDispose), return_args, sizeof(ImageProviderDisposeReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: ImageProvider_Call( ImageProvider_Dispose ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: ImageProvider_Dispose failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IImageProvider_Requestor__GetSurfaceDescription( ImageProvider *obj,
+ DFBSurfaceDescription *ret_description
+)
+{
+ DFBResult ret;
+ ImageProviderGetSurfaceDescription *args = (ImageProviderGetSurfaceDescription*) alloca( sizeof(ImageProviderGetSurfaceDescription) );
+ ImageProviderGetSurfaceDescriptionReturn *return_args = (ImageProviderGetSurfaceDescriptionReturn*) alloca( sizeof(ImageProviderGetSurfaceDescriptionReturn) );
+
+ D_DEBUG_AT( DirectFB_ImageProvider, "IImageProvider_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_description != NULL );
+
+
+ ret = (DFBResult) ImageProvider_Call( obj, FCEF_NONE, _ImageProvider_GetSurfaceDescription, args, sizeof(ImageProviderGetSurfaceDescription), return_args, sizeof(ImageProviderGetSurfaceDescriptionReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: ImageProvider_Call( ImageProvider_GetSurfaceDescription ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: ImageProvider_GetSurfaceDescription failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ *ret_description = return_args->description;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IImageProvider_Requestor__GetImageDescription( ImageProvider *obj,
+ DFBImageDescription *ret_description
+)
+{
+ DFBResult ret;
+ ImageProviderGetImageDescription *args = (ImageProviderGetImageDescription*) alloca( sizeof(ImageProviderGetImageDescription) );
+ ImageProviderGetImageDescriptionReturn *return_args = (ImageProviderGetImageDescriptionReturn*) alloca( sizeof(ImageProviderGetImageDescriptionReturn) );
+
+ D_DEBUG_AT( DirectFB_ImageProvider, "IImageProvider_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_description != NULL );
+
+
+ ret = (DFBResult) ImageProvider_Call( obj, FCEF_NONE, _ImageProvider_GetImageDescription, args, sizeof(ImageProviderGetImageDescription), return_args, sizeof(ImageProviderGetImageDescriptionReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: ImageProvider_Call( ImageProvider_GetImageDescription ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: ImageProvider_GetImageDescription failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+ *ret_description = return_args->description;
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IImageProvider_Requestor__RenderTo( ImageProvider *obj,
+ CoreSurface *destination,
+ const DFBRectangle *rect
+)
+{
+ DFBResult ret;
+ ImageProviderRenderTo *args = (ImageProviderRenderTo*) alloca( sizeof(ImageProviderRenderTo) );
+ ImageProviderRenderToReturn *return_args = (ImageProviderRenderToReturn*) alloca( sizeof(ImageProviderRenderToReturn) );
+
+ D_DEBUG_AT( DirectFB_ImageProvider, "IImageProvider_Requestor::%s()\n", __FUNCTION__ );
+
+ D_ASSERT( destination != NULL );
+
+ args->destination_id = CoreSurface_GetID( destination );
+ if (rect) {
+ args->rect = *rect;
+ args->rect_set = true;
+ }
+ else
+ args->rect_set = false;
+
+ ret = (DFBResult) ImageProvider_Call( obj, FCEF_NONE, _ImageProvider_RenderTo, args, sizeof(ImageProviderRenderTo), return_args, sizeof(ImageProviderRenderToReturn), NULL );
+ if (ret) {
+ D_DERROR( ret, "%s: ImageProvider_Call( ImageProvider_RenderTo ) failed!\n", __FUNCTION__ );
+ return ret;
+ }
+
+ if (return_args->result) {
+ /*D_DERROR( return_args->result, "%s: ImageProvider_RenderTo failed!\n", __FUNCTION__ );*/
+ return return_args->result;
+ }
+
+
+ return DFB_OK;
+}
+
+/*********************************************************************************************************************/
+
+static DFBResult
+__ImageProviderDispatch__Dispatch( ImageProviderDispatch *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ D_UNUSED
+ DFBResult ret;
+
+
+ switch (method) {
+ case _ImageProvider_Dispose: {
+ D_UNUSED
+ ImageProviderDispose *args = (ImageProviderDispose *) ptr;
+ ImageProviderDisposeReturn *return_args = (ImageProviderDisposeReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_ImageProvider, "=-> ImageProvider_Dispose\n" );
+
+ return_args->result = IImageProvider_Real__Dispose( obj );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(ImageProviderDisposeReturn);
+
+ return DFB_OK;
+ }
+
+ case _ImageProvider_GetSurfaceDescription: {
+ D_UNUSED
+ ImageProviderGetSurfaceDescription *args = (ImageProviderGetSurfaceDescription *) ptr;
+ ImageProviderGetSurfaceDescriptionReturn *return_args = (ImageProviderGetSurfaceDescriptionReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_ImageProvider, "=-> ImageProvider_GetSurfaceDescription\n" );
+
+ return_args->result = IImageProvider_Real__GetSurfaceDescription( obj, &return_args->description );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(ImageProviderGetSurfaceDescriptionReturn);
+
+ return DFB_OK;
+ }
+
+ case _ImageProvider_GetImageDescription: {
+ D_UNUSED
+ ImageProviderGetImageDescription *args = (ImageProviderGetImageDescription *) ptr;
+ ImageProviderGetImageDescriptionReturn *return_args = (ImageProviderGetImageDescriptionReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_ImageProvider, "=-> ImageProvider_GetImageDescription\n" );
+
+ return_args->result = IImageProvider_Real__GetImageDescription( obj, &return_args->description );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(ImageProviderGetImageDescriptionReturn);
+
+ return DFB_OK;
+ }
+
+ case _ImageProvider_RenderTo: {
+ CoreSurface *destination = NULL;
+ D_UNUSED
+ ImageProviderRenderTo *args = (ImageProviderRenderTo *) ptr;
+ ImageProviderRenderToReturn *return_args = (ImageProviderRenderToReturn *) ret_ptr;
+
+ D_DEBUG_AT( DirectFB_ImageProvider, "=-> ImageProvider_RenderTo\n" );
+
+ ret = (DFBResult) CoreSurface_Lookup( core_dfb, args->destination_id, caller, &destination );
+ if (ret) {
+ D_DERROR( ret, "%s: Looking up destination by ID %u failed!\n", __FUNCTION__, args->destination_id );
+ return_args->result = ret;
+ return DFB_OK;
+ }
+
+ return_args->result = IImageProvider_Real__RenderTo( obj, destination, args->rect_set ? &args->rect : NULL );
+ if (return_args->result == DFB_OK) {
+ }
+
+ *ret_length = sizeof(ImageProviderRenderToReturn);
+
+ if (destination)
+ CoreSurface_Unref( destination );
+
+ return DFB_OK;
+ }
+
+ }
+
+ return DFB_NOSUCHMETHOD;
+}
+/*********************************************************************************************************************/
+
+DFBResult
+ImageProviderDispatch__Dispatch( ImageProviderDispatch *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ DFBResult ret;
+
+ D_DEBUG_AT( DirectFB_ImageProvider, "ImageProviderDispatch::%s( %p )\n", __FUNCTION__, obj );
+
+ Core_PushIdentity( caller );
+
+ ret = __ImageProviderDispatch__Dispatch( obj, caller, method, ptr, length, ret_ptr, ret_size, ret_length );
+
+ Core_PopIdentity();
+
+ return ret;
+}
diff --git a/src/media/ImageProvider.h b/src/media/ImageProvider.h
new file mode 100644
index 0000000..6dc94ce
--- /dev/null
+++ b/src/media/ImageProvider.h
@@ -0,0 +1,177 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef ___ImageProvider__H___
+#define ___ImageProvider__H___
+
+#include "ImageProvider_includes.h"
+
+/**********************************************************************************************************************
+ * ImageProvider
+ */
+
+#ifdef __cplusplus
+#include <core/Interface.h>
+
+extern "C" {
+#endif
+
+
+DFBResult ImageProvider_Dispose(
+ ImageProvider *obj
+);
+
+DFBResult ImageProvider_GetSurfaceDescription(
+ ImageProvider *obj,
+ DFBSurfaceDescription *ret_description);
+
+DFBResult ImageProvider_GetImageDescription(
+ ImageProvider *obj,
+ DFBImageDescription *ret_description);
+
+DFBResult ImageProvider_RenderTo(
+ ImageProvider *obj,
+ CoreSurface *destination,
+ const DFBRectangle *rect);
+
+
+void ImageProvider_Init_Dispatch(
+ CoreDFB *core,
+ ImageProviderDispatch *obj,
+ FusionCall *call
+);
+
+void ImageProvider_Deinit_Dispatch(
+ FusionCall *call
+);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+/*
+ * ImageProvider Calls
+ */
+typedef enum {
+ _ImageProvider_Dispose = 1,
+ _ImageProvider_GetSurfaceDescription = 2,
+ _ImageProvider_GetImageDescription = 3,
+ _ImageProvider_RenderTo = 4,
+} ImageProviderCall;
+
+/*
+ * ImageProvider_Dispose
+ */
+typedef struct {
+} ImageProviderDispose;
+
+typedef struct {
+ DFBResult result;
+} ImageProviderDisposeReturn;
+
+
+/*
+ * ImageProvider_GetSurfaceDescription
+ */
+typedef struct {
+} ImageProviderGetSurfaceDescription;
+
+typedef struct {
+ DFBResult result;
+ DFBSurfaceDescription description;
+} ImageProviderGetSurfaceDescriptionReturn;
+
+
+/*
+ * ImageProvider_GetImageDescription
+ */
+typedef struct {
+} ImageProviderGetImageDescription;
+
+typedef struct {
+ DFBResult result;
+ DFBImageDescription description;
+} ImageProviderGetImageDescriptionReturn;
+
+
+/*
+ * ImageProvider_RenderTo
+ */
+typedef struct {
+ u32 destination_id;
+ bool rect_set;
+ DFBRectangle rect;
+} ImageProviderRenderTo;
+
+typedef struct {
+ DFBResult result;
+} ImageProviderRenderToReturn;
+
+
+DFBResult IImageProvider_Real__Dispose( ImageProviderDispatch *obj
+ );
+
+DFBResult IImageProvider_Real__GetSurfaceDescription( ImageProviderDispatch *obj,
+ DFBSurfaceDescription *ret_description );
+
+DFBResult IImageProvider_Real__GetImageDescription( ImageProviderDispatch *obj,
+ DFBImageDescription *ret_description );
+
+DFBResult IImageProvider_Real__RenderTo( ImageProviderDispatch *obj,
+ CoreSurface *destination,
+ const DFBRectangle *rect );
+
+DFBResult IImageProvider_Requestor__Dispose( ImageProvider *obj
+ );
+
+DFBResult IImageProvider_Requestor__GetSurfaceDescription( ImageProvider *obj,
+ DFBSurfaceDescription *ret_description );
+
+DFBResult IImageProvider_Requestor__GetImageDescription( ImageProvider *obj,
+ DFBImageDescription *ret_description );
+
+DFBResult IImageProvider_Requestor__RenderTo( ImageProvider *obj,
+ CoreSurface *destination,
+ const DFBRectangle *rect );
+
+
+DFBResult ImageProviderDispatch__Dispatch( ImageProviderDispatch *obj,
+ FusionID caller,
+ int method,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
+
+#endif
diff --git a/src/media/ImageProvider_includes.h b/src/media/ImageProvider_includes.h
new file mode 100644
index 0000000..4da7b11
--- /dev/null
+++ b/src/media/ImageProvider_includes.h
@@ -0,0 +1,60 @@
+#ifndef __ImageProvider_includes_h__
+#define __ImageProvider_includes_h__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include <fusion/types.h>
+#include <fusion/lock.h>
+#include <fusion/object.h>
+
+#include <core/CoreDFB_includes.h>
+
+#include <directfb.h>
+
+
+typedef struct {
+ FusionCall call;
+} ImageProvider;
+
+typedef struct {
+ int magic;
+
+ FusionCall call;
+
+ IDirectFBDataBuffer *buffer;
+ IDirectFBImageProvider *provider;
+
+ CoreResourceCleanup *cleanup;
+} ImageProviderDispatch;
+
+DFBResult ImageProviderDispatch_Create ( IDirectFBDataBuffer *buffer,
+ IDirectFBImageProvider *provider,
+ ImageProviderDispatch **ret_dispatch );
+
+void ImageProviderDispatch_Destroy( ImageProviderDispatch *dispatch );
+
+
+static __inline__ DirectResult
+ImageProvider_Call( ImageProvider *provider,
+ FusionCallExecFlags flags,
+ int call_arg,
+ void *ptr,
+ unsigned int length,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ return fusion_call_execute3( &provider->call, flags, call_arg, ptr, length, ret_ptr, ret_size, ret_length );
+}
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif
+
diff --git a/src/media/ImageProvider_real.c b/src/media/ImageProvider_real.c
new file mode 100644
index 0000000..c33325d
--- /dev/null
+++ b/src/media/ImageProvider_real.c
@@ -0,0 +1,173 @@
+/*
+ (c) Copyright 2001-2011 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include "ImageProvider.h"
+
+#include <directfb_util.h>
+
+#include <direct/debug.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/messages.h>
+
+#include <fusion/conf.h>
+
+#include <core/core.h>
+
+#include <display/idirectfbsurface.h>
+
+D_DEBUG_DOMAIN( DirectFB_ImageProvider, "DirectFB/ImageProvider", "DirectFB ImageProvider" );
+
+/*********************************************************************************************************************/
+
+static void
+ImageProviderDispatch_cleanup( void *ctx,
+ void *ctx2 )
+{
+ ImageProviderDispatch_Destroy( (ImageProviderDispatch*) ctx );
+}
+
+DFBResult
+ImageProviderDispatch_Create( IDirectFBDataBuffer *buffer,
+ IDirectFBImageProvider *provider,
+ ImageProviderDispatch **ret_dispatch )
+{
+ ImageProviderDispatch *dispatch;
+
+ dispatch = (ImageProviderDispatch*) D_CALLOC( 1, sizeof(ImageProviderDispatch) );
+ if (!dispatch)
+ return (DFBResult) D_OOM();
+
+ dispatch->buffer = buffer;
+ dispatch->provider = provider;
+
+ ImageProvider_Init_Dispatch( core_dfb, dispatch, &dispatch->call );
+
+ fusion_call_add_permissions( &dispatch->call, Core_GetIdentity(), FUSION_CALL_PERMIT_EXECUTE );
+
+ Core_Resource_AddCleanup( Core_GetIdentity(), ImageProviderDispatch_cleanup, dispatch, NULL, &dispatch->cleanup );
+
+ D_MAGIC_SET( dispatch, ImageProviderDispatch );
+
+ *ret_dispatch = dispatch;
+
+ return DFB_OK;
+}
+
+static void
+ImageProviderDispatch_destruct( void *ctx,
+ void *ctx2 )
+{
+ ImageProviderDispatch *dispatch = (ImageProviderDispatch*) ctx;
+
+ D_MAGIC_ASSERT( dispatch, ImageProviderDispatch );
+
+ ImageProvider_Deinit_Dispatch( &dispatch->call );
+
+ D_MAGIC_CLEAR( dispatch );
+
+ D_FREE( dispatch );
+}
+
+void
+ImageProviderDispatch_Destroy( ImageProviderDispatch *dispatch )
+{
+ D_MAGIC_ASSERT( dispatch, ImageProviderDispatch );
+
+ dispatch->provider->Release( dispatch->provider );
+ dispatch->buffer->Release( dispatch->buffer );
+
+ Core_AsyncCall( ImageProviderDispatch_destruct, dispatch, NULL );
+}
+
+/*********************************************************************************************************************/
+
+DFBResult
+IImageProvider_Real__Dispose( ImageProviderDispatch *obj
+)
+{
+ D_MAGIC_ASSERT( obj, ImageProviderDispatch );
+
+ Core_Resource_DisposeCleanup( obj->cleanup );
+
+ ImageProviderDispatch_Destroy( obj );
+
+ return DFB_OK;
+}
+
+
+DFBResult
+IImageProvider_Real__GetSurfaceDescription( ImageProviderDispatch *obj,
+ DFBSurfaceDescription *ret_description
+)
+{
+ D_MAGIC_ASSERT( obj, ImageProviderDispatch );
+
+ return obj->provider->GetSurfaceDescription( obj->provider, ret_description );
+}
+
+
+DFBResult
+IImageProvider_Real__GetImageDescription( ImageProviderDispatch *obj,
+ DFBImageDescription *ret_description
+)
+{
+ D_MAGIC_ASSERT( obj, ImageProviderDispatch );
+
+ return obj->provider->GetImageDescription( obj->provider, ret_description );
+}
+
+
+DFBResult
+IImageProvider_Real__RenderTo( ImageProviderDispatch *obj,
+ CoreSurface *destination,
+ const DFBRectangle *rect
+)
+{
+ DFBResult ret;
+ IDirectFBSurface *surface;
+
+ D_MAGIC_ASSERT( obj, ImageProviderDispatch );
+
+ DIRECT_ALLOCATE_INTERFACE( surface, IDirectFBSurface );
+ if (!surface)
+ return (DFBResult) D_OOM();
+
+ ret = IDirectFBSurface_Construct( surface, NULL, NULL, NULL, NULL, destination, DSCAPS_NONE, core_dfb );
+ if (ret)
+ return ret;
+
+ ret = obj->provider->RenderTo( obj->provider, surface, rect );
+
+ surface->Release( surface );
+
+ return ret;
+}
+
diff --git a/src/media/Makefile.am b/src/media/Makefile.am
index cb2ae12..83cbb89 100644
--- a/src/media/Makefile.am
+++ b/src/media/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/src/media
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -12,18 +13,50 @@ internalincludedir = $(INTERNALINCLUDEDIR)/media
internalinclude_HEADERS = \
idirectfbdatabuffer.h \
+ idirectfbdatabuffer_client.h \
idirectfbfont.h \
idirectfbimageprovider.h \
+ idirectfbimageprovider_client.h \
idirectfbvideoprovider.h
noinst_LTLIBRARIES = libdirectfb_media.la
+
+if DIRECTFB_BUILD_PURE_VOODOO
+NON_PURE_VOODOO_SOURCESs =
+else
+BUILT_SOURCES = DataBuffer.h ImageProvider.h
+NON_PURE_VOODOO_SOURCESs = \
+ idirectfbdatabuffer_client.c \
+ idirectfbfont.c \
+ idirectfbimageprovider.c \
+ idirectfbimageprovider_client.c \
+ idirectfbvideoprovider.c \
+ DataBuffer.c \
+ DataBuffer.h \
+ DataBuffer_includes.h \
+ DataBuffer_real.c \
+ ImageProvider.c \
+ ImageProvider.h \
+ ImageProvider_includes.h \
+ ImageProvider_real.c
+endif
+
+distclean-local::
+ rm -f DataBuffer.c DataBuffer.h
+ rm -f ImageProvider.c ImageProvider.h
+
libdirectfb_media_la_SOURCES = \
+ $(NON_PURE_VOODOO_SOURCESs) \
idirectfbdatabuffer.c \
idirectfbdatabuffer_file.c \
idirectfbdatabuffer_memory.c \
- idirectfbdatabuffer_streamed.c \
- idirectfbfont.c \
- idirectfbimageprovider.c \
- idirectfbvideoprovider.c
+ idirectfbdatabuffer_streamed.c
+
+libdirectfb_media_la_LIBADD = $(LIBM)
+
+
+FLUX_ARGS = -c -i --no-direct
+
+include $(top_srcdir)/rules/flux_comp.make
diff --git a/src/media/Makefile.in b/src/media/Makefile.in
index 58ec4b5..dc4679e 100644
--- a/src/media/Makefile.in
+++ b/src/media/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -34,9 +36,9 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-subdir = src/media
DIST_COMMON = $(internalinclude_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
+ $(srcdir)/Makefile.in $(top_srcdir)/rules/flux_comp.make
+subdir = src/media
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/as-ac-expand.m4 \
$(top_srcdir)/configure.in
@@ -45,41 +47,97 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
-libdirectfb_media_la_LIBADD =
-am_libdirectfb_media_la_OBJECTS = idirectfbdatabuffer.lo \
- idirectfbdatabuffer_file.lo idirectfbdatabuffer_memory.lo \
- idirectfbdatabuffer_streamed.lo idirectfbfont.lo \
- idirectfbimageprovider.lo idirectfbvideoprovider.lo
+am__DEPENDENCIES_1 =
+libdirectfb_media_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libdirectfb_media_la_SOURCES_DIST = idirectfbdatabuffer_client.c \
+ idirectfbfont.c idirectfbimageprovider.c \
+ idirectfbimageprovider_client.c idirectfbvideoprovider.c \
+ DataBuffer.c DataBuffer.h DataBuffer_includes.h \
+ DataBuffer_real.c ImageProvider.c ImageProvider.h \
+ ImageProvider_includes.h ImageProvider_real.c \
+ idirectfbdatabuffer.c idirectfbdatabuffer_file.c \
+ idirectfbdatabuffer_memory.c idirectfbdatabuffer_streamed.c
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@am__objects_1 = idirectfbdatabuffer_client.lo \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ idirectfbfont.lo \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ idirectfbimageprovider.lo \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ idirectfbimageprovider_client.lo \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ idirectfbvideoprovider.lo \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ DataBuffer.lo \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ DataBuffer_real.lo \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ ImageProvider.lo \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ ImageProvider_real.lo
+am_libdirectfb_media_la_OBJECTS = $(am__objects_1) \
+ idirectfbdatabuffer.lo idirectfbdatabuffer_file.lo \
+ idirectfbdatabuffer_memory.lo idirectfbdatabuffer_streamed.lo
libdirectfb_media_la_OBJECTS = $(am_libdirectfb_media_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_media_la_SOURCES)
-DIST_SOURCES = $(libdirectfb_media_la_SOURCES)
+DIST_SOURCES = $(am__libdirectfb_media_la_SOURCES_DIST)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(internalincludedir)"
-internalincludeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(internalinclude_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -103,11 +161,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -121,16 +182,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -151,12 +213,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -167,21 +232,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -189,6 +262,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -202,6 +279,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -209,9 +287,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -258,11 +337,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -270,36 +351,56 @@ INCLUDES = \
internalincludedir = $(INTERNALINCLUDEDIR)/media
internalinclude_HEADERS = \
idirectfbdatabuffer.h \
+ idirectfbdatabuffer_client.h \
idirectfbfont.h \
idirectfbimageprovider.h \
+ idirectfbimageprovider_client.h \
idirectfbvideoprovider.h
noinst_LTLIBRARIES = libdirectfb_media.la
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@NON_PURE_VOODOO_SOURCESs = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ idirectfbdatabuffer_client.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ idirectfbfont.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ idirectfbimageprovider.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ idirectfbimageprovider_client.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ idirectfbvideoprovider.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ DataBuffer.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ DataBuffer.h \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ DataBuffer_includes.h \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ DataBuffer_real.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ ImageProvider.c \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ ImageProvider.h \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ ImageProvider_includes.h \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ ImageProvider_real.c
+
+ at DIRECTFB_BUILD_PURE_VOODOO_TRUE@NON_PURE_VOODOO_SOURCESs =
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@BUILT_SOURCES = DataBuffer.h ImageProvider.h
libdirectfb_media_la_SOURCES = \
+ $(NON_PURE_VOODOO_SOURCESs) \
idirectfbdatabuffer.c \
idirectfbdatabuffer_file.c \
idirectfbdatabuffer_memory.c \
- idirectfbdatabuffer_streamed.c \
- idirectfbfont.c \
- idirectfbimageprovider.c \
- idirectfbvideoprovider.c
+ idirectfbdatabuffer_streamed.c
-all: all-am
+libdirectfb_media_la_LIBADD = $(LIBM)
+FLUX_ARGS = -c -i --no-direct
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/rules/flux_comp.make $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/media/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/media/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/media/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/media/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -309,6 +410,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/flux_comp.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -317,6 +419,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@@ -326,8 +429,8 @@ clean-noinstLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_media.la: $(libdirectfb_media_la_OBJECTS) $(libdirectfb_media_la_DEPENDENCIES)
- $(LINK) $(libdirectfb_media_la_OBJECTS) $(libdirectfb_media_la_LIBADD) $(LIBS)
+libdirectfb_media.la: $(libdirectfb_media_la_OBJECTS) $(libdirectfb_media_la_DEPENDENCIES) $(EXTRA_libdirectfb_media_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libdirectfb_media_la_OBJECTS) $(libdirectfb_media_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -335,34 +438,40 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/DataBuffer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/DataBuffer_real.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ImageProvider.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ImageProvider_real.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbdatabuffer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbdatabuffer_client.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbdatabuffer_file.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbdatabuffer_memory.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbdatabuffer_streamed.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbfont.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbimageprovider.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbimageprovider_client.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbvideoprovider.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -372,34 +481,35 @@ clean-libtool:
install-internalincludeHEADERS: $(internalinclude_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(internalincludedir)" || $(MKDIR_P) "$(DESTDIR)$(internalincludedir)"
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(internalincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(internalincludedir)/$$f'"; \
- $(internalincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(internalincludedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(internalincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(internalincludedir)" || exit $$?; \
done
uninstall-internalincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(internalincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(internalincludedir)/$$f"; \
- done
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(internalincludedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -407,29 +517,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -450,24 +565,30 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
-check: check-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
installdirs:
for dir in "$(DESTDIR)$(internalincludedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
-install: install-am
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
@@ -477,20 +598,27 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-am
clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
@@ -500,7 +628,7 @@ distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
+ distclean-local distclean-tags
dvi: dvi-am
@@ -508,6 +636,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -516,18 +646,28 @@ install-data-am: install-internalincludeHEADERS
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -550,15 +690,15 @@ ps-am:
uninstall-am: uninstall-internalincludeHEADERS
-.MAKE: install-am install-strip
+.MAKE: all check install install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libtool clean-noinstLTLIBRARIES ctags distclean \
distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am \
+ distclean-local distclean-tags distdir dvi dvi-am html html-am \
+ info info-am install install-am install-data install-data-am \
+ install-dvi install-dvi-am install-exec install-exec-am \
+ install-html install-html-am install-info install-info-am \
install-internalincludeHEADERS install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
@@ -566,6 +706,15 @@ uninstall-am: uninstall-internalincludeHEADERS
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-internalincludeHEADERS
+
+distclean-local::
+ rm -f DataBuffer.c DataBuffer.h
+ rm -f ImageProvider.c ImageProvider.h
+FLUX_ARGS ?= -c -i --include-prefix=core --call-mode
+
+$(builddir)/%.c $(builddir)/%.h: $(srcdir)/%.flux
+ $(FLUXCOMP) $(FLUX_ARGS) $<
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/media/idirectfbdatabuffer.c b/src/media/idirectfbdatabuffer.c
index 3fcb491..e2ceb77 100644
--- a/src/media/idirectfbdatabuffer.c
+++ b/src/media/idirectfbdatabuffer.c
@@ -42,6 +42,8 @@
#include <fusion/reactor.h>
#include <direct/list.h>
+#include <fusion/conf.h>
+
#include <directfb.h>
#include <core/coredefs.h>
@@ -55,9 +57,14 @@
#include <direct/mem.h>
#include <media/idirectfbdatabuffer.h>
+#include <media/idirectfbfont.h>
#include <media/idirectfbimageprovider.h>
#include <media/idirectfbvideoprovider.h>
+#if !DIRECTFB_BUILD_PURE_VOODOO
+#include <media/DataBuffer.h>
+#endif
+
void
IDirectFBDataBuffer_Destruct( IDirectFBDataBuffer *thiz )
@@ -67,6 +74,11 @@ IDirectFBDataBuffer_Destruct( IDirectFBDataBuffer *thiz )
if (data->filename)
D_FREE( data->filename );
+#if !DIRECTFB_BUILD_PURE_VOODOO
+ if (fusion_config->secure_fusion && core_dfb)
+ DataBuffer_Deinit_Dispatch( &data->call );
+#endif
+
DIRECT_DEALLOCATE_INTERFACE( thiz );
}
@@ -77,7 +89,7 @@ IDirectFBDataBuffer_AddRef( IDirectFBDataBuffer *thiz )
data->ref++;
- return DFB_OK;
+ return DR_OK;
}
static DirectResult
@@ -88,7 +100,7 @@ IDirectFBDataBuffer_Release( IDirectFBDataBuffer *thiz )
if (--data->ref == 0)
IDirectFBDataBuffer_Destruct( thiz );
- return DFB_OK;
+ return DR_OK;
}
static DFBResult
@@ -183,7 +195,12 @@ IDirectFBDataBuffer_CreateImageProvider( IDirectFBDataBuffer *thiz,
if (!interface)
return DFB_INVARG;
+#if !DIRECTFB_BUILD_PURE_VOODOO
return IDirectFBImageProvider_CreateFromBuffer( thiz, data->core, interface );
+#else
+ D_BUG( "%s in pure Voodoo build", __FUNCTION__ );
+ return DFB_BUG;
+#endif
}
static DFBResult
@@ -196,7 +213,31 @@ IDirectFBDataBuffer_CreateVideoProvider( IDirectFBDataBuffer *thiz,
if (!interface)
return DFB_INVARG;
+#if !DIRECTFB_BUILD_PURE_VOODOO
return IDirectFBVideoProvider_CreateFromBuffer( thiz, data->core, interface );
+#else
+ D_BUG( "%s in pure Voodoo build", __FUNCTION__ );
+ return DFB_BUG;
+#endif
+}
+
+static DFBResult
+IDirectFBDataBuffer_CreateFont( IDirectFBDataBuffer *thiz,
+ const DFBFontDescription *desc,
+ IDirectFBFont **interface )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDataBuffer)
+
+ /* Check arguments */
+ if (!interface || !desc)
+ return DFB_INVARG;
+
+#if !DIRECTFB_BUILD_PURE_VOODOO
+ return IDirectFBFont_CreateFromBuffer( thiz, data->core, desc, interface );
+#else
+ D_BUG( "%s in pure Voodoo build", __FUNCTION__ );
+ return DFB_BUG;
+#endif
}
DFBResult
@@ -212,6 +253,11 @@ IDirectFBDataBuffer_Construct( IDirectFBDataBuffer *thiz,
if (filename)
data->filename = D_STRDUP( filename );
+#if !DIRECTFB_BUILD_PURE_VOODOO
+ if (fusion_config->secure_fusion && core)
+ DataBuffer_Init_Dispatch( core, thiz, &data->call );
+#endif
+
thiz->AddRef = IDirectFBDataBuffer_AddRef;
thiz->Release = IDirectFBDataBuffer_Release;
thiz->Flush = IDirectFBDataBuffer_Flush;
@@ -227,6 +273,7 @@ IDirectFBDataBuffer_Construct( IDirectFBDataBuffer *thiz,
thiz->PutData = IDirectFBDataBuffer_PutData;
thiz->CreateImageProvider = IDirectFBDataBuffer_CreateImageProvider;
thiz->CreateVideoProvider = IDirectFBDataBuffer_CreateVideoProvider;
+ thiz->CreateFont = IDirectFBDataBuffer_CreateFont;
return DFB_OK;
}
diff --git a/src/media/idirectfbdatabuffer.h b/src/media/idirectfbdatabuffer.h
index 4b19eb0..31af29d 100644
--- a/src/media/idirectfbdatabuffer.h
+++ b/src/media/idirectfbdatabuffer.h
@@ -31,6 +31,8 @@
#include <core/core.h>
+#include <fusion/call.h>
+
/*
* private data struct of IDirectFBDataBuffer
*/
@@ -41,6 +43,8 @@ typedef struct {
CoreDFB *core;
bool is_memory;
+
+ FusionCall call; /* for remote access */
} IDirectFBDataBuffer_data;
/*
diff --git a/src/media/idirectfbdatabuffer_client.c b/src/media/idirectfbdatabuffer_client.c
new file mode 100644
index 0000000..28e4c1e
--- /dev/null
+++ b/src/media/idirectfbdatabuffer_client.c
@@ -0,0 +1,261 @@
+/*
+ (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <string.h>
+#include <errno.h>
+
+#include <direct/list.h>
+#include <direct/thread.h>
+
+#include <directfb.h>
+
+#include <direct/interface.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/util.h>
+
+#include <idirectfb.h>
+
+#include <media/DataBuffer.h>
+
+#include <media/idirectfbdatabuffer_client.h>
+
+
+/*
+ * private data struct of IDirectFBDataBuffer_Client
+ */
+typedef struct {
+ IDirectFBDataBuffer_data base;
+
+ DataBuffer client;
+} IDirectFBDataBuffer_Client_data;
+
+
+static void
+IDirectFBDataBuffer_Client_Destruct( IDirectFBDataBuffer *thiz )
+{
+ IDirectFBDataBuffer_Destruct( thiz );
+}
+
+static DirectResult
+IDirectFBDataBuffer_Client_Release( IDirectFBDataBuffer *thiz )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDataBuffer)
+
+ if (--data->ref == 0)
+ IDirectFBDataBuffer_Client_Destruct( thiz );
+
+ return DR_OK;
+}
+
+static DFBResult
+IDirectFBDataBuffer_Client_Flush( IDirectFBDataBuffer *thiz )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDataBuffer_Client)
+
+ return DataBuffer_Flush( &data->client );
+}
+
+static DFBResult
+IDirectFBDataBuffer_Client_Finish( IDirectFBDataBuffer *thiz )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDataBuffer_Client)
+
+ return DataBuffer_Finish( &data->client );
+}
+
+static DFBResult
+IDirectFBDataBuffer_Client_SeekTo( IDirectFBDataBuffer *thiz,
+ unsigned int offset )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDataBuffer_Client)
+
+ return DataBuffer_SeekTo( &data->client, offset );
+}
+
+static DFBResult
+IDirectFBDataBuffer_Client_GetPosition( IDirectFBDataBuffer *thiz,
+ unsigned int *ret_offset )
+{
+ DFBResult ret;
+ u64 offset;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDataBuffer_Client)
+
+ if (!ret_offset)
+ return DFB_INVARG;
+
+ ret = DataBuffer_GetPosition( &data->client, &offset );
+ if (ret == DFB_OK)
+ *ret_offset = offset;
+
+ return ret;
+}
+
+static DFBResult
+IDirectFBDataBuffer_Client_GetLength( IDirectFBDataBuffer *thiz,
+ unsigned int *ret_length )
+{
+ DFBResult ret;
+ u64 length;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDataBuffer_Client)
+
+ if (!ret_length)
+ return DFB_INVARG;
+
+ ret = DataBuffer_GetLength( &data->client, &length );
+ if (ret == DFB_OK)
+ *ret_length = length;
+
+ return ret;
+}
+
+static DFBResult
+IDirectFBDataBuffer_Client_WaitForData( IDirectFBDataBuffer *thiz,
+ unsigned int length )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDataBuffer_Client)
+
+ return DataBuffer_WaitForData( &data->client, length );
+}
+
+static DFBResult
+IDirectFBDataBuffer_Client_WaitForDataWithTimeout( IDirectFBDataBuffer *thiz,
+ unsigned int length,
+ unsigned int seconds,
+ unsigned int milli_seconds )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDataBuffer_Client)
+
+ return DataBuffer_WaitForDataWithTimeout( &data->client, length, seconds * 1000 + milli_seconds );
+}
+
+static DFBResult
+IDirectFBDataBuffer_Client_GetData( IDirectFBDataBuffer *thiz,
+ unsigned int length,
+ void *data_buffer,
+ unsigned int *ret_read )
+{
+ DFBResult ret;
+ u32 read;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDataBuffer_Client)
+
+ ret = DataBuffer_GetData( &data->client, length, data_buffer, &read );
+ if (ret == DFB_OK && ret_read)
+ *ret_read = read;
+
+ return ret;
+}
+
+static DFBResult
+IDirectFBDataBuffer_Client_PeekData( IDirectFBDataBuffer *thiz,
+ unsigned int length,
+ int offset,
+ void *data_buffer,
+ unsigned int *ret_read )
+{
+ DFBResult ret;
+ u32 read;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDataBuffer_Client)
+
+ ret = DataBuffer_PeekData( &data->client, length, offset, data_buffer, &read );
+ if (ret == DFB_OK && ret_read)
+ *ret_read = read;
+
+ return ret;
+}
+
+static DFBResult
+IDirectFBDataBuffer_Client_HasData( IDirectFBDataBuffer *thiz )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDataBuffer_Client)
+
+ return DataBuffer_HasData( &data->client );
+}
+
+static DFBResult
+IDirectFBDataBuffer_Client_PutData( IDirectFBDataBuffer *thiz,
+ const void *data_buffer,
+ unsigned int length )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBDataBuffer_Client)
+
+ return DataBuffer_PutData( &data->client, data_buffer, length );
+}
+
+DFBResult
+IDirectFBDataBuffer_Client_Construct( IDirectFBDataBuffer *thiz,
+ CoreDFB *core,
+ u32 call_id )
+{
+ DFBResult ret;
+ FusionID call_owner;
+
+ DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IDirectFBDataBuffer_Client)
+
+ ret = IDirectFBDataBuffer_Construct( thiz, NULL, core );
+ if (ret)
+ return ret;
+
+ fusion_call_init_from( &data->client.call, call_id, dfb_core_world(core) );
+
+ ret = fusion_call_get_owner( &data->client.call, &call_owner );
+ if (ret) {
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return ret;
+ }
+
+ if (call_owner != Core_GetIdentity()) {
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return DFB_ACCESSDENIED;
+ }
+
+ thiz->Release = IDirectFBDataBuffer_Client_Release;
+ thiz->Flush = IDirectFBDataBuffer_Client_Flush;
+ thiz->Finish = IDirectFBDataBuffer_Client_Finish;
+ thiz->SeekTo = IDirectFBDataBuffer_Client_SeekTo;
+ thiz->GetPosition = IDirectFBDataBuffer_Client_GetPosition;
+ thiz->GetLength = IDirectFBDataBuffer_Client_GetLength;
+ thiz->WaitForData = IDirectFBDataBuffer_Client_WaitForData;
+ thiz->WaitForDataWithTimeout = IDirectFBDataBuffer_Client_WaitForDataWithTimeout;
+ thiz->GetData = IDirectFBDataBuffer_Client_GetData;
+ thiz->PeekData = IDirectFBDataBuffer_Client_PeekData;
+ thiz->HasData = IDirectFBDataBuffer_Client_HasData;
+ thiz->PutData = IDirectFBDataBuffer_Client_PutData;
+
+ return DFB_OK;
+}
+
diff --git a/lib/direct/system.h b/src/media/idirectfbdatabuffer_client.h
similarity index 74%
copy from lib/direct/system.h
copy to src/media/idirectfbdatabuffer_client.h
index 5cfe74e..dc72d7b 100644
--- a/lib/direct/system.h
+++ b/src/media/idirectfbdatabuffer_client.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -26,15 +26,14 @@
Boston, MA 02111-1307, USA.
*/
-#ifndef __DIRECT__SYSTEM_H__
-#define __DIRECT__SYSTEM_H__
+#ifndef __IDIRECTFBDATABUFFER_CLIENT_H__
+#define __IDIRECTFBDATABUFFER_CLIENT_H__
-#include <sys/types.h>
+#include <media/idirectfbdatabuffer.h>
-pid_t direct_gettid( void );
-long direct_pagesize( void );
+DFBResult IDirectFBDataBuffer_Client_Construct( IDirectFBDataBuffer *thiz,
+ CoreDFB *core,
+ u32 call_id );
-unsigned long direct_page_align( unsigned long value );
#endif
-
diff --git a/src/media/idirectfbdatabuffer_file.c b/src/media/idirectfbdatabuffer_file.c
index 245ce02..6f7982d 100644
--- a/src/media/idirectfbdatabuffer_file.c
+++ b/src/media/idirectfbdatabuffer_file.c
@@ -81,7 +81,7 @@ IDirectFBDataBuffer_File_Release( IDirectFBDataBuffer *thiz )
if (--data->ref == 0)
IDirectFBDataBuffer_File_Destruct( thiz );
- return DFB_OK;
+ return DR_OK;
}
static DFBResult
diff --git a/src/media/idirectfbdatabuffer_memory.c b/src/media/idirectfbdatabuffer_memory.c
index 233e4b4..7fdee81 100644
--- a/src/media/idirectfbdatabuffer_memory.c
+++ b/src/media/idirectfbdatabuffer_memory.c
@@ -72,7 +72,7 @@ IDirectFBDataBuffer_Memory_Release( IDirectFBDataBuffer *thiz )
if (--data->ref == 0)
IDirectFBDataBuffer_Memory_Destruct( thiz );
- return DFB_OK;
+ return DR_OK;
}
static DFBResult
diff --git a/src/media/idirectfbfont.c b/src/media/idirectfbfont.c
index b7f2e59..d6dc5ed 100644
--- a/src/media/idirectfbfont.c
+++ b/src/media/idirectfbfont.c
@@ -32,7 +32,11 @@
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
+#include <math.h>
+#include <sys/fcntl.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
#include "directfb.h"
@@ -40,13 +44,14 @@
#include "core/fonts.h"
-#include "idirectfbfont.h"
-
#include <direct/interface.h>
#include <direct/mem.h>
#include <direct/tree.h>
#include <direct/utf8.h>
+#include <media/idirectfbfont.h>
+#include <media/idirectfbdatabuffer.h>
+
#include "misc/util.h"
@@ -63,6 +68,14 @@ IDirectFBFont_Destruct( IDirectFBFont *thiz )
dfb_font_destroy (data->font);
+ /* release memory, if any */
+ if (data->content) {
+ if (data->content_mapped)
+ munmap( data->content, data->content_size );
+ else
+ D_FREE( data->content );
+ }
+
DIRECT_DEALLOCATE_INTERFACE( thiz );
}
@@ -80,7 +93,7 @@ IDirectFBFont_AddRef( IDirectFBFont *thiz )
data->ref++;
- return DFB_OK;
+ return DR_OK;
}
/*
@@ -96,7 +109,7 @@ IDirectFBFont_Release( IDirectFBFont *thiz )
if (--data->ref == 0)
IDirectFBFont_Destruct( thiz );
- return DFB_OK;
+ return DR_OK;
}
/*
@@ -155,6 +168,30 @@ IDirectFBFont_GetHeight( IDirectFBFont *thiz, int *height )
}
/*
+ * Get the line spacing vector of this font.
+ */
+static DFBResult
+IDirectFBFont_GetLineSpacingVector( IDirectFBFont *thiz, int *xspacing, int *yspacing )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBFont)
+
+ D_DEBUG_AT( Font, "%s( %p )\n", __FUNCTION__, thiz );
+
+ if (!xspacing && !yspacing)
+ return DFB_INVARG;
+
+ if (xspacing) {
+ *xspacing = - data->font->height * data->font->up_unit_x;
+ }
+
+ if (yspacing) {
+ *yspacing = - data->font->height * data->font->up_unit_y;
+ }
+
+ return DFB_OK;
+}
+
+/*
* Get the maximum character width.
*/
static DFBResult
@@ -237,7 +274,8 @@ IDirectFBFont_GetStringExtents( IDirectFBFont *thiz,
{
DFBResult ret;
CoreFont *font;
- int width = 0;
+ int xbaseline = 0;
+ int ybaseline = 0;
DIRECT_INTERFACE_GET_DATA(IDirectFBFont)
@@ -281,17 +319,20 @@ IDirectFBFont_GetStringExtents( IDirectFBFont *thiz,
int kx, ky = 0;
if (prev && font->GetKerning &&
- font->GetKerning( font, prev, current, &kx, &ky ) == DFB_OK)
- width += kx;
+ font->GetKerning( font, prev, current, &kx, &ky ) == DFB_OK) {
+ xbaseline += kx;
+ ybaseline += ky;
+ }
if (ink_rect) {
- DFBRectangle glyph_rect = { width + glyph->left,
- ky + glyph->top,
+ DFBRectangle glyph_rect = { xbaseline + glyph->left,
+ ybaseline + glyph->top,
glyph->width, glyph->height};
dfb_rectangle_union (ink_rect, &glyph_rect);
}
- width += glyph->advance;
+ xbaseline += glyph->xadvance;
+ ybaseline += glyph->yadvance;
}
prev = current;
@@ -299,18 +340,39 @@ IDirectFBFont_GetStringExtents( IDirectFBFont *thiz,
}
if (logical_rect) {
- logical_rect->x = 0;
- logical_rect->y = - font->ascender;
- logical_rect->w = width;
- logical_rect->h = font->height;
+ // We already have the text baseline vector in (xbaseline,ybaseline).
+ // Now find the ascender and descender vectors:
+ int xascender = font->ascender * font->up_unit_x;
+ int yascender = font->ascender * font->up_unit_y;
+ int xdescender = font->descender * font->up_unit_x;
+ int ydescender = font->descender * font->up_unit_y;
+
+ // Now find top/bottom left/right points relative to the text:
+ int top_left_x = xascender;
+ int top_left_y = yascender;
+ int bottom_left_x = xdescender;
+ int bottom_left_y = ydescender;
+ int top_right_x = top_left_x + xbaseline;
+ int top_right_y = top_left_y + ybaseline;
+ int bottom_right_x = bottom_left_x + xbaseline;
+ int bottom_right_y = bottom_left_y + ybaseline;
+
+ // The logical rectangle is the bounding-box of these points:
+#define MIN4(a,b,c,d) (MIN(MIN((a),(b)),MIN((c),(d))))
+#define MAX4(a,b,c,d) (MAX(MAX((a),(b)),MAX((c),(d))))
+ logical_rect->x = MIN4(top_left_x, bottom_left_x, top_right_x, bottom_right_x);
+ logical_rect->y = MIN4(top_left_y, bottom_left_y, top_right_y, bottom_right_y);
+ logical_rect->w = MAX4(top_left_x, bottom_left_x, top_right_x, bottom_right_x) - logical_rect->x;
+ logical_rect->h = MAX4(top_left_y, bottom_left_y, top_right_y, bottom_right_y) - logical_rect->y;
}
if (ink_rect) {
- if (ink_rect->w < 0) {
+ if (ink_rect->w < 0) { /* PBE FIXME what is this doing? */
ink_rect->x += ink_rect->w;
ink_rect->w = -ink_rect->w;
}
- ink_rect->y -= font->ascender;
+ ink_rect->x += font->ascender * font->up_unit_x;
+ ink_rect->y += font->ascender * font->up_unit_y;
}
dfb_font_unlock( font );
@@ -328,7 +390,8 @@ IDirectFBFont_GetStringWidth( IDirectFBFont *thiz,
int *ret_width )
{
DFBResult ret;
- int width = 0;
+ int xsize = 0;
+ int ysize = 0;
DIRECT_INTERFACE_GET_DATA(IDirectFBFont)
@@ -341,7 +404,7 @@ IDirectFBFont_GetStringWidth( IDirectFBFont *thiz,
bytes = strlen (text);
if (bytes > 0) {
- int i, num, kx;
+ int i, num, kx, ky;
unsigned int prev = 0;
unsigned int indices[bytes];
CoreFont *font = data->font;
@@ -361,11 +424,14 @@ IDirectFBFont_GetStringWidth( IDirectFBFont *thiz,
CoreGlyphData *glyph;
if (dfb_font_get_glyph_data( font, current, 0, &glyph ) == DFB_OK) { // FIXME: support font layers
- width += glyph->advance;
+ xsize += glyph->xadvance;
+ ysize += glyph->yadvance;
if (prev && font->GetKerning &&
- font->GetKerning( font, prev, current, &kx, NULL ) == DFB_OK)
- width += kx;
+ font->GetKerning( font, prev, current, &kx, &ky ) == DFB_OK) {
+ xsize += kx;
+ ysize += ky;
+ }
}
prev = current;
@@ -374,7 +440,15 @@ IDirectFBFont_GetStringWidth( IDirectFBFont *thiz,
dfb_font_unlock( font );
}
- *ret_width = width;
+ if (!ysize) {
+ *ret_width = xsize;
+ }
+ else if (!xsize) {
+ *ret_width = ysize;
+ }
+ else {
+ *ret_width = sqrt(xsize*xsize + ysize*ysize);
+ }
return DFB_OK;
}
@@ -426,7 +500,7 @@ IDirectFBFont_GetGlyphExtents( IDirectFBFont *thiz,
}
if (advance)
- *advance = glyph->advance;
+ *advance = glyph->xadvance;
}
dfb_font_unlock( font );
@@ -450,7 +524,10 @@ IDirectFBFont_GetStringBreak( IDirectFBFont *thiz,
const u8 *end;
CoreGlyphData *glyph;
int kern_x;
+ int kern_y;
int length = 0;
+ int xsize = 0;
+ int ysize = 0;
int width = 0;
unichar current;
unsigned int index;
@@ -485,7 +562,6 @@ IDirectFBFont_GetStringBreak( IDirectFBFont *thiz,
do {
*ret_width = width;
- length ++;
current = DIRECT_UTF8_GET_CHAR( string );
@@ -498,6 +574,8 @@ IDirectFBFont_GetStringBreak( IDirectFBFont *thiz,
*ret_width = width;
}
+ length++;
+
ret = dfb_font_decode_character( font, data->encoding, current, &index );
if (ret)
continue;
@@ -506,11 +584,27 @@ IDirectFBFont_GetStringBreak( IDirectFBFont *thiz,
if (ret)
continue;
- width += glyph->advance;
+ xsize += glyph->xadvance;
+ ysize += glyph->yadvance;
if (prev && font->GetKerning && font->GetKerning( font, prev, index, &kern_x, NULL ) == DFB_OK)
width += kern_x;
+ if (prev && font->GetKerning && font->GetKerning( font, prev, index, &kern_x, &kern_y) == DFB_OK) {
+ xsize += kern_x;
+ ysize += kern_y;
+ }
+
+ if (!ysize) {
+ width = xsize;
+ }
+ else if (!xsize) {
+ width = ysize;
+ }
+ else {
+ width = sqrt(xsize*xsize + ysize*ysize);
+ }
+
prev = index;
} while (width < max_width && string < end && current != 0x0a);
@@ -614,6 +708,78 @@ IDirectFBFont_FindEncoding( IDirectFBFont *thiz,
return DFB_IDNOTFOUND;
}
+static DFBResult
+IDirectFBFont_Dispose( IDirectFBFont *thiz )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBFont)
+
+ D_DEBUG_AT( Font, "%s( %p )\n", __FUNCTION__, thiz );
+
+ return dfb_font_dispose( data->font );
+}
+
+/*
+ * Get the extents of the specified glyph.
+ */
+static DFBResult
+IDirectFBFont_GetGlyphExtentsXY( IDirectFBFont *thiz,
+ unsigned int character,
+ DFBRectangle *rect,
+ int *xadvance,
+ int *yadvance )
+{
+ DFBResult ret;
+ CoreFont *font;
+ CoreGlyphData *glyph;
+ unsigned int index;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBFont)
+
+ D_DEBUG_AT( Font, "%s( %p )\n", __FUNCTION__, thiz );
+
+ if (!rect && !xadvance && !yadvance)
+ return DFB_INVARG;
+
+ font = data->font;
+
+ dfb_font_lock( font );
+
+ ret = dfb_font_decode_character( font, data->encoding, character, &index );
+ if (ret) {
+ dfb_font_unlock( font );
+ return ret;
+ }
+
+ if (dfb_font_get_glyph_data (font, index, 0, &glyph) != DFB_OK) { // FIXME: support font layers
+ if (rect)
+ rect->x = rect->y = rect->w = rect->h = 0;
+
+ if (xadvance)
+ *xadvance = 0;
+
+ if (yadvance)
+ *yadvance = 0;
+ }
+ else {
+ if (rect) {
+ rect->x = glyph->left + font->ascender * font->up_unit_x;
+ rect->y = glyph->top + font->ascender * font->up_unit_y;
+ rect->w = glyph->width;
+ rect->h = glyph->height;
+ }
+
+ if (xadvance)
+ *xadvance = glyph->xadvance;
+
+ if (yadvance)
+ *yadvance = glyph->yadvance;
+ }
+
+ dfb_font_unlock( font );
+
+ return DFB_OK;
+}
+
/**********************************************************************************************************************/
DFBResult
@@ -638,6 +804,158 @@ IDirectFBFont_Construct( IDirectFBFont *thiz, CoreFont *font )
thiz->SetEncoding = IDirectFBFont_SetEncoding;
thiz->EnumEncodings = IDirectFBFont_EnumEncodings;
thiz->FindEncoding = IDirectFBFont_FindEncoding;
+ thiz->Dispose = IDirectFBFont_Dispose;
+ thiz->GetLineSpacingVector = IDirectFBFont_GetLineSpacingVector;
+ thiz->GetGlyphExtentsXY = IDirectFBFont_GetGlyphExtentsXY;
+
+ return DFB_OK;
+}
+
+static DFBResult
+try_map_file( IDirectFBDataBuffer_data *buffer_data,
+ IDirectFBFont_ProbeContext *ctx )
+{
+ /* try to map the "file" content first */
+ if (!access( buffer_data->filename, O_RDONLY )) {
+ int fd;
+ struct stat st;
+
+ fd = open( buffer_data->filename, O_RDONLY );
+ if (fd < 0) {
+ D_PERROR( "IDirectFBFont: Could not open '%s'\n", buffer_data->filename );
+ return DFB_IO;
+ }
+
+ if (fstat( fd, &st )) {
+ D_PERROR( "IDirectFBFont: Could not stat '%s'\n", buffer_data->filename );
+ close( fd );
+ return DFB_IO;
+ }
+
+ ctx->content = mmap( NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0 );
+ if (ctx->content == MAP_FAILED) {
+ D_PERROR( "IDirectFBFont: Could not mmap '%s'\n", buffer_data->filename );
+ close( fd );
+ return DFB_IO;
+ }
+
+ ctx->content_size = st.st_size;
+ ctx->content_mapped = true;
+
+ close( fd );
+
+ return DFB_OK;
+ }
+
+ return DFB_UNSUPPORTED;
+}
+
+static void
+unmap_or_free( IDirectFBFont_ProbeContext *ctx )
+{
+ if (ctx->content) {
+ if (ctx->content_mapped)
+ munmap( ctx->content, ctx->content_size );
+ else
+ D_FREE( ctx->content );
+ }
+}
+
+DFBResult
+IDirectFBFont_CreateFromBuffer( IDirectFBDataBuffer *buffer,
+ CoreDFB *core,
+ const DFBFontDescription *desc,
+ IDirectFBFont **interface )
+{
+ DFBResult ret;
+ DirectInterfaceFuncs *funcs = NULL;
+ IDirectFBDataBuffer_data *buffer_data;
+ IDirectFBFont *ifont;
+ IDirectFBFont_ProbeContext ctx = {0};
+
+ /* Get the private information of the data buffer. */
+ buffer_data = (IDirectFBDataBuffer_data*) buffer->priv;
+ if (!buffer_data)
+ return DFB_DEAD;
+
+ /* Provide a fallback for image providers without data buffer support. */
+ ctx.filename = buffer_data->filename;
+
+ /* try to map the "file" content first */
+ if (try_map_file( buffer_data, &ctx ) != DFB_OK) {
+ /* try to load the "file" content from the buffer */
+
+ /* we need to be able to seek (this implies non-streamed,
+ so we also know the size) so we can reuse the buffer */
+ if (buffer->SeekTo( buffer, 0 ) == DFB_OK) {
+ unsigned int size, got;
+
+ /* get the "file" length */
+ buffer->GetLength( buffer, &size );
+
+ ctx.content = D_MALLOC( size );
+ if (!ctx.content)
+ return DR_NOLOCALMEMORY;
+
+ ctx.content_size = 0;
+
+ while (ctx.content_size < size) {
+ unsigned int get = size - ctx.content_size;
+
+ if (get > 8192)
+ get = 8192;
+
+ ret = buffer->WaitForData( buffer, get );
+ if (ret) {
+ D_DERROR( ret, "%s: WaitForData failed!\n", __FUNCTION__ );
+ break;
+ }
+
+ ret = buffer->GetData( buffer, get, ctx.content + ctx.content_size, &got );
+ if (ret) {
+ D_DERROR( ret, "%s: GetData failed!\n", __FUNCTION__ );
+ break;
+ }
+
+ if (!got)
+ break;
+
+ ctx.content_size += got;
+ }
+
+ if (ctx.content_size != size) {
+ D_ERROR( "%s: Got size %u differs from supposed %u!\n", __FUNCTION__, ctx.content_size, size );
+ D_FREE( ctx.content );
+ return DFB_FAILURE;
+ }
+ }
+ }
+
+ /* Find a suitable implementation. */
+ ret = DirectGetInterface( &funcs, "IDirectFBFont", NULL, DirectProbeInterface, &ctx );
+ if (ret) {
+ unmap_or_free( &ctx );
+ return ret;
+ }
+
+ DIRECT_ALLOCATE_INTERFACE( ifont, IDirectFBFont );
+
+ /* Construct the interface. */
+ ret = funcs->Construct( ifont, core, &ctx, desc );
+ if (ret) {
+ unmap_or_free( &ctx );
+ return ret;
+ }
+
+ /* store pointer for deletion at destroy */
+ {
+ IDirectFBFont_data *data = (IDirectFBFont_data*)(ifont->priv);
+ data->content = ctx.content;
+ data->content_size = ctx.content_size;
+ data->content_mapped = ctx.content_mapped;
+ }
+
+ *interface = ifont;
return DFB_OK;
}
diff --git a/src/media/idirectfbfont.h b/src/media/idirectfbfont.h
index de41e6a..2a1002f 100644
--- a/src/media/idirectfbfont.h
+++ b/src/media/idirectfbfont.h
@@ -37,15 +37,34 @@
* probing context
*/
typedef struct {
- const char *filename;
+ /* Only set if databuffer is created from file.
+ deprecated - use memory location below. */
+ const char *filename;
+
+ /* if !=NULL, pointer to the file content */
+ unsigned char *content;
+ unsigned int content_size;
+ bool content_mapped;
} IDirectFBFont_ProbeContext;
+DFBResult
+IDirectFBFont_CreateFromBuffer( IDirectFBDataBuffer *buffer,
+ CoreDFB *core,
+ const DFBFontDescription *desc,
+ IDirectFBFont **interface );
+
+/**********************************************************************************************************************/
+
/*
* private data struct of IDirectFBFont
+ * used by implementors of IDirectFBFont
*/
typedef struct {
int ref; /* reference counter */
CoreFont *font; /* pointer to core font */
+ unsigned char *content; /* possible allocation, free at intf. close */
+ unsigned int content_size;
+ bool content_mapped;
DFBTextEncodingID encoding; /* text encoding */
} IDirectFBFont_data;
diff --git a/src/media/idirectfbimageprovider.c b/src/media/idirectfbimageprovider.c
index f54319c..fa3d904 100644
--- a/src/media/idirectfbimageprovider.c
+++ b/src/media/idirectfbimageprovider.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -38,20 +38,40 @@
#include <direct/interface.h>
#include <direct/mem.h>
+#include <fusion/conf.h>
+
#include <media/idirectfbimageprovider.h>
+#include <media/idirectfbimageprovider_client.h>
#include <media/idirectfbdatabuffer.h>
static DirectResult
IDirectFBImageProvider_AddRef( IDirectFBImageProvider *thiz )
{
- return DFB_UNIMPLEMENTED;
+ DIRECT_INTERFACE_GET_DATA( IDirectFBImageProvider )
+
+ data->ref++;
+
+ return DR_OK;
}
static DirectResult
IDirectFBImageProvider_Release( IDirectFBImageProvider *thiz )
{
- return DFB_UNIMPLEMENTED;
+ DIRECT_INTERFACE_GET_DATA( IDirectFBImageProvider )
+
+ if (--data->ref == 0) {
+ if (data->Destruct)
+ data->Destruct( thiz );
+
+ /* Decrease the data buffer reference counter. */
+ if (data->buffer)
+ data->buffer->Release( data->buffer );
+
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ }
+
+ return DR_OK;
}
static DFBResult
@@ -91,7 +111,12 @@ IDirectFBImageProvider_SetRenderCallback( IDirectFBImageProvider *thiz,
DIRenderCallback callback,
void *callback_data )
{
- return DFB_UNIMPLEMENTED;
+ DIRECT_INTERFACE_GET_DATA( IDirectFBImageProvider )
+
+ data->render_callback = callback;
+ data->render_callback_context = callback_data;
+
+ return DFB_OK;
}
static DFBResult
@@ -131,6 +156,18 @@ IDirectFBImageProvider_CreateFromBuffer( IDirectFBDataBuffer *buffer,
if (!buffer_data)
return DFB_DEAD;
+ if (fusion_config->secure_fusion && !dfb_core_is_master(core)) {
+ DIRECT_ALLOCATE_INTERFACE( imageprovider, IDirectFBImageProvider );
+
+ ret = IDirectFBImageProvider_Client_Construct( imageprovider, buffer, core );
+ if (ret)
+ return ret;
+
+ *interface = imageprovider;
+
+ return DFB_OK;
+ }
+
/* Clear for safety, especially header data. */
memset( &ctx, 0, sizeof(ctx) );
diff --git a/src/media/idirectfbimageprovider.h b/src/media/idirectfbimageprovider.h
index afbd613..cbc81ce 100644
--- a/src/media/idirectfbimageprovider.h
+++ b/src/media/idirectfbimageprovider.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -45,4 +45,24 @@ IDirectFBImageProvider_CreateFromBuffer( IDirectFBDataBuffer *buffer,
CoreDFB *core,
IDirectFBImageProvider **interface );
+/**********************************************************************************************************************/
+
+/*
+ * private data struct of IDirectFBImageProvider
+ * used by implementors of IDirectFBImageProvider
+ */
+typedef struct {
+ int ref; /* reference counter */
+
+ IDirectFBDataBuffer *buffer;
+
+ CoreDFB *core;
+
+ DIRenderCallback render_callback;
+ void *render_callback_context;
+
+ void (*Destruct)( IDirectFBImageProvider *thiz );
+} IDirectFBImageProvider_data;
+
+
#endif
diff --git a/src/media/idirectfbimageprovider_client.c b/src/media/idirectfbimageprovider_client.c
new file mode 100644
index 0000000..bd679c8
--- /dev/null
+++ b/src/media/idirectfbimageprovider_client.c
@@ -0,0 +1,176 @@
+/*
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <stddef.h>
+#include <string.h>
+
+#include <directfb.h>
+
+#include <core/CoreDFB.h>
+
+#include <core/core.h>
+
+#include <direct/interface.h>
+#include <direct/mem.h>
+
+#include <fusion/conf.h>
+
+#include <display/idirectfbsurface.h>
+
+#include <media/ImageProvider.h>
+
+#include <media/idirectfbimageprovider_client.h>
+#include <media/idirectfbdatabuffer.h>
+
+
+static DirectResult
+IDirectFBImageProvider_Client_AddRef( IDirectFBImageProvider *thiz )
+{
+ DIRECT_INTERFACE_GET_DATA( IDirectFBImageProvider_Client )
+
+ data->ref++;
+
+ return DR_OK;
+}
+
+static DirectResult
+IDirectFBImageProvider_Client_Release( IDirectFBImageProvider *thiz )
+{
+ DIRECT_INTERFACE_GET_DATA( IDirectFBImageProvider_Client )
+
+ if (--data->ref == 0) {
+ /* Decrease the data buffer reference counter. */
+ if (data->buffer)
+ data->buffer->Release( data->buffer );
+
+ ImageProvider_Dispose( &data->client );
+
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ }
+
+ return DR_OK;
+}
+
+static DFBResult
+IDirectFBImageProvider_Client_GetSurfaceDescription( IDirectFBImageProvider *thiz,
+ DFBSurfaceDescription *ret_dsc )
+{
+ DIRECT_INTERFACE_GET_DATA( IDirectFBImageProvider_Client )
+
+ return ImageProvider_GetSurfaceDescription( &data->client, ret_dsc );
+}
+
+static DFBResult
+IDirectFBImageProvider_Client_GetImageDescription( IDirectFBImageProvider *thiz,
+ DFBImageDescription *ret_dsc )
+{
+ DIRECT_INTERFACE_GET_DATA( IDirectFBImageProvider_Client )
+
+ return ImageProvider_GetImageDescription( &data->client, ret_dsc );
+}
+
+static DFBResult
+IDirectFBImageProvider_Client_RenderTo( IDirectFBImageProvider *thiz,
+ IDirectFBSurface *destination,
+ const DFBRectangle *destination_rect )
+{
+ IDirectFBSurface_data *destination_data;
+
+ DIRECT_INTERFACE_GET_DATA( IDirectFBImageProvider_Client );
+
+ DIRECT_INTERFACE_GET_DATA_FROM( destination, destination_data, IDirectFBSurface );
+
+ return ImageProvider_RenderTo( &data->client, destination_data->surface, destination_rect );
+}
+
+static DFBResult
+IDirectFBImageProvider_Client_SetRenderCallback( IDirectFBImageProvider *thiz,
+ DIRenderCallback callback,
+ void *callback_data )
+{
+ DIRECT_INTERFACE_GET_DATA( IDirectFBImageProvider_Client )
+
+ D_UNIMPLEMENTED();
+
+ return DFB_OK;
+}
+
+static DFBResult
+IDirectFBImageProvider_Client_WriteBack( IDirectFBImageProvider *thiz,
+ IDirectFBSurface *surface,
+ const DFBRectangle *src_rect,
+ const char *filename )
+{
+ return DFB_UNIMPLEMENTED;
+}
+
+DFBResult
+IDirectFBImageProvider_Client_Construct( IDirectFBImageProvider *thiz,
+ IDirectFBDataBuffer *buffer,
+ CoreDFB *core )
+{
+ DFBResult ret;
+ IDirectFBDataBuffer_data *buffer_data;
+ u32 call_id;
+
+ DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IDirectFBImageProvider_Client)
+
+ ret = buffer->AddRef( buffer );
+ if (ret) {
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return ret;
+ }
+
+ buffer_data = (IDirectFBDataBuffer_data*) buffer->priv;
+
+ ret = CoreDFB_CreateImageProvider( core, buffer_data->call.call_id, &call_id );
+ if (ret) {
+ buffer->Release( buffer );
+ DIRECT_DEALLOCATE_INTERFACE( thiz );
+ return ret;
+ }
+
+ fusion_call_init_from( &data->client.call, call_id, dfb_core_world(core) );
+
+ data->ref = 1;
+ data->core = core;
+ data->buffer = buffer;
+
+ thiz->AddRef = IDirectFBImageProvider_Client_AddRef;
+ thiz->Release = IDirectFBImageProvider_Client_Release;
+ thiz->GetSurfaceDescription = IDirectFBImageProvider_Client_GetSurfaceDescription;
+ thiz->GetImageDescription = IDirectFBImageProvider_Client_GetImageDescription;
+ thiz->RenderTo = IDirectFBImageProvider_Client_RenderTo;
+ thiz->SetRenderCallback = IDirectFBImageProvider_Client_SetRenderCallback;
+ thiz->WriteBack = IDirectFBImageProvider_Client_WriteBack;
+
+ return DFB_OK;
+}
+
diff --git a/src/media/idirectfbvideoprovider.h b/src/media/idirectfbimageprovider_client.h
similarity index 64%
copy from src/media/idirectfbvideoprovider.h
copy to src/media/idirectfbimageprovider_client.h
index 24e9ea1..c39f835 100644
--- a/src/media/idirectfbvideoprovider.h
+++ b/src/media/idirectfbimageprovider_client.h
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -26,29 +26,29 @@
Boston, MA 02111-1307, USA.
*/
-#ifndef __IDIRECTFBVIDEOPROVIDER_H__
-#define __IDIRECTFBVIDEOPROVIDER_H__
+#ifndef __IDIRECTFBIMAGEPROVIDER_CLIENT_H__
+#define __IDIRECTFBIMAGEPROVIDER_CLIENT_H__
#include <core/coretypes.h>
+#include <media/ImageProvider_includes.h>
+
+DFBResult IDirectFBImageProvider_Client_Construct( IDirectFBImageProvider *thiz,
+ IDirectFBDataBuffer *buffer,
+ CoreDFB *core );
+
/*
- * probing context
+ * private data struct of IDirectFBImageProvider_Client
*/
typedef struct {
- unsigned char header[64];
-
- /* Only set if databuffer is created from file. */
- const char *filename;
+ int ref; /* reference counter */
- /* Usefull if provider needs more data for probing. */
IDirectFBDataBuffer *buffer;
-} IDirectFBVideoProvider_ProbeContext;
+ CoreDFB *core;
-DFBResult
-IDirectFBVideoProvider_CreateFromBuffer( IDirectFBDataBuffer *buffer,
- CoreDFB *core,
- IDirectFBVideoProvider **interface );
+ ImageProvider client;
+} IDirectFBImageProvider_Client_data;
-#endif
+#endif
diff --git a/src/media/idirectfbvideoprovider.c b/src/media/idirectfbvideoprovider.c
index fcea1ba..0da6b47 100644
--- a/src/media/idirectfbvideoprovider.c
+++ b/src/media/idirectfbvideoprovider.c
@@ -43,13 +43,13 @@
static DirectResult
IDirectFBVideoProvider_AddRef( IDirectFBVideoProvider *thiz )
{
- return DFB_UNIMPLEMENTED;
+ return DR_UNIMPLEMENTED;
}
static DirectResult
IDirectFBVideoProvider_Release( IDirectFBVideoProvider *thiz )
{
- return DFB_UNIMPLEMENTED;
+ return DR_UNIMPLEMENTED;
}
static DFBResult
diff --git a/src/misc/Makefile.am b/src/misc/Makefile.am
index d1e77b7..7889132 100644
--- a/src/misc/Makefile.am
+++ b/src/misc/Makefile.am
@@ -1,8 +1,8 @@
## Makefile.am for DirectFB/src/misc
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -22,8 +22,17 @@ internalinclude_HEADERS = \
noinst_LTLIBRARIES = libdirectfb_misc.la
+
+if DIRECTFB_BUILD_PURE_VOODOO
+NON_PURE_VOODOO_SOURCESs =
+else
+NON_PURE_VOODOO_SOURCESs = \
+ gfx_util.c
+endif
+
libdirectfb_misc_la_SOURCES = \
+ $(NON_PURE_VOODOO_SOURCESs) \
conf.c \
+ dither.h \
dither565.h \
- gfx_util.c \
util.c
diff --git a/src/misc/Makefile.in b/src/misc/Makefile.in
index ab62df7..aff62b3 100644
--- a/src/misc/Makefile.in
+++ b/src/misc/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,38 +47,80 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libdirectfb_misc_la_LIBADD =
-am_libdirectfb_misc_la_OBJECTS = conf.lo gfx_util.lo util.lo
+am__libdirectfb_misc_la_SOURCES_DIST = gfx_util.c conf.c dither.h \
+ dither565.h util.c
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@am__objects_1 = gfx_util.lo
+am_libdirectfb_misc_la_OBJECTS = $(am__objects_1) conf.lo util.lo
libdirectfb_misc_la_OBJECTS = $(am_libdirectfb_misc_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_misc_la_SOURCES)
-DIST_SOURCES = $(libdirectfb_misc_la_SOURCES)
+DIST_SOURCES = $(am__libdirectfb_misc_la_SOURCES_DIST)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(internalincludedir)"
-internalincludeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(internalinclude_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -100,11 +144,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -118,16 +165,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -148,12 +196,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -164,21 +215,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -186,6 +245,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -199,6 +262,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -206,9 +270,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -255,11 +320,12 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -276,10 +342,15 @@ internalinclude_HEADERS = \
util.h
noinst_LTLIBRARIES = libdirectfb_misc.la
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@NON_PURE_VOODOO_SOURCESs = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ gfx_util.c
+
+ at DIRECTFB_BUILD_PURE_VOODOO_TRUE@NON_PURE_VOODOO_SOURCESs =
libdirectfb_misc_la_SOURCES = \
+ $(NON_PURE_VOODOO_SOURCESs) \
conf.c \
+ dither.h \
dither565.h \
- gfx_util.c \
util.c
all: all-am
@@ -290,14 +361,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/misc/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/misc/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/misc/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/misc/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -315,6 +386,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@@ -324,8 +396,8 @@ clean-noinstLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_misc.la: $(libdirectfb_misc_la_OBJECTS) $(libdirectfb_misc_la_DEPENDENCIES)
- $(LINK) $(libdirectfb_misc_la_OBJECTS) $(libdirectfb_misc_la_LIBADD) $(LIBS)
+libdirectfb_misc.la: $(libdirectfb_misc_la_OBJECTS) $(libdirectfb_misc_la_DEPENDENCIES) $(EXTRA_libdirectfb_misc_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libdirectfb_misc_la_OBJECTS) $(libdirectfb_misc_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -338,25 +410,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/util.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -366,34 +438,35 @@ clean-libtool:
install-internalincludeHEADERS: $(internalinclude_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(internalincludedir)" || $(MKDIR_P) "$(DESTDIR)$(internalincludedir)"
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(internalincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(internalincludedir)/$$f'"; \
- $(internalincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(internalincludedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(internalincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(internalincludedir)" || exit $$?; \
done
uninstall-internalincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(internalincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(internalincludedir)/$$f"; \
- done
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(internalincludedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -401,29 +474,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -444,13 +522,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -471,16 +553,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -502,6 +590,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -510,18 +600,28 @@ install-data-am: install-internalincludeHEADERS
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -560,6 +660,7 @@ uninstall-am: uninstall-internalincludeHEADERS
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-internalincludeHEADERS
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/misc/conf.c b/src/misc/conf.c
index 2c882a9..2564795 100644
--- a/src/misc/conf.c
+++ b/src/misc/conf.c
@@ -46,6 +46,10 @@
#include <fusion/conf.h>
#include <fusion/vector.h>
+#if DIRECTFB_BUILD_VOODOO
+#include <voodoo/conf.h>
+#endif
+
#include <core/coretypes.h>
#include <core/surface.h>
#include <core/layers.h>
@@ -58,14 +62,17 @@ D_DEBUG_DOMAIN( DirectFB_Config, "DirectFB/Config", "Runtime configuration optio
DFBConfig *dfb_config = NULL;
-static const char *config_usage =
+/* C99 States that a string cannot be longer than 4095 chars so we have to split the usage up */
+
+static char *config_usage;
+static const char *config_usage_strings[] = {
"DirectFB version " DIRECTFB_VERSION "\n"
"\n"
" --dfb-help Output DirectFB usage information and exit\n"
" --dfb:<option>[,<option>]... Pass options to DirectFB (see below)\n"
"\n"
"DirectFB options:\n"
- "\n"
+ "\n",
" system=<system> Specify the system (FBDev, SDL, etc.)\n"
" fbdev=<device> Open <device> instead of /dev/fb0\n"
" busid=<id> Specify the bus location of the graphics card (default 1:0:0)\n"
@@ -76,7 +83,7 @@ static const char *config_usage =
" surface-shmpool-size=<kb> Set the size of the shared memory pool used\n"
" for shared system memory surfaces.\n"
" session=<num> Select multi app world (zero based, -1 = new)\n"
- " remote=<host>[:<session>] Select remote session to connect to\n"
+ " remote=<host>[:<port>] Set remote host and port to connect to\n"
" primary-layer=<id> Select an alternative primary layer\n"
" primary-only Tell application only about the primary layer\n"
" [no-]banner Show DirectFB Banner on startup\n"
@@ -88,7 +95,7 @@ static const char *config_usage =
" [no-]software-warn Show warnings when doing/dropping software operations\n"
" [no-]software-trace Show every stage of the software rendering pipeline\n"
" [no-]dma Enable DMA acceleration\n"
- " [no-]sync Do `sync()' (default=no)\n"
+ " [no-]sync Do `sync()' (default=no)\n",
#ifdef USE_MMX
" [no-]mmx Enable mmx support\n"
#endif
@@ -97,6 +104,7 @@ static const char *config_usage =
" font-format=<pixelformat> Set the preferred font format\n"
" [no-]font-premult Enable/disable premultiplied glyph images in ARGB format\n"
" [no-]deinit-check Enable deinit check at exit\n"
+ " [no-]core-sighandler Enable/disable core signal handler (for emergency shutdowns)\n"
" block-all-signals Block all signals\n"
" [no-]vt-switch Allocate/switch to a new VT\n"
" vt-num=<num> Use given VT instead of current/new one\n"
@@ -112,9 +120,11 @@ static const char *config_usage =
" linux-input-ir-only Ignore all non-IR Linux Input devices\n"
" [no-]linux-input-grab Grab Linux Input devices?\n"
" [no-]cursor Never create a cursor or handle it\n"
+ " [no-]cursor-automation Automated cursor show/hide for windowed primary surfaces\n"
" [no-]cursor-updates Never show a cursor, but still handle it\n"
" wm=<wm> Window manager module ('default' or 'unique')\n"
" init-layer=<id> Initialize layer with ID (following layer- options apply)\n"
+ " [no-]layers-clear Clear layer surface buffers after creation\n"
" layer-size=<width>x<height> Set the pixel resolution\n"
" layer-format=<pixelformat> Set the pixel format\n"
" layer-depth=<pixeldepth> Set the pixel depth\n"
@@ -141,7 +151,8 @@ static const char *config_usage =
" mmio-phys=<hexaddress> Physical start of MMIO area (devmem system)\n"
" mmio-length=<bytes> Length of MMIO area (devmem system)\n"
" accelerator=<id> Accelerator ID selecting graphics driver (devmem system)\n"
- "\n"
+ " resource-manager=<impl> Use this resource manager implementation\n"
+ "\n",
" [no-]matrox-sgram Use Matrox SGRAM features\n"
" [no-]matrox-crtc2 Experimental Matrox CRTC2 support\n"
" matrox-tv-standard=(pal|ntsc|pal-60)\n"
@@ -161,6 +172,9 @@ static const char *config_usage =
" i8xx_overlay_pipe_b Redirect videolayer to pixelpipe B\n"
" include=<config file> Include the specified file, relative to the current file\n"
"\n"
+ " max-font-rows=<number> Maximum number of glyph cache rows (total for all fonts)\n"
+ " max-font-row-width=<pixels> Maximum width of glyph cache row surface\n"
+ "\n",
" Window surface swapping policy:\n"
" window-surface-policy=(auto|videohigh|videolow|systemonly|videoonly)\n"
" auto: DirectFB decides depending on hardware.\n"
@@ -181,7 +195,7 @@ static const char *config_usage =
" Force synchronization of vertical retrace:\n"
" vsync-after: Wait for the vertical retrace after flipping.\n"
" vsync-none: disable polling for vertical retrace.\n"
- "\n";
+ "\n"};
/**********************************************************************************************************************/
@@ -215,7 +229,12 @@ dfb_config_parse_pixelformat( const char *format )
static void
print_config_usage( void )
{
- fprintf( stderr, "%s%s%s", config_usage, fusion_config_usage, direct_config_usage );
+ int i;
+
+ for (i=0; i<D_ARRAY_SIZE(config_usage_strings); ++i)
+ fprintf(stderr,"%s",(config_usage_strings[i]));
+
+ fprintf( stderr, "%s%s", fusion_config_usage, direct_config_usage );
}
static DFBResult
@@ -305,9 +324,9 @@ static int config_read_cmdline( char *cmdbuf, int size, FILE *f )
{
int ret = 0;
int len = 0;
-
+
ret = fread( cmdbuf, 1, 1, f );
-
+
/* empty dividing 0 */
if( ret==1 && *cmdbuf==0 ) {
ret = fread( cmdbuf, 1, 1, f );
@@ -319,7 +338,7 @@ static int config_read_cmdline( char *cmdbuf, int size, FILE *f )
if( *cmdbuf == 0 )
break;
}
-
+
if( len ) {
cmdbuf[len]=0;
}
@@ -357,13 +376,26 @@ static void config_cleanup( void )
*/
static void config_allocate( void )
{
- int i;
+ int i, usage_length = 0;
if (dfb_config)
return;
dfb_config = (DFBConfig*) calloc( 1, sizeof(DFBConfig) );
+
+ for (i=0; i<D_ARRAY_SIZE(config_usage_strings); ++i)
+ usage_length += strlen(config_usage_strings[i]);
+
+ config_usage = (char*) malloc( usage_length );
+
+ for (i=0; i<D_ARRAY_SIZE(config_usage_strings); ++i)
+ {
+ usage_length = strlen(config_usage_strings[i]);
+ strncpy(config_usage,config_usage_strings[i],usage_length);
+ config_usage += usage_length;
+ }
+
for (i=0; i<D_ARRAY_SIZE(dfb_config->layers); i++) {
dfb_config->layers[i].src_key_index = -1;
@@ -415,6 +447,8 @@ static void config_allocate( void )
dfb_config->surface_shmpool_size = 64 * 1024 * 1024;
dfb_config->keep_accumulators = 1024;
dfb_config->font_format = DSPF_A8;
+ dfb_config->cursor_automation = true;
+ dfb_config->layers_clear = true;
/* default to fbdev */
dfb_config->system = D_STRDUP( "FBDev" );
@@ -425,6 +459,12 @@ static void config_allocate( void )
fusion_vector_init( &dfb_config->linux_input_devices, 2, NULL );
fusion_vector_init( &dfb_config->tslib_devices, 2, NULL );
+
+
+ dfb_config->max_font_rows = 99;
+ dfb_config->max_font_row_width = 2048;
+
+ dfb_config->core_sighandler = true;
}
const char *dfb_config_usage( void )
@@ -585,24 +625,41 @@ DFBResult dfb_config_set( const char *name, const char *value )
} else
if (strcmp (name, "remote" ) == 0) {
if (value) {
- char host[128];
- int session = 0;
+ char *colon;
- if (sscanf( value, "%127s:%d", host, &session ) < 1) {
- D_ERROR("DirectFB/Config 'remote': "
- "Could not parse value (format is <host>[:<session>])!\n");
- return DFB_INVARG;
+ colon = strchr( value, ':' );
+ if (colon) {
+ int len = (long) colon - (long) value;
+ int port = 0;
+
+ if (sscanf( colon + 1, "%d", &port ) < 1) {
+ D_ERROR("DirectFB/Config 'remote': "
+ "Could not parse value (format is <host>[:<port>])!\n");
+ return DFB_INVARG;
+ }
+
+ if (dfb_config->remote.host)
+ D_FREE( dfb_config->remote.host );
+
+ dfb_config->remote.host = D_MALLOC( len+1 );
+ dfb_config->remote.port = port;
+
+ direct_snputs( dfb_config->remote.host, value, len+1 );
}
+ else {
+ if (dfb_config->remote.host)
+ D_FREE( dfb_config->remote.host );
+ dfb_config->remote.host = D_STRDUP( value );
+ dfb_config->remote.port = 0;
+ }
+ }
+ else {
if (dfb_config->remote.host)
D_FREE( dfb_config->remote.host );
- dfb_config->remote.host = D_STRDUP( host );
- dfb_config->remote.session = session;
- }
- else {
- D_ERROR("DirectFB/Config 'remote': No value specified!\n");
- return DFB_INVARG;
+ dfb_config->remote.host = D_STRDUP( "" );
+ dfb_config->remote.port = 0;
}
} else
if (strcmp (name, "videoram-limit" ) == 0) {
@@ -790,6 +847,12 @@ DFBResult dfb_config_set( const char *name, const char *value )
if (strcmp (name, "block-all-signals" ) == 0) {
dfb_config->block_all_signals = true;
} else
+ if (strcmp (name, "core-sighandler" ) == 0) {
+ dfb_config->core_sighandler = true;
+ } else
+ if (strcmp (name, "no-core-sighandler" ) == 0) {
+ dfb_config->core_sighandler = false;
+ } else
if (strcmp (name, "deinit-check" ) == 0) {
dfb_config->deinit_check = true;
} else
@@ -802,6 +865,12 @@ DFBResult dfb_config_set( const char *name, const char *value )
if (strcmp (name, "no-cursor" ) == 0) {
dfb_config->no_cursor = true;
} else
+ if (strcmp (name, "cursor-automation" ) == 0) {
+ dfb_config->cursor_automation = true;
+ } else
+ if (strcmp (name, "no-cursor-automation" ) == 0) {
+ dfb_config->cursor_automation = false;
+ } else
if (strcmp (name, "cursor-updates" ) == 0) {
dfb_config->no_cursor_updates = false;
} else
@@ -1339,10 +1408,16 @@ DFBResult dfb_config_set( const char *name, const char *value )
return DFB_INVARG;
}
} else
+ if (strcmp (name, "layers-clear" ) == 0) {
+ dfb_config->layers_clear = true;
+ } else
+ if (strcmp (name, "no-layers-clear" ) == 0) {
+ dfb_config->layers_clear = false;
+ } else
if (strcmp (name, "video-phys" ) == 0) {
if (value) {
char *error;
- ulong phys;
+ unsigned long phys;
phys = strtoul( value, &error, 16 );
@@ -1361,7 +1436,7 @@ DFBResult dfb_config_set( const char *name, const char *value )
if (strcmp (name, "video-length" ) == 0) {
if (value) {
char *error;
- ulong length;
+ unsigned long length;
length = strtoul( value, &error, 10 );
@@ -1380,7 +1455,7 @@ DFBResult dfb_config_set( const char *name, const char *value )
if (strcmp (name, "mmio-phys" ) == 0) {
if (value) {
char *error;
- ulong phys;
+ unsigned long phys;
phys = strtoul( value, &error, 16 );
@@ -1399,7 +1474,7 @@ DFBResult dfb_config_set( const char *name, const char *value )
if (strcmp (name, "mmio-length" ) == 0) {
if (value) {
char *error;
- ulong length;
+ unsigned long length;
length = strtoul( value, &error, 10 );
@@ -1418,7 +1493,7 @@ DFBResult dfb_config_set( const char *name, const char *value )
if (strcmp (name, "accelerator" ) == 0) {
if (value) {
char *error;
- ulong accel;
+ unsigned long accel;
accel = strtoul( value, &error, 10 );
@@ -1434,6 +1509,44 @@ DFBResult dfb_config_set( const char *name, const char *value )
return DFB_INVARG;
}
} else
+ if (strcmp (name, "max-font-rows" ) == 0) {
+ if (value) {
+ char *error;
+ unsigned long num;
+
+ num = strtoul( value, &error, 10 );
+
+ if (*error) {
+ D_ERROR( "DirectFB/Config '%s': Error in value '%s'!\n", name, error );
+ return DFB_INVARG;
+ }
+
+ dfb_config->max_font_rows = num;
+ }
+ else {
+ D_ERROR( "DirectFB/Config '%s': No value specified!\n", name );
+ return DFB_INVARG;
+ }
+ } else
+ if (strcmp (name, "max-font-row-width" ) == 0) {
+ if (value) {
+ char *error;
+ unsigned long width;
+
+ width = strtoul( value, &error, 10 );
+
+ if (*error) {
+ D_ERROR( "DirectFB/Config '%s': Error in value '%s'!\n", name, error );
+ return DFB_INVARG;
+ }
+
+ dfb_config->max_font_row_width = width;
+ }
+ else {
+ D_ERROR( "DirectFB/Config '%s': No value specified!\n", name );
+ return DFB_INVARG;
+ }
+ } else
if (strcmp (name, "matrox-tv-standard" ) == 0) {
if (value) {
if (strcmp( value, "pal-60" ) == 0) {
@@ -1505,6 +1618,18 @@ DFBResult dfb_config_set( const char *name, const char *value )
if (strcmp (name, "no-capslock-meta" ) == 0) {
dfb_config->capslock_meta = false;
} else
+ if (strcmp (name, "resource-manager" ) == 0) {
+ if (value) {
+ if (dfb_config->resource_manager)
+ D_FREE( dfb_config->resource_manager );
+
+ dfb_config->resource_manager = D_STRDUP( value );
+ }
+ else {
+ D_ERROR( "DirectFB/Config '%s': No implementation specified!\n", name );
+ return DFB_INVARG;
+ }
+ } else
if (strcmp (name, "h3600-device" ) == 0) {
if (value) {
if (dfb_config->h3600_device)
@@ -1604,6 +1729,22 @@ DFBResult dfb_config_set( const char *name, const char *value )
if (strcmp (name, "i8xx_overlay_pipe_b") == 0) {
dfb_config->i8xx_overlay_pipe_b = true;
} else
+ if (strcmp (name, "max-axis-rate" ) == 0) {
+ if (value) {
+ unsigned int rate;
+
+ if (sscanf( value, "%u", &rate ) < 1) {
+ D_ERROR("DirectFB/Config '%s': Could not parse value!\n", name);
+ return DFB_INVARG;
+ }
+
+ dfb_config->max_axis_rate = rate;
+ }
+ else {
+ D_ERROR("DirectFB/Config '%s': No value specified!\n", name);
+ return DFB_INVARG;
+ }
+ } else
if (strcmp (name, "include") == 0) {
if( value ) {
DFBResult ret;
@@ -1613,10 +1754,14 @@ DFBResult dfb_config_set( const char *name, const char *value )
}
else {
D_ERROR("DirectFB/Config 'include': No include file specified!\n");
- return DFB_INVARG;
+ return DFB_INVARG;
}
} else
- if (fusion_config_set( name, value ) && direct_config_set( name, value ))
+ if (
+#if DIRECTFB_BUILD_VOODOO
+ voodoo_config_set( name, value ) &&
+#endif
+ fusion_config_set( name, value ) && direct_config_set( name, value ))
return DFB_UNSUPPORTED;
return DFB_OK;
@@ -1631,7 +1776,7 @@ DFBResult dfb_config_init( int *argc, char *(*argv[]) )
char *session;
char *dfbargs;
char cmdbuf[1024];
-
+
if (dfb_config)
return DFB_OK;
@@ -1822,9 +1967,18 @@ DFBResult dfb_config_read( const char *filename )
/* store/restore the cwd (needed for the "include" command */
slash = strrchr( filename, '/' );
if( slash ) {
- cwd = getcwd(0,0);
- if( !cwd )
+ cwd = malloc( 4096 );
+ if (!cwd) {
+ fclose( f );
return D_OOM();
+ }
+
+ if (!getcwd( cwd, 4096 )) {
+ ret = errno2result( errno );
+ free( cwd );
+ fclose( f );
+ return ret;
+ }
/* must copy filename for path, due to const'ness */
char nwd[strlen(filename)];
diff --git a/src/misc/conf.h b/src/misc/conf.h
index c6344e4..440f2e2 100644
--- a/src/misc/conf.h
+++ b/src/misc/conf.h
@@ -163,7 +163,7 @@ typedef struct
struct {
char *host; /* Remote host to connect to. */
- int session; /* Remote session number. */
+ int port; /* Remote port number. */
} remote;
char *wm; /* Window manager to use. */
@@ -243,6 +243,20 @@ typedef struct
int keep_accumulators; /* Free accumulators above this limit */
bool software_trace;
+
+ unsigned int max_axis_rate;
+
+ bool cursor_automation;
+
+
+ int max_font_rows;
+ int max_font_row_width;
+
+ bool core_sighandler;
+
+ char *resource_manager;
+
+ bool layers_clear;
} DFBConfig;
extern DFBConfig *dfb_config;
diff --git a/src/misc/dither.h b/src/misc/dither.h
new file mode 100644
index 0000000..b3707b8
--- /dev/null
+++ b/src/misc/dither.h
@@ -0,0 +1,212 @@
+/*
+ (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef __DITHER_H__
+#define __DITHER_H__
+
+
+#ifndef DIRECTFB_VERSION
+#error config.h must be included prior to dither.h
+#endif
+
+
+/* Dither matrices
+ * ---------------
+ *
+ * Preprocessed matrices taken from GdkRGB.
+ */
+
+
+#if (DFB_DITHER == DFB_DITHER_ADVANCED)
+
+/* This dither table was generated by Raph Levien using patented
+ * technology (US Patent 5,276,535). The dither table itself is in the
+ * public domain.
+ */
+
+#define DM_WIDTH 128
+#define DM_HEIGHT 128
+#define DM_WIDTH_SHIFT 7
+
+static const u8 DM[128][128] =
+{
+ { 0, 41, 23, 5, 17, 39, 7, 15, 62, 23, 40, 51, 31, 47, 9, 32, 52, 27, 57, 25, 6, 61, 27, 52, 37, 7, 40, 63, 18, 36, 10, 42, 25, 62, 45, 34, 20, 42, 37, 14, 35, 29, 50, 10, 61, 2, 40, 8, 37, 12, 58, 22, 5, 41, 10, 39, 0, 60, 11, 46, 2, 55, 38, 17, 36, 59, 13, 54, 37, 56, 8, 29, 16, 13, 63, 22, 41, 55, 7, 20, 49, 14, 23, 55, 37, 23, 19, 36, 15, 49, 23, 63, 30, 14, 38, 27, 53, 13, 22, 41, 19, 31, 7, 19, 50, 30, 49, 16, 3, 32, 56, 40, 29, 34, 8, 48, 19, 45, 4, 51, 12, 46, 35, 49, 16, 42, 12, 62 },
+ { 30, 57, 36, 54, 47, 34, 52, 27, 43, 4, 28, 7, 17, 36, 62, 13, 44, 7, 18, 48, 33, 21, 44, 14, 30, 47, 12, 33, 5, 55, 31, 58, 13, 30, 4, 17, 52, 10, 60, 26, 46, 0, 39, 27, 42, 22, 47, 25, 60, 32, 9, 38, 48, 17, 59, 30, 49, 18, 34, 25, 51, 19, 5, 48, 21, 8, 28, 46, 1, 32, 41, 19, 54, 47, 37, 18, 28, 11, 44, 30, 39, 56, 2, 33, 8, 42, 61, 28, 58, 8, 46, 9, 41, 4, 58, 7, 21, 48, 59, 10, 52, 14, 42, 57, 12, 25, 7, 53, 42, 24, 11, 50, 17, 59, 42, 2, 36, 60, 32, 17, 63, 29, 21, 7, 59, 32, 24, 39 },
+ { 22, 8, 16, 32, 3, 25, 13, 57, 18, 45, 58, 39, 55, 20, 5, 42, 23, 34, 63, 1, 51, 10, 58, 4, 60, 23, 53, 27, 44, 21, 3, 48, 8, 50, 43, 54, 27, 32, 5, 55, 21, 58, 12, 53, 6, 36, 14, 50, 17, 29, 53, 15, 24, 52, 7, 36, 13, 42, 4, 53, 9, 35, 61, 26, 56, 32, 49, 15, 62, 23, 6, 60, 2, 31, 4, 48, 58, 38, 15, 61, 5, 25, 47, 28, 50, 15, 7, 40, 3, 32, 33, 52, 25, 50, 35, 42, 61, 3, 28, 36, 23, 63, 4, 33, 46, 62, 36, 23, 60, 6, 54, 28, 4, 37, 23, 55, 25, 8, 42, 54, 14, 6, 56, 38, 19, 52, 4, 46 },
+ { 48, 53, 43, 12, 45, 63, 30, 37, 9, 34, 21, 1, 25, 47, 29, 58, 3, 54, 15, 39, 29, 17, 38, 35, 20, 43, 1, 49, 15, 59, 29, 39, 22, 35, 16, 23, 1, 47, 39, 18, 8, 44, 25, 31, 57, 19, 63, 4, 45, 3, 42, 61, 1, 31, 45, 20, 57, 29, 62, 21, 32, 41, 14, 44, 3, 39, 5, 34, 10, 43, 51, 35, 23, 52, 40, 10, 21, 1, 53, 18, 51, 43, 12, 62, 18, 54, 26, 51, 20, 57, 14, 1, 62, 16, 11, 18, 32, 39, 17, 44, 1, 48, 26, 37, 18, 2, 51, 14, 28, 45, 35, 18, 57, 13, 47, 11, 51, 20, 2, 39, 31, 47, 25, 1, 50, 11, 60, 7 },
+ { 18, 28, 1, 56, 21, 10, 51, 2, 46, 54, 14, 61, 11, 50, 13, 38, 19, 31, 45, 9, 55, 24, 47, 5, 54, 9, 62, 11, 35, 8, 51, 14, 57, 6, 63, 40, 58, 14, 51, 28, 62, 34, 15, 48, 1, 41, 30, 35, 55, 21, 34, 11, 49, 37, 8, 52, 4, 23, 15, 43, 1, 58, 11, 23, 53, 16, 55, 26, 58, 18, 27, 12, 45, 14, 25, 63, 42, 33, 27, 35, 9, 31, 21, 38, 1, 44, 34, 12, 48, 38, 21, 44, 29, 47, 26, 53, 1, 46, 54, 8, 59, 29, 11, 55, 22, 41, 33, 20, 39, 1, 48, 9, 44, 32, 5, 62, 29, 44, 57, 23, 10, 58, 34, 43, 15, 37, 26, 33 },
+ { 51, 38, 59, 24, 35, 42, 19, 60, 5, 32, 41, 26, 43, 33, 7, 53, 48, 11, 59, 23, 42, 2, 61, 30, 16, 40, 32, 24, 56, 41, 19, 33, 37, 26, 47, 9, 31, 22, 2, 45, 9, 54, 4, 37, 21, 52, 11, 23, 7, 57, 16, 25, 55, 18, 63, 27, 46, 39, 56, 10, 50, 37, 29, 47, 19, 63, 24, 9, 46, 2, 39, 60, 9, 57, 30, 7, 49, 11, 59, 3, 45, 57, 5, 60, 29, 22, 5, 60, 30, 9, 59, 18, 40, 6, 57, 36, 30, 12, 24, 34, 15, 40, 52, 6, 49, 9, 58, 4, 63, 12, 26, 61, 22, 53, 38, 16, 35, 14, 28, 50, 42, 17, 5, 28, 62, 20, 54, 12 },
+ { 26, 6, 31, 15, 49, 6, 38, 27, 22, 49, 16, 56, 2, 62, 30, 21, 0, 36, 28, 6, 49, 32, 13, 52, 26, 50, 19, 46, 3, 26, 62, 0, 53, 12, 29, 3, 53, 41, 60, 24, 38, 13, 58, 16, 43, 9, 59, 39, 46, 28, 44, 40, 2, 33, 13, 41, 16, 6, 47, 31, 26, 17, 57, 6, 38, 0, 42, 36, 29, 52, 20, 31, 48, 0, 34, 56, 20, 36, 23, 54, 14, 41, 24, 37, 10, 55, 46, 25, 16, 45, 36, 4, 55, 23, 15, 8, 50, 62, 5, 56, 44, 20, 13, 28, 59, 31, 24, 47, 31, 52, 37, 17, 40, 0, 26, 49, 3, 60, 7, 33, 0, 61, 53, 40, 8, 45, 2, 41 },
+ { 16, 63, 43, 4, 61, 24, 56, 13, 53, 8, 36, 12, 24, 41, 16, 46, 60, 26, 52, 39, 14, 57, 21, 37, 0, 45, 7, 59, 38, 17, 43, 10, 45, 20, 61, 43, 19, 11, 33, 17, 50, 32, 23, 61, 28, 49, 26, 0, 18, 51, 5, 60, 22, 58, 29, 0, 59, 34, 19, 62, 3, 52, 7, 44, 30, 59, 13, 50, 15, 62, 7, 17, 38, 22, 44, 15, 40, 4, 47, 28, 33, 17, 49, 16, 51, 40, 10, 56, 0, 53, 13, 49, 28, 38, 60, 21, 43, 19, 37, 27, 3, 51, 34, 39, 0, 45, 15, 43, 10, 21, 3, 55, 8, 33, 59, 10, 41, 18, 52, 24, 46, 20, 30, 13, 58, 22, 36, 57 },
+ { 50, 34, 11, 47, 29, 17, 44, 0, 33, 63, 28, 46, 52, 5, 57, 10, 42, 18, 4, 63, 20, 8, 44, 10, 56, 34, 14, 29, 5, 54, 23, 59, 32, 49, 7, 34, 49, 27, 56, 0, 42, 7, 46, 3, 40, 6, 54, 32, 62, 13, 36, 10, 47, 8, 35, 49, 24, 51, 12, 40, 22, 35, 60, 12, 22, 51, 33, 4, 40, 25, 43, 55, 5, 54, 12, 61, 26, 51, 8, 62, 0, 53, 7, 63, 2, 32, 19, 34, 42, 24, 31, 63, 2, 10, 45, 33, 0, 48, 9, 61, 22, 47, 8, 62, 18, 56, 7, 54, 27, 57, 46, 30, 50, 19, 45, 30, 56, 36, 22, 47, 11, 38, 3, 51, 32, 48, 18, 9 },
+ { 0, 21, 40, 19, 52, 9, 37, 48, 20, 40, 3, 18, 27, 38, 35, 22, 31, 56, 13, 35, 46, 28, 60, 40, 27, 18, 61, 50, 41, 30, 7, 36, 2, 25, 16, 57, 5, 15, 47, 29, 55, 19, 30, 52, 15, 34, 20, 12, 43, 30, 20, 54, 25, 44, 53, 12, 38, 5, 55, 27, 48, 15, 33, 27, 45, 8, 19, 28, 56, 11, 33, 49, 18, 36, 29, 2, 45, 16, 39, 19, 31, 43, 27, 35, 20, 52, 26, 6, 61, 11, 41, 17, 29, 51, 20, 56, 25, 32, 41, 17, 53, 31, 25, 14, 42, 23, 35, 16, 38, 6, 34, 12, 15, 62, 6, 21, 13, 1, 63, 9, 55, 27, 43, 25, 14, 4, 31, 55 },
+ { 44, 29, 61, 2, 35, 58, 26, 15, 60, 10, 51, 59, 14, 55, 8, 50, 2, 44, 25, 51, 1, 33, 16, 4, 48, 36, 2, 21, 12, 57, 48, 13, 51, 55, 40, 28, 37, 62, 8, 39, 12, 63, 36, 10, 59, 24, 56, 47, 9, 50, 41, 1, 32, 17, 6, 21, 61, 30, 9, 43, 1, 54, 41, 2, 54, 37, 48, 61, 1, 46, 21, 3, 58, 24, 50, 32, 60, 10, 57, 25, 46, 12, 59, 4, 45, 13, 57, 47, 27, 39, 5, 58, 47, 14, 35, 4, 52, 13, 60, 6, 36, 10, 45, 55, 4, 50, 29, 2, 61, 50, 25, 58, 44, 24, 36, 42, 54, 28, 40, 32, 16, 56, 6, 62, 46, 39, 60, 23 },
+ { 7, 48, 14, 54, 23, 40, 4, 45, 30, 22, 42, 32, 1, 44, 20, 29, 58, 8, 37, 19, 41, 54, 24, 58, 9, 53, 25, 46, 34, 16, 23, 38, 27, 11, 18, 1, 52, 21, 35, 22, 48, 5, 25, 45, 18, 38, 2, 27, 35, 4, 57, 15, 62, 39, 57, 28, 42, 16, 36, 60, 24, 18, 10, 63, 20, 5, 16, 23, 37, 14, 59, 27, 41, 8, 13, 42, 21, 35, 6, 50, 3, 38, 15, 48, 30, 39, 17, 3, 49, 14, 53, 33, 24, 7, 61, 44, 11, 39, 23, 49, 19, 58, 1, 32, 36, 12, 60, 41, 20, 13, 41, 4, 39, 1, 48, 8, 18, 51, 14, 44, 5, 37, 21, 34, 1, 26, 10, 37 },
+ { 53, 36, 27, 9, 50, 12, 32, 55, 2, 57, 7, 17, 48, 34, 63, 15, 40, 26, 62, 11, 49, 6, 31, 39, 22, 42, 6, 63, 1, 39, 60, 4, 42, 61, 32, 45, 24, 44, 2, 60, 16, 41, 53, 1, 33, 61, 49, 17, 63, 23, 45, 26, 33, 3, 23, 46, 2, 50, 20, 4, 45, 34, 49, 30, 39, 58, 44, 31, 53, 34, 6, 52, 30, 47, 63, 1, 53, 22, 42, 31, 58, 23, 54, 22, 61, 8, 36, 59, 22, 35, 21, 1, 55, 40, 27, 16, 30, 54, 2, 29, 43, 16, 39, 63, 21, 46, 26, 10, 48, 32, 19, 53, 30, 56, 26, 60, 33, 4, 61, 23, 49, 59, 15, 53, 19, 58, 42, 16 },
+ { 20, 5, 59, 46, 25, 62, 7, 19, 43, 25, 37, 61, 11, 24, 4, 54, 12, 52, 3, 32, 17, 61, 12, 47, 15, 55, 18, 31, 53, 28, 9, 50, 21, 6, 55, 9, 58, 14, 54, 26, 33, 7, 31, 58, 13, 21, 8, 42, 29, 6, 37, 11, 48, 52, 14, 60, 11, 39, 56, 32, 14, 58, 7, 26, 17, 4, 42, 8, 11, 47, 19, 38, 10, 17, 26, 37, 9, 55, 28, 13, 18, 40, 6, 33, 1, 43, 25, 11, 51, 7, 62, 43, 18, 37, 3, 57, 45, 9, 38, 58, 5, 52, 27, 7, 17, 53, 5, 57, 37, 2, 63, 9, 22, 15, 11, 38, 25, 45, 35, 0, 28, 10, 41, 30, 50, 8, 31, 57 },
+ { 49, 33, 16, 38, 1, 42, 51, 34, 53, 14, 28, 49, 30, 56, 36, 23, 43, 20, 38, 56, 22, 45, 28, 0, 62, 35, 26, 44, 11, 19, 52, 35, 44, 15, 30, 38, 10, 31, 40, 4, 46, 50, 20, 40, 27, 44, 51, 14, 56, 53, 19, 59, 7, 29, 41, 19, 35, 25, 8, 52, 22, 44, 13, 53, 50, 32, 61, 24, 56, 25, 63, 0, 45, 57, 33, 59, 16, 46, 4, 62, 50, 11, 60, 37, 52, 19, 55, 29, 37, 46, 13, 26, 48, 10, 50, 34, 21, 63, 26, 13, 42, 33, 22, 55, 35, 28, 43, 15, 24, 51, 27, 34, 46, 49, 58, 3, 52, 9, 57, 19, 48, 55, 3, 35, 12, 45, 24, 3 },
+ { 41, 11, 56, 28, 18, 31, 22, 10, 37, 6, 47, 13, 3, 41, 9, 46, 0, 48, 29, 6, 34, 10, 55, 37, 20, 8, 49, 3, 41, 59, 14, 25, 0, 63, 19, 47, 27, 51, 17, 57, 23, 10, 61, 6, 54, 3, 38, 31, 0, 22, 34, 43, 20, 55, 31, 0, 49, 63, 29, 38, 3, 62, 28, 40, 0, 22, 14, 35, 2, 48, 15, 43, 23, 14, 3, 29, 49, 20, 39, 34, 0, 44, 29, 9, 15, 47, 5, 42, 0, 31, 58, 5, 31, 61, 23, 15, 0, 47, 19, 50, 24, 3, 59, 11, 44, 0, 31, 59, 6, 42, 17, 60, 0, 39, 20, 31, 43, 17, 29, 40, 12, 25, 60, 22, 52, 15, 63, 29 },
+ { 20, 52, 8, 44, 62, 4, 59, 49, 17, 63, 21, 39, 60, 18, 52, 27, 33, 59, 14, 51, 59, 43, 24, 5, 51, 30, 57, 17, 32, 5, 37, 56, 48, 34, 42, 3, 60, 5, 36, 13, 43, 37, 18, 34, 25, 12, 59, 24, 47, 36, 11, 50, 3, 38, 9, 58, 16, 5, 43, 18, 47, 10, 37, 18, 59, 46, 29, 52, 40, 12, 34, 28, 56, 36, 53, 7, 43, 8, 24, 52, 26, 17, 56, 43, 24, 32, 63, 20, 57, 16, 22, 52, 36, 8, 41, 56, 29, 32, 54, 7, 35, 57, 14, 48, 20, 62, 13, 39, 53, 29, 8, 45, 13, 29, 7, 61, 14, 54, 6, 63, 38, 32, 18, 43, 2, 39, 6, 47 },
+ { 0, 58, 23, 35, 13, 46, 12, 39, 0, 31, 55, 24, 5, 35, 15, 61, 17, 5, 39, 25, 18, 2, 50, 33, 41, 13, 39, 23, 62, 46, 29, 12, 22, 8, 56, 25, 20, 49, 32, 62, 0, 56, 11, 46, 63, 42, 9, 16, 55, 5, 60, 15, 62, 26, 45, 21, 36, 51, 13, 57, 31, 24, 55, 6, 35, 9, 57, 5, 20, 60, 7, 51, 5, 19, 40, 25, 61, 32, 56, 12, 36, 48, 21, 2, 58, 12, 39, 28, 9, 50, 40, 12, 44, 18, 25, 49, 6, 38, 11, 62, 18, 46, 30, 9, 40, 25, 49, 19, 10, 36, 55, 22, 33, 52, 41, 18, 37, 27, 49, 21, 2, 46, 7, 53, 33, 61, 27, 35 },
+ { 41, 31, 5, 39, 51, 26, 33, 57, 27, 41, 9, 44, 54, 29, 48, 7, 44, 36, 57, 10, 31, 63, 16, 45, 11, 60, 1, 47, 7, 20, 43, 3, 58, 36, 13, 52, 39, 7, 15, 28, 22, 48, 30, 21, 1, 29, 49, 44, 27, 17, 40, 30, 24, 42, 12, 53, 33, 7, 47, 20, 1, 42, 11, 49, 25, 43, 17, 32, 45, 27, 41, 21, 31, 62, 11, 49, 2, 15, 42, 5, 63, 7, 41, 27, 49, 6, 54, 23, 46, 34, 2, 28, 54, 3, 59, 12, 46, 17, 42, 28, 40, 1, 37, 51, 5, 55, 2, 34, 47, 16, 3, 62, 47, 5, 23, 56, 1, 44, 12, 34, 51, 16, 57, 11, 25, 17, 54, 13 },
+ { 60, 26, 55, 18, 3, 60, 20, 6, 52, 15, 50, 19, 32, 11, 23, 53, 26, 21, 1, 47, 42, 27, 8, 58, 21, 27, 53, 36, 26, 54, 31, 50, 17, 30, 45, 1, 29, 59, 44, 53, 41, 4, 35, 58, 51, 19, 32, 4, 52, 34, 48, 8, 51, 5, 56, 2, 25, 61, 27, 38, 54, 27, 62, 21, 51, 1, 39, 62, 10, 50, 1, 58, 13, 47, 38, 18, 35, 54, 22, 51, 30, 19, 59, 34, 14, 32, 44, 4, 60, 15, 52, 62, 20, 43, 30, 35, 21, 60, 4, 52, 12, 24, 61, 18, 30, 42, 23, 61, 25, 50, 27, 38, 11, 59, 12, 35, 50, 30, 59, 24, 8, 42, 28, 37, 48, 9, 44, 21 },
+ { 10, 47, 15, 50, 30, 43, 8, 45, 29, 2, 36, 59, 1, 58, 41, 3, 63, 31, 54, 20, 13, 55, 35, 38, 4, 44, 15, 9, 61, 2, 14, 38, 61, 10, 23, 54, 18, 12, 24, 2, 14, 55, 16, 8, 38, 14, 41, 60, 10, 23, 1, 58, 32, 17, 28, 37, 41, 15, 3, 60, 15, 33, 4, 36, 16, 59, 28, 14, 23, 55, 37, 18, 44, 28, 2, 57, 30, 10, 27, 46, 14, 38, 3, 53, 21, 61, 17, 35, 10, 41, 26, 7, 33, 9, 57, 1, 53, 37, 26, 20, 56, 48, 9, 33, 58, 16, 37, 7, 45, 1, 57, 15, 32, 26, 42, 23, 7, 20, 4, 54, 31, 62, 22, 1, 59, 30, 4, 51 },
+ { 36, 2, 38, 11, 24, 36, 54, 22, 62, 47, 25, 8, 28, 45, 16, 38, 12, 43, 9, 37, 49, 3, 23, 52, 18, 30, 50, 33, 19, 42, 49, 26, 6, 40, 47, 35, 63, 38, 50, 33, 60, 26, 36, 47, 24, 57, 6, 26, 39, 63, 19, 44, 14, 46, 61, 9, 50, 30, 45, 23, 10, 50, 44, 8, 31, 54, 6, 46, 36, 4, 30, 54, 8, 52, 22, 41, 4, 60, 40, 0, 58, 24, 45, 10, 37, 1, 48, 30, 56, 17, 38, 48, 24, 47, 19, 39, 14, 8, 45, 32, 2, 34, 27, 44, 4, 52, 11, 56, 31, 21, 40, 19, 44, 51, 2, 63, 46, 58, 36, 43, 14, 5, 50, 38, 14, 56, 40, 23 },
+ { 61, 46, 32, 63, 54, 1, 14, 34, 12, 40, 18, 49, 37, 10, 61, 30, 51, 24, 60, 7, 29, 40, 62, 11, 46, 58, 6, 56, 24, 10, 34, 52, 21, 59, 16, 3, 27, 5, 20, 46, 9, 40, 7, 62, 2, 30, 53, 15, 48, 10, 28, 35, 54, 6, 21, 34, 18, 55, 7, 40, 57, 19, 26, 60, 41, 13, 24, 51, 19, 61, 9, 25, 34, 15, 63, 11, 45, 17, 20, 47, 33, 8, 31, 62, 43, 26, 53, 7, 24, 59, 0, 13, 55, 4, 62, 27, 51, 31, 63, 15, 58, 7, 54, 14, 46, 22, 28, 43, 12, 63, 8, 54, 5, 17, 39, 33, 15, 10, 27, 17, 47, 34, 19, 45, 27, 12, 33, 17 },
+ { 5, 28, 21, 7, 17, 48, 42, 58, 23, 4, 63, 14, 55, 21, 34, 5, 19, 0, 45, 17, 52, 15, 25, 32, 0, 22, 40, 13, 45, 62, 18, 0, 43, 11, 33, 55, 30, 42, 57, 19, 51, 31, 22, 43, 18, 45, 34, 0, 43, 31, 56, 3, 23, 40, 59, 0, 44, 13, 48, 35, 2, 32, 46, 0, 21, 48, 35, 3, 40, 32, 43, 59, 0, 48, 33, 26, 53, 36, 55, 12, 51, 16, 55, 5, 18, 29, 11, 39, 51, 19, 45, 31, 42, 21, 35, 6, 22, 47, 10, 38, 23, 50, 20, 36, 0, 60, 38, 4, 50, 35, 48, 34, 24, 57, 9, 53, 28, 48, 61, 0, 56, 24, 53, 3, 63, 6, 42, 57 },
+ { 13, 53, 45, 40, 58, 27, 6, 16, 38, 51, 33, 30, 43, 2, 47, 56, 40, 50, 33, 57, 27, 5, 47, 42, 60, 36, 16, 54, 28, 4, 37, 57, 28, 51, 22, 8, 45, 14, 6, 39, 0, 54, 11, 59, 28, 12, 50, 21, 61, 13, 19, 38, 49, 11, 25, 37, 58, 29, 22, 63, 14, 56, 12, 53, 30, 63, 9, 57, 26, 12, 47, 16, 23, 39, 50, 6, 31, 2, 25, 6, 28, 41, 36, 22, 50, 57, 42, 3, 34, 8, 28, 61, 11, 50, 16, 54, 41, 0, 55, 43, 5, 29, 41, 63, 25, 16, 53, 18, 26, 10, 21, 0, 61, 30, 41, 22, 3, 38, 20, 39, 29, 8, 41, 16, 36, 52, 22, 19 },
+ { 55, 34, 0, 25, 10, 32, 56, 44, 28, 0, 57, 7, 26, 53, 23, 8, 13, 35, 22, 12, 36, 60, 20, 8, 14, 29, 48, 2, 41, 49, 23, 13, 39, 7, 48, 58, 25, 53, 34, 62, 28, 16, 48, 4, 37, 56, 27, 5, 36, 52, 46, 7, 62, 33, 52, 11, 17, 53, 5, 28, 41, 24, 38, 17, 5, 39, 20, 45, 15, 56, 5, 38, 60, 8, 14, 57, 21, 48, 62, 39, 59, 13, 1, 60, 9, 32, 16, 63, 44, 25, 52, 15, 36, 2, 60, 29, 12, 33, 25, 17, 59, 45, 13, 8, 49, 32, 6, 40, 59, 29, 45, 37, 13, 47, 6, 55, 30, 45, 9, 52, 13, 59, 25, 47, 32, 1, 49, 30 },
+ { 9, 39, 14, 61, 49, 37, 3, 20, 50, 13, 41, 19, 46, 17, 38, 59, 28, 62, 4, 44, 54, 1, 34, 51, 55, 7, 63, 32, 21, 8, 56, 31, 62, 19, 36, 1, 41, 17, 24, 12, 42, 35, 25, 52, 20, 8, 44, 59, 25, 2, 22, 42, 16, 29, 4, 46, 20, 36, 43, 9, 51, 8, 49, 26, 58, 33, 54, 1, 37, 29, 52, 20, 27, 45, 19, 35, 42, 16, 10, 32, 20, 49, 46, 27, 40, 4, 47, 22, 13, 55, 4, 47, 26, 44, 23, 40, 58, 19, 48, 13, 31, 2, 57, 34, 42, 19, 61, 32, 14, 55, 5, 51, 26, 19, 58, 16, 49, 14, 62, 5, 33, 44, 21, 7, 60, 26, 11, 41 },
+ { 62, 24, 47, 29, 8, 19, 53, 11, 60, 24, 32, 61, 4, 55, 31, 2, 49, 16, 39, 9, 31, 24, 43, 17, 26, 38, 11, 25, 58, 43, 12, 35, 3, 46, 15, 32, 63, 4, 49, 56, 2, 60, 10, 32, 63, 17, 39, 12, 55, 30, 57, 9, 48, 55, 39, 24, 60, 2, 58, 31, 19, 61, 34, 3, 42, 11, 22, 46, 7, 61, 10, 42, 3, 55, 32, 1, 58, 28, 44, 54, 4, 34, 23, 15, 56, 20, 37, 58, 6, 30, 38, 18, 63, 9, 32, 5, 51, 3, 62, 37, 52, 18, 39, 23, 3, 51, 9, 47, 1, 23, 43, 15, 60, 35, 11, 40, 1, 36, 31, 26, 57, 2, 37, 54, 18, 44, 58, 16 },
+ { 5, 51, 3, 33, 43, 62, 21, 42, 35, 9, 48, 15, 36, 10, 22, 42, 20, 46, 26, 56, 50, 12, 59, 3, 48, 19, 45, 53, 1, 27, 47, 17, 52, 24, 56, 11, 51, 21, 37, 30, 20, 46, 14, 41, 1, 47, 33, 7, 41, 17, 35, 27, 20, 1, 14, 54, 26, 33, 18, 47, 1, 44, 14, 59, 16, 52, 28, 18, 49, 31, 25, 34, 63, 13, 51, 24, 9, 50, 3, 23, 38, 63, 7, 52, 29, 46, 11, 33, 50, 22, 57, 36, 1, 57, 49, 17, 39, 28, 9, 35, 6, 27, 53, 15, 55, 30, 24, 58, 36, 41, 11, 52, 32, 3, 44, 25, 62, 23, 51, 15, 42, 22, 50, 10, 39, 4, 31, 35 },
+ { 46, 22, 57, 17, 12, 39, 26, 5, 31, 59, 1, 45, 27, 62, 52, 7, 58, 33, 6, 18, 39, 22, 33, 41, 57, 5, 35, 18, 40, 16, 60, 5, 29, 42, 7, 39, 27, 44, 9, 47, 8, 26, 54, 22, 51, 29, 24, 49, 15, 61, 4, 51, 31, 63, 43, 6, 50, 8, 39, 12, 53, 37, 23, 30, 40, 6, 62, 43, 14, 53, 2, 49, 7, 36, 17, 41, 61, 37, 18, 56, 11, 18, 44, 35, 2, 19, 61, 0, 41, 14, 8, 30, 43, 12, 24, 46, 14, 54, 42, 21, 44, 61, 10, 46, 37, 11, 44, 7, 18, 63, 20, 29, 7, 49, 28, 54, 8, 43, 4, 48, 18, 63, 12, 29, 48, 24, 59, 20 },
+ { 13, 36, 28, 54, 35, 2, 56, 46, 16, 49, 22, 40, 11, 34, 14, 43, 29, 12, 63, 48, 2, 61, 7, 15, 28, 30, 50, 9, 61, 33, 38, 23, 54, 13, 61, 33, 3, 59, 16, 35, 58, 40, 5, 38, 13, 57, 3, 58, 37, 21, 45, 12, 39, 7, 35, 30, 13, 56, 22, 62, 27, 6, 55, 10, 48, 21, 33, 2, 38, 23, 40, 20, 44, 29, 59, 4, 26, 12, 33, 47, 28, 53, 31, 13, 59, 41, 27, 49, 26, 54, 45, 16, 53, 21, 35, 7, 59, 26, 11, 56, 1, 24, 33, 4, 28, 62, 21, 49, 31, 2, 56, 39, 24, 58, 13, 17, 37, 21, 56, 10, 38, 0, 34, 55, 15, 43, 1, 52 },
+ { 42, 9, 50, 6, 25, 60, 14, 38, 10, 29, 53, 18, 57, 3, 25, 51, 0, 53, 25, 17, 29, 37, 52, 46, 0, 62, 14, 37, 4, 50, 10, 44, 0, 46, 20, 25, 50, 19, 55, 0, 23, 31, 62, 34, 11, 45, 19, 32, 0, 53, 10, 59, 23, 47, 18, 60, 42, 28, 37, 3, 50, 15, 35, 44, 0, 51, 27, 60, 9, 57, 16, 58, 11, 22, 46, 15, 53, 48, 7, 42, 0, 60, 5, 49, 24, 54, 9, 17, 39, 5, 34, 62, 3, 40, 60, 31, 0, 47, 29, 16, 49, 39, 59, 17, 50, 0, 40, 13, 53, 38, 16, 46, 0, 42, 34, 60, 2, 53, 29, 31, 58, 46, 27, 6, 61, 8, 37, 28 },
+ { 0, 63, 21, 40, 45, 18, 51, 23, 63, 34, 6, 43, 28, 38, 55, 19, 40, 35, 8, 41, 54, 10, 21, 32, 39, 23, 53, 26, 55, 28, 22, 63, 30, 34, 9, 48, 6, 38, 29, 43, 49, 6, 18, 52, 27, 61, 9, 43, 28, 42, 33, 26, 56, 3, 51, 23, 0, 48, 16, 45, 32, 25, 63, 20, 57, 17, 42, 12, 35, 47, 5, 31, 39, 56, 6, 30, 34, 21, 61, 25, 14, 40, 22, 38, 15, 6, 36, 56, 20, 60, 25, 12, 51, 27, 10, 56, 42, 20, 36, 63, 32, 6, 21, 41, 12, 34, 60, 26, 5, 48, 27, 10, 62, 19, 6, 47, 39, 14, 45, 7, 24, 17, 41, 32, 23, 51, 19, 56 },
+ { 45, 31, 15, 59, 4, 33, 7, 47, 0, 41, 13, 61, 4, 47, 9, 23, 60, 14, 57, 31, 4, 45, 59, 6, 58, 10, 44, 20, 8, 42, 15, 6, 55, 17, 58, 31, 53, 12, 61, 10, 15, 57, 43, 2, 23, 35, 48, 14, 54, 6, 18, 49, 15, 38, 11, 34, 62, 9, 21, 58, 11, 41, 4, 31, 38, 8, 29, 55, 19, 36, 27, 52, 0, 25, 50, 43, 1, 39, 8, 55, 35, 51, 10, 30, 45, 62, 29, 2, 46, 10, 32, 48, 18, 38, 5, 22, 33, 8, 51, 3, 14, 44, 54, 25, 57, 30, 18, 52, 33, 22, 59, 28, 36, 52, 32, 21, 26, 50, 5, 55, 35, 60, 14, 54, 4, 40, 16, 33 },
+ { 27, 3, 49, 10, 30, 40, 55, 27, 57, 24, 52, 21, 32, 17, 60, 30, 5, 44, 27, 49, 19, 34, 13, 24, 43, 36, 3, 49, 31, 59, 37, 48, 26, 41, 2, 41, 14, 36, 21, 32, 40, 26, 13, 49, 55, 5, 16, 40, 25, 60, 36, 1, 63, 29, 17, 44, 25, 40, 52, 5, 29, 47, 54, 13, 46, 24, 60, 4, 51, 22, 63, 14, 45, 18, 12, 62, 17, 57, 19, 42, 3, 26, 58, 48, 1, 21, 40, 52, 23, 37, 44, 1, 29, 58, 43, 50, 15, 61, 19, 45, 58, 28, 7, 48, 2, 46, 8, 42, 3, 55, 8, 50, 12, 4, 55, 10, 63, 33, 20, 40, 11, 3, 46, 20, 48, 26, 61, 11 },
+ { 44, 56, 24, 36, 53, 19, 12, 37, 16, 44, 7, 36, 49, 54, 11, 37, 48, 21, 15, 1, 62, 25, 47, 56, 16, 18, 51, 12, 40, 1, 24, 11, 52, 16, 23, 59, 28, 1, 45, 53, 4, 60, 37, 21, 39, 30, 63, 20, 52, 10, 30, 45, 8, 41, 54, 4, 57, 7, 34, 55, 36, 18, 23, 59, 2, 48, 11, 32, 44, 1, 41, 8, 33, 54, 38, 23, 30, 46, 6, 29, 62, 18, 32, 16, 55, 34, 14, 11, 61, 7, 55, 16, 53, 13, 23, 2, 55, 37, 26, 10, 33, 23, 36, 16, 38, 22, 56, 15, 24, 43, 35, 17, 44, 40, 25, 46, 16, 1, 57, 25, 49, 36, 28, 62, 9, 35, 7, 53 },
+ { 17, 38, 8, 61, 1, 50, 26, 62, 3, 31, 56, 15, 1, 26, 40, 2, 34, 51, 56, 36, 42, 9, 38, 2, 29, 60, 32, 57, 19, 62, 34, 47, 4, 57, 39, 7, 44, 63, 24, 18, 46, 28, 8, 54, 1, 34, 7, 46, 3, 37, 50, 23, 57, 21, 13, 46, 31, 20, 43, 15, 1, 61, 8, 33, 37, 17, 56, 26, 15, 49, 24, 59, 28, 3, 56, 9, 52, 32, 13, 49, 10, 43, 5, 45, 8, 25, 59, 42, 28, 33, 19, 40, 8, 63, 35, 47, 25, 4, 40, 52, 1, 60, 12, 53, 63, 9, 29, 60, 37, 19, 1, 62, 31, 20, 58, 12, 41, 30, 43, 9, 18, 52, 22, 1, 39, 30, 58, 21 },
+ { 13, 47, 29, 18, 43, 34, 5, 48, 20, 42, 10, 45, 30, 58, 20, 63, 24, 11, 6, 28, 54, 14, 22, 52, 41, 7, 26, 5, 45, 15, 53, 13, 35, 27, 18, 50, 12, 33, 5, 56, 10, 17, 45, 24, 59, 15, 50, 26, 56, 13, 19, 5, 32, 52, 27, 36, 2, 61, 12, 26, 49, 40, 27, 52, 13, 50, 6, 39, 61, 34, 10, 37, 48, 20, 41, 27, 2, 36, 59, 24, 54, 33, 63, 20, 38, 50, 3, 17, 52, 4, 58, 27, 45, 21, 32, 11, 48, 17, 57, 20, 46, 38, 25, 43, 4, 34, 51, 6, 13, 45, 57, 26, 6, 48, 2, 35, 53, 23, 61, 34, 59, 6, 42, 56, 13, 51, 2, 41 },
+ { 32, 5, 55, 23, 58, 14, 22, 52, 29, 15, 61, 25, 51, 8, 43, 13, 53, 41, 46, 20, 3, 33, 63, 11, 48, 21, 54, 38, 28, 3, 30, 43, 21, 62, 9, 31, 55, 22, 51, 29, 37, 62, 32, 12, 42, 29, 41, 9, 33, 44, 62, 28, 43, 1, 59, 19, 48, 30, 51, 39, 24, 4, 58, 19, 42, 29, 22, 43, 3, 18, 53, 5, 13, 50, 16, 60, 45, 21, 7, 40, 15, 0, 26, 53, 13, 31, 43, 24, 47, 31, 15, 49, 2, 41, 6, 59, 29, 42, 9, 30, 14, 7, 49, 18, 31, 47, 20, 39, 49, 32, 11, 41, 54, 15, 61, 18, 7, 38, 4, 13, 44, 28, 15, 32, 45, 19, 27, 49 },
+ { 63, 34, 11, 39, 2, 45, 37, 8, 59, 39, 33, 4, 36, 17, 48, 5, 29, 18, 32, 61, 39, 50, 5, 27, 35, 0, 46, 12, 22, 49, 60, 6, 54, 0, 38, 49, 2, 42, 15, 40, 0, 47, 20, 51, 3, 57, 18, 61, 22, 0, 39, 16, 55, 12, 35, 8, 41, 22, 6, 59, 16, 45, 10, 36, 0, 62, 9, 54, 30, 58, 21, 43, 63, 31, 7, 35, 12, 48, 58, 28, 47, 37, 41, 9, 57, 20, 61, 0, 36, 11, 57, 35, 23, 52, 37, 18, 0, 62, 22, 55, 35, 62, 27, 54, 0, 15, 61, 28, 2, 59, 22, 9, 37, 27, 33, 51, 29, 48, 19, 50, 25, 37, 10, 57, 5, 37, 60, 8 },
+ { 20, 25, 46, 52, 31, 60, 12, 55, 0, 19, 11, 46, 62, 35, 23, 38, 57, 0, 55, 10, 16, 30, 58, 44, 17, 59, 29, 63, 42, 8, 36, 20, 33, 46, 16, 61, 25, 35, 8, 54, 26, 7, 58, 22, 34, 6, 47, 14, 53, 31, 48, 9, 37, 25, 49, 63, 16, 55, 45, 14, 34, 63, 21, 53, 25, 33, 46, 16, 35, 7, 46, 29, 0, 39, 25, 55, 22, 34, 18, 4, 56, 11, 23, 51, 28, 6, 39, 14, 62, 44, 19, 8, 60, 12, 56, 28, 50, 34, 39, 5, 51, 3, 41, 12, 57, 35, 10, 53, 25, 17, 52, 30, 47, 0, 43, 14, 5, 57, 31, 55, 0, 63, 47, 23, 54, 24, 14, 43 },
+ { 0, 57, 16, 6, 26, 19, 35, 28, 49, 42, 54, 26, 21, 1, 59, 27, 9, 47, 26, 44, 50, 22, 13, 40, 8, 37, 10, 34, 17, 56, 25, 58, 13, 27, 44, 9, 20, 58, 31, 17, 60, 36, 10, 41, 53, 25, 36, 39, 4, 24, 58, 17, 60, 4, 22, 38, 10, 32, 0, 50, 31, 7, 28, 47, 12, 57, 5, 26, 52, 23, 14, 40, 57, 17, 47, 5, 53, 1, 44, 31, 19, 60, 46, 2, 35, 48, 30, 54, 22, 5, 51, 39, 25, 31, 4, 43, 14, 9, 45, 16, 24, 44, 19, 29, 40, 23, 44, 7, 38, 42, 4, 63, 12, 54, 23, 59, 22, 42, 8, 15, 40, 21, 8, 34, 3, 41, 30, 50 },
+ { 39, 10, 48, 33, 41, 54, 5, 47, 23, 13, 32, 7, 52, 44, 14, 39, 58, 18, 35, 6, 37, 2, 60, 24, 55, 19, 53, 2, 51, 32, 1, 41, 51, 4, 40, 29, 47, 3, 52, 44, 13, 49, 28, 16, 1, 62, 11, 27, 52, 35, 5, 42, 29, 47, 14, 56, 28, 53, 26, 38, 9, 56, 40, 3, 38, 15, 41, 60, 1, 37, 50, 25, 11, 28, 61, 19, 42, 62, 10, 52, 39, 6, 32, 14, 58, 17, 7, 26, 42, 34, 27, 10, 54, 40, 20, 63, 26, 53, 21, 61, 32, 7, 59, 48, 3, 56, 18, 31, 58, 14, 49, 21, 36, 16, 45, 9, 36, 24, 62, 45, 27, 31, 53, 17, 49, 12, 62, 18 },
+ { 28, 59, 21, 58, 2, 16, 38, 9, 62, 3, 56, 41, 10, 31, 50, 4, 32, 52, 12, 63, 23, 46, 33, 31, 4, 48, 25, 43, 14, 23, 47, 11, 22, 55, 14, 60, 23, 37, 11, 39, 23, 2, 45, 56, 31, 43, 19, 55, 16, 46, 21, 51, 11, 33, 44, 2, 41, 18, 5, 52, 23, 44, 17, 60, 27, 49, 11, 32, 44, 10, 54, 2, 56, 33, 8, 38, 13, 29, 36, 16, 24, 63, 27, 51, 21, 43, 56, 12, 49, 3, 59, 48, 1, 15, 46, 7, 36, 2, 47, 11, 50, 27, 37, 13, 33, 8, 51, 46, 1, 34, 28, 40, 3, 33, 60, 29, 47, 1, 35, 11, 59, 42, 2, 60, 26, 46, 6, 35 },
+ { 4, 43, 9, 29, 36, 63, 24, 44, 20, 50, 30, 17, 60, 22, 16, 43, 25, 3, 42, 19, 51, 15, 8, 54, 42, 15, 61, 5, 39, 57, 18, 61, 31, 48, 34, 2, 50, 19, 57, 5, 63, 33, 19, 38, 13, 27, 48, 7, 32, 61, 2, 26, 58, 6, 24, 50, 13, 61, 42, 20, 62, 2, 35, 20, 51, 4, 62, 18, 23, 58, 20, 31, 43, 15, 51, 45, 26, 50, 4, 55, 45, 3, 35, 9, 38, 1, 32, 61, 20, 45, 17, 33, 24, 57, 29, 51, 22, 58, 38, 30, 15, 1, 54, 21, 63, 43, 26, 12, 24, 56, 8, 60, 50, 19, 5, 52, 13, 54, 17, 50, 4, 16, 36, 12, 32, 56, 22, 54 },
+ { 51, 25, 40, 53, 12, 49, 15, 57, 34, 7, 38, 47, 2, 36, 55, 8, 61, 30, 56, 7, 28, 59, 48, 11, 27, 35, 21, 45, 28, 36, 9, 38, 6, 16, 24, 63, 10, 32, 28, 43, 21, 53, 5, 60, 8, 57, 3, 45, 11, 37, 15, 54, 40, 20, 62, 36, 27, 34, 11, 48, 30, 15, 54, 8, 30, 42, 22, 34, 48, 13, 35, 63, 4, 37, 22, 2, 59, 9, 41, 23, 13, 41, 49, 18, 59, 24, 40, 5, 37, 30, 9, 61, 44, 6, 37, 11, 33, 17, 5, 55, 41, 60, 23, 39, 17, 5, 30, 62, 41, 16, 46, 25, 11, 56, 39, 26, 20, 38, 29, 39, 22, 52, 44, 20, 48, 1, 38, 14 },
+ { 15, 33, 2, 18, 44, 6, 27, 0, 32, 61, 25, 12, 58, 28, 40, 20, 47, 13, 34, 43, 38, 1, 23, 62, 40, 0, 51, 10, 63, 3, 52, 26, 44, 30, 45, 6, 41, 54, 0, 51, 12, 30, 46, 24, 49, 22, 40, 33, 63, 23, 43, 30, 9, 47, 0, 17, 54, 7, 57, 3, 37, 47, 24, 46, 13, 55, 7, 52, 2, 42, 6, 26, 49, 18, 60, 34, 16, 57, 33, 20, 61, 30, 8, 54, 14, 46, 12, 53, 16, 55, 38, 13, 22, 53, 18, 59, 46, 27, 43, 19, 32, 10, 45, 6, 49, 36, 52, 2, 20, 55, 6, 39, 32, 15, 44, 3, 58, 10, 63, 6, 56, 30, 7, 58, 9, 40, 19, 63 },
+ { 10, 47, 61, 23, 55, 31, 52, 42, 17, 45, 4, 51, 27, 6, 15, 53, 0, 49, 26, 10, 56, 18, 36, 6, 20, 58, 32, 30, 13, 49, 19, 56, 0, 59, 12, 53, 27, 17, 38, 25, 48, 9, 15, 36, 14, 30, 59, 17, 0, 50, 8, 58, 18, 56, 31, 45, 21, 41, 29, 19, 60, 6, 32, 59, 0, 36, 29, 39, 19, 59, 46, 12, 55, 30, 10, 47, 24, 3, 28, 48, 0, 55, 44, 27, 33, 4, 63, 29, 49, 0, 26, 50, 34, 2, 42, 14, 0, 62, 9, 56, 3, 52, 28, 34, 58, 9, 20, 48, 37, 32, 22, 53, 0, 62, 27, 49, 34, 46, 21, 33, 41, 14, 25, 37, 53, 29, 31, 45 },
+ { 56, 28, 7, 37, 11, 36, 20, 9, 54, 14, 39, 19, 34, 63, 45, 37, 24, 17, 60, 31, 21, 45, 53, 29, 47, 15, 7, 55, 40, 23, 34, 14, 42, 20, 37, 35, 15, 59, 7, 62, 34, 40, 59, 1, 51, 42, 10, 28, 54, 21, 35, 5, 38, 13, 36, 4, 59, 12, 39, 53, 15, 43, 9, 21, 39, 62, 16, 56, 25, 9, 32, 38, 0, 41, 14, 51, 40, 53, 43, 11, 37, 17, 5, 22, 57, 39, 19, 7, 42, 21, 60, 10, 31, 63, 25, 52, 30, 49, 36, 25, 48, 17, 61, 14, 22, 42, 29, 13, 60, 11, 47, 18, 35, 41, 7, 23, 4, 16, 51, 11, 0, 48, 61, 3, 17, 50, 5, 24 },
+ { 0, 42, 21, 49, 60, 3, 57, 40, 29, 48, 23, 56, 42, 11, 22, 5, 59, 39, 4, 50, 3, 41, 12, 57, 25, 50, 44, 18, 4, 46, 7, 62, 33, 50, 4, 56, 21, 32, 43, 18, 3, 23, 55, 34, 20, 4, 53, 38, 12, 46, 29, 52, 25, 61, 23, 51, 26, 46, 1, 34, 25, 57, 28, 51, 26, 11, 50, 3, 44, 28, 53, 21, 57, 27, 62, 6, 31, 19, 8, 63, 26, 59, 36, 47, 15, 29, 50, 25, 35, 47, 18, 41, 4, 48, 8, 40, 12, 23, 6, 44, 13, 40, 1, 31, 55, 0, 61, 43, 4, 50, 26, 58, 9, 53, 24, 61, 42, 55, 31, 43, 57, 20, 34, 27, 43, 8, 59, 39 },
+ { 18, 51, 30, 13, 26, 16, 46, 22, 2, 59, 8, 30, 1, 48, 33, 51, 29, 9, 46, 16, 62, 14, 33, 2, 38, 9, 27, 60, 37, 26, 53, 17, 28, 10, 24, 46, 2, 49, 8, 57, 29, 45, 6, 26, 62, 44, 18, 25, 61, 3, 42, 14, 49, 10, 43, 6, 17, 32, 63, 10, 49, 4, 40, 14, 45, 33, 22, 37, 12, 61, 5, 17, 43, 7, 23, 37, 15, 58, 49, 13, 39, 21, 10, 52, 1, 62, 9, 56, 12, 2, 58, 28, 36, 16, 56, 28, 56, 35, 20, 63, 24, 37, 51, 8, 45, 25, 16, 33, 27, 38, 2, 44, 13, 30, 17, 36, 12, 26, 5, 18, 28, 47, 13, 60, 23, 45, 13, 33 },
+ { 55, 4, 62, 34, 52, 38, 7, 63, 32, 37, 13, 53, 25, 62, 18, 12, 55, 41, 27, 35, 24, 49, 31, 52, 17, 63, 34, 1, 56, 12, 41, 2, 48, 58, 39, 16, 61, 27, 41, 52, 13, 19, 50, 39, 11, 31, 57, 6, 32, 40, 20, 55, 1, 28, 33, 57, 48, 8, 37, 22, 44, 18, 53, 1, 61, 5, 54, 16, 47, 36, 50, 24, 55, 34, 48, 45, 1, 30, 33, 46, 2, 50, 32, 42, 25, 34, 43, 21, 38, 52, 23, 45, 14, 54, 21, 4, 44, 16, 53, 29, 10, 47, 19, 57, 12, 54, 39, 10, 51, 15, 63, 21, 57, 40, 51, 1, 48, 57, 37, 62, 2, 38, 9, 52, 1, 35, 58, 22 },
+ { 36, 46, 10, 42, 1, 27, 43, 15, 50, 21, 45, 16, 41, 3, 35, 44, 20, 1, 57, 11, 55, 7, 43, 8, 22, 42, 13, 46, 21, 39, 31, 60, 22, 5, 29, 44, 11, 35, 20, 4, 36, 58, 32, 15, 47, 2, 36, 48, 16, 60, 8, 35, 44, 63, 16, 2, 40, 26, 55, 14, 58, 35, 24, 31, 19, 42, 31, 58, 1, 29, 10, 40, 2, 19, 12, 54, 22, 61, 7, 24, 56, 5, 28, 16, 54, 3, 15, 58, 6, 30, 8, 62, 1, 43, 31, 47, 7, 59, 1, 38, 58, 4, 34, 27, 38, 5, 31, 59, 7, 46, 30, 3, 34, 6, 28, 59, 20, 8, 32, 15, 53, 24, 55, 31, 19, 49, 11, 26 },
+ { 2, 24, 16, 58, 19, 55, 5, 35, 10, 61, 4, 28, 57, 24, 58, 7, 31, 47, 22, 38, 19, 28, 61, 36, 54, 5, 59, 29, 6, 52, 15, 11, 43, 36, 8, 54, 52, 1, 62, 25, 47, 9, 1, 60, 28, 53, 24, 14, 46, 27, 51, 22, 12, 24, 38, 53, 20, 11, 51, 3, 29, 7, 48, 63, 8, 49, 9, 21, 52, 14, 63, 32, 46, 60, 35, 4, 41, 16, 52, 35, 18, 42, 59, 7, 36, 61, 45, 27, 33, 51, 19, 39, 34, 11, 61, 18, 33, 41, 28, 15, 54, 22, 42, 3, 49, 21, 47, 18, 36, 23, 55, 19, 48, 24, 45, 10, 33, 44, 50, 40, 7, 35, 15, 41, 63, 6, 40, 54 },
+ { 62, 41, 32, 8, 47, 28, 60, 24, 44, 30, 38, 49, 9, 33, 14, 40, 50, 14, 60, 2, 54, 40, 0, 20, 25, 39, 16, 49, 24, 35, 57, 47, 19, 61, 33, 18, 23, 37, 13, 55, 31, 43, 22, 41, 17, 8, 42, 58, 0, 37, 5, 56, 31, 54, 7, 30, 60, 33, 42, 17, 59, 39, 12, 27, 38, 17, 35, 41, 27, 45, 20, 7, 25, 15, 29, 58, 27, 47, 11, 40, 14, 54, 23, 46, 19, 31, 11, 40, 13, 49, 5, 58, 24, 51, 26, 6, 50, 20, 49, 9, 32, 46, 17, 60, 14, 63, 24, 1, 57, 41, 9, 43, 14, 62, 16, 52, 3, 27, 14, 22, 61, 45, 4, 28, 9, 47, 29, 17 },
+ { 5, 50, 12, 53, 38, 18, 11, 51, 0, 55, 17, 6, 47, 54, 19, 63, 5, 26, 34, 45, 13, 30, 47, 58, 10, 48, 32, 3, 62, 9, 26, 0, 25, 14, 50, 3, 47, 30, 42, 16, 6, 63, 12, 49, 33, 55, 21, 10, 34, 63, 18, 41, 3, 47, 19, 43, 0, 49, 8, 28, 46, 20, 52, 0, 56, 24, 60, 3, 59, 5, 39, 57, 48, 52, 9, 38, 3, 21, 26, 60, 0, 32, 12, 38, 4, 48, 53, 0, 60, 15, 29, 44, 18, 10, 38, 57, 13, 60, 2, 26, 62, 7, 50, 29, 35, 8, 40, 53, 28, 12, 60, 33, 38, 5, 37, 29, 60, 39, 56, 0, 30, 18, 50, 34, 59, 25, 14, 44 },
+ { 20, 31, 60, 22, 3, 49, 33, 25, 40, 13, 34, 59, 22, 36, 0, 28, 37, 56, 8, 18, 51, 16, 4, 45, 27, 12, 53, 42, 18, 44, 51, 31, 55, 40, 28, 58, 7, 60, 10, 51, 27, 37, 24, 56, 5, 26, 44, 29, 50, 23, 45, 11, 34, 15, 59, 27, 13, 23, 62, 37, 4, 57, 15, 32, 42, 6, 47, 11, 30, 43, 23, 13, 0, 36, 18, 44, 63, 51, 37, 29, 49, 20, 57, 27, 62, 9, 24, 35, 23, 53, 37, 3, 42, 55, 0, 36, 23, 39, 31, 43, 17, 37, 24, 11, 52, 43, 19, 32, 5, 50, 26, 0, 56, 21, 54, 11, 19, 6, 47, 25, 59, 42, 12, 54, 21, 3, 38, 57 },
+ { 48, 0, 35, 27, 44, 14, 59, 7, 57, 46, 26, 2, 42, 12, 52, 43, 10, 27, 53, 42, 32, 62, 37, 21, 34, 61, 7, 23, 36, 4, 38, 12, 41, 5, 17, 45, 22, 27, 39, 21, 59, 0, 45, 18, 39, 62, 3, 38, 14, 7, 54, 26, 61, 39, 9, 52, 45, 36, 18, 50, 10, 34, 44, 22, 50, 14, 36, 55, 17, 34, 53, 62, 33, 26, 56, 6, 31, 12, 6, 53, 9, 44, 2, 50, 20, 40, 55, 17, 47, 7, 26, 63, 22, 32, 48, 16, 46, 8, 52, 12, 57, 41, 0, 56, 25, 3, 61, 14, 45, 35, 18, 44, 12, 46, 23, 42, 32, 51, 35, 10, 17, 36, 23, 1, 45, 52, 32, 10 },
+ { 37, 15, 43, 8, 63, 39, 21, 31, 16, 37, 19, 62, 30, 46, 17, 60, 21, 48, 1, 23, 6, 25, 11, 56, 1, 40, 30, 58, 15, 54, 21, 59, 9, 63, 35, 56, 11, 51, 2, 46, 34, 14, 53, 7, 30, 11, 51, 19, 60, 40, 30, 1, 24, 50, 20, 32, 3, 56, 5, 25, 31, 13, 61, 2, 29, 60, 25, 20, 51, 2, 27, 8, 18, 42, 10, 45, 21, 34, 43, 17, 62, 29, 41, 14, 34, 6, 30, 43, 2, 57, 33, 13, 45, 12, 27, 62, 4, 55, 21, 35, 5, 27, 45, 33, 16, 47, 30, 54, 22, 10, 51, 27, 63, 7, 49, 1, 58, 22, 15, 43, 53, 7, 57, 39, 27, 12, 61, 24 },
+ { 56, 51, 26, 56, 19, 2, 41, 54, 5, 52, 9, 48, 6, 23, 39, 4, 32, 15, 63, 35, 59, 49, 43, 15, 52, 19, 50, 9, 46, 33, 1, 29, 48, 20, 32, 1, 38, 33, 19, 54, 9, 32, 24, 48, 58, 35, 16, 48, 4, 52, 13, 57, 33, 5, 45, 59, 15, 29, 41, 55, 47, 39, 23, 53, 9, 40, 4, 57, 10, 44, 48, 40, 50, 14, 61, 24, 55, 1, 59, 22, 33, 8, 51, 25, 58, 46, 11, 59, 20, 41, 17, 51, 6, 56, 35, 25, 42, 30, 15, 58, 48, 18, 61, 9, 58, 39, 13, 2, 37, 59, 40, 2, 31, 16, 34, 41, 8, 30, 62, 3, 29, 48, 33, 5, 63, 16, 41, 7 },
+ { 22, 4, 46, 11, 33, 51, 29, 10, 62, 24, 43, 27, 15, 58, 50, 25, 54, 44, 9, 38, 18, 3, 29, 57, 32, 5, 26, 43, 17, 61, 24, 52, 8, 42, 23, 53, 15, 61, 7, 28, 57, 43, 4, 40, 20, 2, 43, 25, 32, 35, 21, 43, 17, 48, 10, 22, 38, 54, 11, 21, 1, 58, 16, 30, 48, 18, 46, 32, 38, 13, 22, 4, 59, 35, 2, 51, 30, 39, 15, 47, 4, 56, 13, 37, 1, 28, 16, 52, 32, 9, 61, 29, 38, 19, 3, 52, 10, 48, 1, 32, 11, 40, 20, 36, 6, 22, 49, 29, 55, 6, 20, 56, 36, 52, 19, 60, 26, 46, 18, 54, 40, 13, 20, 46, 35, 19, 49, 29 },
+ { 61, 17, 34, 53, 23, 6, 48, 35, 20, 40, 1, 56, 36, 29, 11, 34, 7, 41, 14, 30, 55, 20, 46, 8, 24, 38, 63, 2, 37, 10, 45, 14, 34, 49, 6, 13, 44, 25, 49, 41, 21, 12, 61, 15, 54, 29, 63, 12, 56, 8, 49, 2, 62, 36, 28, 61, 0, 25, 41, 63, 35, 8, 44, 6, 37, 62, 7, 21, 63, 28, 55, 31, 16, 24, 41, 19, 9, 57, 27, 36, 18, 42, 31, 62, 22, 55, 38, 4, 27, 47, 1, 40, 14, 54, 43, 20, 60, 23, 38, 63, 25, 51, 2, 53, 26, 63, 10, 42, 17, 34, 47, 25, 13, 5, 44, 11, 55, 2, 38, 27, 6, 60, 52, 25, 9, 55, 1, 40 },
+ { 8, 30, 58, 3, 42, 61, 17, 38, 13, 59, 32, 10, 54, 3, 51, 20, 61, 26, 57, 2, 46, 33, 12, 60, 41, 13, 48, 29, 55, 20, 39, 27, 57, 18, 62, 29, 55, 2, 31, 16, 37, 50, 26, 36, 6, 46, 9, 41, 27, 57, 23, 39, 26, 6, 51, 12, 31, 46, 7, 16, 27, 52, 19, 56, 26, 12, 33, 53, 1, 41, 8, 57, 46, 7, 54, 32, 47, 5, 49, 11, 60, 23, 5, 48, 10, 43, 19, 63, 35, 24, 49, 21, 59, 5, 31, 37, 14, 44, 7, 42, 6, 30, 46, 13, 44, 32, 19, 50, 4, 58, 8, 30, 62, 38, 28, 53, 21, 36, 13, 50, 21, 33, 15, 2, 44, 31, 14, 47 },
+ { 37, 13, 39, 16, 28, 9, 57, 0, 25, 49, 21, 45, 18, 47, 12, 42, 0, 49, 22, 39, 16, 53, 25, 36, 0, 52, 22, 16, 6, 60, 4, 51, 0, 26, 37, 47, 10, 36, 63, 5, 57, 0, 18, 59, 23, 33, 51, 19, 0, 44, 15, 11, 54, 17, 42, 35, 53, 18, 58, 33, 49, 4, 34, 42, 0, 50, 43, 25, 16, 49, 34, 20, 37, 28, 12, 63, 16, 38, 25, 44, 0, 40, 52, 17, 35, 3, 50, 14, 8, 53, 11, 36, 25, 45, 9, 62, 0, 54, 28, 17, 50, 55, 15, 24, 57, 0, 53, 34, 23, 41, 15, 45, 0, 49, 16, 4, 48, 9, 63, 45, 0, 42, 58, 37, 61, 22, 54, 26 },
+ { 0, 50, 21, 47, 54, 36, 27, 45, 52, 4, 34, 15, 63, 29, 37, 59, 17, 31, 6, 61, 28, 5, 48, 18, 59, 27, 34, 56, 44, 31, 35, 12, 41, 59, 16, 3, 40, 20, 50, 22, 30, 40, 52, 10, 45, 3, 59, 22, 37, 61, 29, 46, 31, 58, 2, 22, 9, 43, 3, 39, 14, 61, 24, 54, 15, 29, 11, 60, 39, 17, 5, 61, 0, 44, 50, 3, 31, 14, 58, 21, 54, 28, 15, 45, 60, 26, 33, 58, 44, 22, 60, 2, 57, 34, 49, 27, 18, 34, 21, 59, 29, 4, 36, 41, 8, 39, 28, 11, 62, 26, 53, 20, 35, 24, 59, 32, 29, 39, 24, 31, 57, 23, 11, 28, 5, 36, 11, 59 },
+ { 44, 32, 63, 5, 20, 12, 41, 7, 30, 61, 42, 8, 39, 5, 33, 8, 24, 53, 45, 11, 37, 58, 7, 44, 10, 50, 3, 40, 8, 22, 53, 19, 46, 9, 33, 52, 24, 58, 8, 44, 13, 47, 8, 34, 38, 30, 14, 47, 7, 34, 4, 55, 9, 19, 40, 49, 56, 26, 60, 21, 30, 45, 10, 19, 40, 58, 23, 36, 3, 52, 45, 23, 54, 13, 22, 42, 53, 45, 7, 33, 10, 36, 57, 6, 29, 12, 41, 0, 30, 15, 41, 30, 17, 7, 16, 53, 40, 56, 2, 39, 12, 61, 10, 52, 31, 60, 16, 45, 1, 37, 7, 61, 40, 10, 43, 17, 58, 7, 54, 14, 4, 51, 39, 49, 18, 56, 42, 20 },
+ { 14, 6, 24, 36, 56, 49, 22, 60, 18, 14, 23, 51, 26, 57, 21, 52, 41, 14, 35, 50, 19, 31, 40, 23, 33, 14, 63, 17, 32, 47, 7, 62, 23, 30, 56, 11, 42, 27, 14, 60, 35, 19, 28, 61, 17, 55, 25, 39, 53, 17, 42, 21, 38, 63, 25, 5, 14, 36, 12, 50, 1, 37, 59, 32, 2, 51, 6, 56, 27, 32, 11, 30, 38, 26, 60, 8, 26, 19, 62, 39, 50, 2, 21, 39, 53, 23, 56, 19, 49, 39, 5, 46, 55, 23, 42, 4, 31, 11, 47, 26, 45, 22, 48, 18, 21, 5, 48, 25, 57, 14, 47, 30, 3, 56, 12, 50, 1, 42, 19, 47, 35, 17, 8, 30, 45, 25, 4, 51 },
+ { 28, 58, 43, 1, 31, 8, 33, 2, 44, 55, 32, 1, 60, 12, 46, 27, 4, 62, 23, 1, 56, 13, 62, 2, 54, 36, 25, 51, 1, 57, 26, 42, 3, 49, 17, 38, 1, 48, 31, 4, 54, 3, 50, 24, 1, 49, 5, 63, 13, 27, 52, 1, 48, 13, 45, 33, 52, 30, 46, 20, 55, 28, 6, 48, 24, 38, 20, 47, 14, 62, 48, 9, 58, 4, 36, 30, 56, 1, 34, 12, 18, 63, 25, 48, 4, 16, 37, 7, 62, 10, 52, 28, 13, 50, 36, 63, 24, 51, 15, 58, 8, 33, 1, 38, 56, 35, 42, 9, 33, 51, 22, 18, 48, 32, 27, 37, 23, 61, 33, 11, 59, 29, 62, 1, 53, 10, 60, 33 },
+ { 12, 39, 17, 52, 26, 46, 53, 38, 25, 11, 48, 36, 16, 43, 2, 35, 55, 17, 39, 29, 43, 9, 28, 45, 20, 5, 46, 12, 42, 28, 13, 52, 36, 6, 60, 22, 54, 17, 62, 39, 25, 42, 15, 55, 44, 20, 31, 10, 35, 57, 24, 32, 29, 6, 59, 18, 7, 62, 3, 41, 10, 44, 16, 54, 13, 62, 31, 9, 41, 1, 21, 43, 18, 47, 15, 40, 11, 49, 28, 55, 46, 30, 8, 43, 32, 61, 28, 47, 25, 34, 21, 61, 32, 1, 20, 9, 46, 6, 35, 19, 41, 54, 27, 63, 14, 3, 51, 20, 62, 2, 38, 55, 8, 21, 63, 6, 46, 9, 26, 51, 3, 24, 43, 34, 16, 41, 18, 48 },
+ { 62, 23, 55, 9, 15, 62, 19, 13, 58, 40, 6, 30, 54, 19, 50, 31, 10, 44, 6, 59, 21, 47, 51, 15, 60, 39, 30, 54, 21, 61, 19, 33, 14, 29, 43, 11, 34, 45, 7, 21, 10, 56, 36, 6, 38, 11, 58, 42, 2, 47, 11, 60, 50, 16, 41, 28, 38, 23, 47, 17, 35, 63, 22, 33, 42, 5, 45, 17, 53, 35, 25, 56, 33, 6, 51, 19, 60, 23, 43, 15, 5, 40, 58, 13, 51, 1, 45, 11, 54, 3, 43, 8, 37, 48, 59, 29, 39, 21, 61, 43, 3, 31, 10, 44, 24, 29, 60, 12, 28, 40, 11, 25, 43, 52, 14, 41, 16, 57, 44, 20, 40, 55, 12, 21, 57, 27, 35, 2 },
+ { 37, 6, 31, 42, 40, 4, 29, 50, 0, 20, 63, 28, 9, 58, 14, 24, 63, 26, 48, 16, 34, 4, 32, 38, 23, 11, 58, 4, 37, 9, 45, 5, 63, 48, 26, 57, 2, 28, 32, 51, 46, 29, 13, 62, 27, 46, 28, 18, 50, 15, 40, 4, 19, 34, 54, 0, 53, 9, 26, 58, 28, 5, 49, 0, 57, 27, 19, 60, 29, 8, 59, 12, 37, 63, 24, 46, 3, 37, 6, 52, 26, 32, 20, 36, 9, 22, 59, 18, 35, 51, 14, 57, 17, 24, 12, 44, 56, 0, 30, 13, 59, 20, 49, 17, 54, 43, 6, 34, 46, 17, 58, 36, 0, 34, 29, 54, 25, 2, 36, 15, 60, 6, 37, 46, 4, 50, 9, 45 },
+ { 19, 59, 48, 3, 24, 60, 44, 22, 34, 51, 15, 45, 41, 5, 33, 47, 0, 37, 12, 55, 25, 54, 8, 57, 0, 47, 18, 34, 49, 15, 55, 24, 40, 20, 8, 35, 53, 13, 41, 18, 0, 59, 22, 33, 4, 52, 8, 60, 24, 36, 31, 56, 45, 26, 10, 43, 15, 56, 36, 4, 51, 14, 39, 30, 12, 55, 36, 2, 39, 49, 4, 44, 17, 0, 32, 13, 53, 35, 59, 17, 62, 0, 55, 24, 52, 38, 31, 6, 42, 19, 29, 40, 4, 54, 33, 5, 16, 27, 52, 37, 23, 55, 7, 37, 0, 39, 23, 49, 4, 53, 31, 15, 59, 10, 50, 4, 60, 34, 48, 7, 31, 49, 27, 14, 62, 22, 53, 29 },
+ { 46, 21, 14, 51, 36, 17, 7, 57, 10, 32, 3, 37, 22, 60, 39, 18, 56, 20, 42, 3, 36, 10, 44, 26, 41, 29, 53, 27, 2, 39, 30, 52, 0, 59, 15, 48, 23, 61, 6, 58, 37, 12, 40, 49, 16, 39, 20, 44, 0, 62, 8, 21, 3, 59, 23, 32, 49, 31, 12, 44, 22, 59, 18, 50, 24, 7, 43, 52, 15, 23, 41, 26, 51, 28, 55, 39, 21, 27, 10, 42, 12, 45, 27, 47, 3, 15, 63, 26, 55, 0, 60, 26, 45, 18, 62, 38, 58, 49, 8, 47, 4, 33, 46, 29, 57, 13, 56, 16, 59, 21, 5, 47, 23, 39, 18, 44, 13, 22, 28, 53, 19, 0, 58, 32, 41, 7, 26, 13 },
+ { 0, 56, 34, 28, 11, 55, 31, 47, 26, 41, 56, 13, 53, 28, 11, 49, 7, 52, 32, 61, 50, 22, 63, 17, 13, 56, 7, 19, 43, 62, 10, 21, 37, 32, 43, 4, 38, 19, 44, 25, 31, 54, 5, 23, 61, 30, 53, 12, 35, 22, 43, 53, 37, 48, 7, 62, 20, 2, 61, 41, 8, 34, 47, 9, 63, 34, 28, 10, 55, 33, 14, 57, 7, 47, 9, 61, 4, 49, 31, 50, 21, 38, 8, 16, 57, 44, 33, 5, 49, 36, 12, 50, 7, 34, 10, 25, 2, 22, 36, 15, 26, 61, 18, 9, 22, 46, 32, 8, 27, 37, 44, 30, 55, 3, 62, 24, 38, 56, 5, 45, 38, 24, 43, 10, 19, 54, 39, 61 },
+ { 41, 30, 8, 63, 43, 23, 38, 3, 62, 19, 8, 49, 25, 1, 58, 30, 23, 40, 9, 28, 18, 40, 6, 38, 49, 22, 35, 59, 8, 27, 50, 5, 56, 17, 11, 50, 30, 9, 55, 2, 51, 19, 34, 47, 9, 41, 6, 26, 48, 57, 14, 28, 17, 12, 39, 13, 37, 46, 25, 19, 54, 27, 1, 37, 16, 45, 20, 60, 1, 48, 20, 38, 31, 22, 42, 15, 19, 44, 1, 61, 6, 34, 56, 40, 29, 10, 20, 46, 13, 22, 41, 23, 59, 42, 30, 51, 45, 13, 63, 53, 42, 12, 51, 38, 62, 2, 26, 41, 50, 1, 61, 10, 19, 42, 31, 8, 49, 32, 12, 63, 9, 52, 16, 56, 36, 2, 31, 16 },
+ { 52, 5, 47, 20, 1, 53, 12, 50, 16, 35, 43, 21, 33, 43, 16, 44, 3, 59, 14, 46, 1, 30, 60, 33, 2, 45, 12, 42, 31, 47, 14, 33, 46, 25, 55, 27, 60, 36, 16, 42, 14, 46, 26, 1, 55, 15, 63, 32, 2, 38, 5, 47, 33, 61, 30, 52, 4, 57, 6, 38, 11, 43, 61, 24, 52, 3, 31, 22, 42, 10, 62, 3, 59, 11, 35, 57, 33, 54, 24, 14, 29, 48, 18, 2, 60, 41, 53, 24, 32, 62, 3, 53, 15, 1, 55, 17, 32, 40, 6, 31, 1, 40, 28, 5, 35, 52, 19, 63, 13, 33, 17, 41, 52, 26, 15, 57, 1, 20, 42, 17, 35, 27, 48, 5, 25, 50, 44, 11 },
+ { 35, 25, 38, 57, 33, 17, 40, 6, 59, 27, 54, 5, 61, 10, 52, 26, 36, 19, 51, 35, 57, 48, 11, 20, 54, 25, 61, 16, 1, 58, 24, 61, 3, 39, 7, 47, 1, 22, 49, 28, 63, 10, 58, 32, 17, 36, 45, 19, 51, 29, 59, 10, 50, 1, 23, 42, 18, 29, 51, 21, 56, 32, 14, 5, 40, 58, 47, 13, 54, 35, 29, 45, 18, 52, 26, 2, 38, 8, 46, 36, 58, 11, 52, 35, 17, 28, 1, 58, 9, 39, 17, 28, 37, 48, 20, 9, 57, 24, 50, 19, 58, 16, 48, 25, 43, 11, 35, 6, 45, 24, 56, 4, 36, 7, 47, 35, 52, 28, 59, 30, 2, 61, 21, 33, 63, 12, 18, 59 },
+ { 3, 49, 15, 10, 27, 61, 25, 45, 30, 0, 14, 47, 31, 38, 17, 62, 7, 55, 27, 4, 15, 24, 42, 52, 10, 34, 5, 51, 36, 18, 41, 11, 35, 21, 62, 13, 33, 57, 8, 35, 5, 40, 21, 43, 52, 3, 24, 56, 11, 16, 33, 25, 41, 20, 55, 8, 60, 35, 15, 48, 2, 57, 30, 49, 18, 25, 6, 39, 17, 57, 7, 25, 43, 5, 49, 16, 62, 22, 55, 4, 25, 43, 23, 7, 50, 11, 37, 48, 14, 51, 33, 57, 7, 27, 39, 46, 4, 29, 11, 43, 34, 56, 7, 60, 20, 54, 30, 57, 22, 49, 9, 33, 54, 14, 63, 23, 6, 43, 10, 40, 50, 13, 44, 8, 38, 33, 46, 23 },
+ { 55, 39, 22, 50, 44, 4, 36, 9, 52, 23, 37, 59, 21, 2, 46, 13, 31, 41, 11, 45, 62, 29, 6, 37, 19, 48, 30, 23, 44, 7, 53, 28, 54, 16, 41, 29, 44, 18, 52, 24, 60, 15, 48, 7, 27, 59, 9, 34, 42, 54, 7, 63, 4, 46, 31, 27, 45, 0, 40, 26, 34, 17, 37, 10, 53, 29, 36, 50, 2, 27, 51, 11, 61, 37, 23, 41, 30, 7, 18, 50, 39, 14, 63, 32, 45, 61, 19, 30, 25, 44, 2, 47, 23, 63, 11, 34, 59, 37, 60, 3, 22, 14, 44, 30, 15, 0, 47, 15, 3, 38, 61, 20, 27, 45, 11, 39, 51, 16, 55, 3, 22, 54, 29, 58, 1, 57, 6, 29 },
+ { 9, 17, 60, 2, 34, 56, 20, 62, 39, 12, 49, 6, 29, 56, 34, 48, 0, 58, 22, 38, 18, 43, 56, 0, 63, 14, 55, 3, 59, 31, 15, 45, 0, 49, 6, 58, 3, 38, 12, 45, 0, 37, 29, 57, 13, 39, 30, 49, 0, 23, 44, 36, 16, 57, 13, 54, 11, 24, 63, 9, 53, 7, 62, 42, 0, 59, 15, 23, 63, 34, 40, 16, 32, 0, 53, 12, 48, 28, 59, 33, 0, 53, 9, 27, 3, 22, 54, 5, 56, 9, 61, 13, 42, 14, 52, 19, 0, 21, 47, 27, 53, 36, 3, 50, 39, 58, 25, 40, 53, 28, 12, 50, 0, 59, 32, 2, 21, 34, 26, 46, 37, 7, 18, 47, 24, 14, 53, 42 },
+ { 61, 32, 13, 54, 29, 7, 46, 13, 28, 57, 18, 41, 53, 15, 9, 39, 24, 49, 33, 3, 53, 9, 26, 32, 40, 28, 46, 39, 25, 9, 56, 21, 63, 37, 26, 22, 51, 27, 17, 56, 31, 53, 4, 43, 22, 46, 12, 18, 60, 40, 20, 26, 50, 21, 39, 5, 49, 33, 16, 44, 22, 46, 20, 32, 24, 45, 8, 43, 12, 46, 4, 48, 56, 20, 29, 58, 3, 40, 10, 42, 31, 21, 47, 41, 56, 38, 15, 42, 36, 27, 20, 33, 55, 3, 26, 44, 31, 54, 12, 35, 9, 63, 28, 10, 21, 32, 9, 60, 17, 8, 43, 29, 40, 16, 36, 48, 60, 7, 57, 14, 62, 31, 42, 15, 36, 40, 20, 26 },
+ { 0, 37, 47, 23, 41, 18, 32, 48, 1, 35, 8, 25, 4, 26, 63, 20, 54, 8, 16, 61, 35, 23, 51, 15, 58, 7, 12, 20, 50, 34, 42, 4, 38, 10, 32, 47, 8, 60, 41, 20, 9, 25, 50, 19, 62, 1, 37, 56, 28, 8, 53, 11, 3, 58, 34, 43, 19, 60, 38, 4, 58, 31, 3, 51, 11, 55, 38, 30, 21, 58, 19, 26, 9, 44, 36, 13, 46, 20, 62, 24, 13, 60, 5, 28, 12, 34, 7, 59, 0, 53, 45, 6, 38, 30, 50, 7, 62, 16, 41, 5, 46, 18, 55, 42, 51, 5, 45, 23, 34, 48, 19, 58, 5, 25, 54, 19, 13, 41, 28, 21, 0, 49, 10, 60, 4, 51, 9, 45 },
+ { 19, 28, 6, 58, 10, 51, 4, 22, 55, 42, 60, 45, 34, 51, 42, 5, 30, 45, 27, 40, 13, 47, 4, 49, 21, 38, 60, 29, 2, 57, 17, 27, 52, 19, 61, 14, 30, 34, 2, 44, 63, 33, 11, 35, 16, 51, 25, 6, 14, 47, 31, 61, 37, 29, 18, 8, 52, 2, 28, 54, 13, 41, 15, 62, 35, 18, 2, 60, 6, 33, 41, 61, 31, 6, 56, 17, 34, 50, 6, 52, 44, 35, 16, 51, 59, 24, 48, 18, 31, 40, 16, 49, 21, 60, 17, 39, 10, 49, 32, 57, 24, 39, 1, 25, 18, 62, 37, 12, 56, 1, 37, 11, 52, 44, 9, 30, 47, 4, 51, 40, 55, 25, 34, 27, 56, 30, 32, 54 },
+ { 63, 40, 49, 15, 43, 26, 63, 38, 16, 20, 30, 12, 57, 14, 19, 60, 36, 12, 59, 2, 57, 17, 42, 31, 1, 44, 16, 35, 47, 11, 32, 48, 13, 43, 1, 39, 51, 12, 57, 23, 6, 40, 53, 3, 55, 31, 39, 60, 35, 44, 5, 15, 45, 1, 62, 41, 26, 14, 47, 22, 36, 27, 50, 9, 26, 47, 52, 28, 54, 16, 1, 13, 51, 39, 23, 63, 1, 30, 15, 26, 2, 57, 19, 37, 1, 44, 21, 50, 13, 63, 8, 24, 56, 1, 35, 25, 58, 20, 2, 28, 14, 51, 33, 59, 13, 30, 4, 49, 31, 24, 63, 26, 33, 3, 58, 38, 62, 24, 32, 8, 17, 45, 5, 48, 18, 3, 43, 11 },
+ { 21, 4, 24, 34, 59, 1, 37, 11, 53, 5, 47, 2, 22, 40, 32, 1, 24, 50, 21, 29, 38, 25, 63, 8, 55, 24, 53, 6, 62, 23, 59, 3, 54, 20, 58, 24, 5, 46, 15, 38, 48, 14, 27, 42, 23, 7, 46, 10, 17, 58, 25, 52, 23, 32, 49, 12, 55, 30, 40, 7, 59, 1, 56, 21, 39, 4, 23, 15, 37, 46, 55, 42, 21, 4, 48, 8, 45, 54, 37, 55, 32, 8, 46, 10, 30, 54, 4, 41, 25, 29, 36, 48, 11, 43, 14, 47, 5, 43, 53, 36, 61, 10, 45, 6, 41, 54, 27, 43, 16, 55, 6, 46, 18, 42, 23, 15, 1, 45, 12, 60, 37, 22, 62, 12, 39, 59, 16, 52 },
+ { 47, 35, 56, 7, 19, 46, 31, 50, 33, 24, 61, 35, 50, 7, 53, 44, 55, 6, 46, 10, 52, 5, 21, 43, 36, 10, 18, 41, 26, 37, 8, 29, 40, 36, 9, 49, 34, 26, 61, 21, 7, 59, 18, 62, 29, 54, 20, 32, 51, 0, 40, 10, 55, 6, 20, 36, 9, 61, 5, 51, 44, 19, 33, 43, 13, 57, 40, 63, 8, 24, 29, 10, 60, 34, 27, 40, 25, 18, 10, 42, 21, 49, 26, 62, 38, 12, 33, 61, 5, 57, 2, 19, 54, 28, 62, 22, 38, 31, 16, 7, 22, 47, 29, 17, 35, 8, 20, 51, 2, 40, 22, 50, 13, 61, 28, 53, 35, 20, 56, 30, 2, 53, 14, 41, 23, 34, 8, 31 },
+ { 12, 2, 42, 29, 52, 13, 21, 8, 55, 14, 41, 17, 28, 58, 23, 11, 17, 36, 31, 62, 17, 34, 50, 14, 28, 61, 33, 52, 2, 51, 17, 45, 7, 25, 62, 30, 18, 55, 0, 42, 30, 35, 45, 1, 12, 48, 3, 63, 21, 36, 30, 48, 19, 59, 43, 27, 46, 17, 34, 25, 12, 29, 53, 6, 48, 31, 11, 34, 49, 3, 36, 50, 19, 47, 14, 61, 11, 36, 58, 4, 60, 14, 39, 22, 6, 52, 15, 35, 17, 46, 31, 42, 9, 34, 3, 52, 12, 60, 26, 56, 40, 2, 53, 23, 57, 38, 62, 14, 36, 59, 10, 31, 39, 6, 49, 9, 41, 26, 5, 48, 43, 27, 33, 58, 1, 50, 25, 57 },
+ { 61, 37, 15, 61, 3, 39, 58, 43, 26, 0, 44, 10, 47, 3, 37, 63, 28, 43, 13, 39, 3, 57, 30, 59, 0, 48, 5, 43, 13, 22, 60, 33, 55, 15, 42, 4, 52, 10, 45, 13, 54, 4, 24, 49, 37, 26, 41, 14, 42, 9, 61, 13, 38, 23, 3, 53, 0, 58, 21, 42, 63, 10, 17, 61, 25, 0, 58, 28, 17, 44, 57, 12, 27, 0, 55, 5, 52, 28, 23, 47, 29, 0, 43, 17, 58, 28, 47, 23, 55, 10, 58, 23, 51, 40, 18, 33, 45, 0, 49, 8, 32, 61, 19, 48, 0, 26, 7, 47, 29, 18, 44, 0, 56, 34, 20, 59, 15, 51, 37, 18, 10, 52, 7, 20, 46, 9, 38, 17 },
+ { 6, 27, 48, 23, 45, 29, 5, 18, 38, 62, 27, 56, 20, 32, 15, 9, 48, 0, 54, 22, 45, 20, 7, 41, 23, 39, 19, 27, 58, 31, 44, 0, 12, 50, 23, 56, 20, 39, 32, 59, 16, 52, 33, 9, 57, 22, 6, 58, 28, 50, 24, 2, 56, 35, 16, 45, 32, 38, 15, 54, 2, 38, 46, 22, 35, 45, 20, 5, 52, 25, 7, 35, 59, 32, 22, 43, 38, 3, 51, 16, 34, 53, 32, 50, 3, 40, 8, 43, 0, 39, 27, 4, 14, 61, 8, 55, 15, 41, 20, 44, 27, 13, 39, 11, 46, 42, 54, 33, 4, 52, 23, 61, 14, 25, 43, 2, 33, 11, 63, 29, 61, 17, 40, 55, 22, 62, 28, 44 },
+ { 20, 54, 8, 56, 35, 10, 63, 31, 52, 12, 48, 6, 59, 41, 52, 33, 19, 58, 25, 49, 11, 37, 47, 12, 54, 15, 56, 35, 7, 47, 16, 53, 28, 34, 5, 37, 28, 8, 48, 3, 28, 38, 18, 61, 16, 43, 53, 32, 4, 17, 47, 27, 44, 8, 63, 10, 25, 49, 6, 37, 24, 52, 32, 3, 50, 12, 41, 56, 38, 14, 62, 20, 40, 16, 53, 31, 18, 63, 41, 9, 59, 7, 13, 25, 57, 20, 63, 26, 53, 18, 48, 62, 30, 46, 21, 25, 58, 29, 36, 4, 55, 34, 6, 60, 31, 16, 21, 12, 58, 38, 9, 29, 47, 7, 52, 30, 57, 44, 22, 0, 35, 45, 3, 31, 14, 36, 0, 51 },
+ { 42, 14, 33, 24, 16, 49, 40, 2, 22, 33, 16, 36, 25, 1, 21, 61, 38, 8, 33, 4, 62, 26, 29, 60, 6, 46, 30, 11, 63, 4, 36, 40, 19, 57, 46, 11, 41, 63, 22, 25, 58, 10, 46, 2, 34, 27, 11, 38, 56, 34, 12, 53, 18, 33, 41, 51, 13, 28, 60, 20, 47, 14, 29, 59, 16, 62, 8, 22, 32, 47, 9, 49, 2, 44, 7, 12, 45, 6, 20, 27, 45, 24, 62, 42, 36, 11, 33, 15, 37, 7, 32, 10, 37, 1, 35, 50, 6, 11, 63, 24, 52, 15, 50, 24, 3, 37, 56, 27, 34, 22, 49, 16, 36, 62, 17, 39, 4, 15, 54, 24, 50, 8, 58, 26, 49, 54, 11, 30 },
+ { 4, 59, 41, 1, 53, 12, 25, 45, 59, 7, 51, 39, 54, 14, 46, 4, 27, 53, 16, 44, 18, 51, 1, 32, 25, 2, 50, 40, 20, 54, 24, 9, 62, 2, 27, 60, 1, 17, 36, 50, 6, 40, 30, 55, 41, 19, 49, 1, 21, 60, 40, 5, 62, 1, 22, 30, 57, 4, 43, 31, 1, 55, 40, 7, 27, 37, 30, 54, 1, 19, 42, 30, 56, 26, 62, 49, 24, 57, 37, 56, 2, 39, 16, 5, 30, 55, 3, 49, 60, 23, 56, 44, 17, 52, 13, 42, 28, 48, 18, 45, 9, 37, 21, 41, 58, 10, 48, 1, 63, 5, 41, 57, 2, 24, 12, 48, 27, 42, 32, 46, 13, 38, 19, 34, 5, 41, 25, 60 },
+ { 39, 28, 21, 46, 32, 57, 36, 9, 19, 42, 4, 29, 11, 43, 30, 49, 13, 42, 35, 56, 9, 39, 15, 52, 36, 61, 18, 26, 45, 14, 31, 48, 21, 43, 14, 33, 49, 54, 14, 44, 21, 62, 13, 23, 8, 62, 15, 51, 44, 7, 30, 37, 20, 42, 56, 7, 39, 18, 50, 11, 61, 9, 19, 43, 57, 2, 48, 11, 39, 60, 28, 4, 37, 17, 35, 1, 33, 11, 31, 14, 48, 19, 35, 51, 46, 21, 44, 29, 12, 41, 2, 22, 58, 26, 54, 4, 59, 38, 2, 33, 57, 1, 63, 13, 28, 51, 15, 40, 18, 45, 8, 30, 43, 37, 54, 19, 8, 59, 21, 6, 60, 29, 55, 10, 63, 15, 47, 17 },
+ { 3, 50, 10, 62, 18, 5, 27, 49, 60, 23, 55, 18, 62, 24, 56, 10, 59, 28, 2, 23, 34, 59, 43, 20, 10, 42, 8, 49, 1, 37, 57, 6, 51, 29, 53, 7, 23, 31, 5, 32, 51, 0, 35, 54, 45, 31, 5, 26, 36, 24, 55, 15, 48, 29, 14, 48, 26, 60, 21, 41, 36, 26, 50, 33, 14, 44, 17, 24, 52, 15, 46, 23, 54, 6, 47, 21, 60, 50, 4, 53, 29, 61, 8, 23, 1, 60, 19, 6, 53, 16, 47, 34, 6, 39, 16, 31, 12, 20, 53, 22, 30, 43, 25, 46, 35, 6, 44, 32, 53, 26, 55, 19, 11, 59, 5, 33, 51, 1, 35, 53, 25, 3, 42, 23, 44, 32, 7, 53 },
+ { 22, 44, 37, 6, 26, 51, 38, 0, 34, 13, 31, 46, 3, 37, 6, 19, 40, 21, 47, 63, 12, 5, 29, 55, 22, 58, 34, 28, 60, 22, 11, 41, 17, 38, 9, 44, 59, 39, 56, 19, 11, 47, 25, 15, 3, 39, 57, 17, 61, 11, 46, 3, 58, 9, 54, 35, 2, 34, 8, 45, 15, 56, 5, 23, 53, 33, 63, 35, 4, 59, 10, 51, 13, 61, 29, 41, 15, 25, 43, 19, 40, 10, 54, 33, 41, 12, 38, 51, 31, 26, 61, 9, 30, 45, 24, 62, 49, 40, 10, 61, 14, 49, 5, 17, 54, 20, 60, 23, 3, 13, 35, 50, 32, 23, 46, 27, 38, 63, 16, 12, 39, 48, 18, 51, 1, 27, 56, 35 },
+ { 63, 15, 30, 55, 43, 14, 57, 17, 53, 44, 7, 48, 26, 50, 32, 60, 0, 53, 14, 31, 50, 24, 46, 0, 38, 13, 4, 52, 16, 45, 30, 59, 0, 25, 55, 35, 16, 10, 26, 42, 58, 29, 60, 38, 50, 22, 28, 47, 0, 50, 28, 19, 33, 39, 11, 44, 16, 52, 24, 59, 3, 38, 27, 51, 0, 21, 7, 42, 26, 34, 21, 40, 33, 18, 39, 3, 54, 38, 8, 59, 0, 44, 27, 15, 58, 28, 57, 9, 43, 0, 36, 50, 20, 59, 8, 34, 0, 27, 47, 7, 36, 19, 56, 32, 0, 38, 11, 29, 62, 47, 6, 61, 0, 41, 14, 56, 10, 23, 45, 31, 57, 8, 36, 13, 58, 38, 11, 19 },
+ { 0, 34, 12, 47, 21, 2, 40, 30, 11, 25, 61, 20, 40, 15, 35, 22, 45, 36, 7, 41, 17, 57, 9, 48, 32, 62, 44, 24, 35, 3, 54, 13, 33, 63, 19, 4, 48, 22, 62, 2, 37, 8, 33, 6, 20, 52, 9, 32, 43, 13, 39, 63, 25, 4, 49, 23, 62, 32, 9, 30, 48, 18, 63, 12, 46, 29, 58, 13, 48, 8, 57, 31, 0, 51, 9, 58, 12, 22, 47, 29, 35, 22, 49, 5, 46, 4, 34, 20, 63, 24, 56, 11, 41, 3, 51, 19, 56, 35, 17, 58, 28, 42, 9, 45, 59, 26, 51, 42, 17, 36, 25, 15, 53, 21, 44, 3, 30, 55, 5, 50, 21, 28, 61, 32, 6, 49, 28, 46 },
+ { 58, 42, 60, 4, 31, 59, 22, 63, 35, 38, 9, 54, 1, 57, 8, 51, 16, 58, 27, 53, 3, 38, 30, 15, 27, 6, 19, 56, 10, 50, 21, 36, 47, 5, 43, 28, 51, 32, 13, 46, 18, 54, 16, 43, 63, 12, 36, 59, 22, 34, 5, 52, 17, 59, 27, 41, 0, 19, 55, 37, 13, 43, 6, 34, 41, 10, 36, 55, 19, 44, 3, 16, 58, 27, 49, 25, 32, 62, 17, 55, 13, 63, 18, 52, 25, 37, 17, 48, 13, 32, 5, 46, 28, 37, 14, 43, 25, 5, 51, 39, 3, 52, 33, 22, 8, 40, 12, 4, 57, 9, 46, 39, 28, 58, 13, 62, 17, 42, 19, 36, 0, 47, 16, 43, 24, 21, 54, 13 },
+ { 25, 9, 23, 50, 36, 8, 45, 14, 3, 51, 16, 28, 44, 12, 42, 29, 4, 26, 10, 47, 22, 61, 18, 54, 51, 39, 46, 13, 41, 26, 58, 7, 18, 39, 12, 57, 15, 1, 52, 27, 41, 23, 48, 1, 27, 45, 18, 2, 57, 26, 55, 8, 43, 31, 6, 58, 14, 51, 40, 5, 61, 31, 24, 54, 17, 60, 22, 1, 39, 30, 53, 45, 36, 13, 43, 5, 45, 2, 37, 6, 34, 42, 2, 39, 10, 62, 7, 54, 40, 18, 60, 15, 52, 21, 63, 8, 55, 46, 15, 30, 23, 13, 62, 16, 50, 24, 58, 31, 48, 21, 34, 2, 49, 7, 31, 37, 26, 48, 9, 61, 40, 11, 52, 2, 60, 40, 4, 37 },
+ { 52, 28, 39, 16, 54, 19, 29, 55, 42, 20, 58, 33, 24, 63, 18, 55, 39, 62, 43, 34, 12, 40, 6, 35, 2, 25, 8, 62, 34, 1, 31, 42, 61, 27, 53, 24, 40, 61, 34, 8, 59, 4, 30, 56, 40, 6, 53, 42, 10, 48, 16, 37, 12, 46, 21, 36, 47, 11, 28, 45, 22, 10, 57, 2, 49, 31, 14, 44, 61, 11, 25, 6, 23, 63, 18, 36, 28, 56, 20, 51, 11, 48, 27, 56, 32, 22, 45, 30, 2, 42, 27, 39, 1, 44, 23, 31, 38, 22, 11, 61, 43, 54, 4, 47, 35, 2, 44, 16, 28, 54, 12, 62, 18, 43, 10, 52, 1, 58, 33, 15, 29, 56, 20, 34, 9, 30, 48, 17 },
+ { 46, 2, 56, 11, 41, 1, 49, 6, 27, 47, 2, 48, 5, 32, 37, 3, 13, 19, 32, 1, 55, 28, 60, 17, 43, 59, 32, 20, 49, 16, 55, 23, 14, 46, 2, 36, 6, 30, 20, 49, 12, 47, 35, 14, 21, 60, 29, 14, 35, 24, 46, 1, 56, 29, 53, 8, 33, 23, 56, 1, 35, 46, 20, 39, 26, 4, 53, 28, 17, 38, 60, 34, 48, 9, 55, 15, 46, 7, 41, 31, 60, 24, 16, 36, 1, 59, 19, 52, 35, 6, 55, 11, 59, 33, 7, 57, 4, 29, 48, 1, 19, 26, 37, 30, 18, 63, 37, 6, 59, 1, 40, 24, 56, 33, 46, 22, 35, 7, 24, 53, 39, 5, 26, 45, 55, 18, 62, 7 },
+ { 20, 60, 29, 34, 20, 62, 33, 52, 10, 36, 13, 60, 41, 21, 50, 27, 56, 49, 8, 51, 21, 45, 11, 48, 8, 23, 53, 3, 29, 44, 5, 52, 9, 32, 50, 17, 43, 56, 3, 38, 24, 10, 62, 25, 51, 9, 33, 49, 61, 7, 30, 62, 22, 19, 2, 42, 63, 5, 49, 18, 60, 15, 52, 7, 43, 56, 23, 50, 5, 50, 2, 20, 41, 30, 1, 52, 22, 61, 14, 26, 3, 43, 53, 7, 47, 28, 11, 14, 23, 58, 33, 25, 47, 13, 50, 17, 40, 54, 34, 60, 41, 6, 59, 14, 50, 7, 25, 55, 20, 42, 51, 8, 27, 4, 16, 60, 28, 50, 44, 3, 22, 49, 63, 12, 33, 1, 43, 31 },
+ { 36, 5, 46, 8, 44, 24, 13, 39, 25, 57, 31, 18, 8, 52, 10, 45, 6, 30, 36, 24, 63, 4, 33, 26, 57, 40, 15, 56, 37, 12, 40, 25, 37, 58, 11, 63, 21, 45, 16, 60, 31, 53, 18, 33, 3, 45, 23, 0, 20, 54, 40, 15, 50, 38, 60, 16, 25, 42, 29, 38, 7, 41, 25, 62, 18, 33, 8, 35, 42, 16, 32, 56, 12, 39, 59, 19, 34, 9, 49, 38, 57, 12, 21, 50, 14, 40, 61, 44, 50, 9, 49, 19, 3, 29, 35, 62, 12, 24, 7, 18, 52, 32, 10, 46, 21, 41, 32, 11, 36, 29, 14, 34, 60, 38, 54, 11, 41, 14, 19, 57, 32, 16, 7, 41, 51, 25, 14, 57 },
+ { 53, 18, 26, 50, 15, 58, 4, 63, 17, 43, 7, 40, 61, 35, 15, 41, 23, 60, 16, 38, 14, 42, 19, 50, 0, 31, 10, 46, 27, 63, 18, 60, 0, 20, 29, 39, 8, 26, 37, 5, 42, 0, 44, 39, 57, 17, 58, 41, 28, 37, 4, 32, 9, 44, 12, 31, 54, 10, 59, 14, 27, 53, 12, 36, 0, 47, 13, 63, 21, 58, 10, 24, 50, 27, 4, 26, 44, 53, 31, 0, 18, 42, 29, 33, 57, 4, 32, 26, 0, 38, 16, 61, 41, 53, 20, 0, 42, 44, 49, 27, 10, 56, 39, 0, 57, 15, 53, 49, 3, 61, 22, 47, 17, 5, 49, 26, 2, 63, 39, 10, 47, 27, 37, 23, 4, 59, 38, 10 },
+ { 23, 39, 61, 3, 37, 28, 48, 31, 0, 34, 51, 23, 2, 26, 58, 0, 53, 11, 46, 1, 57, 29, 52, 14, 37, 61, 21, 35, 2, 49, 7, 34, 47, 55, 4, 33, 54, 13, 58, 52, 19, 50, 22, 7, 13, 29, 36, 11, 51, 17, 60, 25, 55, 4, 34, 51, 0, 35, 20, 48, 32, 3, 51, 30, 59, 28, 40, 3, 46, 29, 54, 43, 7, 62, 47, 11, 39, 4, 23, 46, 55, 8, 63, 5, 25, 37, 18, 46, 21, 56, 31, 5, 36, 8, 45, 58, 26, 15, 2, 36, 47, 21, 29, 44, 25, 34, 3, 27, 43, 10, 52, 0, 45, 30, 24, 36, 43, 18, 34, 59, 0, 52, 61, 15, 44, 19, 30, 49 },
+ { 0, 27, 12, 43, 54, 9, 22, 53, 21, 46, 15, 55, 29, 47, 20, 33, 39, 28, 59, 35, 9, 44, 5, 24, 47, 7, 52, 17, 56, 22, 30, 42, 14, 26, 45, 18, 49, 1, 24, 34, 11, 27, 55, 32, 61, 47, 2, 56, 6, 44, 13, 47, 36, 27, 58, 22, 16, 47, 40, 4, 57, 38, 21, 45, 16, 9, 56, 26, 11, 38, 0, 22, 36, 17, 33, 57, 16, 30, 62, 15, 35, 40, 20, 45, 59, 10, 54, 8, 63, 13, 52, 27, 22, 57, 28, 12, 32, 51, 55, 22, 63, 4, 16, 54, 12, 62, 45, 19, 58, 13, 32, 40, 20, 56, 7, 57, 9, 54, 6, 29, 42, 21, 8, 55, 35, 47, 6, 41 },
+ { 56, 33, 58, 32, 19, 35, 42, 6, 59, 11, 38, 5, 49, 12, 62, 7, 52, 17, 5, 25, 54, 20, 61, 31, 54, 27, 41, 11, 44, 5, 59, 12, 36, 51, 10, 61, 28, 41, 48, 9, 43, 63, 5, 40, 20, 8, 49, 26, 34, 21, 58, 1, 18, 45, 7, 39, 61, 26, 8, 50, 23, 10, 63, 5, 55, 37, 19, 49, 52, 15, 59, 47, 13, 54, 1, 25, 42, 58, 10, 48, 3, 27, 50, 1, 17, 48, 34, 41, 16, 40, 2, 45, 10, 39, 17, 61, 5, 38, 19, 9, 41, 31, 60, 38, 5, 23, 36, 8, 30, 55, 24, 63, 12, 48, 14, 51, 31, 20, 45, 25, 12, 50, 32, 2, 28, 11, 62, 14 },
+ { 44, 16, 7, 48, 1, 62, 16, 50, 27, 33, 61, 25, 17, 44, 31, 14, 22, 43, 32, 48, 18, 40, 8, 36, 3, 16, 33, 62, 23, 38, 25, 53, 2, 21, 41, 6, 22, 15, 59, 29, 16, 37, 26, 15, 52, 42, 23, 15, 54, 39, 10, 30, 53, 11, 49, 24, 2, 43, 55, 17, 34, 44, 15, 31, 24, 44, 2, 32, 7, 35, 25, 5, 40, 45, 29, 51, 6, 21, 37, 52, 24, 60, 13, 31, 53, 23, 2, 28, 49, 24, 31, 60, 20, 51, 1, 34, 48, 14, 59, 33, 50, 1, 18, 33, 48, 60, 17, 51, 39, 6, 38, 2, 35, 29, 40, 23, 1, 62, 15, 53, 37, 17, 46, 57, 40, 51, 24, 22 },
+ { 5, 37, 52, 24, 45, 13, 40, 3, 45, 9, 19, 42, 56, 4, 37, 46, 56, 2, 63, 11, 51, 1, 49, 13, 59, 45, 39, 1, 48, 15, 58, 9, 46, 31, 54, 35, 57, 38, 3, 46, 56, 4, 47, 57, 1, 30, 38, 63, 3, 46, 28, 63, 41, 14, 33, 62, 19, 32, 13, 28, 61, 1, 53, 42, 11, 60, 22, 62, 27, 42, 61, 31, 19, 8, 61, 12, 32, 55, 2, 18, 33, 12, 43, 36, 9, 62, 30, 55, 6, 58, 35, 7, 43, 29, 54, 23, 43, 30, 3, 25, 11, 45, 52, 28, 7, 14, 42, 1, 22, 50, 16, 53, 19, 59, 4, 46, 33, 41, 4, 35, 58, 5, 26, 13, 20, 2, 34, 54 },
+ { 30, 63, 21, 10, 26, 55, 29, 59, 23, 39, 53, 1, 36, 24, 59, 27, 10, 34, 23, 38, 30, 60, 22, 42, 28, 19, 9, 57, 30, 19, 43, 33, 13, 63, 3, 19, 11, 50, 31, 20, 14, 34, 10, 35, 17, 59, 7, 31, 19, 25, 50, 5, 20, 57, 29, 6, 52, 41, 4, 46, 20, 37, 26, 17, 49, 6, 39, 18, 53, 14, 3, 49, 57, 23, 34, 48, 14, 41, 28, 38, 56, 6, 58, 25, 39, 19, 43, 15, 37, 11, 47, 18, 53, 4, 37, 9, 62, 21, 53, 40, 57, 24, 13, 40, 56, 26, 47, 31, 59, 25, 45, 27, 10, 43, 21, 61, 13, 27, 48, 9, 23, 43, 31, 62, 38, 59, 9, 47 },
+ { 25, 4, 40, 60, 34, 6, 18, 36, 8, 57, 12, 30, 49, 14, 6, 54, 41, 16, 50, 6, 43, 15, 34, 4, 53, 24, 50, 35, 4, 51, 7, 55, 28, 24, 39, 44, 60, 7, 25, 62, 42, 53, 24, 61, 28, 45, 52, 12, 48, 37, 9, 35, 43, 3, 37, 48, 12, 58, 30, 52, 9, 59, 6, 57, 33, 29, 48, 4, 37, 45, 20, 34, 10, 39, 0, 60, 22, 45, 8, 63, 21, 42, 14, 49, 3, 56, 11, 46, 21, 61, 0, 42, 25, 13, 63, 17, 36, 8, 46, 16, 6, 35, 63, 0, 21, 37, 4, 57, 9, 34, 5, 61, 48, 32, 8, 37, 54, 17, 56, 30, 60, 0, 50, 16, 7, 29, 42, 17 },
+ { 32, 50, 15, 48, 2, 43, 52, 25, 47, 16, 32, 63, 21, 52, 40, 19, 0, 61, 29, 58, 20, 56, 26, 46, 12, 55, 6, 22, 62, 32, 17, 40, 0, 49, 34, 8, 27, 32, 48, 0, 21, 39, 5, 44, 12, 6, 22, 40, 0, 57, 16, 60, 23, 17, 54, 22, 36, 15, 24, 39, 19, 34, 47, 23, 0, 54, 13, 51, 24, 9, 55, 16, 52, 27, 44, 20, 4, 54, 26, 49, 0, 30, 46, 16, 29, 51, 34, 4, 52, 28, 33, 15, 57, 39, 26, 49, 0, 56, 27, 31, 48, 20, 43, 29, 53, 11, 46, 19, 41, 13, 55, 18, 0, 57, 26, 51, 2, 44, 6, 38, 14, 40, 22, 45, 36, 53, 3, 57 },
+ { 44, 12, 37, 28, 22, 57, 11, 38, 0, 51, 9, 41, 4, 29, 11, 47, 33, 45, 12, 26, 3, 36, 9, 63, 31, 16, 38, 44, 14, 47, 25, 61, 20, 58, 15, 47, 17, 57, 13, 36, 9, 51, 18, 29, 50, 36, 54, 20, 61, 27, 32, 13, 53, 44, 9, 27, 0, 63, 45, 2, 56, 10, 14, 43, 41, 28, 58, 11, 35, 60, 30, 41, 6, 63, 11, 51, 37, 32, 15, 10, 35, 53, 5, 61, 22, 7, 26, 59, 23, 9, 44, 48, 21, 3, 51, 32, 24, 41, 12, 61, 2, 55, 9, 15, 35, 58, 28, 15, 62, 30, 37, 23, 42, 29, 11, 17, 35, 24, 63, 20, 52, 28, 8, 55, 11, 23, 47, 19 },
+ { 0, 56, 8, 53, 14, 31, 61, 20, 55, 28, 62, 18, 35, 60, 25, 57, 7, 23, 39, 54, 47, 17, 43, 0, 40, 59, 29, 2, 56, 10, 37, 5, 43, 11, 29, 52, 1, 23, 54, 41, 59, 30, 55, 1, 62, 15, 33, 4, 43, 10, 47, 39, 1, 31, 40, 60, 49, 33, 7, 55, 26, 50, 31, 61, 8, 18, 21, 32, 44, 1, 25, 47, 18, 36, 30, 23, 59, 7, 40, 59, 27, 19, 38, 32, 44, 54, 40, 17, 38, 60, 27, 6, 35, 55, 10, 14, 44, 5, 50, 17, 38, 26, 42, 50, 18, 3, 44, 52, 2, 49, 7, 52, 15, 46, 62, 39, 55, 10, 31, 48, 3, 58, 33, 18, 61, 34, 13, 59 },
+ { 39, 27, 63, 20, 35, 41, 4, 45, 26, 5, 38, 13, 44, 2, 50, 17, 37, 52, 2, 13, 28, 58, 24, 51, 21, 8, 34, 48, 27, 42, 18, 51, 31, 56, 5, 36, 38, 44, 4, 17, 26, 11, 38, 23, 42, 8, 56, 39, 24, 51, 5, 56, 21, 59, 14, 6, 18, 42, 22, 35, 16, 37, 3, 25, 39, 46, 63, 5, 50, 17, 58, 8, 55, 3, 50, 12, 43, 17, 47, 2, 51, 9, 62, 12, 1, 35, 13, 50, 1, 37, 12, 51, 19, 29, 46, 59, 22, 58, 33, 45, 22, 60, 10, 32, 61, 39, 8, 33, 25, 36, 20, 60, 38, 4, 21, 5, 28, 45, 12, 18, 42, 11, 49, 1, 27, 40, 6, 30 },
+ { 24, 16, 42, 1, 50, 10, 48, 17, 33, 43, 24, 48, 21, 55, 31, 42, 10, 21, 63, 35, 49, 6, 33, 13, 41, 53, 10, 20, 60, 6, 53, 26, 12, 41, 22, 60, 14, 28, 63, 33, 49, 3, 45, 16, 48, 26, 14, 46, 18, 30, 35, 26, 8, 50, 29, 51, 25, 57, 12, 47, 53, 9, 62, 20, 54, 2, 36, 15, 40, 28, 33, 13, 38, 24, 46, 1, 29, 56, 33, 20, 44, 24, 41, 26, 57, 20, 63, 8, 30, 55, 5, 41, 62, 8, 34, 2, 37, 10, 19, 6, 37, 1, 53, 23, 5, 27, 58, 22, 43, 12, 50, 26, 9, 34, 54, 32, 49, 1, 59, 37, 22, 46, 25, 36, 51, 15, 54, 46 },
+ { 52, 7, 45, 33, 26, 58, 14, 60, 7, 54, 3, 58, 8, 34, 14, 5, 59, 30, 18, 44, 8, 22, 48, 62, 3, 26, 55, 38, 23, 16, 39, 1, 62, 24, 49, 9, 53, 19, 46, 7, 19, 60, 31, 58, 2, 34, 53, 7, 59, 2, 62, 42, 46, 19, 36, 11, 44, 4, 38, 28, 1, 43, 32, 51, 12, 29, 56, 22, 52, 2, 62, 49, 22, 60, 14, 35, 63, 5, 25, 57, 14, 53, 4, 46, 18, 31, 42, 22, 47, 20, 58, 31, 16, 43, 23, 54, 30, 42, 52, 57, 29, 49, 30, 13, 45, 48, 16, 55, 6, 63, 1, 44, 14, 58, 19, 47, 15, 24, 51, 34, 6, 55, 5, 63, 20, 41, 21, 9 },
+ { 30, 62, 18, 55, 5, 23, 39, 29, 49, 30, 15, 36, 28, 46, 60, 25, 39, 46, 4, 32, 61, 40, 15, 30, 36, 45, 14, 2, 49, 33, 57, 45, 18, 32, 3, 45, 30, 2, 35, 52, 40, 27, 13, 21, 38, 63, 20, 28, 37, 23, 16, 10, 13, 55, 2, 62, 21, 32, 60, 17, 58, 23, 5, 40, 16, 48, 7, 45, 10, 26, 43, 19, 6, 31, 52, 21, 39, 16, 48, 9, 37, 28, 36, 55, 7, 48, 3, 59, 15, 45, 25, 1, 53, 13, 47, 7, 62, 15, 4, 25, 12, 41, 18, 60, 38, 11, 34, 19, 39, 31, 29, 56, 23, 42, 3, 27, 60, 41, 8, 16, 61, 29, 43, 9, 32, 2, 60, 34 },
+ { 3, 38, 13, 37, 52, 44, 2, 19, 12, 42, 63, 19, 40, 1, 20, 50, 12, 55, 15, 56, 27, 1, 54, 11, 57, 18, 32, 63, 44, 4, 29, 13, 37, 61, 35, 16, 42, 57, 12, 22, 6, 55, 43, 10, 50, 5, 44, 11, 48, 52, 34, 58, 28, 41, 38, 30, 7, 52, 11, 49, 30, 14, 45, 27, 59, 34, 21, 38, 32, 58, 11, 36, 56, 42, 9, 41, 3, 54, 31, 42, 0, 60, 16, 11, 39, 24, 52, 33, 6, 36, 10, 40, 32, 60, 26, 20, 39, 28, 47, 34, 63, 8, 54, 3, 24, 56, 0, 51, 13, 47, 16, 40, 7, 35, 52, 11, 36, 4, 57, 30, 39, 13, 18, 50, 58, 28, 12, 48 },
+ { 57, 24, 49, 21, 10, 31, 61, 36, 56, 0, 22, 53, 11, 56, 32, 7, 36, 27, 41, 9, 46, 19, 34, 42, 25, 7, 50, 9, 28, 21, 54, 8, 50, 7, 27, 59, 10, 25, 48, 62, 37, 0, 33, 58, 25, 18, 32, 61, 0, 15, 45, 5, 50, 3, 23, 55, 47, 17, 40, 6, 60, 34, 53, 8, 41, 0, 61, 13, 54, 4, 46, 28, 0, 17, 48, 27, 58, 13, 23, 61, 33, 21, 50, 30, 62, 8, 14, 29, 56, 27, 61, 49, 17, 2, 44, 11, 51, 0, 59, 17, 40, 20, 32, 47, 36, 21, 42, 28, 60, 4, 54, 10, 59, 17, 30, 62, 21, 43, 26, 48, 0, 56, 36, 25, 8, 44, 39, 17 },
+ { 10, 42, 4, 59, 27, 47, 8, 23, 51, 32, 45, 6, 37, 26, 48, 43, 62, 0, 21, 53, 38, 12, 51, 5, 60, 47, 24, 37, 59, 15, 35, 47, 22, 55, 0, 50, 21, 40, 6, 29, 15, 52, 24, 8, 41, 55, 13, 29, 40, 56, 24, 31, 19, 33, 61, 15, 0, 35, 24, 42, 21, 2, 19, 57, 24, 15, 30, 50, 20, 25, 40, 16, 57, 34, 61, 8, 29, 45, 6, 49, 11, 47, 2, 44, 19, 57, 38, 50, 12, 42, 21, 4, 35, 52, 28, 56, 23, 36, 13, 45, 4, 52, 27, 14, 6, 62, 9, 45, 21, 37, 25, 46, 33, 49, 0, 44, 7, 53, 13, 19, 53, 31, 3, 47, 15, 56, 22, 51 },
+ { 35, 28, 53, 32, 1, 16, 54, 40, 9, 17, 25, 58, 14, 59, 3, 22, 16, 51, 31, 5, 23, 58, 28, 17, 35, 20, 0, 42, 11, 52, 3, 31, 41, 17, 43, 13, 32, 54, 18, 60, 32, 45, 17, 49, 2, 36, 51, 22, 7, 36, 9, 63, 48, 12, 46, 26, 43, 28, 63, 13, 48, 37, 51, 33, 5, 47, 55, 9, 42, 63, 7, 51, 24, 12, 37, 19, 55, 34, 18, 38, 15, 28, 54, 34, 5, 43, 22, 0, 48, 14, 54, 24, 58, 9, 38, 5, 32, 55, 21, 30, 49, 9, 59, 43, 30, 51, 35, 26, 7, 53, 2, 22, 14, 27, 57, 18, 38, 24, 33, 45, 10, 41, 20, 60, 37, 5, 32, 0 },
+ { 63, 19, 15, 40, 62, 35, 14, 28, 46, 61, 4, 49, 35, 10, 29, 54, 33, 8, 45, 62, 37, 1, 43, 55, 10, 52, 61, 30, 19, 40, 25, 62, 11, 38, 27, 58, 36, 3, 46, 8, 39, 4, 62, 28, 47, 20, 4, 54, 47, 27, 43, 1, 21, 38, 8, 58, 10, 54, 4, 56, 9, 26, 12, 39, 60, 27, 18, 37, 1, 31, 35, 5, 45, 50, 2, 43, 26, 1, 59, 23, 56, 40, 7, 26, 58, 17, 32, 63, 25, 39, 7, 31, 45, 19, 63, 15, 48, 8, 37, 61, 16, 34, 1, 56, 18, 3, 15, 58, 49, 32, 63, 41, 55, 5, 40, 22, 50, 6, 59, 2, 63, 23, 52, 11, 26, 61, 44, 23 },
+ { 11, 56, 46, 6, 22, 43, 58, 3, 34, 21, 38, 30, 18, 44, 52, 13, 41, 57, 17, 28, 14, 49, 25, 7, 33, 39, 26, 6, 56, 48, 1, 20, 56, 5, 46, 9, 19, 51, 30, 25, 56, 21, 35, 14, 57, 42, 16, 33, 10, 57, 17, 59, 41, 25, 53, 37, 20, 40, 30, 18, 31, 62, 44, 22, 3, 44, 11, 48, 23, 53, 18, 60, 29, 22, 62, 15, 53, 47, 10, 41, 3, 19, 52, 36, 13, 46, 10, 35, 3, 61, 41, 16, 1, 50, 26, 42, 18, 46, 2, 25, 54, 20, 39, 23, 47, 31, 41, 12, 38, 17, 8, 19, 31, 48, 12, 61, 9, 54, 29, 35, 15, 38, 6, 43, 34, 14, 7, 47 },
+ { 39, 2, 33, 26, 53, 8, 18, 50, 41, 12, 53, 1, 63, 24, 19, 39, 2, 24, 47, 10, 60, 38, 19, 63, 48, 4, 15, 45, 32, 14, 60, 36, 29, 53, 23, 63, 34, 12, 61, 1, 43, 11, 53, 30, 1, 26, 60, 45, 23, 39, 3, 29, 12, 50, 4, 16, 51, 3, 45, 36, 50, 1, 16, 54, 35, 14, 57, 30, 58, 9, 46, 14, 41, 10, 32, 38, 4, 30, 21, 51, 32, 63, 25, 1, 60, 27, 53, 18, 51, 22, 28, 55, 34, 12, 40, 3, 60, 29, 57, 41, 6, 44, 11, 53, 8, 61, 24, 57, 1, 28, 44, 59, 36, 3, 34, 25, 41, 31, 16, 44, 22, 47, 28, 58, 1, 49, 54, 29 },
+ { 58, 25, 50, 13, 38, 30, 60, 24, 6, 57, 27, 42, 9, 45, 6, 61, 30, 50, 4, 34, 29, 3, 46, 13, 22, 42, 58, 28, 9, 39, 23, 44, 7, 15, 44, 2, 40, 15, 47, 41, 23, 37, 7, 59, 38, 11, 34, 6, 62, 14, 52, 35, 55, 19, 32, 61, 33, 24, 57, 6, 22, 59, 29, 7, 49, 25, 40, 3, 17, 39, 27, 52, 0, 55, 16, 57, 24, 61, 36, 6, 29, 12, 48, 39, 20, 44, 6, 40, 33, 5, 48, 10, 57, 36, 22, 51, 33, 9, 24, 12, 62, 29, 50, 35, 14, 43, 5, 33, 47, 52, 13, 23, 10, 51, 56, 16, 46, 1, 49, 4, 61, 9, 52, 18, 31, 21, 36, 17 },
+ { 19, 42, 9, 48, 2, 44, 11, 37, 48, 20, 33, 16, 55, 35, 49, 15, 37, 20, 59, 16, 53, 22, 56, 31, 50, 11, 34, 54, 16, 51, 4, 49, 33, 53, 21, 28, 56, 24, 31, 9, 52, 16, 48, 24, 44, 13, 51, 20, 31, 49, 18, 6, 34, 2, 44, 14, 47, 8, 15, 43, 13, 41, 33, 52, 20, 61, 7, 51, 34, 62, 4, 20, 36, 33, 43, 8, 46, 13, 53, 17, 45, 42, 9, 31, 52, 11, 30, 56, 13, 59, 17, 44, 27, 6, 62, 11, 43, 17, 49, 38, 26, 2, 16, 27, 58, 21, 54, 18, 26, 5, 35, 61, 43, 27, 7, 39, 14, 58, 37, 55, 20, 33, 13, 40, 62, 10, 55, 5 },
+ { 51, 14, 61, 29, 59, 20, 55, 31, 0, 49, 11, 60, 3, 26, 22, 56, 0, 40, 12, 43, 41, 8, 36, 0, 17, 57, 24, 2, 46, 26, 61, 18, 0, 38, 12, 59, 6, 49, 3, 57, 19, 63, 5, 33, 18, 54, 28, 56, 0, 43, 26, 46, 63, 27, 56, 22, 27, 54, 38, 28, 63, 24, 10, 45, 0, 31, 42, 21, 12, 25, 44, 49, 59, 6, 26, 50, 3, 34, 27, 59, 0, 35, 62, 16, 4, 58, 47, 0, 43, 24, 37, 2, 54, 20, 46, 31, 0, 56, 34, 5, 55, 45, 60, 37, 0, 40, 10, 38, 63, 46, 15, 20, 0, 53, 21, 62, 30, 11, 24, 27, 40, 0, 57, 26, 3, 45, 27, 35 },
+};
+
+
+#elif (DFB_DITHER == DFB_DITHER_SIMPLE)
+
+
+#define DM_WIDTH 8
+#define DM_HEIGHT 8
+#define DM_WIDTH_SHIFT 3
+
+static const u8 DM[8][8] =
+{
+ { 0, 32, 8, 40, 2, 34, 10, 42 },
+ { 48, 16, 56, 24, 50, 18, 58, 26 },
+ { 12, 44, 4, 36, 14, 46, 6, 38 },
+ { 60, 28, 52, 20, 62, 30, 54, 22 },
+ { 3, 35, 11, 43, 1, 33, 9, 41 },
+ { 51, 19, 59, 27, 49, 17, 57, 25 },
+ { 15, 47, 7, 39, 13, 45, 5, 37 },
+ { 63, 31, 55, 23, 61, 29, 53, 21 }
+};
+
+#endif
+
+
+#endif /* __DITHER_H__ */
+
diff --git a/src/misc/dither565.h b/src/misc/dither565.h
index 5231aee..b4df0ba 100644
--- a/src/misc/dither565.h
+++ b/src/misc/dither565.h
@@ -49,11 +49,11 @@
* public domain.
*/
-#define DM_WIDTH 128
-#define DM_HEIGHT 128
-#define DM_WIDTH_SHIFT 7
+#define DM_565_WIDTH 128
+#define DM_565_HEIGHT 128
+#define DM_565_WIDTH_SHIFT 7
-static const u32 DM_565[DM_WIDTH * DM_HEIGHT] =
+static const u32 DM_565[DM_565_WIDTH * DM_565_HEIGHT] =
{
3072, 5243909, 2099202, 3072, 2099202, 4195332, 3072, 1051649, 7340039, 2099202, 5243909, 6291462, 3147779, 5243909, 1051649, 4195332, 6291462, 3147779, 7340039, 3147779, 3072, 7340039, 3147779, 6291462, 4195332, 3072, 5243909, 7340039, 2099202, 4195332, 1051649, 5243909, 3147779, 7340039, 5243909, 4195332, 2099202, 5243909, 4195332, 1051649, 4195332, 3147779, 6291462, 1051649, 7340039, 3072, 5243909, 1051649, 4195332, 1051649, 7340039, 2099202, 3072, 5243909, 1051649, 4195332, 3072, 7340039, 1051649, 5243909, 3072, 6291462, 4195332, 2099202, 4195332, 7340039, 1051649, 6291462, 4195332, 7340039, 1051649, 3147779, 2099202, 1051649, 7340039, 2099202, 5243909, 6291462, 3072, 2099202, 6291462, 1051649, 2099202, 6291462, 4195332, 2099202, 2099202, 4195332, 1051649, 6291462, 2099202, 7340039, 3147779, 1051649, 4195332, 3147779, 6291462, 1051649, 2099202, 5243909, 2099202, 3147779, 3072, 2099202, 6291462, 3147779, 6291462, 2099202, 3072, 4195332, 7340039, 5243909, 3147779, 4195332, 1051649, 6291462, 2099202, 5243909, 3072, 6291462, 1051649, 5243909, 4195332, 6291462, 2099202, 5243909, 1051649, 7340039,
3147779, 7340039, 4195332, 6291462, 5243909, 4195332, 6291462, 3147779, 5243909, 3072, 3147779, 3072, 2099202, 4195332, 7340039, 1051649, 5243909, 3072, 2099202, 6291462, 4195332, 2099202, 5243909, 1051649, 3147779, 5243909, 1051649, 4195332, 3072, 6291462, 3147779, 7340039, 1051649, 3147779, 3072, 2099202, 6291462, 1051649, 7340039, 3147779, 5243909, 3072, 4195332, 3147779, 5243909, 2099202, 5243909, 3147779, 7340039, 4195332, 1051649, 4195332, 6291462, 2099202, 7340039, 3147779, 6291462, 2099202, 4195332, 3147779, 6291462, 2099202, 3072, 6291462, 2099202, 1051649, 3147779, 5243909, 3072, 4195332, 5243909, 2099202, 6291462, 5243909, 4195332, 2099202, 3147779, 1051649, 5243909, 3147779, 4195332, 7340039, 3072, 4195332, 1051649, 5243909, 7340039, 3147779, 7340039, 1051649, 5243909, 1051649, 5243909, 3072, 7340039, 3072, 2099202, 6291462, 7340039, 1051649, 6291462, 1051649, 5243909, 7340039, 1051649, 3147779, 3072, 6291462, 5243909, 3147779, 1051649, 6291462, 2099202, 7340039, 5243909, 3072, 4195332, 7340039, 4195332, 2099202, 7340039, 3147779, 2099202, 3072, 7340039, 4195332, 3147779, 4195332,
@@ -189,11 +189,11 @@ static const u32 DM_565[DM_WIDTH * DM_HEIGHT] =
#elif (DFB_DITHER565 == DFB_DITHER_SIMPLE)
-#define DM_WIDTH 8
-#define DM_HEIGHT 8
-#define DM_WIDTH_SHIFT 3
+#define DM_565_WIDTH 8
+#define DM_565_HEIGHT 8
+#define DM_565_WIDTH_SHIFT 3
-static const u32 DM_565[DM_WIDTH * DM_HEIGHT] =
+static const u32 DM_565[DM_565_WIDTH * DM_565_HEIGHT] =
{
3072, 4195332, 1051649, 5243909, 3072, 4195332, 1051649, 5243909,
6291462, 2099202, 7340039, 3147779, 6291462, 2099202, 7340039, 3147779,
@@ -209,3 +209,4 @@ static const u32 DM_565[DM_WIDTH * DM_HEIGHT] =
#endif /* __DITHER565_H__ */
+
diff --git a/src/misc/gfx_util.c b/src/misc/gfx_util.c
index d51951b..44411dd 100644
--- a/src/misc/gfx_util.c
+++ b/src/misc/gfx_util.c
@@ -51,6 +51,7 @@
#include <direct/util.h>
#include <misc/util.h>
+#include <misc/dither.h>
#include <misc/dither565.h>
#include <misc/gfx_util.h>
@@ -103,6 +104,14 @@ static void write_argb_span (u32 *src, u8 *dst[], int len,
d[i>>3] = (src[i] >> 24) & 0x80;
}
break;
+ case DSPF_A1_LSB:
+ for (i = 0; i < len; i++) {
+ if (i & 7)
+ d[i>>3] |= (src[i] >> 31) << (i&7);
+ else
+ d[i>>3] = (src[i] >> 31);
+ }
+ break;
case DSPF_A4:
for (i = 0, j = 0; i < len; i += 2, j++)
@@ -130,8 +139,28 @@ static void write_argb_span (u32 *src, u8 *dst[], int len,
break;
case DSPF_ARGB4444:
+#ifdef DFB_DITHER
+ /* use a pre-generated dither matrix to improve the appearance of the result */
+ {
+ const u8 *dm = DM[ dy & (DM_HEIGHT - 1) ];
+
+ for (i = 0; i < len; i++) {
+ u32 x = (dm[(dx + i) & (DM_WIDTH - 1)] << 2) >> 4;
+ u32 a = ((src[i] & 0xFF000000) >> 24) + x;
+ u32 r = ((src[i] & 0x00FF0000) >> 16) + x;
+ u32 g = ((src[i] & 0x0000FF00) >> 8) + x;
+ u32 b = ((src[i] & 0x000000FF) ) + x;
+
+ ((u16*)d)[i] = PIXEL_ARGB4444( a - (a >> 4),
+ r - (r >> 4),
+ g - (g >> 4),
+ b - (b >> 4) );
+ }
+ }
+#else
for (i = 0; i < len; i++)
((u16*)d)[i] = ARGB_TO_ARGB4444( src[i] );
+#endif
break;
case DSPF_RGBA4444:
@@ -158,14 +187,14 @@ static void write_argb_span (u32 *src, u8 *dst[], int len,
#ifdef DFB_DITHER565
/* use a pre-generated dither matrix to improve the appearance of the result */
{
- const u32 *dm = DM_565 + ((dy & (DM_HEIGHT - 1)) << DM_WIDTH_SHIFT);
+ const u32 *dm = DM_565 + ((dy & (DM_565_HEIGHT - 1)) << DM_565_WIDTH_SHIFT);
for (i = 0; i < len; i++) {
u32 rgb = ((src[i] & 0xFF) |
(src[i] & 0xFF00) << 2 |
(src[i] & 0xFF0000) << 4);
- rgb += dm[(dx + i) & (DM_WIDTH - 1)];
+ rgb += dm[(dx + i) & (DM_565_WIDTH - 1)];
rgb += (0x10040100
- ((rgb & 0x1e0001e0) >> 5)
- ((rgb & 0x00070000) >> 6));
@@ -398,6 +427,7 @@ static void write_argb_span (u32 *src, u8 *dst[], int len,
break;
case DSPF_YV12:
+ case DSPF_YV16:
case DSPF_I420:
d1 = dst[1];
d2 = dst[2];
@@ -582,7 +612,7 @@ void dfb_copy_buffer_32( u32 *src,
void *dst, int dpitch, DFBRectangle *drect,
CoreSurface *dst_surface, const DFBRegion *dst_clip )
{
- void *dst1, *dst2;
+ u8 *dst1, *dst2;
int sw = drect->w;
int y, x;
@@ -617,10 +647,10 @@ void dfb_copy_buffer_32( u32 *src,
case DSPF_YV12:
case DSPF_I420:
if (dst_surface->config.format == DSPF_I420) {
- dst1 = dst + dpitch * dst_surface->config.size.h;
+ dst1 = (u8*)dst + dpitch * dst_surface->config.size.h;
dst2 = dst1 + dpitch/2 * dst_surface->config.size.h/2;
} else {
- dst2 = dst + dpitch * dst_surface->config.size.h;
+ dst2 = (u8*)dst + dpitch * dst_surface->config.size.h;
dst1 = dst2 + dpitch/2 * dst_surface->config.size.h/2;
}
@@ -640,9 +670,29 @@ void dfb_copy_buffer_32( u32 *src,
}
break;
+ case DSPF_YV16:
+ dst2 = (u8*)dst + dpitch * dst_surface->config.size.h;
+ dst1 = dst2 + dpitch/2 * dst_surface->config.size.h;
+
+ for (y = drect->y; y < drect->y + drect->h; y++) {
+ u8 *d[3];
+
+ d[0] = LINE_PTR( dst, dst_surface->config.caps, y,
+ dst_surface->config.size.h, dpitch ) + x;
+ d[1] = LINE_PTR( dst1, dst_surface->config.caps, y,
+ dst_surface->config.size.h, dpitch/2 ) + x/2;
+ d[2] = LINE_PTR( dst2, dst_surface->config.caps, y,
+ dst_surface->config.size.h, dpitch/2 ) + x/2;
+
+ write_argb_span( src, d, drect->w, x, y, dst_surface );
+
+ src += sw;
+ }
+ break;
+
case DSPF_NV12:
case DSPF_NV21:
- dst1 = dst + dpitch * dst_surface->config.size.h;
+ dst1 = (u8*)dst + dpitch * dst_surface->config.size.h;
for (y = drect->y; y < drect->y + drect->h; y++) {
u8 *d[2];
@@ -659,7 +709,7 @@ void dfb_copy_buffer_32( u32 *src,
break;
case DSPF_NV16:
- dst1 = dst + dpitch * dst_surface->config.size.h;
+ dst1 = (u8*)dst + dpitch * dst_surface->config.size.h;
for (y = drect->y; y < drect->y + drect->h; y++) {
u8 *d[2];
@@ -676,7 +726,7 @@ void dfb_copy_buffer_32( u32 *src,
break;
case DSPF_YUV444P:
- dst1 = dst + dpitch * dst_surface->config.size.h;
+ dst1 = (u8*)dst + dpitch * dst_surface->config.size.h;
dst2 = dst1 + dpitch * dst_surface->config.size.h;
for (y = drect->y; y < drect->y + drect->h; y++) {
@@ -869,6 +919,9 @@ static u32* scale_line( const int *weights, int n_x, int n_y,
u32 *dst, u32 *dst_end,
const u32 **src, int x, int x_step, int sw )
{
+
+ D_UNUSED_P( sw );
+
while (dst < dst_end) {
const int x_scaled = x >> SCALE_SHIFT;
const int *pixel_weights = weights + ((x >> (SCALE_SHIFT -
@@ -917,7 +970,7 @@ void dfb_scale_linear_32( u32 *src, int sw, int sh,
int x_step, y_step;
int scaled_x_offset;
PixopsFilter filter;
- void *dst1 = NULL, *dst2 = NULL;
+ u8 *dst1 = NULL, *dst2 = NULL;
u32 *buf;
if (drect->w == sw && drect->h == sh) {
@@ -947,20 +1000,24 @@ void dfb_scale_linear_32( u32 *src, int sw, int sh,
switch (dst_surface->config.format) {
case DSPF_I420:
- dst1 = dst + dpitch * dst_surface->config.size.h;
+ dst1 = (u8*)dst + dpitch * dst_surface->config.size.h;
dst2 = dst1 + dpitch/2 * dst_surface->config.size.h/2;
break;
case DSPF_YV12:
- dst2 = dst + dpitch * dst_surface->config.size.h;
+ dst2 = (u8*)dst + dpitch * dst_surface->config.size.h;
dst1 = dst2 + dpitch/2 * dst_surface->config.size.h/2;
break;
+ case DSPF_YV16:
+ dst2 = (u8*)dst + dpitch * dst_surface->config.size.h;
+ dst1 = dst2 + dpitch/2 * dst_surface->config.size.h;
+ break;
case DSPF_NV12:
case DSPF_NV21:
case DSPF_NV16:
- dst1 = dst + dpitch * dst_surface->config.size.h;
+ dst1 = (u8*)dst + dpitch * dst_surface->config.size.h;
break;
case DSPF_YUV444P:
- dst1 = dst + dpitch * dst_surface->config.size.h;
+ dst1 = (u8*)dst + dpitch * dst_surface->config.size.h;
dst2 = dst1 + dpitch * dst_surface->config.size.h;
break;
default:
@@ -1039,6 +1096,12 @@ void dfb_scale_linear_32( u32 *src, int sw, int sh,
d[2] = LINE_PTR( dst2, dst_surface->config.caps, i/2,
dst_surface->config.size.h/2, dpitch/2 ) + drect->x/2;
break;
+ case DSPF_YV16:
+ d[1] = LINE_PTR( dst1, dst_surface->config.caps, i,
+ dst_surface->config.size.h, dpitch/2 ) + drect->x/2;
+ d[2] = LINE_PTR( dst2, dst_surface->config.caps, i,
+ dst_surface->config.size.h, dpitch/2 ) + drect->x/2;
+ break;
case DSPF_NV12:
case DSPF_NV21:
d[1] = LINE_PTR( dst1, dst_surface->config.caps, i/2,
diff --git a/src/misc/util.c b/src/misc/util.c
index 04a8e4c..2b76307 100644
--- a/src/misc/util.c
+++ b/src/misc/util.c
@@ -49,7 +49,7 @@ D_DEBUG_DOMAIN( DFB_Updates, "DirectFB/Updates", "DirectFB Updates" );
/**********************************************************************************************************************/
-const DirectFBPixelFormatNames( dfb_pixelformat_names );
+const DirectFBPixelFormatNames( dfb_pixelformat_names )
/**********************************************************************************************************************/
@@ -509,7 +509,7 @@ dfb_updates_add( DFBUpdates *updates,
D_ASSERT( updates->num_regions >= 0 );
D_ASSERT( updates->num_regions <= updates->max_regions );
- D_DEBUG_AT( DFB_Updates, "%s( %p, %4d,%4d-%4dx%4d )\n", __FUNCTION__, updates,
+ D_DEBUG_AT( DFB_Updates, "%s( %p, %4d,%4d-%4dx%4d )\n", __FUNCTION__, (void*)updates,
DFB_RECTANGLE_VALS_FROM_REGION(region) );
if (updates->num_regions == 0) {
diff --git a/src/windows/Makefile.am b/src/windows/Makefile.am
index 572dc27..d637768 100644
--- a/src/windows/Makefile.am
+++ b/src/windows/Makefile.am
@@ -1,8 +1,9 @@
## Makefile.am for DirectFB/src/windows
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/src/windows/Makefile.in b/src/windows/Makefile.in
index a30b770..06f8dee 100644
--- a/src/windows/Makefile.in
+++ b/src/windows/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,22 +47,40 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libdirectfb_windows_la_LIBADD =
am_libdirectfb_windows_la_OBJECTS = idirectfbwindow.lo
libdirectfb_windows_la_OBJECTS = $(am_libdirectfb_windows_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_windows_la_SOURCES)
DIST_SOURCES = $(libdirectfb_windows_la_SOURCES)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -68,15 +88,36 @@ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(internalincludedir)"
-internalincludeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(internalinclude_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -100,11 +141,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -118,16 +162,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -148,12 +193,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -164,21 +212,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -186,6 +242,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -199,6 +259,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -206,9 +267,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -255,11 +317,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -280,14 +344,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/windows/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/windows/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/windows/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/windows/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -305,6 +369,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@@ -314,8 +379,8 @@ clean-noinstLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_windows.la: $(libdirectfb_windows_la_OBJECTS) $(libdirectfb_windows_la_DEPENDENCIES)
- $(LINK) $(libdirectfb_windows_la_OBJECTS) $(libdirectfb_windows_la_LIBADD) $(LIBS)
+libdirectfb_windows.la: $(libdirectfb_windows_la_OBJECTS) $(libdirectfb_windows_la_DEPENDENCIES) $(EXTRA_libdirectfb_windows_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libdirectfb_windows_la_OBJECTS) $(libdirectfb_windows_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -326,25 +391,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/idirectfbwindow.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -354,34 +419,35 @@ clean-libtool:
install-internalincludeHEADERS: $(internalinclude_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(internalincludedir)" || $(MKDIR_P) "$(DESTDIR)$(internalincludedir)"
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(internalincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(internalincludedir)/$$f'"; \
- $(internalincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(internalincludedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(internalincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(internalincludedir)" || exit $$?; \
done
uninstall-internalincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(internalincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(internalincludedir)/$$f"; \
- done
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(internalincludedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -389,29 +455,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -432,13 +503,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -459,16 +534,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -490,6 +571,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -498,18 +581,28 @@ install-data-am: install-internalincludeHEADERS
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -548,6 +641,7 @@ uninstall-am: uninstall-internalincludeHEADERS
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-internalincludeHEADERS
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/src/windows/idirectfbwindow.c b/src/windows/idirectfbwindow.c
index d8e43c2..591f059 100644
--- a/src/windows/idirectfbwindow.c
+++ b/src/windows/idirectfbwindow.c
@@ -44,6 +44,10 @@
#include <idirectfb.h>
+#include <core/CoreSurface.h>
+#include <core/CoreWindow.h>
+#include <core/CoreWindowStack.h>
+
#include <core/core.h>
#include <core/coredefs.h>
#include <core/coretypes.h>
@@ -89,20 +93,14 @@ typedef struct {
IDirectFBSurface *surface;
- struct {
- IDirectFBSurface *shape;
- int hot_x;
- int hot_y;
- } cursor;
-
Reaction reaction;
- bool entered;
-
bool detached;
bool destroyed;
CoreDFB *core;
+
+ bool created;
} IDirectFBWindow_data;
@@ -119,6 +117,12 @@ IDirectFBWindow_Destruct( IDirectFBWindow *thiz )
dfb_window_detach( data->window, &data->reaction );
}
+ if (data->created) {
+ D_DEBUG_AT( IDirectFB_Window, " -> destroying...\n" );
+
+ CoreWindow_Destroy( data->window );
+ }
+
/* this will destroy the fusion object and (eventually) the window */
D_DEBUG_AT( IDirectFB_Window, " -> unrefing...\n" );
@@ -129,11 +133,6 @@ IDirectFBWindow_Destruct( IDirectFBWindow *thiz )
if (data->surface)
data->surface->Release( data->surface );
- D_DEBUG_AT( IDirectFB_Window, " -> releasing cursor shape...\n" );
-
- if (data->cursor.shape)
- data->cursor.shape->Release( data->cursor.shape );
-
D_DEBUG_AT( IDirectFB_Window, " -> done.\n" );
DIRECT_DEALLOCATE_INTERFACE( thiz );
@@ -148,7 +147,7 @@ IDirectFBWindow_AddRef( IDirectFBWindow *thiz )
data->ref++;
- return DFB_OK;
+ return DR_OK;
}
static DirectResult
@@ -161,7 +160,7 @@ IDirectFBWindow_Release( IDirectFBWindow *thiz )
if (--data->ref == 0)
IDirectFBWindow_Destruct( thiz );
- return DFB_OK;
+ return DR_OK;
}
static DFBResult
@@ -233,7 +232,7 @@ IDirectFBWindow_EnableEvents( IDirectFBWindow *thiz,
if (mask & ~DWET_ALL)
return DFB_INVARG;
- return dfb_window_change_events( data->window, DWET_NONE, mask );
+ return CoreWindow_ChangeEvents( data->window, DWET_NONE, mask );
}
static DFBResult
@@ -250,7 +249,7 @@ IDirectFBWindow_DisableEvents( IDirectFBWindow *thiz,
if (mask & ~DWET_ALL)
return DFB_INVARG;
- return dfb_window_change_events( data->window, mask, DWET_NONE );
+ return CoreWindow_ChangeEvents( data->window, mask, DWET_NONE );
}
static DFBResult
@@ -289,9 +288,7 @@ IDirectFBWindow_GetPosition( IDirectFBWindow *thiz,
if (!x && !y)
return DFB_INVARG;
- dfb_windowstack_lock( data->window->stack );
- dfb_wm_get_insets( data->window->stack, data->window, &insets );
- dfb_windowstack_unlock( data->window->stack );
+ CoreWindowStack_GetInsets( data->window->stack, data->window, &insets );
if (x)
*x = data->window->config.bounds.x-insets.l;
@@ -318,9 +315,7 @@ IDirectFBWindow_GetSize( IDirectFBWindow *thiz,
if (!width && !height)
return DFB_INVARG;
- dfb_windowstack_lock( data->window->stack );
- dfb_wm_get_insets( data->window->stack, data->window, &insets );
- dfb_windowstack_unlock( data->window->stack );
+ CoreWindowStack_GetInsets( data->window->stack, data->window, &insets );
if (width)
*width = data->window->config.bounds.w-insets.l-insets.r;
@@ -465,7 +460,7 @@ IDirectFBWindow_SetOptions( IDirectFBWindow *thiz,
options &= ~DWOP_ALPHACHANNEL;
/* Set new options */
- return dfb_window_change_options( data->window, DWET_ALL, options );
+ return CoreWindow_ChangeOptions( data->window, DWOP_ALL, options );
}
static DFBResult
@@ -494,7 +489,7 @@ IDirectFBWindow_SetColor( IDirectFBWindow *thiz,
u8 b,
u8 a )
{
- DFBColor color = { a: a, r: r, g: g, b: b };
+ DFBColor color = { .a = a, .r = r, .g = g, .b = b };
DIRECT_INTERFACE_GET_DATA(IDirectFBWindow)
@@ -503,7 +498,7 @@ IDirectFBWindow_SetColor( IDirectFBWindow *thiz,
if (data->destroyed)
return DFB_DESTROYED;
- dfb_window_set_color( data->window, color );
+ CoreWindow_SetColor( data->window, &color );
return DFB_OK;
}
@@ -534,7 +529,7 @@ IDirectFBWindow_SetColorKey( IDirectFBWindow *thiz,
else
key = dfb_color_to_pixel( surface->config.format, r, g, b );
- return dfb_window_set_colorkey( data->window, key );
+ return CoreWindow_SetColorKey( data->window, key );
}
static DFBResult
@@ -553,7 +548,7 @@ IDirectFBWindow_SetColorKeyIndex( IDirectFBWindow *thiz,
if (data->window->caps & DWCAPS_INPUTONLY)
return DFB_UNSUPPORTED;
- return dfb_window_set_colorkey( data->window, key );
+ return CoreWindow_SetColorKey( data->window, key );
}
static DFBResult
@@ -577,7 +572,7 @@ IDirectFBWindow_SetOpaqueRegion( IDirectFBWindow *thiz,
region = (DFBRegion) { x1, y1, x2, y2 };
- return dfb_window_set_opaque( data->window, ®ion );
+ return CoreWindow_SetOpaque( data->window, ®ion );
}
static DFBResult
@@ -591,7 +586,7 @@ IDirectFBWindow_SetOpacity( IDirectFBWindow *thiz,
if (data->destroyed)
return DFB_DESTROYED;
- return dfb_window_set_opacity( data->window, opacity );
+ return CoreWindow_SetOpacity( data->window, opacity );
}
static DFBResult
@@ -619,7 +614,7 @@ IDirectFBWindow_SetCursorShape( IDirectFBWindow *thiz,
int hot_x,
int hot_y )
{
- DFBResult ret;
+ DFBPoint hot;
DIRECT_INTERFACE_GET_DATA(IDirectFBWindow)
@@ -628,11 +623,6 @@ IDirectFBWindow_SetCursorShape( IDirectFBWindow *thiz,
if (data->destroyed)
return DFB_DESTROYED;
- if (data->cursor.shape) {
- data->cursor.shape->Release( data->cursor.shape );
- data->cursor.shape = NULL;
- }
-
if (shape) {
IDirectFBSurface_data *shape_data;
CoreSurface *shape_surface;
@@ -645,20 +635,16 @@ IDirectFBWindow_SetCursorShape( IDirectFBWindow *thiz,
if (!shape_surface)
return DFB_DESTROYED;
- ret = shape->AddRef( shape );
- if (ret)
- return ret;
-
- data->cursor.shape = shape;
- data->cursor.hot_x = hot_x;
- data->cursor.hot_y = hot_y;
+ hot.x = hot_x;
+ hot.y = hot_y;
- if (data->entered)
- return dfb_windowstack_cursor_set_shape( data->window->stack,
- shape_surface, hot_x, hot_y );
+ return CoreWindow_SetCursorShape( data->window, shape_surface, &hot );
}
- return DFB_OK;
+ hot.x = 0;
+ hot.y = 0;
+
+ return CoreWindow_SetCursorShape( data->window, NULL, &hot );
}
static DFBResult
@@ -681,7 +667,7 @@ IDirectFBWindow_RequestFocus( IDirectFBWindow *thiz )
if (!window->config.opacity && !(window->caps & DWCAPS_INPUTONLY))
return DFB_UNSUPPORTED;
- return dfb_window_request_focus( window );
+ return CoreWindow_RequestFocus( window );
}
static DFBResult
@@ -694,7 +680,7 @@ IDirectFBWindow_GrabKeyboard( IDirectFBWindow *thiz )
if (data->destroyed)
return DFB_DESTROYED;
- return dfb_window_change_grab( data->window, CWMGT_KEYBOARD, true );
+ return CoreWindow_ChangeGrab( data->window, CWMGT_KEYBOARD, true );
}
static DFBResult
@@ -707,7 +693,7 @@ IDirectFBWindow_UngrabKeyboard( IDirectFBWindow *thiz )
if (data->destroyed)
return DFB_DESTROYED;
- return dfb_window_change_grab( data->window, CWMGT_KEYBOARD, false );
+ return CoreWindow_ChangeGrab( data->window, CWMGT_KEYBOARD, false );
}
static DFBResult
@@ -720,7 +706,7 @@ IDirectFBWindow_GrabPointer( IDirectFBWindow *thiz )
if (data->destroyed)
return DFB_DESTROYED;
- return dfb_window_change_grab( data->window, CWMGT_POINTER, true );
+ return CoreWindow_ChangeGrab( data->window, CWMGT_POINTER, true );
}
static DFBResult
@@ -733,7 +719,7 @@ IDirectFBWindow_UngrabPointer( IDirectFBWindow *thiz )
if (data->destroyed)
return DFB_DESTROYED;
- return dfb_window_change_grab( data->window, CWMGT_POINTER, false );
+ return CoreWindow_ChangeGrab( data->window, CWMGT_POINTER, false );
}
static DFBResult
@@ -748,7 +734,7 @@ IDirectFBWindow_GrabKey( IDirectFBWindow *thiz,
if (data->destroyed)
return DFB_DESTROYED;
- return dfb_window_grab_key( data->window, symbol, modifiers );
+ return CoreWindow_GrabKey( data->window, symbol, modifiers );
}
static DFBResult
@@ -763,7 +749,7 @@ IDirectFBWindow_UngrabKey( IDirectFBWindow *thiz,
if (data->destroyed)
return DFB_DESTROYED;
- return dfb_window_ungrab_key( data->window, symbol, modifiers );
+ return CoreWindow_UngrabKey( data->window, symbol, modifiers );
}
static DFBResult
@@ -779,14 +765,12 @@ IDirectFBWindow_Move( IDirectFBWindow *thiz, int dx, int dy )
if (dx == 0 && dy == 0)
return DFB_OK;
- return dfb_window_move( data->window, dx, dy, true );
+ return CoreWindow_Move( data->window, dx, dy );
}
static DFBResult
IDirectFBWindow_MoveTo( IDirectFBWindow *thiz, int x, int y )
{
- DFBResult ret;
- DFBInsets insets;
DIRECT_INTERFACE_GET_DATA(IDirectFBWindow)
D_DEBUG_AT( IDirectFB_Window, "%s()\n", __FUNCTION__ );
@@ -794,17 +778,7 @@ IDirectFBWindow_MoveTo( IDirectFBWindow *thiz, int x, int y )
if (data->destroyed)
return DFB_DESTROYED;
- dfb_windowstack_lock( data->window->stack );
-
- dfb_wm_get_insets( data->window->stack, data->window, &insets );
- x += insets.l;
- y += insets.t;
-
- ret = dfb_window_move( data->window, x, y, false );
-
- dfb_windowstack_unlock( data->window->stack );
-
- return ret;
+ return CoreWindow_MoveTo( data->window, x, y );
}
static DFBResult
@@ -812,9 +786,6 @@ IDirectFBWindow_Resize( IDirectFBWindow *thiz,
int width,
int height )
{
- DFBResult ret;
- DFBInsets insets;
-
DIRECT_INTERFACE_GET_DATA(IDirectFBWindow)
D_DEBUG_AT( IDirectFB_Window, "%s()\n", __FUNCTION__ );
@@ -825,17 +796,7 @@ IDirectFBWindow_Resize( IDirectFBWindow *thiz,
if (width < 1 || width > 4096 || height < 1 || height > 4096)
return DFB_INVARG;
- dfb_windowstack_lock( data->window->stack );
-
- dfb_wm_get_insets( data->window->stack, data->window, &insets );
- width += insets.l+insets.r;
- height += insets.t+insets.b;
-
- ret = dfb_window_resize( data->window, width, height );
-
- dfb_windowstack_unlock( data->window->stack );
-
- return ret;
+ return CoreWindow_Resize( data->window, width, height );
}
static DFBResult
@@ -848,13 +809,15 @@ IDirectFBWindow_Raise( IDirectFBWindow *thiz )
if (data->destroyed)
return DFB_DESTROYED;
- return dfb_window_raise( data->window );
+ return CoreWindow_Restack( data->window, data->window, 1 );
}
static DFBResult
IDirectFBWindow_SetStackingClass( IDirectFBWindow *thiz,
DFBWindowStackingClass stacking_class )
{
+ CoreWindowConfig config;
+
DIRECT_INTERFACE_GET_DATA(IDirectFBWindow)
D_DEBUG_AT( IDirectFB_Window, "%s()\n", __FUNCTION__ );
@@ -871,7 +834,9 @@ IDirectFBWindow_SetStackingClass( IDirectFBWindow *thiz,
return DFB_INVARG;
}
- return dfb_window_change_stacking( data->window, stacking_class );
+ config.stacking = stacking_class;
+
+ return CoreWindow_SetStacking( data->window, stacking_class );
}
static DFBResult
@@ -884,7 +849,7 @@ IDirectFBWindow_Lower( IDirectFBWindow *thiz )
if (data->destroyed)
return DFB_DESTROYED;
- return dfb_window_lower( data->window );
+ return CoreWindow_Restack( data->window, data->window, -1 );
}
static DFBResult
@@ -897,7 +862,7 @@ IDirectFBWindow_RaiseToTop( IDirectFBWindow *thiz )
if (data->destroyed)
return DFB_DESTROYED;
- return dfb_window_raisetotop( data->window );
+ return CoreWindow_Restack( data->window, NULL, 1 );
}
static DFBResult
@@ -910,7 +875,7 @@ IDirectFBWindow_LowerToBottom( IDirectFBWindow *thiz )
if (data->destroyed)
return DFB_DESTROYED;
- return dfb_window_lowertobottom( data->window );
+ return CoreWindow_Restack( data->window, NULL, 0 );
}
static DFBResult
@@ -936,7 +901,7 @@ IDirectFBWindow_PutAtop( IDirectFBWindow *thiz,
if (!lower_data->window)
return DFB_DESTROYED;
- return dfb_window_putatop( data->window, lower_data->window );
+ return CoreWindow_Restack( data->window, lower_data->window, 1 );
}
static DFBResult
@@ -962,7 +927,7 @@ IDirectFBWindow_PutBelow( IDirectFBWindow *thiz,
if (!upper_data->window)
return DFB_DESTROYED;
- return dfb_window_putbelow( data->window, upper_data->window );
+ return CoreWindow_Restack( data->window, upper_data->window, -1 );
}
static DFBResult
@@ -996,7 +961,7 @@ IDirectFBWindow_Destroy( IDirectFBWindow *thiz )
D_DEBUG_AT( IDirectFB_Window, "IDirectFBWindow_Destroy()\n" );
- dfb_window_destroy( data->window );
+ CoreWindow_Destroy( data->window );
return DFB_OK;
}
@@ -1008,6 +973,10 @@ IDirectFBWindow_SetBounds( IDirectFBWindow *thiz,
int width,
int height )
{
+ DFBRectangle rect = {
+ x, y, width, height
+ };
+
DIRECT_INTERFACE_GET_DATA(IDirectFBWindow)
D_DEBUG_AT( IDirectFB_Window, "%s()\n", __FUNCTION__ );
@@ -1017,7 +986,7 @@ IDirectFBWindow_SetBounds( IDirectFBWindow *thiz,
D_DEBUG_AT( IDirectFB_Window, "IDirectFBWindow_SetBounds( %d, %d - %dx%d )\n", x, y, width, height );
- return dfb_window_set_bounds( data->window, x, y, width, height );
+ return CoreWindow_SetBounds( data->window, &rect );
}
static DFBResult
@@ -1025,6 +994,8 @@ IDirectFBWindow_ResizeSurface( IDirectFBWindow *thiz,
int width,
int height )
{
+ CoreSurfaceConfig config;
+
DIRECT_INTERFACE_GET_DATA(IDirectFBWindow)
D_DEBUG_AT( IDirectFB_Window, "%s()\n", __FUNCTION__ );
@@ -1032,10 +1003,18 @@ IDirectFBWindow_ResizeSurface( IDirectFBWindow *thiz,
if (data->destroyed)
return DFB_DESTROYED;
+ if (!data->window->surface)
+ return DFB_UNSUPPORTED;
+
if (width < 1 || width > 4096 || height < 1 || height > 4096)
return DFB_INVARG;
- return dfb_surface_reformat( data->window->surface, width, height, data->window->surface->config.format );
+ config = data->window->surface->config;
+
+ config.size.w = width;
+ config.size.h = height;
+
+ return CoreSurface_SetConfig( data->window->surface, &config );
}
static DFBResult
@@ -1062,7 +1041,7 @@ IDirectFBWindow_SetKeySelection( IDirectFBWindow *thiz,
if (data->destroyed)
return DFB_DESTROYED;
- return dfb_window_set_key_selection( data->window, selection, keys, num_keys );
+ return CoreWindow_SetKeySelection( data->window, selection, keys, num_keys );
}
static DFBResult
@@ -1075,7 +1054,7 @@ IDirectFBWindow_GrabUnselectedKeys( IDirectFBWindow *thiz )
if (data->destroyed)
return DFB_DESTROYED;
- return dfb_window_change_grab( data->window, CWMGT_UNSELECTED_KEYS, true );
+ return CoreWindow_ChangeGrab( data->window, CWMGT_UNSELECTED_KEYS, true );
}
static DFBResult
@@ -1088,7 +1067,7 @@ IDirectFBWindow_UngrabUnselectedKeys( IDirectFBWindow *thiz )
if (data->destroyed)
return DFB_DESTROYED;
- return dfb_window_change_grab( data->window, CWMGT_UNSELECTED_KEYS, false );
+ return CoreWindow_ChangeGrab( data->window, CWMGT_UNSELECTED_KEYS, false );
}
static DFBResult
@@ -1111,7 +1090,7 @@ IDirectFBWindow_Bind( IDirectFBWindow *thiz,
if (source_data->destroyed)
return DFB_DESTROYED;
- return dfb_window_bind( data->window, source_data->window, x, y );
+ return CoreWindow_Bind( data->window, source_data->window, x, y );
}
static DFBResult
@@ -1132,7 +1111,7 @@ IDirectFBWindow_Unbind( IDirectFBWindow *thiz,
if (source_data->destroyed)
return DFB_DESTROYED;
- return dfb_window_unbind( data->window, source_data->window );
+ return CoreWindow_Unbind( data->window, source_data->window );
}
static DFBResult
@@ -1193,7 +1172,7 @@ IDirectFBWindow_SetSrcGeometry( IDirectFBWindow *thiz,
config.src_geometry = *geometry;
- return dfb_window_set_config( data->window, &config, CWCF_SRC_GEOMETRY );
+ return CoreWindow_SetConfig( data->window, &config, NULL, 0, NULL, CWCF_SRC_GEOMETRY );
}
static DFBResult
@@ -1216,7 +1195,7 @@ IDirectFBWindow_SetDstGeometry( IDirectFBWindow *thiz,
config.dst_geometry = *geometry;
- return dfb_window_set_config( data->window, &config, CWCF_DST_GEOMETRY );
+ return CoreWindow_SetConfig( data->window, &config, NULL, 0, NULL, CWCF_DST_GEOMETRY );
}
static DFBResult
@@ -1225,14 +1204,16 @@ IDirectFBWindow_SetRotation( IDirectFBWindow *thiz,
{
DIRECT_INTERFACE_GET_DATA(IDirectFBWindow)
- return dfb_window_set_rotation( data->window, rotation % 360 );
+ return CoreWindow_SetRotation( data->window, rotation % 360 );
}
static DFBResult
IDirectFBWindow_SetAssociation( IDirectFBWindow *thiz,
DFBWindowID window_id )
{
- CoreWindowConfig config;
+ DFBResult ret;
+ CoreWindowConfig config;
+ CoreWindow *window;
DIRECT_INTERFACE_GET_DATA(IDirectFBWindow)
@@ -1243,7 +1224,15 @@ IDirectFBWindow_SetAssociation( IDirectFBWindow *thiz,
config.association = window_id;
- return dfb_window_set_config( data->window, &config, CWCF_ASSOCIATION );
+ ret = dfb_core_get_window( data->core, window_id, &window );
+ if (ret)
+ return ret;
+
+ ret = CoreWindow_SetConfig( data->window, &config, NULL, 0, window, CWCF_ASSOCIATION );
+
+ dfb_window_unref( window );
+
+ return ret;
}
static DFBResult
@@ -1262,7 +1251,7 @@ IDirectFBWindow_SetApplicationID( IDirectFBWindow *thiz,
config.application_id = application_id;
- return dfb_window_set_config( data->window, &config, CWCF_APPLICATION_ID );
+ return CoreWindow_SetConfig( data->window, &config, NULL, 0, NULL, CWCF_APPLICATION_ID );
}
static DFBResult
@@ -1296,30 +1285,111 @@ IDirectFBWindow_BeginUpdates( IDirectFBWindow *thiz,
if (data->destroyed)
return DFB_DESTROYED;
- dfb_windowstack_lock( data->window->stack );
+ return CoreWindow_BeginUpdates( data->window, update );
+}
+
+static DFBResult
+IDirectFBWindow_SendEvent( IDirectFBWindow *thiz,
+ const DFBWindowEvent *event )
+{
+ DFBWindowEvent evt;
- dfb_wm_begin_updates( data->window, update );
+ DIRECT_INTERFACE_GET_DATA(IDirectFBWindow)
- dfb_windowstack_unlock( data->window->stack );
+ D_DEBUG_AT( IDirectFB_Window, "%s\n", __FUNCTION__ );
+
+ if (!event)
+ return DFB_INVARG;
+
+ if (data->destroyed)
+ return DFB_DESTROYED;
+
+ evt = *event;
+
+ dfb_window_post_event( data->window, &evt );
return DFB_OK;
}
+static DFBResult
+IDirectFBWindow_SetCursorFlags( IDirectFBWindow *thiz,
+ DFBWindowCursorFlags flags )
+{
+ CoreWindowConfig config;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBWindow)
+
+ D_DEBUG_AT( IDirectFB_Window, "%s( 0x%04x )\n", __FUNCTION__, flags );
+
+ if (flags & ~DWCF_ALL)
+ return DFB_INVARG;
+
+ if (data->destroyed)
+ return DFB_DESTROYED;
+
+ config.cursor_flags = flags;
+
+ return CoreWindow_SetConfig( data->window, &config, NULL, 0, NULL, CWCF_CURSOR_FLAGS );
+}
+
+static DFBResult
+IDirectFBWindow_SetCursorResolution( IDirectFBWindow *thiz,
+ const DFBDimension *resolution )
+{
+ CoreWindowConfig config;
+
+ DIRECT_INTERFACE_GET_DATA(IDirectFBWindow)
+
+ if (resolution)
+ D_DEBUG_AT( IDirectFB_Window, "%s( %dx%d )\n", __FUNCTION__, resolution->w, resolution->h );
+ else
+ D_DEBUG_AT( IDirectFB_Window, "%s( NULL )\n", __FUNCTION__ );
+
+ if (data->destroyed)
+ return DFB_DESTROYED;
+
+ if (resolution)
+ config.cursor_resolution = *resolution;
+ else {
+ config.cursor_resolution.w = 0;
+ config.cursor_resolution.h = 0;
+ }
+
+ return CoreWindow_SetConfig( data->window, &config, NULL, 0, NULL, CWCF_CURSOR_RESOLUTION );
+}
+
+static DFBResult
+IDirectFBWindow_SetCursorPosition( IDirectFBWindow *thiz,
+ int x,
+ int y )
+{
+ DIRECT_INTERFACE_GET_DATA(IDirectFBWindow)
+
+ D_DEBUG_AT( IDirectFB_Window, "%s( %d,%d )\n", __FUNCTION__, x, y );
+
+ if (data->destroyed)
+ return DFB_DESTROYED;
+
+ return CoreWindow_SetCursorPosition( data->window, x, y );
+}
+
DFBResult
IDirectFBWindow_Construct( IDirectFBWindow *thiz,
CoreWindow *window,
CoreLayer *layer,
- CoreDFB *core )
+ CoreDFB *core,
+ bool created )
{
DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IDirectFBWindow)
D_DEBUG_AT( IDirectFB_Window, "IDirectFBWindow_Construct() <- %d, %d - %dx%d\n",
DFB_RECTANGLE_VALS( &window->config.bounds ) );
- data->ref = 1;
- data->window = window;
- data->layer = layer;
- data->core = core;
+ data->ref = 1;
+ data->window = window;
+ data->layer = layer;
+ data->core = core;
+ data->created = created;
dfb_window_attach( window, IDirectFBWindow_React, data, &data->reaction );
@@ -1379,6 +1449,10 @@ IDirectFBWindow_Construct( IDirectFBWindow *thiz,
thiz->SetApplicationID = IDirectFBWindow_SetApplicationID;
thiz->GetApplicationID = IDirectFBWindow_GetApplicationID;
thiz->BeginUpdates = IDirectFBWindow_BeginUpdates;
+ thiz->SendEvent = IDirectFBWindow_SendEvent;
+ thiz->SetCursorFlags = IDirectFBWindow_SetCursorFlags;
+ thiz->SetCursorResolution = IDirectFBWindow_SetCursorResolution;
+ thiz->SetCursorPosition = IDirectFBWindow_SetCursorPosition;
return DFB_OK;
}
@@ -1404,33 +1478,6 @@ IDirectFBWindow_React( const void *msg_data,
return RS_REMOVE;
- case DWET_LEAVE:
- data->entered = false;
- break;
-
- case DWET_ENTER:
- data->entered = true;
-
- if (data->cursor.shape) {
- IDirectFBSurface_data* shape_data;
-
- shape_data = (IDirectFBSurface_data*) data->cursor.shape->priv;
- if (!shape_data)
- break;
-
- if (!shape_data->surface)
- break;
-
- dfb_windowstack_cursor_set_shape( data->window->stack,
- shape_data->surface,
- data->cursor.hot_x,
- data->cursor.hot_y );
-
- dfb_windowstack_cursor_set_opacity( data->window->stack, 0xff );
- }
-
- break;
-
case DWET_GOTFOCUS:
case DWET_LOSTFOCUS:
IDirectFB_SetAppFocus( idirectfb_singleton,
diff --git a/src/windows/idirectfbwindow.h b/src/windows/idirectfbwindow.h
index 29c9e6a..93e4947 100644
--- a/src/windows/idirectfbwindow.h
+++ b/src/windows/idirectfbwindow.h
@@ -39,6 +39,7 @@
DFBResult IDirectFBWindow_Construct( IDirectFBWindow *thiz,
CoreWindow *window,
CoreLayer *layer,
- CoreDFB *core );
+ CoreDFB *core,
+ bool created );
#endif
diff --git a/systems/Makefile.am b/systems/Makefile.am
index 4137b44..66436a2 100644
--- a/systems/Makefile.am
+++ b/systems/Makefile.am
@@ -37,4 +37,11 @@ VNC_DIR =
endif
-SUBDIRS = $(DEVMEM_DIR) $(FBDEV_DIR) $(X11_DIR) $(SDL_DIR) $(OSX_DIR) $(VNC_DIR)
+SUBDIRS = \
+ dummy \
+ $(DEVMEM_DIR) \
+ $(FBDEV_DIR) \
+ $(X11_DIR) \
+ $(SDL_DIR) \
+ $(OSX_DIR) \
+ $(VNC_DIR)
diff --git a/systems/Makefile.in b/systems/Makefile.in
index e992a9e..4b08054 100644
--- a/systems/Makefile.in
+++ b/systems/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -42,6 +44,13 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -53,12 +62,41 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
-DIST_SUBDIRS = devmem fbdev x11 sdl osx vnc
+DIST_SUBDIRS = dummy devmem fbdev x11 sdl osx vnc
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -82,11 +120,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -100,16 +141,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -130,12 +172,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -146,21 +191,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -168,6 +221,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -181,6 +238,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -188,9 +246,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -237,6 +296,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@SDL_CORE_FALSE at SDL_DIR =
@@ -251,7 +311,15 @@ top_srcdir = @top_srcdir@
@FBDEV_CORE_TRUE at FBDEV_DIR = fbdev
@VNC_CORE_FALSE at VNC_DIR =
@VNC_CORE_TRUE at VNC_DIR = vnc
-SUBDIRS = $(DEVMEM_DIR) $(FBDEV_DIR) $(X11_DIR) $(SDL_DIR) $(OSX_DIR) $(VNC_DIR)
+SUBDIRS = \
+ dummy \
+ $(DEVMEM_DIR) \
+ $(FBDEV_DIR) \
+ $(X11_DIR) \
+ $(SDL_DIR) \
+ $(OSX_DIR) \
+ $(VNC_DIR)
+
all: all-recursive
.SUFFIXES:
@@ -259,14 +327,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu systems/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu systems/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -284,6 +352,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -298,7 +367,7 @@ clean-libtool:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -315,7 +384,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -323,7 +392,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -349,16 +418,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -366,14 +435,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -385,7 +454,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -394,29 +463,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -437,29 +511,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -479,16 +568,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -507,6 +602,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -515,18 +612,28 @@ install-data-am:
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am:
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -547,8 +654,8 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic clean-libtool \
@@ -564,6 +671,7 @@ uninstall-am:
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/systems/devmem/Makefile.am b/systems/devmem/Makefile.am
index b85d92a..9550924 100644
--- a/systems/devmem/Makefile.am
+++ b/systems/devmem/Makefile.am
@@ -1,9 +1,9 @@
## Makefile.am for DirectFB/systems/devmem
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -24,7 +24,8 @@ systems_LTLIBRARIES = libdirectfb_devmem.la
libdirectfb_devmem_la_LDFLAGS = \
-avoid-version \
- -module
+ -module \
+ $(SH772X_DEP_LIBS)
libdirectfb_devmem_la_SOURCES = \
devmem.c \
@@ -36,5 +37,4 @@ libdirectfb_devmem_la_LIBADD = \
$(top_builddir)/lib/fusion/libfusion.la \
$(top_builddir)/src/libdirectfb.la
-
include $(top_srcdir)/rules/libobject.make
diff --git a/systems/devmem/Makefile.in b/systems/devmem/Makefile.in
index 99ca7e5..26a2d8a 100644
--- a/systems/devmem/Makefile.in
+++ b/systems/devmem/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,8 +19,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -46,15 +48,36 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(systemsdir)" "$(DESTDIR)$(systemsdir)" \
"$(DESTDIR)$(internalincludedir)"
-systemsLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(systems_LTLIBRARIES)
libdirectfb_devmem_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -63,32 +86,49 @@ libdirectfb_devmem_la_DEPENDENCIES = \
am_libdirectfb_devmem_la_OBJECTS = devmem.lo devmem_surface_pool.lo \
surfacemanager.lo
libdirectfb_devmem_la_OBJECTS = $(am_libdirectfb_devmem_la_OBJECTS)
-libdirectfb_devmem_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_devmem_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_devmem_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_devmem_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_devmem_la_SOURCES)
DIST_SOURCES = $(libdirectfb_devmem_la_SOURCES)
-systemsDATA_INSTALL = $(INSTALL_DATA)
DATA = $(systems_DATA)
-internalincludeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(internalinclude_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -112,11 +152,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -130,16 +173,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -160,12 +204,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -176,21 +223,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -198,6 +253,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -211,6 +270,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -218,9 +278,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -267,12 +328,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -286,7 +348,8 @@ systemsdir = $(MODULEDIR)/systems
systems_LTLIBRARIES = libdirectfb_devmem.la
libdirectfb_devmem_la_LDFLAGS = \
-avoid-version \
- -module
+ -module \
+ $(SH772X_DEP_LIBS)
libdirectfb_devmem_la_SOURCES = \
devmem.c \
@@ -306,14 +369,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/devmem/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu systems/devmem/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/devmem/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu systems/devmem/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -323,6 +386,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -331,23 +395,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-systemsLTLIBRARIES: $(systems_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(systemsdir)" || $(MKDIR_P) "$(DESTDIR)$(systemsdir)"
- @list='$(systems_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(systems_LTLIBRARIES)'; test -n "$(systemsdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(systemsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(systemsdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(systemsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(systemsdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(systemsdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(systemsdir)"; \
+ }
uninstall-systemsLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(systems_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(systemsdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(systemsdir)/$$p"; \
+ @list='$(systems_LTLIBRARIES)'; test -n "$(systemsdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(systemsdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(systemsdir)/$$f"; \
done
clean-systemsLTLIBRARIES:
@@ -358,8 +427,8 @@ clean-systemsLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_devmem.la: $(libdirectfb_devmem_la_OBJECTS) $(libdirectfb_devmem_la_DEPENDENCIES)
- $(libdirectfb_devmem_la_LINK) -rpath $(systemsdir) $(libdirectfb_devmem_la_OBJECTS) $(libdirectfb_devmem_la_LIBADD) $(LIBS)
+libdirectfb_devmem.la: $(libdirectfb_devmem_la_OBJECTS) $(libdirectfb_devmem_la_DEPENDENCIES) $(EXTRA_libdirectfb_devmem_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_devmem_la_LINK) -rpath $(systemsdir) $(libdirectfb_devmem_la_OBJECTS) $(libdirectfb_devmem_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -372,25 +441,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/surfacemanager.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -400,51 +469,53 @@ clean-libtool:
install-systemsDATA: $(systems_DATA)
@$(NORMAL_INSTALL)
test -z "$(systemsdir)" || $(MKDIR_P) "$(DESTDIR)$(systemsdir)"
- @list='$(systems_DATA)'; for p in $$list; do \
+ @list='$(systems_DATA)'; test -n "$(systemsdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(systemsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(systemsdir)/$$f'"; \
- $(systemsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(systemsdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemsdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(systemsdir)" || exit $$?; \
done
uninstall-systemsDATA:
@$(NORMAL_UNINSTALL)
- @list='$(systems_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(systemsdir)/$$f'"; \
- rm -f "$(DESTDIR)$(systemsdir)/$$f"; \
- done
+ @list='$(systems_DATA)'; test -n "$(systemsdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(systemsdir)'; $(am__uninstall_files_from_dir)
install-internalincludeHEADERS: $(internalinclude_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(internalincludedir)" || $(MKDIR_P) "$(DESTDIR)$(internalincludedir)"
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(internalincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(internalincludedir)/$$f'"; \
- $(internalincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(internalincludedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(internalincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(internalincludedir)" || exit $$?; \
done
uninstall-internalincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(internalincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(internalincludedir)/$$f"; \
- done
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(internalincludedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -452,29 +523,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -495,13 +571,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -522,16 +602,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -553,6 +639,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -562,18 +650,28 @@ install-data-am: install-internalincludeHEADERS install-systemsDATA \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -624,6 +722,7 @@ uninstall-am: uninstall-internalincludeHEADERS uninstall-systemsDATA \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/systems/devmem/devmem.c b/systems/devmem/devmem.c
index 9e77777..e23ce70 100644
--- a/systems/devmem/devmem.c
+++ b/systems/devmem/devmem.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -49,6 +49,10 @@
#include <core/core_system.h>
+#ifdef HAVE_GFX_SH772X
+#include <uiomux/uiomux.h>
+#endif
+
DFB_CORE_SYSTEM( devmem )
/**********************************************************************************************************************/
@@ -88,6 +92,10 @@ MapMemAndReg( DevMemData *data,
}
}
+#ifdef HAVE_GFX_SH772X
+ uiomux_register (data->mem, mem_phys, mem_length);
+#endif
+
close( fd );
return DFB_OK;
@@ -365,6 +373,27 @@ system_get_busid( int *ret_bus, int *ret_dev, int *ret_func )
return;
}
+static int
+system_surface_data_size( void )
+{
+ /* Return zero because shared surface data is unneeded. */
+ return 0;
+}
+
+static void
+system_surface_data_init( CoreSurface *surface, void *data )
+{
+ /* Ignore since unneeded. */
+ return;
+}
+
+static void
+system_surface_data_destroy( CoreSurface *surface, void *data )
+{
+ /* Ignore since unneeded. */
+ return;
+}
+
static void
system_get_deviceid( unsigned int *ret_vendor_id,
unsigned int *ret_device_id )
diff --git a/systems/devmem/devmem_surface_pool.c b/systems/devmem/devmem_surface_pool.c
index 1d0b6f6..be2eb34 100644
--- a/systems/devmem/devmem_surface_pool.c
+++ b/systems/devmem/devmem_surface_pool.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -131,6 +131,14 @@ devmemInitPool( CoreDFB *core,
ret_desc->access[CSAID_LAYER5] = CSAF_READ;
ret_desc->access[CSAID_LAYER6] = CSAF_READ;
ret_desc->access[CSAID_LAYER7] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER8] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER9] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER10] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER11] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER12] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER13] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER14] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER15] = CSAF_READ;
snprintf( ret_desc->name, DFB_SURFACE_POOL_DESC_NAME_LENGTH, "/dev/mem" );
@@ -312,7 +320,6 @@ devmemDeallocateBuffer( CoreSurfacePool *pool,
D_MAGIC_ASSERT( pool, CoreSurfacePool );
D_MAGIC_ASSERT( data, DevMemPoolData );
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
D_MAGIC_ASSERT( alloc, DevMemAllocationData );
if (alloc->chunk)
@@ -363,7 +370,6 @@ devmemUnlock( CoreSurfacePool *pool,
DevMemAllocationData *alloc = alloc_data;
D_MAGIC_ASSERT( pool, CoreSurfacePool );
- D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
D_MAGIC_ASSERT( alloc, DevMemAllocationData );
D_MAGIC_ASSERT( lock, CoreSurfaceBufferLock );
diff --git a/systems/devmem/surfacemanager.c b/systems/devmem/surfacemanager.c
index c3330cf..1147b86 100644
--- a/systems/devmem/surfacemanager.c
+++ b/systems/devmem/surfacemanager.c
@@ -281,7 +281,7 @@ DFBResult dfb_surfacemanager_displace( CoreDFB *core,
allocation = chunk->allocation;
if (allocation) {
CoreSurfaceBuffer *other;
- int size;
+ int size, locks;
D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
D_ASSERT( chunk->buffer == allocation->buffer );
@@ -290,8 +290,9 @@ DFBResult dfb_surfacemanager_displace( CoreDFB *core,
other = allocation->buffer;
D_MAGIC_ASSERT( other, CoreSurfaceBuffer );
- if (other->locked) {
- D_DEBUG_AT( SurfMan, " ++ %7d locked %dx\n", allocation->size, other->locked );
+ locks = dfb_surface_allocation_locks( allocation );
+ if (locks) {
+ D_DEBUG_AT( SurfMan, " ++ %7d locked %dx\n", allocation->size, locks );
goto next_reset;
}
diff --git a/systems/devmem/Makefile.am b/systems/dummy/Makefile.am
similarity index 54%
copy from systems/devmem/Makefile.am
copy to systems/dummy/Makefile.am
index b85d92a..3d184d7 100644
--- a/systems/devmem/Makefile.am
+++ b/systems/dummy/Makefile.am
@@ -1,37 +1,34 @@
-## Makefile.am for DirectFB/systems/devmem
+## Makefile.am for DirectFB/systems/dummy
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
-internalincludedir = $(INTERNALINCLUDEDIR)/devmem
+internalincludedir = $(INTERNALINCLUDEDIR)/dummy
internalinclude_HEADERS = \
- devmem.h \
- surfacemanager.h
+ dummy.h
systemsdir = $(MODULEDIR)/systems
if BUILD_STATIC
-systems_DATA = libdirectfb_devmem.o
+systems_DATA = libdirectfb_dummy.o
endif
-systems_LTLIBRARIES = libdirectfb_devmem.la
+systems_LTLIBRARIES = libdirectfb_dummy.la
-libdirectfb_devmem_la_LDFLAGS = \
+libdirectfb_dummy_la_LDFLAGS = \
-avoid-version \
-module
-libdirectfb_devmem_la_SOURCES = \
- devmem.c \
- devmem_surface_pool.c \
- surfacemanager.c
+libdirectfb_dummy_la_SOURCES = \
+ dummy.c
-libdirectfb_devmem_la_LIBADD = \
+libdirectfb_dummy_la_LIBADD = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/lib/fusion/libfusion.la \
$(top_builddir)/src/libdirectfb.la
diff --git a/systems/devmem/Makefile.in b/systems/dummy/Makefile.in
similarity index 64%
copy from systems/devmem/Makefile.in
copy to systems/dummy/Makefile.in
index 99ca7e5..7246c62 100644
--- a/systems/devmem/Makefile.in
+++ b/systems/dummy/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,8 +19,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -37,7 +39,7 @@ host_triplet = @host@
target_triplet = @target@
DIST_COMMON = $(internalinclude_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(top_srcdir)/rules/libobject.make
-subdir = systems/devmem
+subdir = systems/dummy
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/as-ac-expand.m4 \
$(top_srcdir)/configure.in
@@ -46,49 +48,86 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(systemsdir)" "$(DESTDIR)$(systemsdir)" \
"$(DESTDIR)$(internalincludedir)"
-systemsLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(systems_LTLIBRARIES)
-libdirectfb_devmem_la_DEPENDENCIES = \
+libdirectfb_dummy_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/lib/fusion/libfusion.la \
$(top_builddir)/src/libdirectfb.la
-am_libdirectfb_devmem_la_OBJECTS = devmem.lo devmem_surface_pool.lo \
- surfacemanager.lo
-libdirectfb_devmem_la_OBJECTS = $(am_libdirectfb_devmem_la_OBJECTS)
-libdirectfb_devmem_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_devmem_la_LDFLAGS) $(LDFLAGS) -o $@
+am_libdirectfb_dummy_la_OBJECTS = dummy.lo
+libdirectfb_dummy_la_OBJECTS = $(am_libdirectfb_dummy_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_dummy_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_dummy_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(libdirectfb_devmem_la_SOURCES)
-DIST_SOURCES = $(libdirectfb_devmem_la_SOURCES)
-systemsDATA_INSTALL = $(INSTALL_DATA)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+SOURCES = $(libdirectfb_dummy_la_SOURCES)
+DIST_SOURCES = $(libdirectfb_dummy_la_SOURCES)
DATA = $(systems_DATA)
-internalincludeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(internalinclude_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -112,11 +151,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -130,16 +172,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -160,12 +203,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -176,21 +222,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -198,6 +252,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -211,6 +269,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -218,9 +277,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -267,33 +327,31 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
-internalincludedir = $(INTERNALINCLUDEDIR)/devmem
+internalincludedir = $(INTERNALINCLUDEDIR)/dummy
internalinclude_HEADERS = \
- devmem.h \
- surfacemanager.h
+ dummy.h
systemsdir = $(MODULEDIR)/systems
- at BUILD_STATIC_TRUE@systems_DATA = libdirectfb_devmem.o
-systems_LTLIBRARIES = libdirectfb_devmem.la
-libdirectfb_devmem_la_LDFLAGS = \
+ at BUILD_STATIC_TRUE@systems_DATA = libdirectfb_dummy.o
+systems_LTLIBRARIES = libdirectfb_dummy.la
+libdirectfb_dummy_la_LDFLAGS = \
-avoid-version \
-module
-libdirectfb_devmem_la_SOURCES = \
- devmem.c \
- devmem_surface_pool.c \
- surfacemanager.c
+libdirectfb_dummy_la_SOURCES = \
+ dummy.c
-libdirectfb_devmem_la_LIBADD = \
+libdirectfb_dummy_la_LIBADD = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/lib/fusion/libfusion.la \
$(top_builddir)/src/libdirectfb.la
@@ -306,14 +364,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/devmem/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu systems/devmem/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/dummy/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu systems/dummy/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -323,6 +381,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -331,23 +390,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-systemsLTLIBRARIES: $(systems_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(systemsdir)" || $(MKDIR_P) "$(DESTDIR)$(systemsdir)"
- @list='$(systems_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(systems_LTLIBRARIES)'; test -n "$(systemsdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(systemsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(systemsdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(systemsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(systemsdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(systemsdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(systemsdir)"; \
+ }
uninstall-systemsLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(systems_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(systemsdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(systemsdir)/$$p"; \
+ @list='$(systems_LTLIBRARIES)'; test -n "$(systemsdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(systemsdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(systemsdir)/$$f"; \
done
clean-systemsLTLIBRARIES:
@@ -358,8 +422,8 @@ clean-systemsLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_devmem.la: $(libdirectfb_devmem_la_OBJECTS) $(libdirectfb_devmem_la_DEPENDENCIES)
- $(libdirectfb_devmem_la_LINK) -rpath $(systemsdir) $(libdirectfb_devmem_la_OBJECTS) $(libdirectfb_devmem_la_LIBADD) $(LIBS)
+libdirectfb_dummy.la: $(libdirectfb_dummy_la_OBJECTS) $(libdirectfb_dummy_la_DEPENDENCIES) $(EXTRA_libdirectfb_dummy_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_dummy_la_LINK) -rpath $(systemsdir) $(libdirectfb_dummy_la_OBJECTS) $(libdirectfb_dummy_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -367,30 +431,28 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/devmem.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/devmem_surface_pool.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/surfacemanager.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dummy.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -400,51 +462,53 @@ clean-libtool:
install-systemsDATA: $(systems_DATA)
@$(NORMAL_INSTALL)
test -z "$(systemsdir)" || $(MKDIR_P) "$(DESTDIR)$(systemsdir)"
- @list='$(systems_DATA)'; for p in $$list; do \
+ @list='$(systems_DATA)'; test -n "$(systemsdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(systemsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(systemsdir)/$$f'"; \
- $(systemsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(systemsdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemsdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(systemsdir)" || exit $$?; \
done
uninstall-systemsDATA:
@$(NORMAL_UNINSTALL)
- @list='$(systems_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(systemsdir)/$$f'"; \
- rm -f "$(DESTDIR)$(systemsdir)/$$f"; \
- done
+ @list='$(systems_DATA)'; test -n "$(systemsdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(systemsdir)'; $(am__uninstall_files_from_dir)
install-internalincludeHEADERS: $(internalinclude_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(internalincludedir)" || $(MKDIR_P) "$(DESTDIR)$(internalincludedir)"
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(internalincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(internalincludedir)/$$f'"; \
- $(internalincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(internalincludedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(internalincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(internalincludedir)" || exit $$?; \
done
uninstall-internalincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(internalincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(internalincludedir)/$$f"; \
- done
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(internalincludedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -452,29 +516,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -495,13 +564,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -522,16 +595,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -553,6 +632,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -562,18 +643,28 @@ install-data-am: install-internalincludeHEADERS install-systemsDATA \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -624,6 +715,7 @@ uninstall-am: uninstall-internalincludeHEADERS uninstall-systemsDATA \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/systems/dummy/dummy.c b/systems/dummy/dummy.c
new file mode 100644
index 0000000..d58ee6f
--- /dev/null
+++ b/systems/dummy/dummy.c
@@ -0,0 +1,303 @@
+/*
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <config.h>
+
+#include <core/layers.h>
+#include <core/screens.h>
+
+#include <misc/conf.h>
+
+
+#define DUMMY_WIDTH 8
+#define DUMMY_HEIGHT 8
+#define DUMMY_FORMAT DSPF_ARGB
+
+
+#include <core/core_system.h>
+
+DFB_CORE_SYSTEM( dummy )
+
+/**********************************************************************************************************************/
+
+static DFBResult
+dummyInitScreen( CoreScreen *screen,
+ CoreGraphicsDevice *device,
+ void *driver_data,
+ void *screen_data,
+ DFBScreenDescription *description )
+{
+ description->caps = DSCCAPS_NONE;
+
+ direct_snputs( description->name, "Dummy", DFB_SCREEN_DESC_NAME_LENGTH );
+
+ return DFB_OK;
+}
+
+static DFBResult
+dummyGetScreenSize( CoreScreen *screen,
+ void *driver_data,
+ void *screen_data,
+ int *ret_width,
+ int *ret_height )
+{
+ *ret_width = dfb_config->mode.width ?: DUMMY_WIDTH;
+ *ret_height = dfb_config->mode.height ?: DUMMY_HEIGHT;
+
+ return DFB_OK;
+}
+
+static ScreenFuncs dummyScreenFuncs = {
+ .InitScreen = dummyInitScreen,
+ .GetScreenSize = dummyGetScreenSize
+};
+
+/**********************************************************************************************************************/
+
+static DFBResult
+dummyInitLayer( CoreLayer *layer,
+ void *driver_data,
+ void *layer_data,
+ DFBDisplayLayerDescription *description,
+ DFBDisplayLayerConfig *config,
+ DFBColorAdjustment *adjustment )
+{
+ description->type = DLTF_GRAPHICS;
+ description->caps = DLCAPS_SURFACE;
+ description->surface_caps = DSCAPS_SYSTEMONLY;
+ description->surface_accessor = CSAID_CPU;
+
+ direct_snputs( description->name, "Dummy", DFB_DISPLAY_LAYER_DESC_NAME_LENGTH );
+
+
+ config->flags = DLCONF_WIDTH | DLCONF_HEIGHT | DLCONF_PIXELFORMAT | DLCONF_BUFFERMODE;
+ config->width = dfb_config->mode.width ?: DUMMY_WIDTH;
+ config->height = dfb_config->mode.height ?: DUMMY_HEIGHT;
+ config->pixelformat = dfb_config->mode.format ?: DUMMY_FORMAT;
+ config->buffermode = DLBM_FRONTONLY;
+
+ return DFB_OK;
+}
+
+static DFBResult
+dummyTestRegion( CoreLayer *layer,
+ void *driver_data,
+ void *layer_data,
+ CoreLayerRegionConfig *config,
+ CoreLayerRegionConfigFlags *ret_failed )
+{
+ if (ret_failed)
+ *ret_failed = CLRCF_NONE;
+
+ return DFB_OK;
+}
+
+static DFBResult
+dummySetRegion( CoreLayer *layer,
+ void *driver_data,
+ void *layer_data,
+ void *region_data,
+ CoreLayerRegionConfig *config,
+ CoreLayerRegionConfigFlags updated,
+ CoreSurface *surface,
+ CorePalette *palette,
+ CoreSurfaceBufferLock *lock )
+{
+ return DFB_OK;
+}
+
+static DisplayLayerFuncs dummyLayerFuncs = {
+ .InitLayer = dummyInitLayer,
+ .TestRegion = dummyTestRegion,
+ .SetRegion = dummySetRegion
+};
+
+/**********************************************************************************************************************/
+
+static void
+system_get_info( CoreSystemInfo *info )
+{
+ info->type = CORE_ANY;
+ info->caps = CSCAPS_NONE;
+
+ direct_snputs( info->name, "Dummy", DFB_CORE_SYSTEM_INFO_NAME_LENGTH );
+}
+
+static DFBResult
+system_initialize( CoreDFB *core, void **ret_data )
+{
+ CoreScreen *screen = dfb_screens_register( NULL, NULL, &dummyScreenFuncs );
+ CoreLayer *layer = dfb_layers_register( screen, NULL, &dummyLayerFuncs );
+
+ (void) layer;
+
+ return DFB_OK;
+}
+
+static DFBResult
+system_join( CoreDFB *core, void **ret_data )
+{
+ CoreScreen *screen = dfb_screens_register( NULL, NULL, &dummyScreenFuncs );
+ CoreLayer *layer = dfb_layers_register( screen, NULL, &dummyLayerFuncs );
+
+ (void) layer;
+
+ return DFB_OK;
+}
+
+static DFBResult
+system_shutdown( bool emergency )
+{
+ return DFB_OK;
+}
+
+static DFBResult
+system_leave( bool emergency )
+{
+ return DFB_OK;
+}
+
+static DFBResult
+system_suspend( void )
+{
+ return DFB_OK;
+}
+
+static DFBResult
+system_resume( void )
+{
+ return DFB_OK;
+}
+
+static volatile void *
+system_map_mmio( unsigned int offset,
+ int length )
+{
+ return NULL;
+}
+
+static void
+system_unmap_mmio( volatile void *addr,
+ int length )
+{
+}
+
+static int
+system_get_accelerator( void )
+{
+ return 0;
+}
+
+static VideoMode *
+system_get_modes( void )
+{
+ return NULL;
+}
+
+static VideoMode *
+system_get_current_mode( void )
+{
+ return NULL;
+}
+
+static DFBResult
+system_thread_init( void )
+{
+ return DFB_OK;
+}
+
+static bool
+system_input_filter( CoreInputDevice *device,
+ DFBInputEvent *event )
+{
+ return false;
+}
+
+static unsigned long
+system_video_memory_physical( unsigned int offset )
+{
+ return 0;
+}
+
+static void *
+system_video_memory_virtual( unsigned int offset )
+{
+ return NULL;
+}
+
+static unsigned int
+system_videoram_length( void )
+{
+ return 0;
+}
+
+static unsigned long
+system_aux_memory_physical( unsigned int offset )
+{
+ return 0;
+}
+
+static void *
+system_aux_memory_virtual( unsigned int offset )
+{
+ return NULL;
+}
+
+static unsigned int
+system_auxram_length( void )
+{
+ return 0;
+}
+
+static void
+system_get_busid( int *ret_bus, int *ret_dev, int *ret_func )
+{
+}
+
+static int
+system_surface_data_size( void )
+{
+ return 0;
+}
+
+static void
+system_surface_data_init( CoreSurface *surface, void *data )
+{
+}
+
+static void
+system_surface_data_destroy( CoreSurface *surface, void *data )
+{
+}
+
+static void
+system_get_deviceid( unsigned int *ret_vendor_id,
+ unsigned int *ret_device_id )
+{
+}
+
diff --git a/systems/devmem/devmem.h b/systems/dummy/dummy.h
similarity index 96%
copy from systems/devmem/devmem.h
copy to systems/dummy/dummy.h
index 2aa8237..994060d 100644
--- a/systems/devmem/devmem.h
+++ b/systems/dummy/dummy.h
@@ -26,8 +26,8 @@
Boston, MA 02111-1307, USA.
*/
-#ifndef __DEVMEM_DEVMEM_H__
-#define __DEVMEM_DEVMEM_H__
+#ifndef __DUMMY_DUMMY_H__
+#define __DUMMY_DUMMY_H__
#include <fusion/shmalloc.h>
diff --git a/systems/fbdev/Makefile.am b/systems/fbdev/Makefile.am
index 9aa25b4..cf4ff8f 100644
--- a/systems/fbdev/Makefile.am
+++ b/systems/fbdev/Makefile.am
@@ -1,9 +1,9 @@
## Makefile.am for DirectFB/systems/fbdev
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/systems/fbdev/Makefile.in b/systems/fbdev/Makefile.in
index c2b367e..e50980e 100644
--- a/systems/fbdev/Makefile.in
+++ b/systems/fbdev/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -18,8 +19,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -46,15 +48,36 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(systemsdir)" "$(DESTDIR)$(systemsdir)" \
"$(DESTDIR)$(internalincludedir)"
-systemsLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(systems_LTLIBRARIES)
libdirectfb_fbdev_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -63,32 +86,49 @@ libdirectfb_fbdev_la_DEPENDENCIES = \
am_libdirectfb_fbdev_la_OBJECTS = agp.lo fbdev.lo \
fbdev_surface_pool.lo surfacemanager.lo vt.lo
libdirectfb_fbdev_la_OBJECTS = $(am_libdirectfb_fbdev_la_OBJECTS)
-libdirectfb_fbdev_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_fbdev_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_fbdev_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_fbdev_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_fbdev_la_SOURCES)
DIST_SOURCES = $(libdirectfb_fbdev_la_SOURCES)
-systemsDATA_INSTALL = $(INSTALL_DATA)
DATA = $(systems_DATA)
-internalincludeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(internalinclude_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -112,11 +152,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -130,16 +173,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -160,12 +204,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -176,21 +223,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -198,6 +253,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -211,6 +270,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -218,9 +278,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -267,12 +328,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -313,14 +375,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/fbdev/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu systems/fbdev/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/fbdev/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu systems/fbdev/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -330,6 +392,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -338,23 +401,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-systemsLTLIBRARIES: $(systems_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(systemsdir)" || $(MKDIR_P) "$(DESTDIR)$(systemsdir)"
- @list='$(systems_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(systems_LTLIBRARIES)'; test -n "$(systemsdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(systemsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(systemsdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(systemsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(systemsdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(systemsdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(systemsdir)"; \
+ }
uninstall-systemsLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(systems_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(systemsdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(systemsdir)/$$p"; \
+ @list='$(systems_LTLIBRARIES)'; test -n "$(systemsdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(systemsdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(systemsdir)/$$f"; \
done
clean-systemsLTLIBRARIES:
@@ -365,8 +433,8 @@ clean-systemsLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_fbdev.la: $(libdirectfb_fbdev_la_OBJECTS) $(libdirectfb_fbdev_la_DEPENDENCIES)
- $(libdirectfb_fbdev_la_LINK) -rpath $(systemsdir) $(libdirectfb_fbdev_la_OBJECTS) $(libdirectfb_fbdev_la_LIBADD) $(LIBS)
+libdirectfb_fbdev.la: $(libdirectfb_fbdev_la_OBJECTS) $(libdirectfb_fbdev_la_DEPENDENCIES) $(EXTRA_libdirectfb_fbdev_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_fbdev_la_LINK) -rpath $(systemsdir) $(libdirectfb_fbdev_la_OBJECTS) $(libdirectfb_fbdev_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -381,25 +449,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/vt.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -409,51 +477,53 @@ clean-libtool:
install-systemsDATA: $(systems_DATA)
@$(NORMAL_INSTALL)
test -z "$(systemsdir)" || $(MKDIR_P) "$(DESTDIR)$(systemsdir)"
- @list='$(systems_DATA)'; for p in $$list; do \
+ @list='$(systems_DATA)'; test -n "$(systemsdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(systemsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(systemsdir)/$$f'"; \
- $(systemsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(systemsdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemsdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(systemsdir)" || exit $$?; \
done
uninstall-systemsDATA:
@$(NORMAL_UNINSTALL)
- @list='$(systems_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(systemsdir)/$$f'"; \
- rm -f "$(DESTDIR)$(systemsdir)/$$f"; \
- done
+ @list='$(systems_DATA)'; test -n "$(systemsdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(systemsdir)'; $(am__uninstall_files_from_dir)
install-internalincludeHEADERS: $(internalinclude_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(internalincludedir)" || $(MKDIR_P) "$(DESTDIR)$(internalincludedir)"
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(internalincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(internalincludedir)/$$f'"; \
- $(internalincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(internalincludedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(internalincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(internalincludedir)" || exit $$?; \
done
uninstall-internalincludeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(internalinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(internalincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(internalincludedir)/$$f"; \
- done
+ @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(internalincludedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -461,29 +531,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -504,13 +579,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -531,16 +610,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -562,6 +647,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -571,18 +658,28 @@ install-data-am: install-internalincludeHEADERS install-systemsDATA \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -633,6 +730,7 @@ uninstall-am: uninstall-internalincludeHEADERS uninstall-systemsDATA \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/systems/fbdev/fbdev.c b/systems/fbdev/fbdev.c
index 366d432..36c295e 100644
--- a/systems/fbdev/fbdev.c
+++ b/systems/fbdev/fbdev.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -209,11 +209,17 @@ static DFBResult primaryGetScreenSize( CoreScreen *screen,
int *ret_width,
int *ret_height );
+static DFBResult primaryGetVSyncCount( CoreScreen *screen,
+ void *driver_data,
+ void *screen_data,
+ unsigned long *ret_count );
+
static ScreenFuncs primaryScreenFuncs = {
.InitScreen = primaryInitScreen,
.SetPowerMode = primarySetPowerMode,
.WaitVSync = primaryWaitVSync,
.GetScreenSize = primaryGetScreenSize,
+ .GetVSyncCount = primaryGetVSyncCount,
};
/******************************************************************************/
@@ -950,6 +956,25 @@ system_get_busid( int *ret_bus, int *ret_dev, int *ret_func )
*ret_func = dfb_fbdev->shared->pci.func;
}
+static int
+system_surface_data_size( void )
+{
+ /* Return zero because shared surface data is unneeded. */
+ return 0;
+}
+
+static void
+system_surface_data_init( CoreSurface *surface, void *data )
+{
+ /* Ignore since unneeded. */
+}
+
+static void
+system_surface_data_destroy( CoreSurface *surface, void *data )
+{
+ /* Ignore since unneeded. */
+}
+
static void
system_get_deviceid( unsigned int *ret_vendor_id,
unsigned int *ret_device_id )
@@ -1068,6 +1093,32 @@ primaryWaitVSync( CoreScreen *screen,
}
static DFBResult
+primaryGetVSyncCount( CoreScreen *screen,
+ void *driver_data,
+ void *screen_data,
+ unsigned long *ret_count )
+{
+ struct fb_vblank vblank;
+
+ D_DEBUG_AT( FBDev_Primary, "%s()\n", __FUNCTION__ );
+
+ D_ASSERT( ret_count != NULL );
+
+ if (!ret_count)
+ return DFB_INVARG;
+
+ if (ioctl( dfb_fbdev->fd, FBIOGET_VBLANK, &vblank ))
+ return errno2result( errno );
+
+ if (!D_FLAGS_IS_SET( vblank.flags, FB_VBLANK_HAVE_COUNT ))
+ return DFB_UNSUPPORTED;
+
+ *ret_count = vblank.count;
+
+ return DFB_OK;
+}
+
+static DFBResult
primaryGetScreenSize( CoreScreen *screen,
void *driver_data,
void *screen_data,
@@ -1363,13 +1414,10 @@ primarySetRegion( CoreLayer *layer,
D_DEBUG_AT( FBDev_Primary, "%s()\n", __FUNCTION__ );
- if (updated & CLRCF_SOURCE) {
- if (config->source.w == shared->current_var.xres && config->source.h == shared->current_var.yres) {
- ret = dfb_fbdev_pan( config->source.x, lock->offset / lock->pitch + config->source.y, true );
- if (ret)
- return ret;
- }
- else {
+ if (updated & (CLRCF_SOURCE | CLRCF_WIDTH | CLRCF_HEIGHT | CLRCF_FORMAT | CLRCF_BUFFERMODE)) {
+ if (updated & (CLRCF_WIDTH | CLRCF_HEIGHT | CLRCF_FORMAT | CLRCF_BUFFERMODE) ||
+ config->source.w != shared->current_var.xres ||
+ config->source.h != shared->current_var.yres) {
const VideoMode *mode;
VideoMode dummy;
@@ -1392,6 +1440,11 @@ primarySetRegion( CoreLayer *layer,
if (ret)
return ret;
}
+ else {
+ ret = dfb_fbdev_pan( config->source.x, lock->offset / lock->pitch + config->source.y, true );
+ if (ret)
+ return ret;
+ }
}
if ((updated & CLRCF_PALETTE) && palette)
@@ -1662,10 +1715,10 @@ dfb_fbdev_mode_to_var( const VideoMode *mode,
var.red.length = 5;
var.green.length = 5;
var.blue.length = 5;
- var.transp.offset = 1;
var.red.offset = 11;
var.green.offset = 6;
var.blue.offset = 1;
+ var.transp.offset = 0;
break;
case DSPF_RGB555:
@@ -2350,23 +2403,17 @@ fbdev_ioctl_call_handler( int caller,
const char cursoroff_str[] = "\033[?1;0;0c";
const char blankoff_str[] = "\033[9;0]";
- if (dfb_config->vt) {
- if (!dfb_config->kd_graphics && call_arg == FBIOPUT_VSCREENINFO)
- ioctl( dfb_fbdev->vt->fd, KDSETMODE, KD_GRAPHICS );
- }
+ if (dfb_config->vt && !dfb_config->kd_graphics && call_arg == FBIOPUT_VSCREENINFO)
+ ioctl( dfb_fbdev->vt->fd, KDSETMODE, KD_GRAPHICS );
ret = ioctl( dfb_fbdev->fd, call_arg, call_ptr );
if (ret)
ret = errno;
- if (dfb_config->vt) {
- if (call_arg == FBIOPUT_VSCREENINFO) {
- if (!dfb_config->kd_graphics) {
- ioctl( dfb_fbdev->vt->fd, KDSETMODE, KD_TEXT );
- write( dfb_fbdev->vt->fd, cursoroff_str, strlen(cursoroff_str) );
- write( dfb_fbdev->vt->fd, blankoff_str, strlen(blankoff_str) );
- }
- }
+ if (dfb_config->vt && !dfb_config->kd_graphics && call_arg == FBIOPUT_VSCREENINFO) {
+ ioctl( dfb_fbdev->vt->fd, KDSETMODE, KD_TEXT );
+ write( dfb_fbdev->vt->fd, cursoroff_str, strlen(cursoroff_str) );
+ write( dfb_fbdev->vt->fd, blankoff_str, strlen(blankoff_str) );
}
*ret_val = ret;
diff --git a/systems/fbdev/fbdev_surface_pool.c b/systems/fbdev/fbdev_surface_pool.c
index 7383681..65ef3d7 100644
--- a/systems/fbdev/fbdev_surface_pool.c
+++ b/systems/fbdev/fbdev_surface_pool.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -124,6 +124,14 @@ fbdevInitPool( CoreDFB *core,
ret_desc->access[CSAID_LAYER5] = CSAF_READ;
ret_desc->access[CSAID_LAYER6] = CSAF_READ;
ret_desc->access[CSAID_LAYER7] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER8] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER9] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER10] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER11] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER12] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER13] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER14] = CSAF_READ;
+ ret_desc->access[CSAID_LAYER15] = CSAF_READ;
snprintf( ret_desc->name, DFB_SURFACE_POOL_DESC_NAME_LENGTH, "Frame Buffer Memory" );
@@ -302,7 +310,6 @@ fbdevDeallocateBuffer( CoreSurfacePool *pool,
D_MAGIC_ASSERT( pool, CoreSurfacePool );
D_MAGIC_ASSERT( data, FBDevPoolData );
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
D_MAGIC_ASSERT( alloc, FBDevAllocationData );
if (alloc->chunk)
@@ -314,6 +321,25 @@ fbdevDeallocateBuffer( CoreSurfacePool *pool,
}
static DFBResult
+fbdevMuckOut( CoreSurfacePool *pool,
+ void *pool_data,
+ void *pool_local,
+ CoreSurfaceBuffer *buffer )
+{
+ FBDevPoolData *data = pool_data;
+ FBDevPoolLocalData *local = pool_local;
+
+ D_DEBUG_AT( FBDev_Surfaces, "%s( %p )\n", __FUNCTION__, buffer );
+
+ D_MAGIC_ASSERT( pool, CoreSurfacePool );
+ D_MAGIC_ASSERT( data, FBDevPoolData );
+ D_MAGIC_ASSERT( local, FBDevPoolLocalData );
+ D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
+
+ return dfb_surfacemanager_displace( local->core, data->manager, buffer );
+}
+
+static DFBResult
fbdevLock( CoreSurfacePool *pool,
void *pool_data,
void *pool_local,
@@ -321,7 +347,6 @@ fbdevLock( CoreSurfacePool *pool,
void *alloc_data,
CoreSurfaceBufferLock *lock )
{
- CoreSurface *surface;
FBDevAllocationData *alloc = alloc_data;
FBDevShared *shared = dfb_fbdev->shared;
@@ -332,16 +357,16 @@ fbdevLock( CoreSurfacePool *pool,
D_DEBUG_AT( FBDev_SurfLock, "%s( %p )\n", __FUNCTION__, lock->buffer );
- surface = allocation->surface;
- D_MAGIC_ASSERT( surface, CoreSurface );
-
- if (surface->type & CSTF_LAYER && surface->resource_id == DLID_PRIMARY) {
+ if (allocation->type & CSTF_LAYER && allocation->resource_id == DLID_PRIMARY) {
int index = dfb_surface_buffer_index( allocation->buffer );
D_DEBUG_AT( FBDev_Surfaces, " -> primary layer buffer (index %d)\n", index );
lock->pitch = shared->fix.line_length;
- lock->offset = index * surface->config.size.h * lock->pitch;
+ lock->offset = index * allocation->config.size.h * lock->pitch;
+#if D_DEBUG_ENABLED
+ allocation->offset = lock->offset;
+#endif
}
else {
D_MAGIC_ASSERT( alloc->chunk, Chunk );
@@ -395,6 +420,8 @@ const SurfacePoolFuncs fbdevSurfacePoolFuncs = {
.AllocateBuffer = fbdevAllocateBuffer,
.DeallocateBuffer = fbdevDeallocateBuffer,
+ .MuckOut = fbdevMuckOut,
+
.Lock = fbdevLock,
.Unlock = fbdevUnlock,
};
diff --git a/systems/fbdev/surfacemanager.c b/systems/fbdev/surfacemanager.c
index 5c64cf2..00308ea 100644
--- a/systems/fbdev/surfacemanager.c
+++ b/systems/fbdev/surfacemanager.c
@@ -323,7 +323,7 @@ DFBResult dfb_surfacemanager_displace( CoreDFB *core,
allocation = chunk->allocation;
if (allocation) {
CoreSurfaceBuffer *other;
- int size;
+ int size, locks;
D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
D_ASSERT( chunk->buffer == allocation->buffer );
@@ -332,8 +332,9 @@ DFBResult dfb_surfacemanager_displace( CoreDFB *core,
other = allocation->buffer;
D_MAGIC_ASSERT( other, CoreSurfaceBuffer );
- if (other->locked) {
- D_DEBUG_AT( SurfMan, " ++ %7d locked %dx\n", allocation->size, other->locked );
+ locks = dfb_surface_allocation_locks( allocation );
+ if (locks) {
+ D_DEBUG_AT( SurfMan, " ++ %7d locked %dx\n", allocation->size, locks );
goto next_reset;
}
diff --git a/systems/fbdev/vt.c b/systems/fbdev/vt.c
index 02bad77..eef6a1b 100644
--- a/systems/fbdev/vt.c
+++ b/systems/fbdev/vt.c
@@ -665,7 +665,7 @@ vt_flush_thread( DirectThread *thread, void *arg )
if (ret < 0 && errno == EINTR)
continue;
- if (ret < 0)
+ if (ret < 0 || !dfb_vt->flush)
break;
tcflush( dfb_vt->fd, TCIFLUSH );
diff --git a/systems/osx/Makefile.am b/systems/osx/Makefile.am
index 7f12422..2ca0c75 100644
--- a/systems/osx/Makefile.am
+++ b/systems/osx/Makefile.am
@@ -1,9 +1,9 @@
## Makefile.am for DirectFB/systems/osx
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/systems/osx/Makefile.in b/systems/osx/Makefile.in
index f462031..137a6f8 100644
--- a/systems/osx/Makefile.in
+++ b/systems/osx/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,17 +47,37 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(inputdriversdir)" \
"$(DESTDIR)$(systemsdir)" "$(DESTDIR)$(inputdriversdir)" \
"$(DESTDIR)$(systemsdir)"
-inputdriversLTLIBRARIES_INSTALL = $(INSTALL)
-systemsLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(inputdrivers_LTLIBRARIES) $(systems_LTLIBRARIES)
libdirectfb_osx_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -63,9 +85,13 @@ libdirectfb_osx_la_DEPENDENCIES = \
$(top_builddir)/src/libdirectfb.la
am_libdirectfb_osx_la_OBJECTS = primary.lo osx.lo
libdirectfb_osx_la_OBJECTS = $(am_libdirectfb_osx_la_OBJECTS)
-libdirectfb_osx_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_osx_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_osx_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_osx_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
libdirectfb_osxinput_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/lib/fusion/libfusion.la \
@@ -73,33 +99,47 @@ libdirectfb_osxinput_la_DEPENDENCIES = \
am_libdirectfb_osxinput_la_OBJECTS = osxinput.lo
libdirectfb_osxinput_la_OBJECTS = \
$(am_libdirectfb_osxinput_la_OBJECTS)
-libdirectfb_osxinput_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_osxinput_la_LDFLAGS) $(LDFLAGS) -o $@
+libdirectfb_osxinput_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_osxinput_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_osx_la_SOURCES) \
$(libdirectfb_osxinput_la_SOURCES)
DIST_SOURCES = $(libdirectfb_osx_la_SOURCES) \
$(libdirectfb_osxinput_la_SOURCES)
-inputdriversDATA_INSTALL = $(INSTALL_DATA)
-systemsDATA_INSTALL = $(INSTALL_DATA)
DATA = $(inputdrivers_DATA) $(systems_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -123,11 +163,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -141,16 +184,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -171,12 +215,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -187,21 +234,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -209,6 +264,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -222,6 +281,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -229,9 +289,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -278,12 +339,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -330,14 +392,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/osx/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu systems/osx/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/osx/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu systems/osx/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -347,6 +409,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -355,23 +418,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-inputdriversLTLIBRARIES: $(inputdrivers_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(inputdriversdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdriversdir)"
- @list='$(inputdrivers_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(inputdrivers_LTLIBRARIES)'; test -n "$(inputdriversdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputdriversLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(inputdriversdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputdriversLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(inputdriversdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(inputdriversdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(inputdriversdir)"; \
+ }
uninstall-inputdriversLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(inputdrivers_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdriversdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdriversdir)/$$p"; \
+ @list='$(inputdrivers_LTLIBRARIES)'; test -n "$(inputdriversdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdriversdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdriversdir)/$$f"; \
done
clean-inputdriversLTLIBRARIES:
@@ -385,20 +453,24 @@ clean-inputdriversLTLIBRARIES:
install-systemsLTLIBRARIES: $(systems_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(systemsdir)" || $(MKDIR_P) "$(DESTDIR)$(systemsdir)"
- @list='$(systems_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(systems_LTLIBRARIES)'; test -n "$(systemsdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(systemsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(systemsdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(systemsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(systemsdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(systemsdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(systemsdir)"; \
+ }
uninstall-systemsLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(systems_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(systemsdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(systemsdir)/$$p"; \
+ @list='$(systems_LTLIBRARIES)'; test -n "$(systemsdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(systemsdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(systemsdir)/$$f"; \
done
clean-systemsLTLIBRARIES:
@@ -409,10 +481,10 @@ clean-systemsLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_osx.la: $(libdirectfb_osx_la_OBJECTS) $(libdirectfb_osx_la_DEPENDENCIES)
- $(libdirectfb_osx_la_LINK) -rpath $(systemsdir) $(libdirectfb_osx_la_OBJECTS) $(libdirectfb_osx_la_LIBADD) $(LIBS)
-libdirectfb_osxinput.la: $(libdirectfb_osxinput_la_OBJECTS) $(libdirectfb_osxinput_la_DEPENDENCIES)
- $(libdirectfb_osxinput_la_LINK) -rpath $(inputdriversdir) $(libdirectfb_osxinput_la_OBJECTS) $(libdirectfb_osxinput_la_LIBADD) $(LIBS)
+libdirectfb_osx.la: $(libdirectfb_osx_la_OBJECTS) $(libdirectfb_osx_la_DEPENDENCIES) $(EXTRA_libdirectfb_osx_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_osx_la_LINK) -rpath $(systemsdir) $(libdirectfb_osx_la_OBJECTS) $(libdirectfb_osx_la_LIBADD) $(LIBS)
+libdirectfb_osxinput.la: $(libdirectfb_osxinput_la_OBJECTS) $(libdirectfb_osxinput_la_DEPENDENCIES) $(EXTRA_libdirectfb_osxinput_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_osxinput_la_LINK) -rpath $(inputdriversdir) $(libdirectfb_osxinput_la_OBJECTS) $(libdirectfb_osxinput_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -425,25 +497,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/primary.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -453,51 +525,53 @@ clean-libtool:
install-inputdriversDATA: $(inputdrivers_DATA)
@$(NORMAL_INSTALL)
test -z "$(inputdriversdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdriversdir)"
- @list='$(inputdrivers_DATA)'; for p in $$list; do \
+ @list='$(inputdrivers_DATA)'; test -n "$(inputdriversdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(inputdriversDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(inputdriversdir)/$$f'"; \
- $(inputdriversDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(inputdriversdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(inputdriversdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(inputdriversdir)" || exit $$?; \
done
uninstall-inputdriversDATA:
@$(NORMAL_UNINSTALL)
- @list='$(inputdrivers_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(inputdriversdir)/$$f'"; \
- rm -f "$(DESTDIR)$(inputdriversdir)/$$f"; \
- done
+ @list='$(inputdrivers_DATA)'; test -n "$(inputdriversdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(inputdriversdir)'; $(am__uninstall_files_from_dir)
install-systemsDATA: $(systems_DATA)
@$(NORMAL_INSTALL)
test -z "$(systemsdir)" || $(MKDIR_P) "$(DESTDIR)$(systemsdir)"
- @list='$(systems_DATA)'; for p in $$list; do \
+ @list='$(systems_DATA)'; test -n "$(systemsdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(systemsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(systemsdir)/$$f'"; \
- $(systemsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(systemsdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemsdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(systemsdir)" || exit $$?; \
done
uninstall-systemsDATA:
@$(NORMAL_UNINSTALL)
- @list='$(systems_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(systemsdir)/$$f'"; \
- rm -f "$(DESTDIR)$(systemsdir)/$$f"; \
- done
+ @list='$(systems_DATA)'; test -n "$(systemsdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(systemsdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -505,29 +579,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -548,13 +627,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -575,16 +658,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -606,6 +695,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -616,18 +707,28 @@ install-data-am: install-inputdriversDATA \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -681,6 +782,7 @@ uninstall-am: uninstall-inputdriversDATA \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/systems/osx/osx.c b/systems/osx/osx.c
index 5d6cfa7..601a8ac 100644
--- a/systems/osx/osx.c
+++ b/systems/osx/osx.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -254,6 +254,27 @@ system_get_busid( int *ret_bus, int *ret_dev, int *ret_func )
return;
}
+static int
+system_surface_data_size( void )
+{
+ /* Return zero because shared surface data is unneeded. */
+ return 0;
+}
+
+static void
+system_surface_data_init( CoreSurface *surface, void *data )
+{
+ /* Ignore since unneeded. */
+ return;
+}
+
+static void
+system_surface_data_destroy( CoreSurface *surface, void *data )
+{
+ /* Ignore since unneeded. */
+ return;
+}
+
static void
system_get_deviceid( unsigned int *ret_vendor_id,
unsigned int *ret_device_id )
diff --git a/systems/sdl/Makefile.am b/systems/sdl/Makefile.am
index 728362e..1746be2 100644
--- a/systems/sdl/Makefile.am
+++ b/systems/sdl/Makefile.am
@@ -1,9 +1,9 @@
## Makefile.am for DirectFB/systems/sdl
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
$(SDL_CFLAGS)
diff --git a/systems/sdl/Makefile.in b/systems/sdl/Makefile.in
index 2ffd939..314ea55 100644
--- a/systems/sdl/Makefile.in
+++ b/systems/sdl/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,19 +47,38 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(gfxdriversdir)" \
"$(DESTDIR)$(inputdriversdir)" "$(DESTDIR)$(systemsdir)" \
"$(DESTDIR)$(gfxdriversdir)" "$(DESTDIR)$(inputdriversdir)" \
"$(DESTDIR)$(systemsdir)"
-gfxdriversLTLIBRARIES_INSTALL = $(INSTALL)
-inputdriversLTLIBRARIES_INSTALL = $(INSTALL)
-systemsLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(gfxdrivers_LTLIBRARIES) $(inputdrivers_LTLIBRARIES) \
$(systems_LTLIBRARIES)
am__DEPENDENCIES_1 =
@@ -67,9 +88,13 @@ libdirectfb_sdl_la_DEPENDENCIES = \
$(top_builddir)/src/libdirectfb.la $(am__DEPENDENCIES_1)
am_libdirectfb_sdl_la_OBJECTS = primary.lo sdl.lo sdl_surface_pool.lo
libdirectfb_sdl_la_OBJECTS = $(am_libdirectfb_sdl_la_OBJECTS)
-libdirectfb_sdl_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_sdl_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_sdl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_sdl_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
libdirectfb_sdlgraphics_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/lib/fusion/libfusion.la \
@@ -77,7 +102,7 @@ libdirectfb_sdlgraphics_la_DEPENDENCIES = \
am_libdirectfb_sdlgraphics_la_OBJECTS = sdlgfx.lo
libdirectfb_sdlgraphics_la_OBJECTS = \
$(am_libdirectfb_sdlgraphics_la_OBJECTS)
-libdirectfb_sdlgraphics_la_LINK = $(LIBTOOL) --tag=CC \
+libdirectfb_sdlgraphics_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) $(libdirectfb_sdlgraphics_la_LDFLAGS) \
$(LDFLAGS) -o $@
@@ -88,36 +113,49 @@ libdirectfb_sdlinput_la_DEPENDENCIES = \
am_libdirectfb_sdlinput_la_OBJECTS = sdlinput.lo
libdirectfb_sdlinput_la_OBJECTS = \
$(am_libdirectfb_sdlinput_la_OBJECTS)
-libdirectfb_sdlinput_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_sdlinput_la_LDFLAGS) $(LDFLAGS) -o $@
+libdirectfb_sdlinput_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_sdlinput_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_sdl_la_SOURCES) \
$(libdirectfb_sdlgraphics_la_SOURCES) \
$(libdirectfb_sdlinput_la_SOURCES)
DIST_SOURCES = $(libdirectfb_sdl_la_SOURCES) \
$(libdirectfb_sdlgraphics_la_SOURCES) \
$(libdirectfb_sdlinput_la_SOURCES)
-gfxdriversDATA_INSTALL = $(INSTALL_DATA)
-inputdriversDATA_INSTALL = $(INSTALL_DATA)
-systemsDATA_INSTALL = $(INSTALL_DATA)
DATA = $(gfxdrivers_DATA) $(inputdrivers_DATA) $(systems_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -141,11 +179,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -159,16 +200,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -189,12 +231,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -205,21 +250,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -227,6 +280,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -240,6 +297,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -247,9 +305,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -296,12 +355,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
$(SDL_CFLAGS)
@@ -366,14 +426,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/sdl/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu systems/sdl/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/sdl/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu systems/sdl/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -383,6 +443,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -391,23 +452,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-gfxdriversLTLIBRARIES: $(gfxdrivers_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(gfxdriversdir)" || $(MKDIR_P) "$(DESTDIR)$(gfxdriversdir)"
- @list='$(gfxdrivers_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(gfxdrivers_LTLIBRARIES)'; test -n "$(gfxdriversdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(gfxdriversLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(gfxdriversdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(gfxdriversLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(gfxdriversdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(gfxdriversdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(gfxdriversdir)"; \
+ }
uninstall-gfxdriversLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(gfxdrivers_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(gfxdriversdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(gfxdriversdir)/$$p"; \
+ @list='$(gfxdrivers_LTLIBRARIES)'; test -n "$(gfxdriversdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(gfxdriversdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(gfxdriversdir)/$$f"; \
done
clean-gfxdriversLTLIBRARIES:
@@ -421,20 +487,24 @@ clean-gfxdriversLTLIBRARIES:
install-inputdriversLTLIBRARIES: $(inputdrivers_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(inputdriversdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdriversdir)"
- @list='$(inputdrivers_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(inputdrivers_LTLIBRARIES)'; test -n "$(inputdriversdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputdriversLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(inputdriversdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputdriversLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(inputdriversdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(inputdriversdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(inputdriversdir)"; \
+ }
uninstall-inputdriversLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(inputdrivers_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdriversdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdriversdir)/$$p"; \
+ @list='$(inputdrivers_LTLIBRARIES)'; test -n "$(inputdriversdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdriversdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdriversdir)/$$f"; \
done
clean-inputdriversLTLIBRARIES:
@@ -448,20 +518,24 @@ clean-inputdriversLTLIBRARIES:
install-systemsLTLIBRARIES: $(systems_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(systemsdir)" || $(MKDIR_P) "$(DESTDIR)$(systemsdir)"
- @list='$(systems_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(systems_LTLIBRARIES)'; test -n "$(systemsdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(systemsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(systemsdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(systemsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(systemsdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(systemsdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(systemsdir)"; \
+ }
uninstall-systemsLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(systems_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(systemsdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(systemsdir)/$$p"; \
+ @list='$(systems_LTLIBRARIES)'; test -n "$(systemsdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(systemsdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(systemsdir)/$$f"; \
done
clean-systemsLTLIBRARIES:
@@ -472,12 +546,12 @@ clean-systemsLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_sdl.la: $(libdirectfb_sdl_la_OBJECTS) $(libdirectfb_sdl_la_DEPENDENCIES)
- $(libdirectfb_sdl_la_LINK) -rpath $(systemsdir) $(libdirectfb_sdl_la_OBJECTS) $(libdirectfb_sdl_la_LIBADD) $(LIBS)
-libdirectfb_sdlgraphics.la: $(libdirectfb_sdlgraphics_la_OBJECTS) $(libdirectfb_sdlgraphics_la_DEPENDENCIES)
- $(libdirectfb_sdlgraphics_la_LINK) -rpath $(gfxdriversdir) $(libdirectfb_sdlgraphics_la_OBJECTS) $(libdirectfb_sdlgraphics_la_LIBADD) $(LIBS)
-libdirectfb_sdlinput.la: $(libdirectfb_sdlinput_la_OBJECTS) $(libdirectfb_sdlinput_la_DEPENDENCIES)
- $(libdirectfb_sdlinput_la_LINK) -rpath $(inputdriversdir) $(libdirectfb_sdlinput_la_OBJECTS) $(libdirectfb_sdlinput_la_LIBADD) $(LIBS)
+libdirectfb_sdl.la: $(libdirectfb_sdl_la_OBJECTS) $(libdirectfb_sdl_la_DEPENDENCIES) $(EXTRA_libdirectfb_sdl_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_sdl_la_LINK) -rpath $(systemsdir) $(libdirectfb_sdl_la_OBJECTS) $(libdirectfb_sdl_la_LIBADD) $(LIBS)
+libdirectfb_sdlgraphics.la: $(libdirectfb_sdlgraphics_la_OBJECTS) $(libdirectfb_sdlgraphics_la_DEPENDENCIES) $(EXTRA_libdirectfb_sdlgraphics_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_sdlgraphics_la_LINK) -rpath $(gfxdriversdir) $(libdirectfb_sdlgraphics_la_OBJECTS) $(libdirectfb_sdlgraphics_la_LIBADD) $(LIBS)
+libdirectfb_sdlinput.la: $(libdirectfb_sdlinput_la_OBJECTS) $(libdirectfb_sdlinput_la_DEPENDENCIES) $(EXTRA_libdirectfb_sdlinput_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_sdlinput_la_LINK) -rpath $(inputdriversdir) $(libdirectfb_sdlinput_la_OBJECTS) $(libdirectfb_sdlinput_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -492,25 +566,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sdlinput.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -520,68 +594,71 @@ clean-libtool:
install-gfxdriversDATA: $(gfxdrivers_DATA)
@$(NORMAL_INSTALL)
test -z "$(gfxdriversdir)" || $(MKDIR_P) "$(DESTDIR)$(gfxdriversdir)"
- @list='$(gfxdrivers_DATA)'; for p in $$list; do \
+ @list='$(gfxdrivers_DATA)'; test -n "$(gfxdriversdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(gfxdriversDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(gfxdriversdir)/$$f'"; \
- $(gfxdriversDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(gfxdriversdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(gfxdriversdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(gfxdriversdir)" || exit $$?; \
done
uninstall-gfxdriversDATA:
@$(NORMAL_UNINSTALL)
- @list='$(gfxdrivers_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(gfxdriversdir)/$$f'"; \
- rm -f "$(DESTDIR)$(gfxdriversdir)/$$f"; \
- done
+ @list='$(gfxdrivers_DATA)'; test -n "$(gfxdriversdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(gfxdriversdir)'; $(am__uninstall_files_from_dir)
install-inputdriversDATA: $(inputdrivers_DATA)
@$(NORMAL_INSTALL)
test -z "$(inputdriversdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdriversdir)"
- @list='$(inputdrivers_DATA)'; for p in $$list; do \
+ @list='$(inputdrivers_DATA)'; test -n "$(inputdriversdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(inputdriversDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(inputdriversdir)/$$f'"; \
- $(inputdriversDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(inputdriversdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(inputdriversdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(inputdriversdir)" || exit $$?; \
done
uninstall-inputdriversDATA:
@$(NORMAL_UNINSTALL)
- @list='$(inputdrivers_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(inputdriversdir)/$$f'"; \
- rm -f "$(DESTDIR)$(inputdriversdir)/$$f"; \
- done
+ @list='$(inputdrivers_DATA)'; test -n "$(inputdriversdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(inputdriversdir)'; $(am__uninstall_files_from_dir)
install-systemsDATA: $(systems_DATA)
@$(NORMAL_INSTALL)
test -z "$(systemsdir)" || $(MKDIR_P) "$(DESTDIR)$(systemsdir)"
- @list='$(systems_DATA)'; for p in $$list; do \
+ @list='$(systems_DATA)'; test -n "$(systemsdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(systemsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(systemsdir)/$$f'"; \
- $(systemsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(systemsdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemsdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(systemsdir)" || exit $$?; \
done
uninstall-systemsDATA:
@$(NORMAL_UNINSTALL)
- @list='$(systems_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(systemsdir)/$$f'"; \
- rm -f "$(DESTDIR)$(systemsdir)/$$f"; \
- done
+ @list='$(systems_DATA)'; test -n "$(systemsdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(systemsdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -589,29 +666,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -632,13 +714,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -659,16 +745,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -691,6 +783,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -701,18 +795,28 @@ install-data-am: install-gfxdriversDATA install-gfxdriversLTLIBRARIES \
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -769,6 +873,7 @@ uninstall-am: uninstall-gfxdriversDATA uninstall-gfxdriversLTLIBRARIES \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/systems/sdl/sdl.c b/systems/sdl/sdl.c
index 04e2cd8..704bdaf 100644
--- a/systems/sdl/sdl.c
+++ b/systems/sdl/sdl.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -311,6 +311,27 @@ system_get_busid( int *ret_bus, int *ret_dev, int *ret_func )
return;
}
+static int
+system_surface_data_size( void )
+{
+ /* Return zero because shared surface data is unneeded. */
+ return 0;
+}
+
+static void
+system_surface_data_init( CoreSurface *surface, void *data )
+{
+ /* Ignore since unneeded. */
+ return;
+}
+
+static void
+system_surface_data_destroy( CoreSurface *surface, void *data )
+{
+ /* Ignore since unneeded. */
+ return;
+}
+
static void
system_get_deviceid( unsigned int *ret_vendor_id,
unsigned int *ret_device_id )
diff --git a/systems/vnc/Makefile.am b/systems/vnc/Makefile.am
index 025bf6a..4d2af31 100644
--- a/systems/vnc/Makefile.am
+++ b/systems/vnc/Makefile.am
@@ -1,9 +1,9 @@
## Makefile.am for DirectFB/systems/vnc
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
$(VNC_CFLAGS)
@@ -16,13 +16,6 @@ endif
systems_LTLIBRARIES = libdirectfb_vnc.la
-inputdriversdir = $(MODULEDIR)/inputdrivers
-
-if BUILD_STATIC
-inputdrivers_DATA = libdirectfb_vncinput.o
-endif
-inputdrivers_LTLIBRARIES = libdirectfb_vncinput.la
-
libdirectfb_vnc_la_LDFLAGS = \
$(VNC_LIBS) \
-avoid-version \
@@ -31,6 +24,7 @@ libdirectfb_vnc_la_LDFLAGS = \
libdirectfb_vnc_la_SOURCES = \
primary.c \
primary.h \
+ vncinput.c \
vnc.c \
vnc.h
@@ -39,17 +33,6 @@ libdirectfb_vnc_la_LIBADD = \
$(top_builddir)/lib/fusion/libfusion.la \
$(top_builddir)/src/libdirectfb.la
-libdirectfb_vncinput_la_LDFLAGS = \
- $(VNC_LIBS) \
- -avoid-version \
- -module
-
-libdirectfb_vncinput_la_SOURCES = \
- vncinput.c
-
-libdirectfb_vncinput_la_LIBADD = \
- $(top_builddir)/src/libdirectfb.la
-
include $(top_srcdir)/rules/libobject.make
diff --git a/systems/vnc/Makefile.in b/systems/vnc/Makefile.in
index d2d0c01..5454cfd 100644
--- a/systems/vnc/Makefile.in
+++ b/systems/vnc/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,59 +47,84 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(inputdriversdir)" \
- "$(DESTDIR)$(systemsdir)" "$(DESTDIR)$(inputdriversdir)" \
- "$(DESTDIR)$(systemsdir)"
-inputdriversLTLIBRARIES_INSTALL = $(INSTALL)
-systemsLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(inputdrivers_LTLIBRARIES) $(systems_LTLIBRARIES)
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(systemsdir)" "$(DESTDIR)$(systemsdir)"
+LTLIBRARIES = $(systems_LTLIBRARIES)
libdirectfb_vnc_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
$(top_builddir)/lib/fusion/libfusion.la \
$(top_builddir)/src/libdirectfb.la
-am_libdirectfb_vnc_la_OBJECTS = primary.lo vnc.lo
+am_libdirectfb_vnc_la_OBJECTS = primary.lo vncinput.lo vnc.lo
libdirectfb_vnc_la_OBJECTS = $(am_libdirectfb_vnc_la_OBJECTS)
-libdirectfb_vnc_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_vnc_la_LDFLAGS) $(LDFLAGS) -o $@
-libdirectfb_vncinput_la_DEPENDENCIES = \
- $(top_builddir)/src/libdirectfb.la
-am_libdirectfb_vncinput_la_OBJECTS = vncinput.lo
-libdirectfb_vncinput_la_OBJECTS = \
- $(am_libdirectfb_vncinput_la_OBJECTS)
-libdirectfb_vncinput_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_vncinput_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_vnc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_vnc_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(libdirectfb_vnc_la_SOURCES) \
- $(libdirectfb_vncinput_la_SOURCES)
-DIST_SOURCES = $(libdirectfb_vnc_la_SOURCES) \
- $(libdirectfb_vncinput_la_SOURCES)
-inputdriversDATA_INSTALL = $(INSTALL_DATA)
-systemsDATA_INSTALL = $(INSTALL_DATA)
-DATA = $(inputdrivers_DATA) $(systems_DATA)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+SOURCES = $(libdirectfb_vnc_la_SOURCES)
+DIST_SOURCES = $(libdirectfb_vnc_la_SOURCES)
+DATA = $(systems_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -121,11 +148,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -139,16 +169,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -169,12 +200,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -185,21 +219,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -207,6 +249,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -220,6 +266,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -227,9 +274,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -276,12 +324,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
$(VNC_CFLAGS)
@@ -289,9 +338,6 @@ INCLUDES = \
systemsdir = $(MODULEDIR)/systems
@BUILD_STATIC_TRUE at systems_DATA = libdirectfb_vnc.o
systems_LTLIBRARIES = libdirectfb_vnc.la
-inputdriversdir = $(MODULEDIR)/inputdrivers
- at BUILD_STATIC_TRUE@inputdrivers_DATA = libdirectfb_vncinput.o
-inputdrivers_LTLIBRARIES = libdirectfb_vncinput.la
libdirectfb_vnc_la_LDFLAGS = \
$(VNC_LIBS) \
-avoid-version \
@@ -300,6 +346,7 @@ libdirectfb_vnc_la_LDFLAGS = \
libdirectfb_vnc_la_SOURCES = \
primary.c \
primary.h \
+ vncinput.c \
vnc.c \
vnc.h
@@ -308,17 +355,6 @@ libdirectfb_vnc_la_LIBADD = \
$(top_builddir)/lib/fusion/libfusion.la \
$(top_builddir)/src/libdirectfb.la
-libdirectfb_vncinput_la_LDFLAGS = \
- $(VNC_LIBS) \
- -avoid-version \
- -module
-
-libdirectfb_vncinput_la_SOURCES = \
- vncinput.c
-
-libdirectfb_vncinput_la_LIBADD = \
- $(top_builddir)/src/libdirectfb.la
-
all: all-am
.SUFFIXES:
@@ -327,14 +363,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/vnc/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu systems/vnc/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/vnc/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu systems/vnc/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -344,6 +380,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -352,50 +389,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-inputdriversLTLIBRARIES: $(inputdrivers_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(inputdriversdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdriversdir)"
- @list='$(inputdrivers_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputdriversLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(inputdriversdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(inputdriversLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(inputdriversdir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-inputdriversLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(inputdrivers_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(inputdriversdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(inputdriversdir)/$$p"; \
- done
-
-clean-inputdriversLTLIBRARIES:
- -test -z "$(inputdrivers_LTLIBRARIES)" || rm -f $(inputdrivers_LTLIBRARIES)
- @list='$(inputdrivers_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
+$(am__aclocal_m4_deps):
install-systemsLTLIBRARIES: $(systems_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(systemsdir)" || $(MKDIR_P) "$(DESTDIR)$(systemsdir)"
- @list='$(systems_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(systems_LTLIBRARIES)'; test -n "$(systemsdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(systemsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(systemsdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(systemsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(systemsdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(systemsdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(systemsdir)"; \
+ }
uninstall-systemsLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(systems_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(systemsdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(systemsdir)/$$p"; \
+ @list='$(systems_LTLIBRARIES)'; test -n "$(systemsdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(systemsdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(systemsdir)/$$f"; \
done
clean-systemsLTLIBRARIES:
@@ -406,10 +421,8 @@ clean-systemsLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_vnc.la: $(libdirectfb_vnc_la_OBJECTS) $(libdirectfb_vnc_la_DEPENDENCIES)
- $(libdirectfb_vnc_la_LINK) -rpath $(systemsdir) $(libdirectfb_vnc_la_OBJECTS) $(libdirectfb_vnc_la_LIBADD) $(LIBS)
-libdirectfb_vncinput.la: $(libdirectfb_vncinput_la_OBJECTS) $(libdirectfb_vncinput_la_DEPENDENCIES)
- $(libdirectfb_vncinput_la_LINK) -rpath $(inputdriversdir) $(libdirectfb_vncinput_la_OBJECTS) $(libdirectfb_vncinput_la_LIBADD) $(LIBS)
+libdirectfb_vnc.la: $(libdirectfb_vnc_la_OBJECTS) $(libdirectfb_vnc_la_DEPENDENCIES) $(EXTRA_libdirectfb_vnc_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_vnc_la_LINK) -rpath $(systemsdir) $(libdirectfb_vnc_la_OBJECTS) $(libdirectfb_vnc_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -422,79 +435,63 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/vncinput.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-install-inputdriversDATA: $(inputdrivers_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(inputdriversdir)" || $(MKDIR_P) "$(DESTDIR)$(inputdriversdir)"
- @list='$(inputdrivers_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(inputdriversDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(inputdriversdir)/$$f'"; \
- $(inputdriversDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(inputdriversdir)/$$f"; \
- done
-
-uninstall-inputdriversDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(inputdrivers_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(inputdriversdir)/$$f'"; \
- rm -f "$(DESTDIR)$(inputdriversdir)/$$f"; \
- done
install-systemsDATA: $(systems_DATA)
@$(NORMAL_INSTALL)
test -z "$(systemsdir)" || $(MKDIR_P) "$(DESTDIR)$(systemsdir)"
- @list='$(systems_DATA)'; for p in $$list; do \
+ @list='$(systems_DATA)'; test -n "$(systemsdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(systemsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(systemsdir)/$$f'"; \
- $(systemsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(systemsdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemsdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(systemsdir)" || exit $$?; \
done
uninstall-systemsDATA:
@$(NORMAL_UNINSTALL)
- @list='$(systems_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(systemsdir)/$$f'"; \
- rm -f "$(DESTDIR)$(systemsdir)/$$f"; \
- done
+ @list='$(systems_DATA)'; test -n "$(systemsdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(systemsdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -502,29 +499,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -545,13 +547,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -559,7 +565,7 @@ check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES) $(DATA)
installdirs:
- for dir in "$(DESTDIR)$(inputdriversdir)" "$(DESTDIR)$(systemsdir)" "$(DESTDIR)$(inputdriversdir)" "$(DESTDIR)$(systemsdir)"; do \
+ for dir in "$(DESTDIR)$(systemsdir)" "$(DESTDIR)$(systemsdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -572,24 +578,30 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-inputdriversLTLIBRARIES clean-libtool \
- clean-systemsLTLIBRARIES mostlyclean-am
+clean-am: clean-generic clean-libtool clean-systemsLTLIBRARIES \
+ mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
@@ -603,28 +615,38 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
-install-data-am: install-inputdriversDATA \
- install-inputdriversLTLIBRARIES install-systemsDATA \
- install-systemsLTLIBRARIES
+install-data-am: install-systemsDATA install-systemsLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -645,28 +667,23 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-inputdriversDATA \
- uninstall-inputdriversLTLIBRARIES uninstall-systemsDATA \
- uninstall-systemsLTLIBRARIES
+uninstall-am: uninstall-systemsDATA uninstall-systemsLTLIBRARIES
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-inputdriversLTLIBRARIES clean-libtool \
- clean-systemsLTLIBRARIES ctags distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-inputdriversDATA \
- install-inputdriversLTLIBRARIES install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- install-systemsDATA install-systemsLTLIBRARIES installcheck \
- installcheck-am installdirs maintainer-clean \
+ clean-libtool clean-systemsLTLIBRARIES ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip install-systemsDATA install-systemsLTLIBRARIES \
+ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-inputdriversDATA \
- uninstall-inputdriversLTLIBRARIES uninstall-systemsDATA \
+ tags uninstall uninstall-am uninstall-systemsDATA \
uninstall-systemsLTLIBRARIES
%.o: .libs/%.a %.la
@@ -678,6 +695,7 @@ uninstall-am: uninstall-inputdriversDATA \
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/systems/vnc/primary.c b/systems/vnc/primary.c
index eb1b025..9edae8f 100644
--- a/systems/vnc/primary.c
+++ b/systems/vnc/primary.c
@@ -33,6 +33,7 @@
#include <dlfcn.h>
#include <directfb.h>
+#include <directfb_util.h>
#include <fusion/fusion.h>
#include <fusion/shmalloc.h>
@@ -40,8 +41,10 @@
#include <core/core.h>
#include <core/coredefs.h>
#include <core/coretypes.h>
+#include <core/gfxcard.h>
#include <core/layers.h>
#include <core/palette.h>
+#include <core/state.h>
#include <core/surface.h>
#include <core/system.h>
#include <core/input.h>
@@ -60,14 +63,18 @@
#include "primary.h"
+D_DEBUG_DOMAIN( VNC_Layer, "VNC/Layer", "VNC Layer" );
+
+/**********************************************************************************************************************/
+
/******************************************************************************/
/*VNC server setup*/
/* Here we create a structure so that every client has it's own pointer */
typedef struct ClientData {
- int oldButtonMask;
- int oldButton;
- int oldx,oldy;
+ DFBVNC *vnc;
+ int oldButtonMask;
+ int oldx,oldy;
} ClientData;
static void process_key_event(rfbBool down, rfbKeySym key, struct _rfbClientRec* cl);
@@ -76,23 +83,7 @@ static bool translate_key(rfbKeySym key, DFBInputEvent *evt );
static void clientgone(rfbClientPtr cl);
static enum rfbNewClientAction newclient(rfbClientPtr cl);
-
-
-static DFBEnumerationResult attach_input_device( CoreInputDevice *device, void *ctx );
-
-static DFBResult dfb_vnc_set_video_mode( CoreDFB* core, CoreLayerRegionConfig *config );
-static DFBResult dfb_vnc_update_screen( CoreDFB *core, DFBRegion *region );
-static DFBResult dfb_vnc_set_palette( CorePalette *palette );
-
-static DFBResult update_screen( CoreSurface *surface,
- int x, int y, int w, int h );
-
-static void* vnc_server_thread( DirectThread *thread, void *data );
-
-extern DFBVNC *dfb_vnc;
-extern CoreDFB *dfb_vnc_core;
-rfbScreenInfoPtr rfb_screen = NULL;
-static CoreInputDevice *vncInputDevice;
+extern CoreInputDevice *vncInputDevice;
/******************************************************************************/
@@ -103,12 +94,89 @@ primaryInitScreen( CoreScreen *screen,
void *screen_data,
DFBScreenDescription *description )
{
+ int argc = 0;
+ char **argv = NULL;
+ DFBVNC *vnc = driver_data;
+ DFBVNCShared *shared = vnc->shared;
+
/* Set the screen capabilities. */
description->caps = DSCCAPS_NONE;
/* Set the screen name. */
- snprintf( description->name,
- DFB_SCREEN_DESC_NAME_LENGTH, "VNC Primary Screen" );
+ direct_snputs( description->name, "VNC Primary Screen", DFB_SCREEN_DESC_NAME_LENGTH );
+
+ /* Set video mode */
+ vnc->rfb_screen = rfbGetScreen( &argc, argv, shared->screen_size.w, shared->screen_size.h, 8, 3, 4 );
+ if (!vnc->rfb_screen) {
+ D_ERROR( "DirectFB/VNC: rfbGetScreen( %dx%d, 8, 3, 4 ) failed!\n", shared->screen_size.w, shared->screen_size.h );
+ return DFB_FAILURE;
+ }
+
+ vnc->rfb_screen->screenData = vnc;
+
+
+
+ /* Connect key handler */
+
+ vnc->rfb_screen->kbdAddEvent = process_key_event;
+ vnc->rfb_screen->ptrAddEvent = process_pointer_event;
+ vnc->rfb_screen->newClientHook = newclient;
+ vnc->rfb_screen->autoPort = TRUE;
+
+ /* Initialize VNC */
+
+ rfbInitServer(vnc->rfb_screen);
+
+ if (vnc->rfb_screen->listenSock == -1) {
+ D_ERROR( "DirectFB/VNC: rfbInitServer() failed to initialize listening socket!\n" );
+ return DFB_FAILURE;
+ }
+
+
+ DFBResult ret;
+ CoreSurfaceConfig config;
+
+ config.flags = CSCONF_SIZE | CSCONF_FORMAT | CSCONF_CAPS;
+ config.size.w = shared->screen_size.w;
+ config.size.h = shared->screen_size.h;
+ config.format = DSPF_ARGB;
+ config.caps = DSCAPS_SYSTEMONLY;// | DSCAPS_SHARED;
+
+ ret = dfb_surface_create( vnc->core, &config, CSTF_NONE, 0, NULL, &shared->screen_surface );
+ if (ret) {
+ D_DERROR( ret, "DirectFB/VNC: Could not createscreen surface!\n" );
+ return ret;
+ }
+
+
+ dfb_surface_lock_buffer( shared->screen_surface, 0, CSAID_CPU, CSAF_WRITE, &vnc->buffer_lock );
+
+ rfbNewFramebuffer( vnc->rfb_screen, vnc->buffer_lock.addr, shared->screen_size.w, shared->screen_size.h, 8, 3, 4 );
+
+ /* patch serverFormat structure for ARGB */
+ vnc->rfb_screen->serverFormat.redShift = 16;
+ vnc->rfb_screen->serverFormat.greenShift = 8;
+ vnc->rfb_screen->serverFormat.blueShift = 0;
+ vnc->rfb_screen->serverFormat.redMax = 255;
+ vnc->rfb_screen->serverFormat.greenMax = 255;
+ vnc->rfb_screen->serverFormat.blueMax = 255;
+
+ rfbRunEventLoop( vnc->rfb_screen, -1, TRUE );
+
+ return DFB_OK;
+}
+
+static DFBResult
+primaryShutdownScreen( CoreScreen *screen,
+ void *driver_data,
+ void *screen_data )
+{
+ DFBVNC *vnc = driver_data;
+ DFBVNCShared *shared = vnc->shared;
+
+ rfbScreenCleanup( vnc->rfb_screen );
+
+ dfb_surface_unlock_buffer( shared->screen_surface, &vnc->buffer_lock );
return DFB_OK;
}
@@ -120,40 +188,28 @@ primaryGetScreenSize( CoreScreen *screen,
int *ret_width,
int *ret_height )
{
- D_ASSERT( dfb_vnc != NULL );
+ DFBVNC *vnc = driver_data;
- if (dfb_vnc->primary) {
- *ret_width = dfb_vnc->primary->config.size.w;
- *ret_height = dfb_vnc->primary->config.size.h;
- }
- else {
- if (dfb_config->mode.width)
- *ret_width = dfb_config->mode.width;
- else
- *ret_width = 640;
-
- if (dfb_config->mode.height)
- *ret_height = dfb_config->mode.height;
- else
- *ret_height = 480;
- }
+ *ret_width = vnc->shared->screen_size.w;
+ *ret_height = vnc->shared->screen_size.h;
return DFB_OK;
}
-static ScreenFuncs primaryScreenFuncs = {
- .InitScreen = primaryInitScreen,
- .GetScreenSize = primaryGetScreenSize,
+static ScreenFuncs _vncPrimaryScreenFuncs = {
+ .InitScreen = primaryInitScreen,
+ .ShutdownScreen = primaryShutdownScreen,
+ .GetScreenSize = primaryGetScreenSize,
};
-ScreenFuncs *vncPrimaryScreenFuncs = &primaryScreenFuncs;
+ScreenFuncs *vncPrimaryScreenFuncs = &_vncPrimaryScreenFuncs;
/******************************************************************************/
static int
primaryLayerDataSize( void )
{
- return 0;
+ return sizeof(VNCLayerData);
}
static int
@@ -170,11 +226,15 @@ primaryInitLayer( CoreLayer *layer,
DFBDisplayLayerConfig *config,
DFBColorAdjustment *adjustment )
{
+ DFBVNC *vnc = driver_data;
+
D_DEBUG( "DirectFB/VNC: primaryInitLayer\n");
-
+
/* set capabilities and type */
- description->caps = DLCAPS_SURFACE;
- description->type = DLTF_GRAPHICS;
+ description->caps = DLCAPS_SURFACE | DLCAPS_SCREEN_LOCATION | DLCAPS_ALPHACHANNEL;
+ description->type = DLTF_GRAPHICS;
+ description->surface_caps = DSCAPS_SYSTEMONLY | DSCAPS_SHARED;
+ description->surface_accessor = CSAID_CPU;
/* set name */
snprintf( description->name,
@@ -184,23 +244,15 @@ primaryInitLayer( CoreLayer *layer,
config->flags = DLCONF_WIDTH | DLCONF_HEIGHT |
DLCONF_PIXELFORMAT | DLCONF_BUFFERMODE;
config->buffermode = DLBM_FRONTONLY;
-
- if (dfb_config->mode.width)
- config->width = dfb_config->mode.width;
- else
- config->width = 640;
-
- if (dfb_config->mode.height)
- config->height = dfb_config->mode.height;
- else
- config->height = 480;
+ config->width = vnc->shared->screen_size.w;
+ config->height = vnc->shared->screen_size.h;
if (dfb_config->mode.format != DSPF_UNKNOWN)
config->pixelformat = dfb_config->mode.format;
else if (dfb_config->mode.depth > 0)
config->pixelformat = dfb_pixelformat_for_depth( dfb_config->mode.depth );
else
- config->pixelformat = DSPF_RGB24;
+ config->pixelformat = DSPF_RGB32;
return DFB_OK;
}
@@ -218,6 +270,7 @@ primaryTestRegion( CoreLayer *layer,
case DLBM_FRONTONLY:
case DLBM_BACKSYSTEM:
case DLBM_BACKVIDEO:
+ case DLBM_TRIPLE:
break;
default:
@@ -248,6 +301,74 @@ primaryAddRegion( CoreLayer *layer,
}
static DFBResult
+UpdateScreen( DFBVNC *vnc,
+ VNCLayerData *data,
+ const DFBRectangle *update,
+ CoreSurfaceBufferLock *lock )
+{
+ DFBVNCShared *shared = vnc->shared;
+ DFBRegion clip = { 0, 0, shared->screen_size.w - 1, shared->screen_size.h - 1};
+ CardState state;
+
+ D_DEBUG_AT( VNC_Layer, "%s()\n", __FUNCTION__ );
+
+ if (update) {
+ if (!dfb_region_rectangle_intersect( &clip, update )) {
+ D_DEBUG_AT( VNC_Layer, " -> update not intersecting with screen area!\n" );
+ return DFB_OK;
+ }
+ }
+
+ dfb_state_init( &state, vnc->core );
+
+ state.destination = shared->screen_surface;
+ state.source = lock ? lock->buffer->surface : NULL;
+ state.clip = clip;
+
+ if (!lock ||
+ data->config.dest.x != 0 || data->config.dest.y != 0 ||
+ data->config.dest.w != shared->screen_size.w ||
+ data->config.dest.h != shared->screen_size.h)
+ {
+ DFBRectangle rect = {
+ 0, 0, shared->screen_size.w, shared->screen_size.h
+ };
+
+ dfb_gfxcard_fillrectangles( &rect, 1, &state );
+ }
+
+ if (lock) {
+ DFBRectangle src = data->config.source;
+ DFBRectangle dst = data->config.dest;
+
+ dfb_gfxcard_stretchblit( &src, &dst, &state );
+ }
+
+ dfb_gfxcard_sync();
+
+ state.destination = NULL;
+ state.source = NULL;
+
+ dfb_state_destroy( &state );
+
+
+ DirectResult ret;
+ DFBVNCMarkRectAsModified mark;
+
+ mark.region = clip;
+
+ ret = fusion_call_execute3( &shared->call, FCEF_ONEWAY,
+ VNC_MARK_RECT_AS_MODIFIED, &mark, sizeof(mark), NULL, 0, NULL );
+ if (ret) {
+ D_DERROR( ret, "DirectFB/VNC: fusion_call_execute3() failed!\n" );
+ return ret;
+ }
+
+ return DFB_OK;
+}
+
+
+static DFBResult
primarySetRegion( CoreLayer *layer,
void *driver_data,
void *layer_data,
@@ -256,24 +377,18 @@ primarySetRegion( CoreLayer *layer,
CoreLayerRegionConfigFlags updated,
CoreSurface *surface,
CorePalette *palette,
- CoreSurfaceBufferLock *lock )
+ CoreSurfaceBufferLock *left_lock )
{
- DFBResult ret;
+ DFBVNC *vnc = driver_data;
+ VNCLayerData *data = layer_data;
- D_DEBUG( "DirectFB/VNC: primarySetRegion\n");
-
- ret = dfb_vnc_set_video_mode( dfb_vnc_core, config );
- if (ret)
- return ret;
+ D_DEBUG_AT( VNC_Layer, "%s()\n", __FUNCTION__ );
- if (surface)
- dfb_vnc->primary = surface;
+ data->config = *config;
- if (palette)
- dfb_vnc_set_palette( palette );
+ if (data->shown)
+ return UpdateScreen( vnc, data, NULL, left_lock );
- driver_data = (void*) rfb_screen;
-
return DFB_OK;
}
@@ -283,9 +398,14 @@ primaryRemoveRegion( CoreLayer *layer,
void *layer_data,
void *region_data )
{
- dfb_vnc->primary = NULL;
+ DFBVNC *vnc = driver_data;
+ VNCLayerData *data = layer_data;
- return DFB_OK;
+ D_DEBUG_AT( VNC_Layer, "%s()\n", __FUNCTION__ );
+
+ data->shown = false;
+
+ return UpdateScreen( vnc, data, NULL, NULL );
}
static DFBResult
@@ -295,11 +415,18 @@ primaryFlipRegion( CoreLayer *layer,
void *region_data,
CoreSurface *surface,
DFBSurfaceFlipFlags flags,
- CoreSurfaceBufferLock *lock )
+ CoreSurfaceBufferLock *left_lock )
{
+ DFBVNC *vnc = driver_data;
+ VNCLayerData *data = layer_data;
+
+ D_DEBUG_AT( VNC_Layer, "%s()\n", __FUNCTION__ );
+
dfb_surface_flip( surface, false );
- return dfb_vnc_update_screen( dfb_vnc_core, NULL );
+ data->shown = true;
+
+ return UpdateScreen( vnc, data, &data->config.dest, left_lock );
}
static DFBResult
@@ -308,86 +435,25 @@ primaryUpdateRegion( CoreLayer *layer,
void *layer_data,
void *region_data,
CoreSurface *surface,
- const DFBRegion *update,
- CoreSurfaceBufferLock *lock )
+ const DFBRegion *left_update,
+ CoreSurfaceBufferLock *left_lock )
{
- if (update) {
- DFBRegion region = *update;
-
- return dfb_vnc_update_screen( dfb_vnc_core, ®ion );
- }
+ DFBVNC *vnc = driver_data;
+ VNCLayerData *data = layer_data;
- return dfb_vnc_update_screen( dfb_vnc_core, NULL );
-}
+ DFBRectangle update = data->config.dest;
-static DFBResult
-primaryAllocateSurface( CoreLayer *layer,
- void *driver_data,
- void *layer_data,
- void *region_data,
- CoreLayerRegionConfig *config,
- CoreSurface **ret_surface )
-{
- CoreSurfaceConfig conf;
+ D_DEBUG_AT( VNC_Layer, "%s()\n", __FUNCTION__ );
- conf.flags = CSCONF_SIZE | CSCONF_FORMAT | CSCONF_CAPS;
- conf.size.w = config->width;
- conf.size.h = config->height;
- conf.format = config->format;
- conf.caps = DSCAPS_SYSTEMONLY;
+ if (left_update && !dfb_rectangle_intersect_by_region( &update, left_update ))
+ return DFB_OK;
- if (config->buffermode != DLBM_FRONTONLY)
- conf.caps |= DSCAPS_DOUBLE;
+ data->shown = true;
- return dfb_surface_create( dfb_vnc_core, &conf, CSTF_LAYER, DLID_PRIMARY, NULL, ret_surface );
+ return UpdateScreen( vnc, data, &update, left_lock );
}
-static DFBResult
-primaryReallocateSurface( CoreLayer *layer,
- void *driver_data,
- void *layer_data,
- void *region_data,
- CoreLayerRegionConfig *config,
- CoreSurface *surface )
-{
- DFBResult ret;
- CoreSurfaceConfig conf;
-
- conf.flags = CSCONF_SIZE | CSCONF_FORMAT | CSCONF_CAPS;
- conf.size.w = config->width;
- conf.size.h = config->height;
- conf.format = config->format;
- conf.caps = DSCAPS_SYSTEMONLY;
-
- if (config->buffermode != DLBM_FRONTONLY)
- conf.caps |= DSCAPS_DOUBLE;
-
- ret = dfb_surface_reconfig( surface, &conf );
- if (ret)
- return ret;
-
- if (DFB_PIXELFORMAT_IS_INDEXED(config->format) && !surface->palette) {
- DFBResult ret;
- CorePalette *palette;
-
- ret = dfb_palette_create( NULL, /* FIXME */
- 1 << DFB_COLOR_BITS_PER_PIXEL( config->format ),
- &palette );
- if (ret)
- return ret;
-
- if (config->format == DSPF_LUT8)
- dfb_palette_generate_rgb332_map( palette );
-
- dfb_surface_set_palette( surface, palette );
-
- dfb_palette_unref( palette );
- }
-
- return DFB_OK;
-}
-
-static DisplayLayerFuncs primaryLayerFuncs = {
+static DisplayLayerFuncs _vncPrimaryLayerFuncs = {
.LayerDataSize = primaryLayerDataSize,
.RegionDataSize = primaryRegionDataSize,
.InitLayer = primaryInitLayer,
@@ -398,418 +464,105 @@ static DisplayLayerFuncs primaryLayerFuncs = {
.RemoveRegion = primaryRemoveRegion,
.FlipRegion = primaryFlipRegion,
.UpdateRegion = primaryUpdateRegion,
-
- .AllocateSurface = primaryAllocateSurface,
- .ReallocateSurface = primaryReallocateSurface,
};
-DisplayLayerFuncs *vncPrimaryLayerFuncs = &primaryLayerFuncs;
+DisplayLayerFuncs *vncPrimaryLayerFuncs = &_vncPrimaryLayerFuncs;
-/******************************************************************************/
+/**********************************************************************************************************************/
-static DFBResult
-update_screen( CoreSurface *surface, int x, int y, int w, int h )
-{
- DFBResult ret;
- int i, j, k;
- void *dst, *p;
- void *src, *q;
- CoreSurfaceBufferLock lock;
-
- D_ASSERT( surface != NULL );
- D_ASSERT( rfb_screen != NULL );
- D_ASSERT( rfb_screen->frameBuffer != NULL );
+/**
+ VNC Server setup
+**/
- ret = dfb_surface_lock_buffer( surface, CSBR_FRONT, CSAID_CPU, CSAF_READ, &lock );
- if (ret) {
- D_DERROR( ret, "DirectFB/VNC: Couldn't lock layer surface!\n" );
- return ret;
- }
+static void
+clientgone(rfbClientPtr cl)
+{
+ D_FREE( cl->clientData );
+}
- src = lock.addr + DFB_BYTES_PER_LINE( surface->config.format, x ) + y * lock.pitch;
-
- dst = rfb_screen->frameBuffer + x * rfb_screen->depth/8 + y * rfb_screen->width * rfb_screen->depth/8;
-
- for (i=0; i<h; ++i) {
- /*direct_memcpy( dst, src, DFB_BYTES_PER_LINE( surface->config.format, w ) );*/
- for (j=0, p=src, q=dst; j<w; j++,
- p += DFB_BYTES_PER_PIXEL(surface->config.format),
- q += rfb_screen->depth/8) {
- /*direct_memcpy( q, p, DFB_BYTES_PER_PIXEL(surface->config.format));*/
- /**(char*) q = *(char*) (p+2);
- *(char*) (q+1) = *(char*) (p+1);
- *(char*) (q+2) = *(char*) p;*/
- for (k=0; k<DFB_BYTES_PER_PIXEL(surface->config.format); k++)
- *(char*) (q+k) = *(char*) (p+DFB_BYTES_PER_PIXEL(surface->config.format)-1-k);
- }
+static enum rfbNewClientAction
+newclient(rfbClientPtr cl)
+{
+ ClientData *cd;
+ DFBVNC *vnc = cl->screen->screenData;
- src += lock.pitch;
- dst += rfb_screen->width * rfb_screen->depth/8;
+ cd = D_CALLOC( 1, sizeof(ClientData) );
+ if (!cd) {
+ D_OOM();
+ return RFB_CLIENT_REFUSE;
}
- rfbMarkRectAsModified ( rfb_screen, x, y, x+w, y+h );
-
- dfb_surface_unlock_buffer( surface, &lock );
-
-
-#if 0 /* Mire test */
+ cd->vnc = vnc;
- maxx = screen->width ;
- maxy = screen->height ;
- bpp = screen->depth/8 ;
- buffer = screen->frameBuffer ;
+ cl->clientData = cd;
+ cl->clientGoneHook = clientgone;
+ return RFB_CLIENT_ACCEPT;
+}
- for(j=0;j<maxy;++j) {
- for(i=0;i<maxx;++i) {
- buffer[(j*maxx+i)*bpp+0]=(i+j)*128/(maxx+maxy); /* red */
- buffer[(j*maxx+i)*bpp+1]=i*128/maxx; /* green */
- buffer[(j*maxx+i)*bpp+2]=j*256/maxy; /* blue */
- }
- buffer[j*maxx*bpp+0]=0xff;
- buffer[j*maxx*bpp+1]=0xff;
- buffer[j*maxx*bpp+2]=0xff;
- buffer[j*maxx*bpp+3]=0xff;
- }
+static void
+send_button_event( DFBInputDeviceButtonIdentifier button,
+ bool press )
+{
+ if (vncInputDevice) {
+ DFBInputEvent evt;
-
-
- rfbMarkRectAsModified ( screen, 0, 0, 600, 800);
-#endif
+ evt.flags = DIEF_NONE;
+ evt.type = press ? DIET_BUTTONPRESS : DIET_BUTTONRELEASE;
+ evt.button = button;
- return DFB_OK;
+ dfb_input_dispatch( vncInputDevice, &evt );
+ }
}
-/******************************************************************************/
-
-typedef enum {
- VNC_SET_VIDEO_MODE,
- VNC_UPDATE_SCREEN,
- VNC_SET_PALETTE
-} DFBVNCCall;
-
-static DFBResult
-dfb_vnc_set_video_mode_handler( CoreLayerRegionConfig *config )
+static void
+process_pointer_event(int buttonMask, int x, int y, rfbClientPtr cl)
{
- int argc = 0;
- char** argv = NULL;
-
- D_DEBUG( "DirectFB/VNC: layer config properties\n");
-
- if(rfb_screen) /*!!! FIXME*/
- return DFB_OK;
-
- fusion_skirmish_prevail( &dfb_vnc->lock );
-
- /* Set video mode */
- rfb_screen = rfbGetScreen(&argc, argv, config->width, config->height, DFB_BITS_PER_PIXEL(config->format)/3, 3, 4);
+ if (vncInputDevice) {
+ ClientData *cd = cl->clientData;
+ DFBInputEvent evt;
- D_DEBUG( "DirectFB/VNC: rfbGetScreen parameters: width %d height %d bitspersample %d samplesperpixel %d bytesperpixel %d\n", config->width, config->height, DFB_BITS_PER_PIXEL(config->format)/3, 3, 4);
+ evt.type = DIET_AXISMOTION;
+ evt.flags = DIEF_AXISABS | DIEF_MIN | DIEF_MAX;
- /*screen = rfbGetScreen(&argc, argv, config->width, config->height, 8, 3, 4);*/
-
- if ( rfb_screen == NULL )
- {
- D_ERROR( "DirectFB/VNC: Couldn't set %dx%dx%d video mode\n",
- config->width, config->height,
- DFB_COLOR_BITS_PER_PIXEL(config->format) );
-
- fusion_skirmish_dismiss( &dfb_vnc->lock );
-
- return DFB_FAILURE;
- }
-
- if(DFB_COLOR_BITS_PER_PIXEL(config->format) == DSPF_RGB16)
- {
- rfb_screen->serverFormat.redShift = 11;
- rfb_screen->serverFormat.greenShift = 5;
- rfb_screen->serverFormat.blueShift = 0;
- rfb_screen->serverFormat.redMax = 31;
- rfb_screen->serverFormat.greenMax = 63;
- rfb_screen->serverFormat.blueMax = 31;
- }
-
- /* screen->serverFormat.trueColour=FALSE; */
-
- rfb_screen->frameBuffer = malloc(rfb_screen->width * rfb_screen->height * rfb_screen->depth / 8) ;
+ if (cd->oldx != x) {
+ cd->oldx = x;
- if ( ! rfb_screen->frameBuffer )
- {
- fusion_skirmish_dismiss( &dfb_vnc->lock );
-
- return DFB_NOSYSTEMMEMORY;
- }
-
- /* Connect key handler */
-
- rfb_screen->kbdAddEvent = process_key_event;
- rfb_screen->ptrAddEvent = process_pointer_event;
- rfb_screen->newClientHook = newclient;
+ evt.axis = DIAI_X;
+ evt.axisabs = x;
+ evt.min = 0;
+ evt.max = cd->vnc->shared->screen_size.w - 1;
- /* Initialize VNC */
+ dfb_input_dispatch( vncInputDevice, &evt );
+ }
- rfbInitServer(rfb_screen);
+ if (cd->oldy != y) {
+ cd->oldy = y;
- /* Now creating a thread to process the server */
-
- direct_thread_create( DTT_OUTPUT, vnc_server_thread, rfb_screen, "VNC Output" );
-
- fusion_skirmish_dismiss( &dfb_vnc->lock );
-
- return DFB_OK;
-}
-
-static void*
-vnc_server_thread( DirectThread *thread, void *data )
-{
- rfbRunEventLoop(rfb_screen, -1, FALSE);
- return NULL;
-}
-
-
-static DFBResult
-dfb_vnc_update_screen_handler( DFBRegion *region )
-{
- DFBResult ret;
- CoreSurface *surface;
-
- D_ASSERT(dfb_vnc);
-
- surface = dfb_vnc->primary;
-
- fusion_skirmish_prevail( &dfb_vnc->lock );
-
- if (!region)
- ret = update_screen( surface, 0, 0, surface->config.size.w, surface->config.size.h );
- else
- ret = update_screen( surface,
- region->x1, region->y1,
- region->x2 - region->x1 + 1,
- region->y2 - region->y1 + 1 );
-
- fusion_skirmish_dismiss( &dfb_vnc->lock );
-
- return DFB_OK;
-}
-
-static DFBResult
-dfb_vnc_set_palette_handler( CorePalette *palette )
-{
- unsigned int i;
- uint8_t* map;
-
- rfb_screen->colourMap.count = palette->num_entries;
- rfb_screen->colourMap.is16 = false;
- rfb_screen->serverFormat.trueColour=FALSE;
-
- D_DEBUG( "DirectFB/VNC: setting colourmap of size %d\n", palette->num_entries);
+ evt.axis = DIAI_Y;
+ evt.axisabs = y;
+ evt.min = 0;
+ evt.max = cd->vnc->shared->screen_size.h - 1;
- if( (map = (uint8_t*) malloc(rfb_screen->colourMap.count*sizeof(uint8_t)*3)) == NULL )
- return DFB_NOSYSTEMMEMORY;
-
- for (i=0; i<palette->num_entries; i++) {
- *(map++) = palette->entries[i].r;
- *(map++) = palette->entries[i].g;
- *(map++) = palette->entries[i].b;
- }
-
- fusion_skirmish_prevail( &dfb_vnc->lock );
-
- if( rfb_screen->colourMap.data.bytes )
- free(rfb_screen->colourMap.data.bytes);
- rfb_screen->colourMap.data.bytes = map;
-
- fusion_skirmish_dismiss( &dfb_vnc->lock );
-
- return DFB_OK;
-}
-
-FusionCallHandlerResult
-dfb_vnc_call_handler( int caller,
- int call_arg,
- void *call_ptr,
- void *ctx,
- unsigned int serial,
- int *ret_val )
-{
- switch (call_arg) {
- case VNC_SET_VIDEO_MODE:
- *ret_val = dfb_vnc_set_video_mode_handler( call_ptr );
- break;
-
- case VNC_UPDATE_SCREEN:
- *ret_val = dfb_vnc_update_screen_handler( call_ptr );
- break;
-
- case VNC_SET_PALETTE:
- *ret_val = dfb_vnc_set_palette_handler( call_ptr );
- break;
-
- default:
- D_BUG( "unknown call" );
- *ret_val = DFB_BUG;
- break;
- }
-
- return FCHR_RETURN;
-}
-
-static DFBResult
-dfb_vnc_set_video_mode( CoreDFB *core, CoreLayerRegionConfig *config )
-{
- int ret;
- CoreLayerRegionConfig *tmp = NULL;
-
- D_ASSERT( config != NULL );
-
- if (dfb_core_is_master( core ))
- return dfb_vnc_set_video_mode_handler( config );
-
- if (!fusion_is_shared( dfb_core_world(core), config )) {
- tmp = SHMALLOC( dfb_core_shmpool(core), sizeof(CoreLayerRegionConfig) );
- if (!tmp)
- return D_OOSHM();
-
- direct_memcpy( tmp, config, sizeof(CoreLayerRegionConfig) );
- }
-
- fusion_call_execute( &dfb_vnc->call, FCEF_NONE, VNC_SET_VIDEO_MODE,
- tmp ? tmp : config, &ret );
-
- if (tmp)
- SHFREE( dfb_core_shmpool(core), tmp );
-
- return ret;
-}
-
-static DFBResult
-dfb_vnc_update_screen( CoreDFB *core, DFBRegion *region )
-{
- int ret;
- DFBRegion *tmp = NULL;
-
- if (dfb_core_is_master( core ))
- return dfb_vnc_update_screen_handler( region );
-
- if (region) {
- if (!fusion_is_shared( dfb_core_world(core), region )) {
- tmp = SHMALLOC( dfb_core_shmpool(core), sizeof(DFBRegion) );
- if (!tmp)
- return D_OOSHM();
-
- direct_memcpy( tmp, region, sizeof(DFBRegion) );
+ dfb_input_dispatch( vncInputDevice, &evt );
+ }
+
+ if (buttonMask != cd->oldButtonMask) {
+ if ((buttonMask & (1 << 0)) != (cd->oldButtonMask & (1 << 0)))
+ send_button_event( DIBI_LEFT, !!(buttonMask & (1 << 0)) );
+
+ if ((buttonMask & (1 << 1)) != (cd->oldButtonMask & (1 << 1)))
+ send_button_event( DIBI_MIDDLE, !!(buttonMask & (1 << 1)) );
+
+ if ((buttonMask & (1 << 2)) != (cd->oldButtonMask & (1 << 2)))
+ send_button_event( DIBI_RIGHT, !!(buttonMask & (1 << 2)) );
+
+ cd->oldButtonMask = buttonMask;
}
}
- fusion_call_execute( &dfb_vnc->call, FCEF_NONE, VNC_UPDATE_SCREEN,
- tmp ? tmp : region, &ret );
-
- if (tmp)
- SHFREE( dfb_core_shmpool(core), tmp );
-
- return DFB_OK;
-}
-
-static DFBResult
-dfb_vnc_set_palette( CorePalette *palette )
-{
- int ret;
-
- fusion_call_execute( &dfb_vnc->call, FCEF_NONE, VNC_SET_PALETTE,
- palette, &ret );
-
- return ret;
-}
-
-/**
- VNC Server setup
-**/
-
-static DFBEnumerationResult
-attach_input_device( CoreInputDevice *device,
- void *ctx )
-{
- vncInputDevice = device;
- return DFENUM_OK;
-}
-
-static void clientgone(rfbClientPtr cl)
-{
- free(cl->clientData);
-}
-
-static enum rfbNewClientAction newclient(rfbClientPtr cl)
-{
- cl->clientData = (void*)calloc(sizeof(ClientData),1);
- cl->clientGoneHook = clientgone;
- return RFB_CLIENT_ACCEPT;
-}
-
-
-static void
-process_pointer_event(int buttonMask, int x, int y, rfbClientPtr cl)
-{
-
- DFBInputEvent evt;
- int button;
-
- if( vncInputDevice == NULL ){
- /* Attach to first input device */
- dfb_input_enumerate_devices( attach_input_device,NULL, DICAPS_ALL );
- D_ASSERT(vncInputDevice);
- }
-
- ClientData* cd=cl->clientData;
- if(buttonMask != cd->oldButtonMask ) {
- int mask = buttonMask^cd->oldButtonMask;
- if( mask & (1 << 0)) {
- button=DIBI_LEFT;
- } else if( mask & (1 << 1)) {
- button=DIBI_MIDDLE;
- } else if( mask & (1 << 2)) {
- button=DIBI_RIGHT;
- } else {
- return;
- }
- evt.flags = DIEF_NONE;
-
- if(cd->oldButton > button ) {
- evt.type = DIET_BUTTONRELEASE;
- evt.button=cd->oldButton;
- cd->oldButton=0;
- }else {
- evt.type = DIET_BUTTONPRESS;
- evt.button=button;
- cd->oldButton=button;
- cd->oldButtonMask=buttonMask;
- }
- dfb_input_dispatch( vncInputDevice, &evt );
- cd->oldx=x;
- cd->oldy=y;
- return;
- }
-
- evt.type = DIET_AXISMOTION;
- evt.flags = DIEF_AXISABS;
-
- if( cd->oldx != x ) {
- evt.axis = DIAI_X;
- evt.axisabs = x;
- dfb_input_dispatch( vncInputDevice, &evt );
- }
-
- if( cd->oldy != y ) {
- evt.axis = DIAI_Y;
- evt.axisabs = x;
- dfb_input_dispatch( vncInputDevice, &evt );
- }
- cd->oldx=x;
- cd->oldy=y;
-
- dfb_input_dispatch( vncInputDevice, &evt );
- rfbDefaultPtrAddEvent(buttonMask,x,y,cl);
-
+ rfbDefaultPtrAddEvent(buttonMask,x,y,cl);
}
/*
@@ -818,21 +571,17 @@ process_pointer_event(int buttonMask, int x, int y, rfbClientPtr cl)
static void
process_key_event(rfbBool down, rfbKeySym key, rfbClientPtr cl)
{
- DFBInputEvent evt;
- if( vncInputDevice == NULL ){
- /* Attach to first input device */
- dfb_input_enumerate_devices( attach_input_device,NULL, DICAPS_ALL );
- D_ASSERT(vncInputDevice);
- }
- if (down)
- evt.type = DIET_KEYPRESS;
- else
- evt.type = DIET_KEYRELEASE;
-
- if (translate_key( key, &evt )) {
- dfb_input_dispatch( vncInputDevice, &evt );
+ if (vncInputDevice) {
+ DFBInputEvent evt;
+
+ if (down)
+ evt.type = DIET_KEYPRESS;
+ else
+ evt.type = DIET_KEYRELEASE;
+
+ if (translate_key( key, &evt ))
+ dfb_input_dispatch( vncInputDevice, &evt );
}
-
}
@@ -841,13 +590,13 @@ translate_key(rfbKeySym key, DFBInputEvent *evt )
{
/* Unicode */
if (key <= 0xf000) {
- evt->flags = DIEF_KEYSYMBOL;
- evt->key_symbol = key;
- return true;
+ evt->flags = DIEF_KEYSYMBOL;
+ evt->key_symbol = key;
+ return true;
}
/* Dead keys */
- /* todo */
+ /* todo */
/* Numeric keypad */
if (key >= XK_KP_0 && key <= XK_KP_9) {
@@ -906,7 +655,7 @@ translate_key(rfbKeySym key, DFBInputEvent *evt )
break;
- /* Arrows + Home/End pad */
+ /* Arrows + Home/End pad */
case XK_Up:
evt->flags = DIEF_KEYID;
evt->key_id = DIKI_UP;
@@ -931,7 +680,7 @@ translate_key(rfbKeySym key, DFBInputEvent *evt )
evt->flags = DIEF_KEYID;
evt->key_id = DIKI_INSERT;
break;
-
+
case XK_Delete:
evt->flags = DIEF_KEYID;
evt->key_id = DIKI_DELETE;
@@ -958,7 +707,7 @@ translate_key(rfbKeySym key, DFBInputEvent *evt )
break;
- /* Key state modifier keys */
+ /* Key state modifier keys */
case XK_Num_Lock:
evt->flags = DIEF_KEYID;
evt->key_id = DIKI_NUM_LOCK;
@@ -1028,16 +777,16 @@ translate_key(rfbKeySym key, DFBInputEvent *evt )
evt->flags = DIEF_KEYID;
evt->key_id = DIKI_HYPER_L;
break;
-
+
case XK_Hyper_R:
evt->flags = DIEF_KEYID;
evt->key_id = DIKI_HYPER_R;
break;
- /*case ??:
- evt->flags = DIEF_KEYID;
- evt->key_id = DIKI_ALTGR;
- break;*/
+ /*case ??:
+ evt->flags = DIEF_KEYID;
+ evt->key_id = DIKI_ALTGR;
+ break;*/
case XK_BackSpace:
evt->flags = DIEF_KEYID;
@@ -1057,14 +806,14 @@ translate_key(rfbKeySym key, DFBInputEvent *evt )
case XK_Escape:
evt->flags = DIEF_KEYID;
evt->key_id = DIKI_ESCAPE;
- break;
+ break;
case XK_Pause:
evt->flags = DIEF_KEYID;
evt->key_id = DIKI_PAUSE;
break;
- /* Miscellaneous function keys */
+ /* Miscellaneous function keys */
case XK_Help:
evt->flags = DIEF_KEYSYMBOL;
evt->key_symbol = DIKS_HELP;
diff --git a/systems/vnc/primary.h b/systems/vnc/primary.h
index 3984e9c..f1026b0 100644
--- a/systems/vnc/primary.h
+++ b/systems/vnc/primary.h
@@ -45,5 +45,11 @@ dfb_vnc_call_handler( int caller,
unsigned int serial,
int *ret_val );
+
+typedef struct {
+ bool shown;
+ CoreLayerRegionConfig config;
+} VNCLayerData;
+
#endif
diff --git a/systems/vnc/vnc.c b/systems/vnc/vnc.c
index d37dabd..4357dc4 100644
--- a/systems/vnc/vnc.c
+++ b/systems/vnc/vnc.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -61,8 +61,20 @@
DFB_CORE_SYSTEM( vnc )
-DFBVNC *dfb_vnc = NULL;
-CoreDFB *dfb_vnc_core = NULL;
+static DFBVNC *dfb_vnc;
+
+static FusionCallHandlerResult
+VNC_Dispatch( int caller,
+ int call_arg,
+ void *call_ptr,
+ unsigned int length,
+ void *ctx,
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length );
+
+/**********************************************************************************************************************/
static void
system_get_info( CoreSystemInfo *info )
@@ -75,27 +87,30 @@ system_get_info( CoreSystemInfo *info )
static DFBResult
system_initialize( CoreDFB *core, void **data )
{
- CoreScreen *core_screen;
-
D_ASSERT( dfb_vnc == NULL );
- dfb_vnc = (DFBVNC*) SHCALLOC( dfb_core_shmpool(core), 1, sizeof(DFBVNC) );
- if (!dfb_vnc) {
- D_ERROR( "DirectFB/VNC: Couldn't allocate shared memory!\n" );
+ dfb_vnc = (DFBVNC*) D_CALLOC( 1, sizeof(DFBVNC) );
+ if (!dfb_vnc)
+ return D_OOM();
+
+ dfb_vnc->core = core;
+
+ dfb_vnc->shared = (DFBVNCShared*) SHCALLOC( dfb_core_shmpool(core), 1, sizeof(DFBVNCShared) );
+ if (!dfb_vnc->shared) {
+ D_FREE( dfb_vnc );
return D_OOSHM();
}
- dfb_vnc_core = core;
+ dfb_vnc->shared->screen_size.w = dfb_config->mode.width ? dfb_config->mode.width : 1280;
+ dfb_vnc->shared->screen_size.h = dfb_config->mode.height ? dfb_config->mode.height : 720;
- fusion_skirmish_init( &dfb_vnc->lock, "VNC System", dfb_core_world(core) );
+ fusion_call_init3( &dfb_vnc->shared->call, VNC_Dispatch, dfb_vnc, dfb_core_world(core) );
- fusion_call_init( &dfb_vnc->call, dfb_vnc_call_handler, NULL, dfb_core_world(core) );
+ dfb_vnc->screen = dfb_screens_register( NULL, dfb_vnc, vncPrimaryScreenFuncs );
- core_screen = dfb_screens_register( NULL, NULL, vncPrimaryScreenFuncs );
+ dfb_vnc->layer = dfb_layers_register( dfb_vnc->screen, dfb_vnc, vncPrimaryLayerFuncs );
- dfb_layers_register( core_screen, NULL, vncPrimaryLayerFuncs );
-
- fusion_arena_add_shared_field( dfb_core_arena( core ), "vnc", dfb_vnc );
+ fusion_arena_add_shared_field( dfb_core_arena( core ), "vnc", dfb_vnc->shared );
*data = dfb_vnc;
@@ -105,19 +120,23 @@ system_initialize( CoreDFB *core, void **data )
static DFBResult
system_join( CoreDFB *core, void **data )
{
- void *ret;
- CoreScreen *core_screen;
+ void *ret;
D_ASSERT( dfb_vnc == NULL );
fusion_arena_get_shared_field( dfb_core_arena( core ), "vnc", &ret );
- dfb_vnc = ret;
- dfb_vnc_core = core;
+ dfb_vnc = (DFBVNC*) D_CALLOC( 1, sizeof(DFBVNC) );
+ if (!dfb_vnc)
+ return D_OOM();
+
+ dfb_vnc->core = core;
+
+ dfb_vnc->shared = ret;
- core_screen = dfb_screens_register( NULL, NULL, vncPrimaryScreenFuncs );
+ dfb_vnc->screen = dfb_screens_register( NULL, dfb_vnc, vncPrimaryScreenFuncs );
- dfb_layers_register( core_screen, NULL, vncPrimaryLayerFuncs );
+ dfb_vnc->layer = dfb_layers_register( dfb_vnc->screen, dfb_vnc, vncPrimaryLayerFuncs );
*data = dfb_vnc;
@@ -129,15 +148,12 @@ system_shutdown( bool emergency )
{
D_ASSERT( dfb_vnc != NULL );
- fusion_call_destroy( &dfb_vnc->call );
+ fusion_call_destroy( &dfb_vnc->shared->call );
- fusion_skirmish_prevail( &dfb_vnc->lock );
+ SHFREE( dfb_core_shmpool(dfb_vnc->core), dfb_vnc->shared );
- fusion_skirmish_destroy( &dfb_vnc->lock );
-
- SHFREE( dfb_core_shmpool(dfb_vnc_core), dfb_vnc );
+ D_FREE( dfb_vnc );
dfb_vnc = NULL;
- dfb_vnc_core = NULL;
return DFB_OK;
}
@@ -147,8 +163,8 @@ system_leave( bool emergency )
{
D_ASSERT( dfb_vnc != NULL );
+ D_FREE( dfb_vnc );
dfb_vnc = NULL;
- dfb_vnc_core = NULL;
return DFB_OK;
}
@@ -255,6 +271,27 @@ system_get_busid( int *ret_bus, int *ret_dev, int *ret_func )
return;
}
+static int
+system_surface_data_size( void )
+{
+ /* Return zero because shared surface data is unneeded. */
+ return 0;
+}
+
+static void
+system_surface_data_init( CoreSurface *surface, void *data )
+{
+ /* Ignore since unneeded. */
+ return;
+}
+
+static void
+system_surface_data_destroy( CoreSurface *surface, void *data )
+{
+ /* Ignore since unneeded. */
+ return;
+}
+
static void
system_get_deviceid( unsigned int *ret_vendor_id,
unsigned int *ret_device_id )
@@ -262,3 +299,40 @@ system_get_deviceid( unsigned int *ret_vendor_id,
return;
}
+/**********************************************************************************************************************/
+
+static int
+VNC_Dispatch_MarkRectAsModified( DFBVNC *vnc,
+ DFBVNCMarkRectAsModified *mark )
+{
+ rfbMarkRectAsModified( vnc->rfb_screen, mark->region.x1, mark->region.y1, mark->region.x2 + 1, mark->region.y2 + 1 );
+
+ return 0;
+}
+
+static FusionCallHandlerResult
+VNC_Dispatch( int caller,
+ int call_arg,
+ void *call_ptr,
+ unsigned int length,
+ void *ctx,
+ unsigned int serial,
+ void *ret_ptr,
+ unsigned int ret_size,
+ unsigned int *ret_length )
+{
+ DFBVNC *vnc = ctx;
+
+ switch (call_arg) {
+ case VNC_MARK_RECT_AS_MODIFIED:
+ VNC_Dispatch_MarkRectAsModified( vnc, call_ptr );
+ break;
+
+ default:
+ D_BUG( "unknown call" );
+ break;
+ }
+
+ return FCHR_RETURN;
+}
+
diff --git a/systems/vnc/vnc.h b/systems/vnc/vnc.h
index 118030c..3b68e9a 100644
--- a/systems/vnc/vnc.h
+++ b/systems/vnc/vnc.h
@@ -29,18 +29,43 @@
#ifndef __VNC__VNC_H__
#define __VNC__VNC_H__
+#include <directfb.h>
+
+#include <rfb/rfb.h>
+
#include <fusion/call.h>
#include <fusion/lock.h>
+#include <core/layers.h>
+#include <core/screens.h>
+
+
typedef struct {
- FusionSkirmish lock;
- FusionCall call;
+ FusionCall call;
+
+ DFBDimension screen_size;
+ CoreSurface *screen_surface;
+} DFBVNCShared;
- CoreSurface *primary;
- CoreDFB *core;
-
+typedef struct {
+ DFBVNCShared *shared;
+
+ CoreDFB *core;
+
+ CoreScreen *screen;
+ CoreLayer *layer;
+
+ rfbScreenInfoPtr rfb_screen;
+ CoreSurfaceBufferLock buffer_lock;
} DFBVNC;
+typedef enum {
+ VNC_MARK_RECT_AS_MODIFIED,
+} DFBVNCCall;
+
+typedef struct {
+ DFBRegion region;
+} DFBVNCMarkRectAsModified;
#endif
diff --git a/systems/vnc/vncinput.c b/systems/vnc/vncinput.c
index d201322..e693bba 100644
--- a/systems/vnc/vncinput.c
+++ b/systems/vnc/vncinput.c
@@ -36,6 +36,9 @@
DFB_INPUT_DRIVER( vncinput )
+
+CoreInputDevice *vncInputDevice = NULL;
+
/* exported symbols */
/*
@@ -79,6 +82,8 @@ driver_open_device( CoreInputDevice *device,
InputDeviceInfo *info,
void **driver_data )
{
+ vncInputDevice = device;
+
/* set device name */
snprintf( info->desc.name,
DFB_INPUT_DEVICE_DESC_NAME_LENGTH, "VNC Input" );
diff --git a/systems/x11/Makefile.am b/systems/x11/Makefile.am
index 23c0b88..a4cde9f 100644
--- a/systems/x11/Makefile.am
+++ b/systems/x11/Makefile.am
@@ -1,9 +1,9 @@
# Makefile.am for DirectFB/systems/x11
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/gfxdrivers \
diff --git a/systems/x11/Makefile.in b/systems/x11/Makefile.in
index 80c18f5..261cfb1 100644
--- a/systems/x11/Makefile.in
+++ b/systems/x11/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -19,8 +20,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -54,14 +56,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(systemsdir)" "$(DESTDIR)$(systemsdir)"
-systemsLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(systems_LTLIBRARIES)
libdirectfb_x11_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -79,30 +102,48 @@ am_libdirectfb_x11_la_OBJECTS = primary.lo surfacemanager.lo \
vpsmem_surface_pool.lo x11.lo x11image.lo x11input.lo \
x11_surface_pool.lo xwindow.lo $(am__objects_1)
libdirectfb_x11_la_OBJECTS = $(am_libdirectfb_x11_la_OBJECTS)
-libdirectfb_x11_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfb_x11_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfb_x11_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfb_x11_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfb_x11_la_SOURCES)
DIST_SOURCES = $(am__libdirectfb_x11_la_SOURCES_DIST)
-systemsDATA_INSTALL = $(INSTALL_DATA)
DATA = $(systems_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -126,11 +167,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -144,16 +188,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -174,12 +219,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -190,21 +238,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -212,6 +268,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -225,6 +285,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -232,9 +293,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -281,12 +343,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/gfxdrivers \
@@ -315,14 +378,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/x11/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu systems/x11/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu systems/x11/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu systems/x11/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -332,6 +395,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -340,23 +404,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-systemsLTLIBRARIES: $(systems_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(systemsdir)" || $(MKDIR_P) "$(DESTDIR)$(systemsdir)"
- @list='$(systems_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(systems_LTLIBRARIES)'; test -n "$(systemsdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(systemsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(systemsdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(systemsLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(systemsdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(systemsdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(systemsdir)"; \
+ }
uninstall-systemsLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(systems_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(systemsdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(systemsdir)/$$p"; \
+ @list='$(systems_LTLIBRARIES)'; test -n "$(systemsdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(systemsdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(systemsdir)/$$f"; \
done
clean-systemsLTLIBRARIES:
@@ -367,8 +436,8 @@ clean-systemsLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfb_x11.la: $(libdirectfb_x11_la_OBJECTS) $(libdirectfb_x11_la_DEPENDENCIES)
- $(libdirectfb_x11_la_LINK) -rpath $(systemsdir) $(libdirectfb_x11_la_OBJECTS) $(libdirectfb_x11_la_LIBADD) $(LIBS)
+libdirectfb_x11.la: $(libdirectfb_x11_la_OBJECTS) $(libdirectfb_x11_la_DEPENDENCIES) $(EXTRA_libdirectfb_x11_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfb_x11_la_LINK) -rpath $(systemsdir) $(libdirectfb_x11_la_OBJECTS) $(libdirectfb_x11_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -388,25 +457,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xwindow.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -416,34 +485,35 @@ clean-libtool:
install-systemsDATA: $(systems_DATA)
@$(NORMAL_INSTALL)
test -z "$(systemsdir)" || $(MKDIR_P) "$(DESTDIR)$(systemsdir)"
- @list='$(systems_DATA)'; for p in $$list; do \
+ @list='$(systems_DATA)'; test -n "$(systemsdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(systemsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(systemsdir)/$$f'"; \
- $(systemsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(systemsdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemsdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(systemsdir)" || exit $$?; \
done
uninstall-systemsDATA:
@$(NORMAL_UNINSTALL)
- @list='$(systems_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(systemsdir)/$$f'"; \
- rm -f "$(DESTDIR)$(systemsdir)/$$f"; \
- done
+ @list='$(systems_DATA)'; test -n "$(systemsdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(systemsdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -451,29 +521,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -494,13 +569,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -521,16 +600,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -552,6 +637,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -560,18 +647,28 @@ install-data-am: install-systemsDATA install-systemsLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -620,6 +717,7 @@ uninstall-am: uninstall-systemsDATA uninstall-systemsLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/systems/x11/glx_surface_pool.c b/systems/x11/glx_surface_pool.c
index 98b909d..554582c 100644
--- a/systems/x11/glx_surface_pool.c
+++ b/systems/x11/glx_surface_pool.c
@@ -127,11 +127,8 @@ InitLocal( glxPoolLocalData *local,
GLX_BLUE_SIZE,
8,
- GLX_ALPHA_SIZE,
- 8,
-
GLX_DEPTH_SIZE,
- 8,
+ 16,
GLX_X_VISUAL_TYPE,
GLX_TRUE_COLOR,
@@ -168,18 +165,34 @@ InitLocal( glxPoolLocalData *local,
D_DEBUG_AT( GLX_Surfaces, " -> found %d configs\n", local->num_configs );
for (i=0; i<local->num_configs; i++) {
- int depth;
+ int red_size;
+ int green_size;
+ int blue_size;
+ int alpha_size;
+ int buffer_size;
+
XVisualInfo *info = glXGetVisualFromFBConfig( local->display, local->configs[i] );
-
- glXGetFBConfigAttrib( local->display, local->configs[i], GLX_DEPTH_SIZE, &depth );
-
- D_DEBUG_AT( GLX_Surfaces, " [%2d] ID 0x%02lx, depth %d, RGB 0x%06lx/0x%06lx/0x%06lx {%d}, class %d, z %d\n",
- i, info->visualid, info->depth,
+
+ /*
+ * According to the GLX specification, GLX_BUFFER_SIZE is the sum of
+ * RED_SIZE, GREEN_SIZE, BLUE_SIZE and ALPHA_SIZE.
+ * Since GLX_BUFFER_SIZE is often reported as 32 bit even if ALPHA_SIZE is 0,
+ * lets calculate the value by ourselves.
+ */
+ glXGetFBConfigAttrib( local->display, local->configs[i], GLX_RED_SIZE, &red_size );
+ glXGetFBConfigAttrib( local->display, local->configs[i], GLX_GREEN_SIZE, &green_size );
+ glXGetFBConfigAttrib( local->display, local->configs[i], GLX_BLUE_SIZE, &blue_size );
+ glXGetFBConfigAttrib( local->display, local->configs[i], GLX_ALPHA_SIZE, &alpha_size );
+
+ buffer_size = red_size + green_size + blue_size + alpha_size;
+
+ D_DEBUG_AT( GLX_Surfaces, " [%2d] ID 0x%02lx, buffer_size %d, RGB 0x%06lx/0x%06lx/0x%06lx {%d}, class %d, z %d\n",
+ i, info->visualid, buffer_size,
info->red_mask, info->green_mask, info->blue_mask,
- info->bits_per_rgb, info->class, depth );
+ info->bits_per_rgb, info->class, info->depth );
- if (depth >= 8 && info->class == TrueColor) {
- switch (info->depth) {
+ if (info->class == TrueColor) {
+ switch (buffer_size) {
case 32:
local->config32 = local->configs[i];
local->visual32 = info->visual;
@@ -330,7 +343,7 @@ DestroyPixmap( glxPoolLocalData *local,
glXWaitX();
- glDeleteTextures( 1, &pixmap->buffer.texture );
+//FIXME: crashes without proper context glDeleteTextures( 1, &pixmap->buffer.texture );
XFreeGC( local->display, pixmap->gc );
@@ -481,6 +494,9 @@ glxAllocateBuffer( CoreSurfacePool *pool,
alloc->depth = DFB_COLOR_BITS_PER_PIXEL( buffer->format ) + DFB_ALPHA_BITS_PER_PIXEL( buffer->format );
+ if (surface->type & CSTF_LAYER)
+ alloc->depth = 24;
+
/*
* Create a pixmap
*/
diff --git a/systems/x11/primary.c b/systems/x11/primary.c
index 923e124..8e8ef4f 100644
--- a/systems/x11/primary.c
+++ b/systems/x11/primary.c
@@ -95,11 +95,10 @@ dfb_x11_destroy_window( DFBX11 *x11, X11LayerData *lds )
{
int ret;
DFBX11Shared *shared = x11->shared;
- DestroyData destroy;
- destroy.xw = &(lds->xw);
+ shared->destroy.xw = &(lds->xw);
- if (fusion_call_execute( &shared->call, FCEF_NONE, X11_DESTROY_WINDOW, &destroy, &ret ))
+ if (fusion_call_execute( &shared->call, FCEF_NONE, X11_DESTROY_WINDOW, &shared->destroy, &ret ))
return DFB_FUSION;
return ret;
@@ -154,7 +153,8 @@ primaryInitScreen( CoreScreen *screen,
D_DEBUG_AT( X11_Layer, "%s()\n", __FUNCTION__ );
/* Set the screen capabilities. */
- description->caps = DSCCAPS_NONE;
+ description->caps = DSCCAPS_OUTPUTS;
+ description->outputs = 1;
/* Set the screen name. */
snprintf( description->name,
@@ -181,9 +181,86 @@ primaryGetScreenSize( CoreScreen *screen,
return DFB_OK;
}
+static DFBResult
+primaryInitOutput( CoreScreen *screen,
+ void *driver_data,
+ void *screen_data,
+ int output,
+ DFBScreenOutputDescription *description,
+ DFBScreenOutputConfig *config )
+{
+ DFBX11 *x11 = driver_data;
+ DFBX11Shared *shared = x11->shared;
+
+ (void) shared;
+
+ D_DEBUG_AT( X11_Layer, "%s()\n", __FUNCTION__ );
+
+ description->caps = DSOCAPS_RESOLUTION;
+
+ config->flags |= DSOCONF_RESOLUTION;
+ config->resolution = DSOR_UNKNOWN;
+
+ return DFB_OK;
+}
+
+static DFBResult
+primaryTestOutputConfig( CoreScreen *screen,
+ void *driver_data,
+ void *screen_data,
+ int output,
+ const DFBScreenOutputConfig *config,
+ DFBScreenOutputConfigFlags *failed )
+{
+ DFBX11 *x11 = driver_data;
+ DFBX11Shared *shared = x11->shared;
+
+ (void) shared;
+
+ D_DEBUG_AT( X11_Layer, "%s()\n", __FUNCTION__ );
+
+ return DFB_OK;
+}
+
+static DFBResult
+primarySetOutputConfig( CoreScreen *screen,
+ void *driver_data,
+ void *screen_data,
+ int output,
+ const DFBScreenOutputConfig *config )
+{
+ DFBX11 *x11 = driver_data;
+ DFBX11Shared *shared = x11->shared;
+
+ int hor[] = { 640,720,720,800,1024,1152,1280,1280,1280,1280,1400,1600,1920 };
+ int ver[] = { 480,480,576,600, 768, 864, 720, 768, 960,1024,1050,1200,1080 };
+
+ int res;
+
+ D_DEBUG_AT( X11_Layer, "%s()\n", __FUNCTION__ );
+
+ (void)output; /* all outputs are active */
+
+ /* we support screen resizing only */
+ if (config->flags != DSOCONF_RESOLUTION)
+ return DFB_INVARG;
+
+ res = D_BITn32(config->resolution);
+ if ( (res == -1) || (res >= D_ARRAY_SIZE(hor)) )
+ return DFB_INVARG;
+
+ shared->screen_size.w = hor[res];
+ shared->screen_size.h = ver[res];
+
+ return DFB_OK;
+}
+
static ScreenFuncs primaryScreenFuncs = {
- .InitScreen = primaryInitScreen,
- .GetScreenSize = primaryGetScreenSize,
+ .InitScreen = primaryInitScreen,
+ .GetScreenSize = primaryGetScreenSize,
+ .InitOutput = primaryInitOutput,
+ .TestOutputConfig = primaryTestOutputConfig,
+ .SetOutputConfig = primarySetOutputConfig
};
ScreenFuncs *x11PrimaryScreenFuncs = &primaryScreenFuncs;
@@ -324,6 +401,7 @@ primaryTestRegion( CoreLayer *layer,
case DSPF_UYVY:
case DSPF_ARGB8565:
case DSPF_YUV444P:
+ case DSPF_YV16:
break;
default:
@@ -371,6 +449,9 @@ primarySetRegion( CoreLayer *layer,
D_DEBUG_AT( X11_Layer, "%s()\n", __FUNCTION__ );
+ if (x11->shared->x_error)
+ return DFB_FAILURE;
+
ret = dfb_x11_create_window( x11, lds, config );
if (ret)
return ret;
@@ -392,6 +473,9 @@ primaryRemoveRegion( CoreLayer *layer,
D_DEBUG_AT( X11_Layer, "%s()\n", __FUNCTION__ );
+ if (x11->shared->x_error)
+ return DFB_FAILURE;
+
dfb_x11_destroy_window( x11, lds );
return DFB_OK;
@@ -413,8 +497,13 @@ primaryFlipRegion( CoreLayer *layer,
D_DEBUG_AT( X11_Layer, "%s()\n", __FUNCTION__ );
+ if (x11->shared->x_error)
+ return DFB_FAILURE;
+
dfb_surface_flip( surface, false );
+ dfb_surface_notify_display( surface, lock->buffer );
+
return dfb_x11_update_screen( x11, lds, ®ion, lock );
}
@@ -434,6 +523,9 @@ primaryUpdateRegion( CoreLayer *layer,
D_DEBUG_AT( X11_Layer, "%s()\n", __FUNCTION__ );
+ if (x11->shared->x_error)
+ return DFB_FAILURE;
+
if (update && !dfb_region_region_intersect( ®ion, update ))
return DFB_OK;
diff --git a/systems/x11/surfacemanager.c b/systems/x11/surfacemanager.c
index e9f697a..65aa7eb 100644
--- a/systems/x11/surfacemanager.c
+++ b/systems/x11/surfacemanager.c
@@ -267,7 +267,7 @@ DFBResult dfb_surfacemanager_displace( CoreDFB *core,
allocation = chunk->allocation;
if (allocation) {
CoreSurfaceBuffer *other;
- int size;
+ int size, locks;
D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
D_ASSERT( chunk->buffer == allocation->buffer );
@@ -276,8 +276,9 @@ DFBResult dfb_surfacemanager_displace( CoreDFB *core,
other = allocation->buffer;
D_MAGIC_ASSERT( other, CoreSurfaceBuffer );
- if (other->locked) {
- D_DEBUG_AT( SurfMan, " ++ %7d locked %dx\n", allocation->size, other->locked );
+ locks = dfb_surface_allocation_locks( allocation );
+ if (locks) {
+ D_DEBUG_AT( SurfMan, " ++ %7d locked %dx\n", allocation->size, locks );
goto next_reset;
}
diff --git a/systems/x11/x11.c b/systems/x11/x11.c
index 299ab90..8c4dcc3 100644
--- a/systems/x11/x11.c
+++ b/systems/x11/x11.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -113,10 +113,28 @@ static FusionCallHandlerResult call_handler( int caller,
/**********************************************************************************************************************/
+static DFBX11Shared *shared_for_error_handler;
+
+static int
+error_handler( Display *display, XErrorEvent *event )
+{
+ char buf[512];
+
+ D_DEBUG_AT( X11_Core, "%s()\n", __FUNCTION__ );
+
+ XGetErrorText( display, event->error_code, buf, sizeof(buf) );
+
+ D_ERROR( "X11/Core: Error! %s\n", buf );
+
+ shared_for_error_handler->x_error = True;
+
+ return 0;
+}
+
static DFBResult
InitLocal( DFBX11 *x11, DFBX11Shared *shared, CoreDFB *core )
{
- int i, n;
+ int i, n, d;
XInitThreads();
@@ -131,6 +149,7 @@ InitLocal( DFBX11 *x11, DFBX11Shared *shared, CoreDFB *core )
x11->screenptr = DefaultScreenOfDisplay(x11->display);
x11->screennum = DefaultScreen(x11->display);
+ d = DefaultDepthOfScreen(x11->screenptr);
for (i=0; i<x11->screenptr->ndepths; i++) {
const Depth *depth = &x11->screenptr->depths[i];
@@ -143,6 +162,9 @@ InitLocal( DFBX11 *x11, DFBX11Shared *shared, CoreDFB *core )
visual->red_mask, visual->green_mask, visual->blue_mask,
visual->bits_per_rgb, visual->map_entries );
+ if (depth->depth != d)
+ continue;
+
switch (depth->depth) {
case 32:
if (visual->red_mask == 0xff0000 &&
@@ -224,6 +246,10 @@ system_initialize( CoreDFB *core, void **data )
return D_OOSHM();
}
+ /* we need the error handler to signal the error to us, so
+ use a global static */
+ shared_for_error_handler = shared;
+ XSetErrorHandler( error_handler );
/*
* Local init (master and slave)
@@ -531,6 +557,25 @@ system_get_busid( int *ret_bus, int *ret_dev, int *ret_func )
{
}
+static int
+system_surface_data_size( void )
+{
+ /* Return zero because shared surface data is unneeded. */
+ return 0;
+}
+
+static void
+system_surface_data_init( CoreSurface *surface, void *data )
+{
+ /* Ignore since unneeded. */
+}
+
+static void
+system_surface_data_destroy( CoreSurface *surface, void *data )
+{
+ /* Ignore since unneeded. */
+}
+
static void
system_get_deviceid( unsigned int *ret_vendor_id,
unsigned int *ret_device_id )
diff --git a/systems/x11/x11.h b/systems/x11/x11.h
index 72cef87..64837cd 100644
--- a/systems/x11/x11.h
+++ b/systems/x11/x11.h
@@ -57,6 +57,7 @@ typedef struct {
typedef struct {
UpdateScreenData update;
SetModeData setmode;
+ DestroyData destroy;
FusionSkirmish lock;
FusionCall call;
@@ -76,6 +77,7 @@ typedef struct {
int window_count; /* merely for optimizing wait loop */
+ Bool x_error;
} DFBX11Shared;
struct __DFB_X11 {
diff --git a/systems/x11/x11_surface_pool.c b/systems/x11/x11_surface_pool.c
index 680cc48..6a7f908 100644
--- a/systems/x11/x11_surface_pool.c
+++ b/systems/x11/x11_surface_pool.c
@@ -98,7 +98,7 @@ x11InitPool( CoreDFB *core,
ret_desc->caps = CSPCAPS_VIRTUAL;
ret_desc->access[CSAID_CPU] = CSAF_READ | CSAF_WRITE | CSAF_SHARED;
ret_desc->types = CSTF_LAYER | CSTF_WINDOW | CSTF_CURSOR | CSTF_FONT | CSTF_SHARED | CSTF_EXTERNAL;
- ret_desc->priority = CSPP_ULTIMATE;
+ ret_desc->priority = CSPP_DEFAULT;
/* For showing our X11 window */
ret_desc->access[CSAID_LAYER0] = CSAF_READ;
@@ -250,7 +250,6 @@ x11DeallocateBuffer( CoreSurfacePool *pool,
D_DEBUG_AT( X11_Surfaces, "%s()\n", __FUNCTION__ );
D_MAGIC_ASSERT( pool, CoreSurfacePool );
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
CORE_SURFACE_ALLOCATION_ASSERT( allocation );
@@ -276,8 +275,6 @@ x11Lock( CoreSurfacePool *pool,
x11AllocationData *alloc = alloc_data;
DFBX11 *x11 = local->x11;
DFBX11Shared *shared = x11->shared;
- CoreSurfaceBuffer *buffer;
- CoreSurface *surface;
D_DEBUG_AT( X11_Surfaces, "%s( %p )\n", __FUNCTION__, allocation );
@@ -285,12 +282,6 @@ x11Lock( CoreSurfacePool *pool,
D_MAGIC_ASSERT( allocation, CoreSurfaceAllocation );
D_MAGIC_ASSERT( lock, CoreSurfaceBufferLock );
- buffer = allocation->buffer;
- D_MAGIC_ASSERT( buffer, CoreSurfaceBuffer );
-
- surface = buffer->surface;
- D_MAGIC_ASSERT( surface, CoreSurface );
-
D_ASSERT( local->hash != NULL );
pthread_mutex_lock( &local->lock );
@@ -317,8 +308,10 @@ x11Lock( CoreSurfacePool *pool,
else {
if (!alloc->ptr) {
alloc->ptr = SHCALLOC( shared->data_shmpool, 1, allocation->size );
- if (!alloc->ptr)
+ if (!alloc->ptr) {
+ pthread_mutex_unlock( &local->lock );
return D_OOSHM();
+ }
}
lock->addr = alloc->ptr;
diff --git a/systems/x11/x11input.c b/systems/x11/x11input.c
index c52a7ad..7be73b1 100644
--- a/systems/x11/x11input.c
+++ b/systems/x11/x11input.c
@@ -490,13 +490,19 @@ handle_expose( const XExposeEvent *expose )
dfb_layer_region_lock( region );
/* Get the surface of the region. */
- if (region->surface && region->surface_lock.buffer) {
- DFBRegion update = { expose->x, expose->y,
- expose->x + expose->width - 1,
- expose->y + expose->height - 1 };
+ if (region->surface) {
+ dfb_surface_lock_buffer( region->surface, CSBR_FRONT, region->surface_accessor, CSAF_READ, ®ion->surface_lock );
- funcs->UpdateRegion( layer, layer->driver_data, layer->layer_data,
- region->region_data, region->surface, &update, ®ion->surface_lock );
+ if (region->surface_lock.buffer) {
+ DFBRegion update = { expose->x, expose->y,
+ expose->x + expose->width - 1,
+ expose->y + expose->height - 1 };
+
+ funcs->UpdateRegion( layer, layer->driver_data, layer->layer_data,
+ region->region_data, region->surface, &update, ®ion->surface_lock );
+ }
+
+ dfb_surface_unlock_buffer(region->surface, ®ion->surface_lock );
}
/* Unlock the region. */
@@ -743,11 +749,11 @@ driver_close_device( void *driver_data )
/* stop input thread */
data->stop = true;
- XLockDisplay( x11->display );
-
- XSync( x11->display, False );
-
- XUnlockDisplay( x11->display );
+ if (!shared->x_error) {
+ XLockDisplay( x11->display );
+ XSync( x11->display, False );
+ XUnlockDisplay( x11->display );
+ }
/* it is possible that this "close" function is called from the same
* thread that the input device is actually running on.
diff --git a/systems/x11/xwindow.c b/systems/x11/xwindow.c
index a516214..30f03c3 100644
--- a/systems/x11/xwindow.c
+++ b/systems/x11/xwindow.c
@@ -78,6 +78,7 @@ dfb_x11_open_window( DFBX11 *x11, XWindow** ppXW, int iXPos, int iYPos, int iWid
{
XWindow *xw;
XSetWindowAttributes attr = { .background_pixmap = 0 };
+ void *old_error_handler = 0;
D_DEBUG_AT( X11_Window, "Creating %4dx%4d %s window...\n", iWidth, iHeight, dfb_pixelformat_name(format) );
@@ -106,7 +107,7 @@ dfb_x11_open_window( DFBX11 *x11, XWindow** ppXW, int iXPos, int iYPos, int iWid
XLockDisplay( x11->display );
- XSetErrorHandler( error_handler );
+ old_error_handler = XSetErrorHandler( error_handler );
error_code = 0;
@@ -147,6 +148,7 @@ dfb_x11_open_window( DFBX11 *x11, XWindow** ppXW, int iXPos, int iYPos, int iWid
xw->gc = XCreateGC(xw->display, xw->window, 0, NULL);
+#if 0
// Create a null cursor
Pixmap pixmp1;
Pixmap pixmp2;
@@ -163,7 +165,7 @@ dfb_x11_open_window( DFBX11 *x11, XWindow** ppXW, int iXPos, int iYPos, int iWid
XFreePixmap ( xw->display, pixmp2 );
XDefineCursor( xw->display, xw->window, xw->NullCursor );
-
+#endif
/* maps the window and raises it to the top of the stack */
XMapRaised( xw->display, xw->window );
@@ -261,14 +263,14 @@ no_shm:
xw->visual->visualid, xw->depth, xw->width, xw->height * 2, xw->virtualscreen, pitch );
XFreeGC(xw->display,xw->gc);
XDestroyWindow(xw->display,xw->window);
- XSetErrorHandler( NULL );
+ XSetErrorHandler( old_error_handler );
XUnlockDisplay( x11->display );
D_FREE( xw );
return False;
}
}
- XSetErrorHandler( NULL );
+ XSetErrorHandler( old_error_handler );
XUnlockDisplay( x11->display );
@@ -293,7 +295,9 @@ dfb_x11_close_window( DFBX11 *x11, XWindow* xw )
XFreeGC( xw->display, xw->gc );
XDestroyWindow( xw->display, xw->window );
+#if 0
XFreeCursor( xw->display, xw->NullCursor );
+#endif
D_FREE( xw );
}
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 42bbeee..7cdd989 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,30 +1,48 @@
## Makefile.am for DirectFB/tests
+if DIRECTFB_BUILD_VOODOO
+SUBDIRS = voodoo
+endif
+
+
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-DLINUX_2_6
+if DIRECTFB_BUILD_PURE_VOODOO
+NON_PURE_VOODOO_PROGS =
+else
+NON_PURE_VOODOO_PROGS = \
+ coretest_blit2 \
+ fusion_call \
+ fusion_fork \
+ fusion_reactor \
+ fusion_skirmish \
+ fusion_stream
+endif
bin_PROGRAMS = \
- coretest_blit2 \
+ $(NON_PURE_VOODOO_PROGS) \
dfbtest_blit \
dfbtest_blit2 \
+ dfbtest_fillrect \
+ dfbtest_font \
dfbtest_mirror \
+ dfbtest_prealloc \
dfbtest_reinit \
+ dfbtest_resize \
dfbtest_scale \
dfbtest_sync \
dfbtest_window \
+ dfbtest_window_cursor \
dfbtest_window_flip_once \
+ dfbtest_window_surface \
direct_stream \
- direct_test \
- fusion_fork \
- fusion_reactor \
- fusion_skirmish \
- fusion_stream
+ direct_test
libdirectfb = $(top_builddir)/src/libdirectfb.la
libfusion = $(top_builddir)/lib/fusion/libfusion.la
@@ -39,12 +57,24 @@ dfbtest_blit_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
dfbtest_blit2_SOURCES = dfbtest_blit2.c
dfbtest_blit2_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
+dfbtest_fillrect_SOURCES = dfbtest_fillrect.c
+dfbtest_fillrect_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
+
+dfbtest_font_SOURCES = dfbtest_font.c
+dfbtest_font_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
+
dfbtest_mirror_SOURCES = dfbtest_mirror.c
dfbtest_mirror_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
+dfbtest_prealloc_SOURCES = dfbtest_prealloc.c
+dfbtest_prealloc_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect)
+
dfbtest_reinit_SOURCES = dfbtest_reinit.c
dfbtest_reinit_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
+dfbtest_resize_SOURCES = dfbtest_resize.c
+dfbtest_resize_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
+
dfbtest_scale_SOURCES = dfbtest_scale.c
dfbtest_scale_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
@@ -54,9 +84,14 @@ dfbtest_sync_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
dfbtest_window_SOURCES = dfbtest_window.c
dfbtest_window_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
+dfbtest_window_cursor_SOURCES = dfbtest_window_cursor.c
+dfbtest_window_cursor_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect)
+
dfbtest_window_flip_once_SOURCES = dfbtest_window_flip_once.c
dfbtest_window_flip_once_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
+dfbtest_window_surface_SOURCES = dfbtest_window_surface.c
+dfbtest_window_surface_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
direct_stream_SOURCES = direct_stream.c
direct_stream_LDADD = $(libdirect)
@@ -65,6 +100,9 @@ direct_test_SOURCES = direct_test.c
direct_test_LDADD = $(libdirect)
+fusion_call_SOURCES = fusion_call.c
+fusion_call_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
+
fusion_fork_SOURCES = fusion_fork.c
fusion_fork_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 97ca496..8311014 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,8 +17,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -33,14 +35,16 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-bin_PROGRAMS = coretest_blit2$(EXEEXT) dfbtest_blit$(EXEEXT) \
- dfbtest_blit2$(EXEEXT) dfbtest_mirror$(EXEEXT) \
- dfbtest_reinit$(EXEEXT) dfbtest_scale$(EXEEXT) \
+bin_PROGRAMS = $(am__EXEEXT_1) dfbtest_blit$(EXEEXT) \
+ dfbtest_blit2$(EXEEXT) dfbtest_fillrect$(EXEEXT) \
+ dfbtest_font$(EXEEXT) dfbtest_mirror$(EXEEXT) \
+ dfbtest_prealloc$(EXEEXT) dfbtest_reinit$(EXEEXT) \
+ dfbtest_resize$(EXEEXT) dfbtest_scale$(EXEEXT) \
dfbtest_sync$(EXEEXT) dfbtest_window$(EXEEXT) \
- dfbtest_window_flip_once$(EXEEXT) direct_stream$(EXEEXT) \
- direct_test$(EXEEXT) fusion_fork$(EXEEXT) \
- fusion_reactor$(EXEEXT) fusion_skirmish$(EXEEXT) \
- fusion_stream$(EXEEXT)
+ dfbtest_window_cursor$(EXEEXT) \
+ dfbtest_window_flip_once$(EXEEXT) \
+ dfbtest_window_surface$(EXEEXT) direct_stream$(EXEEXT) \
+ direct_test$(EXEEXT)
subdir = tests
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -51,24 +55,48 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@am__EXEEXT_1 = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ coretest_blit2$(EXEEXT) \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ fusion_call$(EXEEXT) \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ fusion_fork$(EXEEXT) \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ fusion_reactor$(EXEEXT) \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ fusion_skirmish$(EXEEXT) \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ fusion_stream$(EXEEXT)
am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am_coretest_blit2_OBJECTS = coretest_blit2.$(OBJEXT)
coretest_blit2_OBJECTS = $(am_coretest_blit2_OBJECTS)
coretest_blit2_DEPENDENCIES = $(libdirectfb) $(libfusion) $(libdirect)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
am_dfbtest_blit_OBJECTS = dfbtest_blit.$(OBJEXT)
dfbtest_blit_OBJECTS = $(am_dfbtest_blit_OBJECTS)
dfbtest_blit_DEPENDENCIES = $(libdirectfb) $(libfusion) $(libdirect)
am_dfbtest_blit2_OBJECTS = dfbtest_blit2.$(OBJEXT)
dfbtest_blit2_OBJECTS = $(am_dfbtest_blit2_OBJECTS)
dfbtest_blit2_DEPENDENCIES = $(libdirectfb) $(libfusion) $(libdirect)
+am_dfbtest_fillrect_OBJECTS = dfbtest_fillrect.$(OBJEXT)
+dfbtest_fillrect_OBJECTS = $(am_dfbtest_fillrect_OBJECTS)
+dfbtest_fillrect_DEPENDENCIES = $(libdirectfb) $(libfusion) \
+ $(libdirect)
+am_dfbtest_font_OBJECTS = dfbtest_font.$(OBJEXT)
+dfbtest_font_OBJECTS = $(am_dfbtest_font_OBJECTS)
+dfbtest_font_DEPENDENCIES = $(libdirectfb) $(libfusion) $(libdirect)
am_dfbtest_mirror_OBJECTS = dfbtest_mirror.$(OBJEXT)
dfbtest_mirror_OBJECTS = $(am_dfbtest_mirror_OBJECTS)
dfbtest_mirror_DEPENDENCIES = $(libdirectfb) $(libfusion) $(libdirect)
+am_dfbtest_prealloc_OBJECTS = dfbtest_prealloc.$(OBJEXT)
+dfbtest_prealloc_OBJECTS = $(am_dfbtest_prealloc_OBJECTS)
+dfbtest_prealloc_DEPENDENCIES = $(libdirectfb) $(libfusion) \
+ $(libdirect)
am_dfbtest_reinit_OBJECTS = dfbtest_reinit.$(OBJEXT)
dfbtest_reinit_OBJECTS = $(am_dfbtest_reinit_OBJECTS)
dfbtest_reinit_DEPENDENCIES = $(libdirectfb) $(libfusion) $(libdirect)
+am_dfbtest_resize_OBJECTS = dfbtest_resize.$(OBJEXT)
+dfbtest_resize_OBJECTS = $(am_dfbtest_resize_OBJECTS)
+dfbtest_resize_DEPENDENCIES = $(libdirectfb) $(libfusion) $(libdirect)
am_dfbtest_scale_OBJECTS = dfbtest_scale.$(OBJEXT)
dfbtest_scale_OBJECTS = $(am_dfbtest_scale_OBJECTS)
dfbtest_scale_DEPENDENCIES = $(libdirectfb) $(libfusion) $(libdirect)
@@ -78,18 +106,29 @@ dfbtest_sync_DEPENDENCIES = $(libdirectfb) $(libfusion) $(libdirect)
am_dfbtest_window_OBJECTS = dfbtest_window.$(OBJEXT)
dfbtest_window_OBJECTS = $(am_dfbtest_window_OBJECTS)
dfbtest_window_DEPENDENCIES = $(libdirectfb) $(libfusion) $(libdirect)
+am_dfbtest_window_cursor_OBJECTS = dfbtest_window_cursor.$(OBJEXT)
+dfbtest_window_cursor_OBJECTS = $(am_dfbtest_window_cursor_OBJECTS)
+dfbtest_window_cursor_DEPENDENCIES = $(libdirectfb) $(libfusion) \
+ $(libdirect)
am_dfbtest_window_flip_once_OBJECTS = \
dfbtest_window_flip_once.$(OBJEXT)
dfbtest_window_flip_once_OBJECTS = \
$(am_dfbtest_window_flip_once_OBJECTS)
dfbtest_window_flip_once_DEPENDENCIES = $(libdirectfb) $(libfusion) \
$(libdirect)
+am_dfbtest_window_surface_OBJECTS = dfbtest_window_surface.$(OBJEXT)
+dfbtest_window_surface_OBJECTS = $(am_dfbtest_window_surface_OBJECTS)
+dfbtest_window_surface_DEPENDENCIES = $(libdirectfb) $(libfusion) \
+ $(libdirect)
am_direct_stream_OBJECTS = direct_stream.$(OBJEXT)
direct_stream_OBJECTS = $(am_direct_stream_OBJECTS)
direct_stream_DEPENDENCIES = $(libdirect)
am_direct_test_OBJECTS = direct_test.$(OBJEXT)
direct_test_OBJECTS = $(am_direct_test_OBJECTS)
direct_test_DEPENDENCIES = $(libdirect)
+am_fusion_call_OBJECTS = fusion_call.$(OBJEXT)
+fusion_call_OBJECTS = $(am_fusion_call_OBJECTS)
+fusion_call_DEPENDENCIES = $(libdirectfb) $(libfusion) $(libdirect)
am_fusion_fork_OBJECTS = fusion_fork.$(OBJEXT)
fusion_fork_OBJECTS = $(am_fusion_fork_OBJECTS)
fusion_fork_DEPENDENCIES = $(libdirectfb) $(libfusion) $(libdirect)
@@ -106,36 +145,97 @@ fusion_stream_DEPENDENCIES = $(libdirectfb) $(libfusion) $(libdirect)
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(coretest_blit2_SOURCES) $(dfbtest_blit_SOURCES) \
- $(dfbtest_blit2_SOURCES) $(dfbtest_mirror_SOURCES) \
- $(dfbtest_reinit_SOURCES) $(dfbtest_scale_SOURCES) \
+ $(dfbtest_blit2_SOURCES) $(dfbtest_fillrect_SOURCES) \
+ $(dfbtest_font_SOURCES) $(dfbtest_mirror_SOURCES) \
+ $(dfbtest_prealloc_SOURCES) $(dfbtest_reinit_SOURCES) \
+ $(dfbtest_resize_SOURCES) $(dfbtest_scale_SOURCES) \
$(dfbtest_sync_SOURCES) $(dfbtest_window_SOURCES) \
- $(dfbtest_window_flip_once_SOURCES) $(direct_stream_SOURCES) \
- $(direct_test_SOURCES) $(fusion_fork_SOURCES) \
- $(fusion_reactor_SOURCES) $(fusion_skirmish_SOURCES) \
- $(fusion_stream_SOURCES)
+ $(dfbtest_window_cursor_SOURCES) \
+ $(dfbtest_window_flip_once_SOURCES) \
+ $(dfbtest_window_surface_SOURCES) $(direct_stream_SOURCES) \
+ $(direct_test_SOURCES) $(fusion_call_SOURCES) \
+ $(fusion_fork_SOURCES) $(fusion_reactor_SOURCES) \
+ $(fusion_skirmish_SOURCES) $(fusion_stream_SOURCES)
DIST_SOURCES = $(coretest_blit2_SOURCES) $(dfbtest_blit_SOURCES) \
- $(dfbtest_blit2_SOURCES) $(dfbtest_mirror_SOURCES) \
- $(dfbtest_reinit_SOURCES) $(dfbtest_scale_SOURCES) \
+ $(dfbtest_blit2_SOURCES) $(dfbtest_fillrect_SOURCES) \
+ $(dfbtest_font_SOURCES) $(dfbtest_mirror_SOURCES) \
+ $(dfbtest_prealloc_SOURCES) $(dfbtest_reinit_SOURCES) \
+ $(dfbtest_resize_SOURCES) $(dfbtest_scale_SOURCES) \
$(dfbtest_sync_SOURCES) $(dfbtest_window_SOURCES) \
- $(dfbtest_window_flip_once_SOURCES) $(direct_stream_SOURCES) \
- $(direct_test_SOURCES) $(fusion_fork_SOURCES) \
- $(fusion_reactor_SOURCES) $(fusion_skirmish_SOURCES) \
- $(fusion_stream_SOURCES)
+ $(dfbtest_window_cursor_SOURCES) \
+ $(dfbtest_window_flip_once_SOURCES) \
+ $(dfbtest_window_surface_SOURCES) $(direct_stream_SOURCES) \
+ $(direct_test_SOURCES) $(fusion_call_SOURCES) \
+ $(fusion_fork_SOURCES) $(fusion_reactor_SOURCES) \
+ $(fusion_skirmish_SOURCES) $(fusion_stream_SOURCES)
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
+DIST_SUBDIRS = voodoo
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -159,11 +259,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -177,16 +280,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -207,12 +311,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -223,21 +330,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -245,6 +360,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -258,6 +377,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -265,9 +385,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -314,16 +435,27 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
+ at DIRECTFB_BUILD_VOODOO_TRUE@SUBDIRS = voodoo
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-DLINUX_2_6
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@NON_PURE_VOODOO_PROGS = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ coretest_blit2 \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ fusion_call \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ fusion_fork \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ fusion_reactor \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ fusion_skirmish \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ fusion_stream
+
+ at DIRECTFB_BUILD_PURE_VOODOO_TRUE@NON_PURE_VOODOO_PROGS =
libdirectfb = $(top_builddir)/src/libdirectfb.la
libfusion = $(top_builddir)/lib/fusion/libfusion.la
libdirect = $(top_builddir)/lib/direct/libdirect.la
@@ -333,22 +465,36 @@ dfbtest_blit_SOURCES = dfbtest_blit.c
dfbtest_blit_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
dfbtest_blit2_SOURCES = dfbtest_blit2.c
dfbtest_blit2_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
+dfbtest_fillrect_SOURCES = dfbtest_fillrect.c
+dfbtest_fillrect_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
+dfbtest_font_SOURCES = dfbtest_font.c
+dfbtest_font_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
dfbtest_mirror_SOURCES = dfbtest_mirror.c
dfbtest_mirror_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
+dfbtest_prealloc_SOURCES = dfbtest_prealloc.c
+dfbtest_prealloc_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect)
dfbtest_reinit_SOURCES = dfbtest_reinit.c
dfbtest_reinit_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
+dfbtest_resize_SOURCES = dfbtest_resize.c
+dfbtest_resize_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
dfbtest_scale_SOURCES = dfbtest_scale.c
dfbtest_scale_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
dfbtest_sync_SOURCES = dfbtest_sync.c
dfbtest_sync_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
dfbtest_window_SOURCES = dfbtest_window.c
dfbtest_window_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
+dfbtest_window_cursor_SOURCES = dfbtest_window_cursor.c
+dfbtest_window_cursor_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect)
dfbtest_window_flip_once_SOURCES = dfbtest_window_flip_once.c
dfbtest_window_flip_once_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
+dfbtest_window_surface_SOURCES = dfbtest_window_surface.c
+dfbtest_window_surface_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
direct_stream_SOURCES = direct_stream.c
direct_stream_LDADD = $(libdirect)
direct_test_SOURCES = direct_test.c
direct_test_LDADD = $(libdirect)
+fusion_call_SOURCES = fusion_call.c
+fusion_call_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
fusion_fork_SOURCES = fusion_fork.c
fusion_fork_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
fusion_reactor_SOURCES = fusion_reactor.c
@@ -357,7 +503,7 @@ fusion_skirmish_SOURCES = fusion_skirmish.c
fusion_skirmish_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
fusion_stream_SOURCES = fusion_stream.c
fusion_stream_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
-all: all-am
+all: all-recursive
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
@@ -365,14 +511,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -390,79 +536,116 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-coretest_blit2$(EXEEXT): $(coretest_blit2_OBJECTS) $(coretest_blit2_DEPENDENCIES)
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+coretest_blit2$(EXEEXT): $(coretest_blit2_OBJECTS) $(coretest_blit2_DEPENDENCIES) $(EXTRA_coretest_blit2_DEPENDENCIES)
@rm -f coretest_blit2$(EXEEXT)
- $(LINK) $(coretest_blit2_OBJECTS) $(coretest_blit2_LDADD) $(LIBS)
-dfbtest_blit$(EXEEXT): $(dfbtest_blit_OBJECTS) $(dfbtest_blit_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(coretest_blit2_OBJECTS) $(coretest_blit2_LDADD) $(LIBS)
+dfbtest_blit$(EXEEXT): $(dfbtest_blit_OBJECTS) $(dfbtest_blit_DEPENDENCIES) $(EXTRA_dfbtest_blit_DEPENDENCIES)
@rm -f dfbtest_blit$(EXEEXT)
- $(LINK) $(dfbtest_blit_OBJECTS) $(dfbtest_blit_LDADD) $(LIBS)
-dfbtest_blit2$(EXEEXT): $(dfbtest_blit2_OBJECTS) $(dfbtest_blit2_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbtest_blit_OBJECTS) $(dfbtest_blit_LDADD) $(LIBS)
+dfbtest_blit2$(EXEEXT): $(dfbtest_blit2_OBJECTS) $(dfbtest_blit2_DEPENDENCIES) $(EXTRA_dfbtest_blit2_DEPENDENCIES)
@rm -f dfbtest_blit2$(EXEEXT)
- $(LINK) $(dfbtest_blit2_OBJECTS) $(dfbtest_blit2_LDADD) $(LIBS)
-dfbtest_mirror$(EXEEXT): $(dfbtest_mirror_OBJECTS) $(dfbtest_mirror_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbtest_blit2_OBJECTS) $(dfbtest_blit2_LDADD) $(LIBS)
+dfbtest_fillrect$(EXEEXT): $(dfbtest_fillrect_OBJECTS) $(dfbtest_fillrect_DEPENDENCIES) $(EXTRA_dfbtest_fillrect_DEPENDENCIES)
+ @rm -f dfbtest_fillrect$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(dfbtest_fillrect_OBJECTS) $(dfbtest_fillrect_LDADD) $(LIBS)
+dfbtest_font$(EXEEXT): $(dfbtest_font_OBJECTS) $(dfbtest_font_DEPENDENCIES) $(EXTRA_dfbtest_font_DEPENDENCIES)
+ @rm -f dfbtest_font$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(dfbtest_font_OBJECTS) $(dfbtest_font_LDADD) $(LIBS)
+dfbtest_mirror$(EXEEXT): $(dfbtest_mirror_OBJECTS) $(dfbtest_mirror_DEPENDENCIES) $(EXTRA_dfbtest_mirror_DEPENDENCIES)
@rm -f dfbtest_mirror$(EXEEXT)
- $(LINK) $(dfbtest_mirror_OBJECTS) $(dfbtest_mirror_LDADD) $(LIBS)
-dfbtest_reinit$(EXEEXT): $(dfbtest_reinit_OBJECTS) $(dfbtest_reinit_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbtest_mirror_OBJECTS) $(dfbtest_mirror_LDADD) $(LIBS)
+dfbtest_prealloc$(EXEEXT): $(dfbtest_prealloc_OBJECTS) $(dfbtest_prealloc_DEPENDENCIES) $(EXTRA_dfbtest_prealloc_DEPENDENCIES)
+ @rm -f dfbtest_prealloc$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(dfbtest_prealloc_OBJECTS) $(dfbtest_prealloc_LDADD) $(LIBS)
+dfbtest_reinit$(EXEEXT): $(dfbtest_reinit_OBJECTS) $(dfbtest_reinit_DEPENDENCIES) $(EXTRA_dfbtest_reinit_DEPENDENCIES)
@rm -f dfbtest_reinit$(EXEEXT)
- $(LINK) $(dfbtest_reinit_OBJECTS) $(dfbtest_reinit_LDADD) $(LIBS)
-dfbtest_scale$(EXEEXT): $(dfbtest_scale_OBJECTS) $(dfbtest_scale_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbtest_reinit_OBJECTS) $(dfbtest_reinit_LDADD) $(LIBS)
+dfbtest_resize$(EXEEXT): $(dfbtest_resize_OBJECTS) $(dfbtest_resize_DEPENDENCIES) $(EXTRA_dfbtest_resize_DEPENDENCIES)
+ @rm -f dfbtest_resize$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(dfbtest_resize_OBJECTS) $(dfbtest_resize_LDADD) $(LIBS)
+dfbtest_scale$(EXEEXT): $(dfbtest_scale_OBJECTS) $(dfbtest_scale_DEPENDENCIES) $(EXTRA_dfbtest_scale_DEPENDENCIES)
@rm -f dfbtest_scale$(EXEEXT)
- $(LINK) $(dfbtest_scale_OBJECTS) $(dfbtest_scale_LDADD) $(LIBS)
-dfbtest_sync$(EXEEXT): $(dfbtest_sync_OBJECTS) $(dfbtest_sync_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbtest_scale_OBJECTS) $(dfbtest_scale_LDADD) $(LIBS)
+dfbtest_sync$(EXEEXT): $(dfbtest_sync_OBJECTS) $(dfbtest_sync_DEPENDENCIES) $(EXTRA_dfbtest_sync_DEPENDENCIES)
@rm -f dfbtest_sync$(EXEEXT)
- $(LINK) $(dfbtest_sync_OBJECTS) $(dfbtest_sync_LDADD) $(LIBS)
-dfbtest_window$(EXEEXT): $(dfbtest_window_OBJECTS) $(dfbtest_window_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbtest_sync_OBJECTS) $(dfbtest_sync_LDADD) $(LIBS)
+dfbtest_window$(EXEEXT): $(dfbtest_window_OBJECTS) $(dfbtest_window_DEPENDENCIES) $(EXTRA_dfbtest_window_DEPENDENCIES)
@rm -f dfbtest_window$(EXEEXT)
- $(LINK) $(dfbtest_window_OBJECTS) $(dfbtest_window_LDADD) $(LIBS)
-dfbtest_window_flip_once$(EXEEXT): $(dfbtest_window_flip_once_OBJECTS) $(dfbtest_window_flip_once_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbtest_window_OBJECTS) $(dfbtest_window_LDADD) $(LIBS)
+dfbtest_window_cursor$(EXEEXT): $(dfbtest_window_cursor_OBJECTS) $(dfbtest_window_cursor_DEPENDENCIES) $(EXTRA_dfbtest_window_cursor_DEPENDENCIES)
+ @rm -f dfbtest_window_cursor$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(dfbtest_window_cursor_OBJECTS) $(dfbtest_window_cursor_LDADD) $(LIBS)
+dfbtest_window_flip_once$(EXEEXT): $(dfbtest_window_flip_once_OBJECTS) $(dfbtest_window_flip_once_DEPENDENCIES) $(EXTRA_dfbtest_window_flip_once_DEPENDENCIES)
@rm -f dfbtest_window_flip_once$(EXEEXT)
- $(LINK) $(dfbtest_window_flip_once_OBJECTS) $(dfbtest_window_flip_once_LDADD) $(LIBS)
-direct_stream$(EXEEXT): $(direct_stream_OBJECTS) $(direct_stream_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbtest_window_flip_once_OBJECTS) $(dfbtest_window_flip_once_LDADD) $(LIBS)
+dfbtest_window_surface$(EXEEXT): $(dfbtest_window_surface_OBJECTS) $(dfbtest_window_surface_DEPENDENCIES) $(EXTRA_dfbtest_window_surface_DEPENDENCIES)
+ @rm -f dfbtest_window_surface$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(dfbtest_window_surface_OBJECTS) $(dfbtest_window_surface_LDADD) $(LIBS)
+direct_stream$(EXEEXT): $(direct_stream_OBJECTS) $(direct_stream_DEPENDENCIES) $(EXTRA_direct_stream_DEPENDENCIES)
@rm -f direct_stream$(EXEEXT)
- $(LINK) $(direct_stream_OBJECTS) $(direct_stream_LDADD) $(LIBS)
-direct_test$(EXEEXT): $(direct_test_OBJECTS) $(direct_test_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(direct_stream_OBJECTS) $(direct_stream_LDADD) $(LIBS)
+direct_test$(EXEEXT): $(direct_test_OBJECTS) $(direct_test_DEPENDENCIES) $(EXTRA_direct_test_DEPENDENCIES)
@rm -f direct_test$(EXEEXT)
- $(LINK) $(direct_test_OBJECTS) $(direct_test_LDADD) $(LIBS)
-fusion_fork$(EXEEXT): $(fusion_fork_OBJECTS) $(fusion_fork_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(direct_test_OBJECTS) $(direct_test_LDADD) $(LIBS)
+fusion_call$(EXEEXT): $(fusion_call_OBJECTS) $(fusion_call_DEPENDENCIES) $(EXTRA_fusion_call_DEPENDENCIES)
+ @rm -f fusion_call$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fusion_call_OBJECTS) $(fusion_call_LDADD) $(LIBS)
+fusion_fork$(EXEEXT): $(fusion_fork_OBJECTS) $(fusion_fork_DEPENDENCIES) $(EXTRA_fusion_fork_DEPENDENCIES)
@rm -f fusion_fork$(EXEEXT)
- $(LINK) $(fusion_fork_OBJECTS) $(fusion_fork_LDADD) $(LIBS)
-fusion_reactor$(EXEEXT): $(fusion_reactor_OBJECTS) $(fusion_reactor_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(fusion_fork_OBJECTS) $(fusion_fork_LDADD) $(LIBS)
+fusion_reactor$(EXEEXT): $(fusion_reactor_OBJECTS) $(fusion_reactor_DEPENDENCIES) $(EXTRA_fusion_reactor_DEPENDENCIES)
@rm -f fusion_reactor$(EXEEXT)
- $(LINK) $(fusion_reactor_OBJECTS) $(fusion_reactor_LDADD) $(LIBS)
-fusion_skirmish$(EXEEXT): $(fusion_skirmish_OBJECTS) $(fusion_skirmish_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(fusion_reactor_OBJECTS) $(fusion_reactor_LDADD) $(LIBS)
+fusion_skirmish$(EXEEXT): $(fusion_skirmish_OBJECTS) $(fusion_skirmish_DEPENDENCIES) $(EXTRA_fusion_skirmish_DEPENDENCIES)
@rm -f fusion_skirmish$(EXEEXT)
- $(LINK) $(fusion_skirmish_OBJECTS) $(fusion_skirmish_LDADD) $(LIBS)
-fusion_stream$(EXEEXT): $(fusion_stream_OBJECTS) $(fusion_stream_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(fusion_skirmish_OBJECTS) $(fusion_skirmish_LDADD) $(LIBS)
+fusion_stream$(EXEEXT): $(fusion_stream_OBJECTS) $(fusion_stream_DEPENDENCIES) $(EXTRA_fusion_stream_DEPENDENCIES)
@rm -f fusion_stream$(EXEEXT)
- $(LINK) $(fusion_stream_OBJECTS) $(fusion_stream_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(fusion_stream_OBJECTS) $(fusion_stream_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -473,39 +656,46 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/coretest_blit2.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dfbtest_blit.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dfbtest_blit2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dfbtest_fillrect.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dfbtest_font.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dfbtest_mirror.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dfbtest_prealloc.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dfbtest_reinit.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dfbtest_resize.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dfbtest_scale.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dfbtest_sync.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dfbtest_window.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dfbtest_window_cursor.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dfbtest_window_flip_once.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dfbtest_window_surface.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/direct_stream.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/direct_test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fusion_call.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fusion_fork.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fusion_reactor.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fusion_skirmish.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fusion_stream.Po at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -513,49 +703,137 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -576,121 +854,176 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
fi; \
done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
check-am: all-am
-check: check-am
+check: check-recursive
all-am: Makefile $(PROGRAMS)
-installdirs:
+installdirs: installdirs-recursive
+installdirs-am:
for dir in "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-installcheck: installcheck-am
+installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
+clean: clean-recursive
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
-distclean: distclean-am
+distclean: distclean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
-dvi: dvi-am
+dvi: dvi-recursive
dvi-am:
-html: html-am
+html: html-recursive
+
+html-am:
-info: info-am
+info: info-recursive
info-am:
install-data-am:
-install-dvi: install-dvi-am
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
install-exec-am: install-binPROGRAMS
-install-html: install-html-am
+install-html: install-html-recursive
-install-info: install-info-am
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
install-man:
-install-pdf: install-pdf-am
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
-install-ps: install-ps-am
+install-ps: install-ps-recursive
+
+install-ps-am:
installcheck-am:
-maintainer-clean: maintainer-clean-am
+maintainer-clean: maintainer-clean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
-mostlyclean: mostlyclean-am
+mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
-pdf: pdf-am
+pdf: pdf-recursive
pdf-am:
-ps: ps-am
+ps: ps-recursive
ps-am:
uninstall-am: uninstall-binPROGRAMS
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool ctags distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-binPROGRAMS install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-binPROGRAMS \
+ clean-generic clean-libtool ctags ctags-recursive distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-binPROGRAMS install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am \
uninstall-binPROGRAMS
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/tests/dfbtest_blit.c b/tests/dfbtest_blit.c
index 7a9235f..803e127 100644
--- a/tests/dfbtest_blit.c
+++ b/tests/dfbtest_blit.c
@@ -37,6 +37,23 @@
#include <directfb_strings.h>
#include <directfb_util.h>
+
+static const s32 identity_matrix[9] = { 0x10000, 0x00000, 0x00000,
+ 0x00000, 0x10000, 0x00000,
+ 0x00000, 0x00000, 0x10000 };
+
+static const s32 rotate_matrix[9] = { 0x0DDB3, -0x08000, 0x00000,
+ 0x08000, 0x0DDB3, 0x00000,
+ 0x00000, 0x00000, 0x10000 };
+
+static const s32 translate_matrix[9] = { 0x10000, 0x00000, 0x80000,
+ 0x00000, 0x10000, 0xF0000,
+ 0x00000, 0x00000, 0x10000 };
+
+static const s32 shear_matrix[9] = { 0x10000, 0x14000, 0x00000,
+ 0x00000, 0x10000, 0x00000,
+ 0x00000, 0x00000, 0x10000 };
+
static const DirectFBPixelFormatNames( format_names );
/**********************************************************************************************************************/
@@ -106,8 +123,13 @@ print_usage( const char *prg )
fprintf (stderr, " -s, --source <pixelformat> Source pixel format\n");
fprintf (stderr, " -d, --dest <pixelformat> Destination pixel format\n");
fprintf (stderr, " -r, --resize Set destination from source size\n");
+ fprintf (stderr, " -x, --scale Scale from source to destination\n");
fprintf (stderr, " -b, --benchmark Enable benchmarking mode\n");
fprintf (stderr, " -R, --rerender Rerender before every blit (benchmark)\n");
+ fprintf (stderr, " -t, --tile Perform a tile blit\n");
+ fprintf (stderr, " -X, --matrix-translate Enable Matrix translation during blit\n");
+ fprintf (stderr, " -O, --matrix-rotate Enable Matrix rotation during blit\n");
+ fprintf (stderr, " -S, --matrix-shear Enable Matrix shear during blit\n");
return -1;
}
@@ -121,15 +143,20 @@ main( int argc, char *argv[] )
DFBResult ret;
DFBSurfaceDescription desc;
IDirectFB *dfb;
- IDirectFBImageProvider *provider = NULL;
- IDirectFBSurface *source = NULL;
- IDirectFBSurface *dest = NULL;
- const char *url = NULL;
- DFBSurfacePixelFormat source_format = DSPF_UNKNOWN;
- DFBSurfacePixelFormat dest_format = DSPF_UNKNOWN;
- bool dest_resize = false;
- bool benchmark = false;
- bool rerender = false;
+ IDirectFBImageProvider *provider = NULL;
+ IDirectFBSurface *source = NULL;
+ IDirectFBSurface *dest = NULL;
+ const char *url = NULL;
+ DFBSurfacePixelFormat source_format = DSPF_UNKNOWN;
+ DFBSurfacePixelFormat dest_format = DSPF_UNKNOWN;
+ bool dest_resize = false;
+ bool benchmark = false;
+ bool rerender = false;
+ bool scale_enable = false;
+ bool tile = false;
+ bool matrix_translate = false;
+ bool matrix_rotate = false;
+ bool matrix_shear = false;
/* Initialize DirectFB. */
ret = DirectFBInit( &argc, &argv );
@@ -172,6 +199,16 @@ main( int argc, char *argv[] )
benchmark = true;
else if (strcmp (arg, "-R") == 0 || strcmp (arg, "--rerender") == 0)
rerender = true;
+ else if (strcmp (arg, "-x") == 0 || strcmp (arg, "--scale") == 0)
+ scale_enable = true;
+ else if (strcmp (arg, "-t") == 0 || strcmp (arg, "--tile") == 0)
+ tile = true;
+ else if (strcmp (arg, "-X") == 0 || strcmp (arg, "--matrix-translate") == 0)
+ matrix_translate = true;
+ else if (strcmp (arg, "-O") == 0 || strcmp (arg, "--matrix-rotate") == 0)
+ matrix_rotate = true;
+ else if (strcmp (arg, "-S") == 0 || strcmp (arg, "--matrix-shear") == 0)
+ matrix_shear = true;
else if (!url)
url = arg;
else
@@ -249,7 +286,25 @@ main( int argc, char *argv[] )
D_INFO( "DFBTest/Blit: Destination is %dx%d using %s\n",
desc.width, desc.height, dfb_pixelformat_name(desc.pixelformat) );
- dest->StretchBlit( dest, source, NULL, NULL );
+ dest->SetRenderOptions( dest, DSRO_MATRIX );
+
+ if (matrix_rotate) {
+ dest->SetMatrix( dest, rotate_matrix );
+ } else if (matrix_translate) {
+ dest->SetMatrix( dest, translate_matrix );
+ } else if (matrix_shear) {
+ dest->SetMatrix( dest, shear_matrix );
+ } else {
+ dest->SetMatrix( dest, identity_matrix );
+ }
+
+ if (tile)
+ dest->TileBlit( dest, source, NULL, 0, 0 );
+ else if (scale_enable)
+ dest->StretchBlit( dest, source, NULL, NULL );
+ else
+ dest->Blit( dest, source, NULL, 0, 0 );
+
dest->Flip( dest, NULL, DSFLIP_NONE );
if (benchmark) {
@@ -298,6 +353,8 @@ main( int argc, char *argv[] )
sleep( 2 );
+ sleep(10);
+
out:
if (dest)
dest->Release( dest );
diff --git a/tests/dfbtest_blit.c b/tests/dfbtest_fillrect.c
similarity index 54%
copy from tests/dfbtest_blit.c
copy to tests/dfbtest_fillrect.c
index 7a9235f..ccf33fb 100644
--- a/tests/dfbtest_blit.c
+++ b/tests/dfbtest_fillrect.c
@@ -66,7 +66,7 @@ print_usage( const char *prg )
int i = 0;
fprintf (stderr, "\n");
- fprintf (stderr, "== DirectFB Blitting Test (version %s) ==\n", DIRECTFB_VERSION);
+ fprintf (stderr, "== DirectFB Fill Rectangle Test (version %s) ==\n", DIRECTFB_VERSION);
fprintf (stderr, "\n");
fprintf (stderr, "Known pixel formats:\n");
@@ -103,11 +103,7 @@ print_usage( const char *prg )
fprintf (stderr, "Options:\n");
fprintf (stderr, " -h, --help Show this help message\n");
fprintf (stderr, " -v, --version Print version information\n");
- fprintf (stderr, " -s, --source <pixelformat> Source pixel format\n");
fprintf (stderr, " -d, --dest <pixelformat> Destination pixel format\n");
- fprintf (stderr, " -r, --resize Set destination from source size\n");
- fprintf (stderr, " -b, --benchmark Enable benchmarking mode\n");
- fprintf (stderr, " -R, --rerender Rerender before every blit (benchmark)\n");
return -1;
}
@@ -117,24 +113,17 @@ print_usage( const char *prg )
int
main( int argc, char *argv[] )
{
- int i;
DFBResult ret;
+ int i;
DFBSurfaceDescription desc;
IDirectFB *dfb;
- IDirectFBImageProvider *provider = NULL;
- IDirectFBSurface *source = NULL;
IDirectFBSurface *dest = NULL;
- const char *url = NULL;
- DFBSurfacePixelFormat source_format = DSPF_UNKNOWN;
DFBSurfacePixelFormat dest_format = DSPF_UNKNOWN;
- bool dest_resize = false;
- bool benchmark = false;
- bool rerender = false;
/* Initialize DirectFB. */
ret = DirectFBInit( &argc, &argv );
if (ret) {
- D_DERROR( ret, "DFBTest/Blit: DirectFBInit() failed!\n" );
+ D_DERROR( ret, "DFBTest/FillRectangle: DirectFBInit() failed!\n" );
return ret;
}
@@ -148,15 +137,6 @@ main( int argc, char *argv[] )
fprintf (stderr, "dfbtest_blit version %s\n", DIRECTFB_VERSION);
return false;
}
- else if (strcmp (arg, "-s") == 0 || strcmp (arg, "--source") == 0) {
- if (++i == argc) {
- print_usage (argv[0]);
- return false;
- }
-
- if (!parse_format( argv[i], &source_format ))
- return false;
- }
else if (strcmp (arg, "-d") == 0 || strcmp (arg, "--dest") == 0) {
if (++i == argc) {
print_usage (argv[0]);
@@ -166,62 +146,17 @@ main( int argc, char *argv[] )
if (!parse_format( argv[i], &dest_format ))
return false;
}
- else if (strcmp (arg, "-r") == 0 || strcmp (arg, "--resize") == 0)
- dest_resize = true;
- else if (strcmp (arg, "-b") == 0 || strcmp (arg, "--benchmark") == 0)
- benchmark = true;
- else if (strcmp (arg, "-R") == 0 || strcmp (arg, "--rerender") == 0)
- rerender = true;
- else if (!url)
- url = arg;
else
return print_usage( argv[0] );
}
- /* Check if we got an URL. */
- if (!url)
- return print_usage( argv[0] );
-
/* Create super interface. */
ret = DirectFBCreate( &dfb );
if (ret) {
- D_DERROR( ret, "DFBTest/Blit: DirectFBCreate() failed!\n" );
+ D_DERROR( ret, "DFBTest/FillRectangle: DirectFBCreate() failed!\n" );
return ret;
}
- /* Create an image provider for the image to be loaded. */
- ret = dfb->CreateImageProvider( dfb, url, &provider );
- if (ret) {
- D_DERROR( ret, "DFBTest/Blit: IDirectFB::CreateImageProvider( '%s' ) failed!\n", url );
- goto out;
- }
-
- /* Get the surface description. */
- ret = provider->GetSurfaceDescription( provider, &desc );
- if (ret) {
- D_DERROR( ret, "DFBTest/Blit: IDirectFBImageProvider::GetSurfaceDescription() failed!\n" );
- goto out;
- }
-
- if (source_format != DSPF_UNKNOWN)
- desc.pixelformat = source_format;
-
- D_INFO( "DFBTest/Blit: Source is %dx%d using %s\n",
- desc.width, desc.height, dfb_pixelformat_name(desc.pixelformat) );
-
- /* Create a surface for the image. */
- ret = dfb->CreateSurface( dfb, &desc, &source );
- if (ret) {
- D_DERROR( ret, "DFBTest/Blit: IDirectFB::CreateSurface() failed!\n" );
- goto out;
- }
-
- ret = provider->RenderTo( provider, source, NULL );
- if (ret) {
- D_DERROR( ret, "DFBTest/Blit: IDirectFBImageProvider::RenderTo() failed!\n" );
- goto out;
- }
-
/* Fill description for a primary surface. */
desc.flags = DSDESC_CAPS;
desc.caps = DSCAPS_PRIMARY | DSCAPS_FLIPPING;
@@ -231,83 +166,34 @@ main( int argc, char *argv[] )
desc.pixelformat = dest_format;
}
- if (dest_resize)
- desc.flags |= DSDESC_WIDTH | DSDESC_HEIGHT;
-
dfb->SetCooperativeLevel( dfb, DFSCL_FULLSCREEN );
/* Create a primary surface. */
ret = dfb->CreateSurface( dfb, &desc, &dest );
if (ret) {
- D_DERROR( ret, "DFBTest/Blit: IDirectFB::CreateSurface() failed!\n" );
+ D_DERROR( ret, "DFBTest/FillRectangle: IDirectFB::CreateSurface() failed!\n" );
goto out;
}
dest->GetSize( dest, &desc.width, &desc.height );
dest->GetPixelFormat( dest, &desc.pixelformat );
- D_INFO( "DFBTest/Blit: Destination is %dx%d using %s\n",
+ D_INFO( "DFBTest/FillRectangle: Destination is %dx%d using %s\n",
desc.width, desc.height, dfb_pixelformat_name(desc.pixelformat) );
- dest->StretchBlit( dest, source, NULL, NULL );
- dest->Flip( dest, NULL, DSFLIP_NONE );
-
- if (benchmark) {
- int num = 0;
- long long start, diff = 0, speed;
-
- sync();
-
- sleep( 1 );
-
- dest->StretchBlit( dest, source, NULL, NULL );
-
- D_INFO( "DFBTest/Blit: Benchmarking...\n" );
-
- dfb->WaitIdle( dfb );
-
- start = direct_clock_get_millis();
-
- do {
- if (rerender) {
- ret = provider->RenderTo( provider, source, NULL );
- if (ret) {
- D_DERROR( ret, "DFBTest/Blit: IDirectFBImageProvider::RenderTo() failed!\n" );
- goto out;
- }
- }
-
- dest->StretchBlit( dest, source, NULL, NULL );
-
- if ((num & 7) == 7)
- diff = direct_clock_get_millis() - start;
-
- num++;
- } while (diff < 2300);
-
- dfb->WaitIdle( dfb );
-
- diff = direct_clock_get_millis() - start;
-
- speed = (long long) num * desc.width * desc.height / diff;
+ while (true) {
+ for (i=0; i<100000; i++) {
+ dest->SetColor( dest, rand()%256, rand()%256, rand()%256, rand()%256 );
+ dest->FillRectangle( dest, rand()%100, rand()%100, rand()%100, rand()%100 );
+ }
- D_INFO( "DFBTest/Blit: Speed is %lld.%03lld MPixel/sec (%dx%d x %d in %lld.%03lld sec)\n",
- speed / 1000LL, speed % 1000LL, desc.width, desc.height, num, diff / 1000LL, diff % 1000LL );
+ dest->Flip( dest, NULL, DSFLIP_NONE );
}
- else
- sleep( 2 );
-
out:
if (dest)
dest->Release( dest );
- if (source)
- source->Release( source );
-
- if (provider)
- provider->Release( provider );
-
/* Shutdown DirectFB. */
dfb->Release( dfb );
diff --git a/tests/dfbtest_font.c b/tests/dfbtest_font.c
new file mode 100644
index 0000000..3ac3f09
--- /dev/null
+++ b/tests/dfbtest_font.c
@@ -0,0 +1,205 @@
+/*
+ (c) Copyright 2008 Denis Oliver Kropp
+
+ All rights reserved.
+
+ This file is subject to the terms and conditions of the MIT License:
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge,
+ publish, distribute, sublicense, and/or sell copies of the Software,
+ and to permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+#include <config.h>
+
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <direct/messages.h>
+
+#include <directfb.h>
+#include <directfb_strings.h>
+#include <directfb_util.h>
+
+static const DirectFBPixelFormatNames( format_names );
+
+/**********************************************************************************************************************/
+
+static int
+print_usage( const char *prg )
+{
+ int i = 0;
+
+ fprintf (stderr, "\n");
+ fprintf (stderr, "== DirectFB Font Test (version %s) ==\n", DIRECTFB_VERSION);
+ fprintf (stderr, "\n");
+ fprintf (stderr, "Known pixel formats:\n");
+
+ while (format_names[i].format != DSPF_UNKNOWN) {
+ DFBSurfacePixelFormat format = format_names[i].format;
+
+ fprintf (stderr, " %-10s %2d bits, %d bytes",
+ format_names[i].name, DFB_BITS_PER_PIXEL(format),
+ DFB_BYTES_PER_PIXEL(format));
+
+ if (DFB_PIXELFORMAT_HAS_ALPHA(format))
+ fprintf (stderr, " ALPHA");
+
+ if (DFB_PIXELFORMAT_IS_INDEXED(format))
+ fprintf (stderr, " INDEXED");
+
+ if (DFB_PLANAR_PIXELFORMAT(format)) {
+ int planes = DFB_PLANE_MULTIPLY(format, 1000);
+
+ fprintf (stderr, " PLANAR (x%d.%03d)",
+ planes / 1000, planes % 1000);
+ }
+
+ fprintf (stderr, "\n");
+
+ ++i;
+ }
+
+ fprintf (stderr, "\n");
+
+ fprintf (stderr, "\n");
+ fprintf (stderr, "Usage: %s [options] <file>\n", prg);
+ fprintf (stderr, "\n");
+ fprintf (stderr, "Options:\n");
+ fprintf (stderr, " -h, --help Show this help message\n");
+ fprintf (stderr, " -v, --version Print version information\n");
+
+ return -1;
+}
+
+/**********************************************************************************************************************/
+
+static IDirectFBFont *
+CreateFont( IDirectFB *dfb, const char *url, int size )
+{
+ DFBResult ret;
+ DFBFontDescription fdesc;
+ IDirectFBFont *font;
+
+ /* Create the font. */
+ fdesc.flags = DFDESC_HEIGHT;
+ fdesc.height = size;
+
+ ret = dfb->CreateFont( dfb, url, &fdesc, &font );
+ if (ret) {
+ D_DERROR( ret, "DFBTest/Font: IDirectFB::CreateFont( '%s' ) failed!\n", url );
+ return NULL;
+ }
+
+ return font;
+}
+
+int
+main( int argc, char *argv[] )
+{
+ int i;
+ DFBResult ret;
+ DFBSurfaceDescription desc;
+ IDirectFB *dfb;
+ IDirectFBSurface *dest = NULL;
+ const char *url = NULL;
+
+ /* Initialize DirectFB. */
+ ret = DirectFBInit( &argc, &argv );
+ if (ret) {
+ D_DERROR( ret, "DFBTest/Font: DirectFBInit() failed!\n" );
+ return ret;
+ }
+
+ /* Parse arguments. */
+ for (i=1; i<argc; i++) {
+ const char *arg = argv[i];
+
+ if (strcmp( arg, "-h" ) == 0 || strcmp (arg, "--help") == 0)
+ return print_usage( argv[0] );
+ else if (strcmp (arg, "-v") == 0 || strcmp (arg, "--version") == 0) {
+ fprintf (stderr, "dfbtest_blit version %s\n", DIRECTFB_VERSION);
+ return false;
+ }
+ else if (!url)
+ url = arg;
+ else
+ return print_usage( argv[0] );
+ }
+
+ /* Check if we got an URL. */
+ if (!url)
+ return print_usage( argv[0] );
+
+ /* Create super interface. */
+ ret = DirectFBCreate( &dfb );
+ if (ret) {
+ D_DERROR( ret, "DFBTest/Font: DirectFBCreate() failed!\n" );
+ return ret;
+ }
+
+ /* Fill description for a primary surface. */
+ desc.flags = DSDESC_CAPS;
+ desc.caps = DSCAPS_PRIMARY | DSCAPS_FLIPPING;
+
+ dfb->SetCooperativeLevel( dfb, DFSCL_FULLSCREEN );
+
+ /* Create a primary surface. */
+ ret = dfb->CreateSurface( dfb, &desc, &dest );
+ if (ret) {
+ D_DERROR( ret, "DFBTest/Font: IDirectFB::CreateSurface() failed!\n" );
+ goto out;
+ }
+
+ dest->GetSize( dest, &desc.width, &desc.height );
+ dest->GetPixelFormat( dest, &desc.pixelformat );
+
+ D_INFO( "DFBTest/Font: Destination is %dx%d using %s\n",
+ desc.width, desc.height, dfb_pixelformat_name(desc.pixelformat) );
+
+ dest->SetColor( dest, 0xff, 0xff, 0xff, 0xff );
+
+ for (i=10; i<50; i++) {
+ IDirectFBFont *font;
+
+ font = CreateFont( dfb, url, i );
+
+ dest->Clear( dest, 0, 0, 0, 0 );
+
+ dest->SetFont( dest, font );
+ dest->DrawString( dest, "Test String", -1, 100, 100, DSTF_TOPLEFT );
+
+ dest->Flip( dest, NULL, DSFLIP_NONE );
+
+ font->Release( font );
+
+ sleep( 1 );
+ }
+
+
+out:
+ if (dest)
+ dest->Release( dest );
+
+ /* Shutdown DirectFB. */
+ dfb->Release( dfb );
+
+ return ret;
+}
+
diff --git a/tests/dfbtest_blit.c b/tests/dfbtest_prealloc.c
similarity index 57%
copy from tests/dfbtest_blit.c
copy to tests/dfbtest_prealloc.c
index 7a9235f..878b0bf 100644
--- a/tests/dfbtest_blit.c
+++ b/tests/dfbtest_prealloc.c
@@ -29,7 +29,6 @@
#include <stdio.h>
#include <string.h>
-#include <unistd.h>
#include <direct/messages.h>
@@ -39,6 +38,8 @@
static const DirectFBPixelFormatNames( format_names );
+static DFBSurfaceCapabilities static_caps;
+
/**********************************************************************************************************************/
static DFBBoolean
@@ -66,7 +67,7 @@ print_usage( const char *prg )
int i = 0;
fprintf (stderr, "\n");
- fprintf (stderr, "== DirectFB Blitting Test (version %s) ==\n", DIRECTFB_VERSION);
+ fprintf (stderr, "== DirectFB Fill Rectangle Test (version %s) ==\n", DIRECTFB_VERSION);
fprintf (stderr, "\n");
fprintf (stderr, "Known pixel formats:\n");
@@ -103,38 +104,61 @@ print_usage( const char *prg )
fprintf (stderr, "Options:\n");
fprintf (stderr, " -h, --help Show this help message\n");
fprintf (stderr, " -v, --version Print version information\n");
- fprintf (stderr, " -s, --source <pixelformat> Source pixel format\n");
fprintf (stderr, " -d, --dest <pixelformat> Destination pixel format\n");
- fprintf (stderr, " -r, --resize Set destination from source size\n");
- fprintf (stderr, " -b, --benchmark Enable benchmarking mode\n");
- fprintf (stderr, " -R, --rerender Rerender before every blit (benchmark)\n");
+ fprintf (stderr, " -s, --static Use DSCAPS_STATIC_ALLOC\n");
return -1;
}
/**********************************************************************************************************************/
+static void
+gen_pixels( void *ptr,
+ int pitch,
+ int height )
+{
+ int y;
+
+ for (y=0; y<height; y++) {
+ memset( ptr + pitch * y, y*2, pitch );
+ }
+}
+
+static void
+update_pixels( void *ptr,
+ int pitch,
+ int height )
+{
+ int y;
+
+ for (y=0; y<height; y++) {
+ int x;
+ u8 *p = ptr + pitch * y;
+
+ if (y==0) {
+ printf("%u %u %u %u\n", p[0],p[1],p[2],p[3]);
+ }
+ for (x=0; x<pitch; x++)
+ p[x] ^= 0xff;
+ }
+}
+
int
main( int argc, char *argv[] )
{
- int i;
DFBResult ret;
+ int i;
DFBSurfaceDescription desc;
IDirectFB *dfb;
- IDirectFBImageProvider *provider = NULL;
- IDirectFBSurface *source = NULL;
IDirectFBSurface *dest = NULL;
- const char *url = NULL;
- DFBSurfacePixelFormat source_format = DSPF_UNKNOWN;
DFBSurfacePixelFormat dest_format = DSPF_UNKNOWN;
- bool dest_resize = false;
- bool benchmark = false;
- bool rerender = false;
+ char pixel_buffer[100*100*4];
+ IDirectFBSurface *source = NULL;
/* Initialize DirectFB. */
ret = DirectFBInit( &argc, &argv );
if (ret) {
- D_DERROR( ret, "DFBTest/Blit: DirectFBInit() failed!\n" );
+ D_DERROR( ret, "DFBTest/PreAlloc: DirectFBInit() failed!\n" );
return ret;
}
@@ -148,15 +172,6 @@ main( int argc, char *argv[] )
fprintf (stderr, "dfbtest_blit version %s\n", DIRECTFB_VERSION);
return false;
}
- else if (strcmp (arg, "-s") == 0 || strcmp (arg, "--source") == 0) {
- if (++i == argc) {
- print_usage (argv[0]);
- return false;
- }
-
- if (!parse_format( argv[i], &source_format ))
- return false;
- }
else if (strcmp (arg, "-d") == 0 || strcmp (arg, "--dest") == 0) {
if (++i == argc) {
print_usage (argv[0]);
@@ -166,62 +181,20 @@ main( int argc, char *argv[] )
if (!parse_format( argv[i], &dest_format ))
return false;
}
- else if (strcmp (arg, "-r") == 0 || strcmp (arg, "--resize") == 0)
- dest_resize = true;
- else if (strcmp (arg, "-b") == 0 || strcmp (arg, "--benchmark") == 0)
- benchmark = true;
- else if (strcmp (arg, "-R") == 0 || strcmp (arg, "--rerender") == 0)
- rerender = true;
- else if (!url)
- url = arg;
+ else if (strcmp (arg, "-s") == 0 || strcmp (arg, "--static") == 0) {
+ static_caps = DSCAPS_STATIC_ALLOC;
+ }
else
return print_usage( argv[0] );
}
- /* Check if we got an URL. */
- if (!url)
- return print_usage( argv[0] );
-
/* Create super interface. */
ret = DirectFBCreate( &dfb );
if (ret) {
- D_DERROR( ret, "DFBTest/Blit: DirectFBCreate() failed!\n" );
+ D_DERROR( ret, "DFBTest/PreAlloc: DirectFBCreate() failed!\n" );
return ret;
}
- /* Create an image provider for the image to be loaded. */
- ret = dfb->CreateImageProvider( dfb, url, &provider );
- if (ret) {
- D_DERROR( ret, "DFBTest/Blit: IDirectFB::CreateImageProvider( '%s' ) failed!\n", url );
- goto out;
- }
-
- /* Get the surface description. */
- ret = provider->GetSurfaceDescription( provider, &desc );
- if (ret) {
- D_DERROR( ret, "DFBTest/Blit: IDirectFBImageProvider::GetSurfaceDescription() failed!\n" );
- goto out;
- }
-
- if (source_format != DSPF_UNKNOWN)
- desc.pixelformat = source_format;
-
- D_INFO( "DFBTest/Blit: Source is %dx%d using %s\n",
- desc.width, desc.height, dfb_pixelformat_name(desc.pixelformat) );
-
- /* Create a surface for the image. */
- ret = dfb->CreateSurface( dfb, &desc, &source );
- if (ret) {
- D_DERROR( ret, "DFBTest/Blit: IDirectFB::CreateSurface() failed!\n" );
- goto out;
- }
-
- ret = provider->RenderTo( provider, source, NULL );
- if (ret) {
- D_DERROR( ret, "DFBTest/Blit: IDirectFBImageProvider::RenderTo() failed!\n" );
- goto out;
- }
-
/* Fill description for a primary surface. */
desc.flags = DSDESC_CAPS;
desc.caps = DSCAPS_PRIMARY | DSCAPS_FLIPPING;
@@ -231,82 +204,89 @@ main( int argc, char *argv[] )
desc.pixelformat = dest_format;
}
- if (dest_resize)
- desc.flags |= DSDESC_WIDTH | DSDESC_HEIGHT;
-
dfb->SetCooperativeLevel( dfb, DFSCL_FULLSCREEN );
/* Create a primary surface. */
ret = dfb->CreateSurface( dfb, &desc, &dest );
if (ret) {
- D_DERROR( ret, "DFBTest/Blit: IDirectFB::CreateSurface() failed!\n" );
+ D_DERROR( ret, "DFBTest/PreAlloc: IDirectFB::CreateSurface() for the destination failed!\n" );
goto out;
}
dest->GetSize( dest, &desc.width, &desc.height );
dest->GetPixelFormat( dest, &desc.pixelformat );
- D_INFO( "DFBTest/Blit: Destination is %dx%d using %s\n",
+ D_INFO( "DFBTest/PreAlloc: Destination is %dx%d using %s\n",
desc.width, desc.height, dfb_pixelformat_name(desc.pixelformat) );
- dest->StretchBlit( dest, source, NULL, NULL );
- dest->Flip( dest, NULL, DSFLIP_NONE );
+ /* Create a preallocated surface. */
+ desc.flags = DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT | DSDESC_CAPS | DSDESC_PREALLOCATED;
+ desc.width = 100;
+ desc.height = 100;
+ desc.pixelformat = DSPF_ARGB;
+ desc.caps = static_caps;
+ desc.preallocated[0].data = pixel_buffer;
+ desc.preallocated[0].pitch = 100 * 4;
- if (benchmark) {
- int num = 0;
- long long start, diff = 0, speed;
+ ret = dfb->CreateSurface( dfb, &desc, &source );
+ if (ret) {
+ D_DERROR( ret, "DFBTest/PreAlloc: IDirectFB::CreateSurface() for the preallocated source failed!\n" );
+ goto out;
+ }
- sync();
+ /* Before any other operation the pixel data can be written to without locking */
+ gen_pixels( pixel_buffer, 100 * 4, 100 );
- sleep( 1 );
+ while (true) {
+ void *ptr;
+ int pitch;
- dest->StretchBlit( dest, source, NULL, NULL );
- D_INFO( "DFBTest/Blit: Benchmarking...\n" );
+ /* Lock source surface for writing before making updates to the pixel buffer */
+ source->Lock( source, DSLF_WRITE, &ptr, &pitch );
- dfb->WaitIdle( dfb );
+ if (ptr == pixel_buffer)
+ D_INFO( "DFBTest/PreAlloc: Locking preallocated source gave original preallocated pixel buffer :-)\n" );
+ else {
+ if (static_caps)
+ D_INFO( "DFBTest/PreAlloc: Locking preallocated source gave different pixel buffer, ERROR with static alloc!\n" );
+ else
+ D_INFO( "DFBTest/PreAlloc: Locking preallocated source gave different pixel buffer, but OK (no static alloc)\n" );
+ }
- start = direct_clock_get_millis();
+ update_pixels( ptr, pitch, 100 );
- do {
- if (rerender) {
- ret = provider->RenderTo( provider, source, NULL );
- if (ret) {
- D_DERROR( ret, "DFBTest/Blit: IDirectFBImageProvider::RenderTo() failed!\n" );
- goto out;
- }
- }
+ /* Unlock source surface after writing, before making further Blits,
+ to have the buffer be transfered to master again */
+ source->Unlock( source );
- dest->StretchBlit( dest, source, NULL, NULL );
- if ((num & 7) == 7)
- diff = direct_clock_get_millis() - start;
+ dest->Clear( dest, 0, 0, 0, 0xff );
- num++;
- } while (diff < 2300);
+ /* First Blit from preallocated source, data will be transfered to master */
+ dest->Blit( dest, source, NULL, 50, 50 );
- dfb->WaitIdle( dfb );
+ /* Second Blit from preallocated source, data is already master */
+ dest->Blit( dest, source, NULL, 150, 150 );
- diff = direct_clock_get_millis() - start;
+ dest->Flip( dest, NULL, DSFLIP_NONE );
- speed = (long long) num * desc.width * desc.height / diff;
+ /* This will upload again the preallocated buffer to the master, where it is
+ modified and outdates the preallocated buffer. Now it depends on the static
+ alloc flag whether the next Lock will directly go into the shared memory
+ allocation or the preallocated buffer again (with a transfer back from master
+ to us). */
+ source->FillRectangle( source, 0, 0, 10, 10 );
- D_INFO( "DFBTest/Blit: Speed is %lld.%03lld MPixel/sec (%dx%d x %d in %lld.%03lld sec)\n",
- speed / 1000LL, speed % 1000LL, desc.width, desc.height, num, diff / 1000LL, diff % 1000LL );
+ sleep( 5 );
}
- else
- sleep( 2 );
-
out:
- if (dest)
- dest->Release( dest );
-
if (source)
source->Release( source );
- if (provider)
- provider->Release( provider );
+ if (dest)
+ dest->Release( dest );
/* Shutdown DirectFB. */
dfb->Release( dfb );
diff --git a/tests/dfbtest_resize.c b/tests/dfbtest_resize.c
new file mode 100644
index 0000000..2092924
--- /dev/null
+++ b/tests/dfbtest_resize.c
@@ -0,0 +1,158 @@
+/*
+ (c) Copyright 2008 Denis Oliver Kropp
+
+ All rights reserved.
+
+ This file is subject to the terms and conditions of the MIT License:
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge,
+ publish, distribute, sublicense, and/or sell copies of the Software,
+ and to permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+#include <config.h>
+
+#include <alloca.h>
+#include <string.h>
+
+#include <direct/messages.h>
+#include <direct/thread.h>
+
+#include <directfb.h>
+
+
+static void *
+TestThread( DirectThread *thread,
+ void *arg )
+{
+ DFBResult ret;
+ IDirectFBSurface *surface = arg;
+ DFBRectangle rect = { 0, 0, 500, 1 };
+ u32 data[ 500 ];
+
+ while (true) {
+ int pitch;
+ void *ptr;
+
+ ret = surface->Lock( surface, DSLF_WRITE, &ptr, &pitch );
+ if (ret) {
+ D_DERROR( ret, "DFBTest/Resize: Lock() failed!\n" );
+ return NULL;
+ }
+
+ memset( ptr, 0, pitch * 400 );
+
+ surface->Unlock( surface );
+
+
+ ret = surface->Read( surface, &rect, data, pitch );
+ if (ret) {
+ D_DERROR( ret, "DFBTest/Resize: Read() failed!\n" );
+ return NULL;
+ }
+
+ ret = surface->Write( surface, &rect, data, pitch );
+ if (ret) {
+ D_DERROR( ret, "DFBTest/Resize: Write() failed!\n" );
+ return NULL;
+ }
+ }
+
+ return NULL;
+}
+
+static void
+TestResize( IDirectFB *dfb )
+{
+ DFBResult ret;
+ DirectThread *thread;
+ DFBWindowDescription desc;
+ IDirectFBDisplayLayer *layer;
+ IDirectFBWindow *window;
+ IDirectFBSurface *surface;
+
+ dfb->GetDisplayLayer( dfb, DLID_PRIMARY, &layer );
+
+ desc.flags = DWDESC_WIDTH | DWDESC_HEIGHT | DWDESC_PIXELFORMAT;
+ desc.width = 500;
+ desc.height = 500;
+ desc.pixelformat = DSPF_ARGB;
+
+ ret = layer->CreateWindow( layer, &desc, &window );
+ if (ret) {
+ D_DERROR( ret, "DFBTest/Resize: CreateWindow() failed!\n" );
+ return;
+ }
+
+ ret = window->GetSurface( window, &surface );
+ if (ret) {
+ D_DERROR( ret, "DFBTest/Resize: GetSurface() failed!\n" );
+ return;
+ }
+
+ thread = direct_thread_create( DTT_DEFAULT, TestThread, surface, "Test" );
+
+ while (true) {
+ ret = window->Resize( window, 500, 400 );
+ if (ret)
+ D_DERROR( ret, "DFBTest/Resize: Resize() failed!\n" );
+
+ ret = window->Resize( window, 500, 500 );
+ if (ret)
+ D_DERROR( ret, "DFBTest/Resize: Resize() failed!\n" );
+ }
+
+ surface->Release( surface );
+ window->Release( window );
+}
+
+
+int
+main( int argc, char *argv[] )
+{
+ DFBResult ret;
+ IDirectFB *dfb;
+
+ /* Initialize DirectFB. */
+ ret = DirectFBInit( &argc, &argv );
+ if (ret) {
+ D_DERROR( ret, "DFBTest/Resize: DirectFBInit() failed!\n" );
+ return ret;
+ }
+
+
+ /* Create super interface. */
+ ret = DirectFBCreate( &dfb );
+ if (ret) {
+ D_DERROR( ret, "DFBTest/Resize: DirectFBCreate() failed!\n" );
+ return ret;
+ }
+
+
+
+ TestResize( dfb );
+
+
+
+ /* Shutdown DirectFB. */
+ dfb->Release( dfb );
+
+
+ return ret;
+}
+
diff --git a/tests/dfbtest_window_cursor.c b/tests/dfbtest_window_cursor.c
new file mode 100644
index 0000000..87e25f3
--- /dev/null
+++ b/tests/dfbtest_window_cursor.c
@@ -0,0 +1,331 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <direct/debug.h>
+#include <direct/util.h>
+
+#include <directfb.h>
+#include <directfb_util.h>
+
+/**************************************************************************************************/
+
+typedef struct {
+ int magic;
+
+ IDirectFBWindow *window;
+ IDirectFBSurface *surface;
+
+ DFBWindowID window_id;
+} DemoWindow;
+
+/**************************************************************************************************/
+
+static IDirectFB *m_dfb = NULL;
+static IDirectFBDisplayLayer *m_layer = NULL;
+static IDirectFBEventBuffer *m_events = NULL;
+
+/**************************************************************************************************/
+
+static DemoWindow windows[2];
+
+/**************************************************************************************************/
+
+static DFBResult
+init_directfb( int *pargc, char ***pargv )
+{
+ DFBResult ret;
+
+ D_ASSERT( m_dfb == NULL );
+ D_ASSERT( m_layer == NULL );
+ D_ASSERT( m_events == NULL );
+
+ ret = DirectFBInit( pargc, pargv );
+ if (ret) {
+ DirectFBError( "DirectFBInit() failed", ret );
+ return ret;
+ }
+
+ ret = DirectFBCreate( &m_dfb );
+ if (ret) {
+ DirectFBError( "DirectFBCreate() failed", ret );
+ return ret;
+ }
+
+ ret = m_dfb->GetDisplayLayer( m_dfb, DLID_PRIMARY, &m_layer );
+ if (ret) {
+ DirectFBError( "IDirectFB::GetDisplayLayer() failed", ret );
+ goto error;
+ }
+
+ ret = m_dfb->CreateEventBuffer( m_dfb, &m_events );
+ if (ret) {
+ DirectFBError( "IDirectFB::CreateEventBuffer() failed", ret );
+ goto error;
+ }
+
+ return DFB_OK;
+
+
+error:
+ if (m_layer) {
+ m_layer->Release( m_layer );
+ m_layer = NULL;
+ }
+
+ if (m_dfb) {
+ m_dfb->Release( m_dfb );
+ m_dfb = NULL;
+ }
+
+ return ret;
+}
+
+static void
+destroy_directfb( void )
+{
+ D_ASSERT( m_events != NULL );
+ D_ASSERT( m_layer != NULL );
+ D_ASSERT( m_dfb != NULL );
+
+ m_events->Release( m_events );
+ m_layer->Release( m_layer );
+ m_dfb->Release( m_dfb );
+
+ m_events = NULL;
+ m_layer = NULL;
+ m_dfb = NULL;
+}
+
+/**************************************************************************************************/
+
+static void
+init_cursor( IDirectFBWindow *window )
+{
+ DFBSurfaceDescription desc;
+ IDirectFBSurface *surface;
+
+ desc.flags = DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT;
+ desc.width = 100;
+ desc.height = 100;
+ desc.pixelformat = DSPF_ARGB;
+
+ m_dfb->CreateSurface( m_dfb, &desc, &surface );
+
+ surface->Clear( surface, 0, 0, 0, 0 );
+
+ surface->SetColor( surface, 0xff, 0, 0, 0xff );
+ surface->DrawRectangle( surface, 0, 0, desc.width, desc.height );
+
+
+ window->SetCursorShape( window, surface, 50, 50 );
+}
+
+static DFBResult
+init_window( DemoWindow *dw,
+ const DFBRectangle *rect, u32 key,
+ DFBWindowStackingClass stacking,
+ DFBWindowCapabilities caps,
+ DFBWindowOptions options,
+ DemoWindow *parent )
+{
+ DFBResult ret;
+ DFBWindowDescription desc;
+ IDirectFBWindow *window;
+ IDirectFBSurface *surface = NULL;
+
+ D_ASSERT( dw != NULL );
+ DFB_RECTANGLE_ASSERT( rect );
+ D_MAGIC_ASSERT_IF( parent, DemoWindow );
+
+ /* Fill window description. */
+ desc.flags = DWDESC_WIDTH | DWDESC_HEIGHT | DWDESC_CAPS |
+ DWDESC_STACKING | DWDESC_OPTIONS | DWDESC_POSX | DWDESC_POSY;
+ desc.width = rect->w;
+ desc.height = rect->h;
+ desc.posx = rect->x;
+ desc.posy = rect->y;
+ desc.caps = caps;
+ desc.stacking = stacking;
+ desc.options = options;// | (key ? DWOP_COLORKEYING : DWOP_NONE);
+
+ if (parent) {
+ desc.flags |= DWDESC_PARENT;
+ desc.parent_id = parent->window_id;
+ }
+
+ /* Create the window. */
+ ret = m_layer->CreateWindow( m_layer, &desc, &window );
+ if (ret) {
+ DirectFBError( "IDirectFBDisplayLayer::CreateWindow() failed", ret );
+ return ret;
+ }
+
+ if (!(caps & DWCAPS_INPUTONLY)) {
+ ret = window->GetSurface( window, &surface );
+ if (ret) {
+ DirectFBError( "IDirectFBWindow::GetSurface() failed", ret );
+ window->Release( window );
+ return ret;
+ }
+
+ window->SetColorKey( window, (key >> 16) & 0xff, (key >> 8) & 0xff, key & 0xff );
+
+ surface->Clear( surface, (key >> 16) & 0xff, (key >> 8) & 0xff, key & 0xff, 0xff );
+ }
+
+ window->AttachEventBuffer( window, m_events );
+
+ window->GetID( window, &dw->window_id );
+
+ init_cursor( window );
+
+ /* Return new interfaces. */
+ dw->window = window;
+ dw->surface = surface;
+
+ D_MAGIC_SET( dw, DemoWindow );
+
+ return DFB_OK;
+}
+
+static void
+show_window( DemoWindow *dw,
+ bool visible )
+{
+ IDirectFBWindow *window;
+
+ D_MAGIC_ASSERT( dw, DemoWindow );
+
+ window = dw->window;
+ D_ASSERT( window != NULL );
+
+ window->SetOpacity( window, visible ? 0xff : 0x00 );
+}
+
+static void
+destroy_window( DemoWindow *dw )
+{
+ IDirectFBSurface *surface;
+ IDirectFBWindow *window;
+
+ D_MAGIC_ASSERT( dw, DemoWindow );
+
+ surface = dw->surface;
+ D_ASSERT( surface != NULL );
+
+ window = dw->window;
+ D_ASSERT( window != NULL );
+
+ window->DetachEventBuffer( window, m_events );
+
+ surface->Release( surface );
+ window->Release( window );
+
+ dw->surface = NULL;
+ dw->window = NULL;
+
+ D_MAGIC_CLEAR( dw );
+}
+
+/**************************************************************************************************/
+
+static DFBBoolean
+dispatch_events( void )
+{
+ DFBWindowEvent event;
+
+ while (m_events->GetEvent( m_events, DFB_EVENT(&event) ) == DFB_OK) {
+ int i;
+
+ switch (event.type) {
+ case DWET_GOTFOCUS:
+ for (i=0; i<2; i++) {
+ if (windows[i].window_id == event.window_id) {
+ windows[i].surface->Clear( windows[i].surface, 0xff, 0xff, 0xff, 0xff );
+
+ windows[i].surface->Flip( windows[i].surface, NULL, DSFLIP_NONE );
+ }
+ }
+ break;
+
+ case DWET_LOSTFOCUS:
+ for (i=0; i<2; i++) {
+ if (windows[i].window_id == event.window_id) {
+ windows[i].surface->Clear( windows[i].surface, 0x00, 0x00, 0x00, 0xff );
+
+ windows[i].surface->Flip( windows[i].surface, NULL, DSFLIP_NONE );
+ }
+ }
+ break;
+
+ case DWET_KEYDOWN:
+ switch (event.key_symbol) {
+ case DIKS_1:
+ windows[0].window->RequestFocus( windows[0].window );
+ break;
+
+ case DIKS_2:
+ windows[1].window->RequestFocus( windows[1].window );
+ break;
+
+ case DIKS_SMALL_X:
+ for (i=0; i<2; i++) {
+ if (windows[i].window_id == event.window_id)
+ windows[i].window->SetOpacity( windows[i].window, 0 );
+ }
+ break;
+
+ default:
+ break;
+ }
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ return DFB_TRUE;
+}
+
+/**************************************************************************************************/
+
+int
+main( int argc, char *argv[] )
+{
+ int i;
+ DFBRectangle rects[2] = {
+ { 100, 100, 200, 200 },
+ { 200, 400, 200, 200 }
+ };
+
+ if (init_directfb( &argc, &argv ))
+ return -1;
+
+ for (i=0; i<2; i++) {
+ if (init_window( &windows[i], &rects[i], 0x000400, DWSC_LOWER, DWCAPS_NONE, DWOP_NONE, NULL )) {
+ destroy_directfb();
+ return -2;
+ }
+
+ show_window( &windows[i], true );
+ }
+
+ windows[0].window->SetCursorFlags( windows[0].window, DWCF_NONE );
+ windows[1].window->SetCursorFlags( windows[1].window, DWCF_INVISIBLE );
+
+ windows[1].window->RequestFocus( windows[1].window );
+
+ while (dispatch_events())
+ m_events->WaitForEvent( m_events );
+
+ for (i=0; i<2; i++) {
+ destroy_window( &windows[i] );
+ }
+
+ destroy_directfb();
+
+ return 0;
+}
+
diff --git a/tests/dfbtest_reinit.c b/tests/dfbtest_window_surface.c
similarity index 51%
copy from tests/dfbtest_reinit.c
copy to tests/dfbtest_window_surface.c
index 2c443c1..259013b 100644
--- a/tests/dfbtest_reinit.c
+++ b/tests/dfbtest_window_surface.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2008 Denis Oliver Kropp
+ (c) Copyright 2011 Denis Oliver Kropp
All rights reserved.
@@ -28,6 +28,7 @@
#include <config.h>
#include <direct/messages.h>
+#include <direct/thread.h>
#include <directfb.h>
@@ -35,13 +36,14 @@
int
main( int argc, char *argv[] )
{
- DFBResult ret;
- IDirectFB *dfb;
+ DFBResult ret;
+ IDirectFB *dfb;
+ IDirectFBDisplayLayer *layer;
/* Initialize DirectFB. */
ret = DirectFBInit( &argc, &argv );
if (ret) {
- D_DERROR( ret, "DFBTest/Reinit: DirectFBInit() failed!\n" );
+ D_DERROR( ret, "DFBTest/Window_Surface: DirectFBInit() failed!\n" );
return ret;
}
@@ -49,21 +51,52 @@ main( int argc, char *argv[] )
/* Create super interface. */
ret = DirectFBCreate( &dfb );
if (ret) {
- D_DERROR( ret, "DFBTest/Reinit: 1st DirectFBCreate() failed!\n" );
+ D_DERROR( ret, "DFBTest/Window_Surface: DirectFBCreate() failed!\n" );
return ret;
}
- /* Shutdown DirectFB. */
- dfb->Release( dfb );
+ dfb->GetDisplayLayer( dfb, DLID_PRIMARY, &layer );
- /* Create super interface. */
- ret = DirectFBCreate( &dfb );
- if (ret) {
- D_DERROR( ret, "DFBTest/Reinit: 2nd DirectFBCreate() failed!\n" );
- return ret;
+ while (true) {
+ DFBWindowDescription desc;
+ IDirectFBWindow *window;
+ IDirectFBSurface *surface;
+
+ desc.flags = DWDESC_POSX | DWDESC_POSY | DWDESC_WIDTH | DWDESC_HEIGHT | DWDESC_CAPS;
+ desc.posx = 150;
+ desc.posy = 150;
+ desc.width = 300;
+ desc.height = 300;
+ desc.caps = DWCAPS_ALPHACHANNEL;
+
+ ret = layer->CreateWindow( layer, &desc, &window );
+ if (ret) {
+ D_DERROR( ret, "DFBTest/Window_Surface: CreateWindow() failed!\n" );
+ return ret;
+ }
+
+ window->GetSurface( window, &surface );
+
+ D_INFO( "Created window and surface, going to release window... (in 2 seconds)\n" );
+ usleep( 2000000 );
+
+ D_INFO("Releasing window...\n");
+
+ window->Release( window );
+
+ D_INFO("Window released, going to release surface... (in 2 seconds)\n");
+ usleep( 2000000 );
+
+ D_INFO("Releasing surface...\n");
+
+ surface->Release( surface );
+
+ D_INFO("Surface released, done.\n");
+ usleep( 5000000 );
}
+
/* Shutdown DirectFB. */
dfb->Release( dfb );
diff --git a/tests/direct_test.c b/tests/direct_test.c
index 4c82c91..722b1cc 100644
--- a/tests/direct_test.c
+++ b/tests/direct_test.c
@@ -32,6 +32,8 @@
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
+#define DIRECT_ENABLE_DEBUG
+
#include <config.h>
#include <direct/debug.h>
@@ -42,6 +44,11 @@
#include <direct/messages.h>
#include <direct/trace.h>
+
+D_DEBUG_DOMAIN( Direct_Test, "Direct/Test", "Direct Test" );
+
+/**********************************************************************************************************************/
+
static int
show_usage( const char *name )
{
@@ -100,6 +107,22 @@ main( int argc, char *argv[] )
direct_initialize();
+ direct_debug_config_domain( "Direct/Test", false );
+
+ if (D_DEBUG_CHECK( Direct_Test ))
+ D_INFO( "Direct/Test debug domain check true after disabling it (no debug supporting build of libdirect)\n" );
+ else
+ D_INFO( "Direct/Test debug domain check false after disabling it\n" );
+
+
+ direct_debug_config_domain( "Direct/Test", true );
+
+ if (D_DEBUG_CHECK( Direct_Test ))
+ D_INFO( "Direct/Test debug domain check true after enabling it\n" );
+ else
+ D_INFO( "Direct/Test debug domain check false after enabling it (no debug supporting build of libdirect)\n" );
+
+
D_INFO( "Direct/Test: Application stopping...\n" );
/* Shutdown libdirect. */
diff --git a/tests/fusion_call.c b/tests/fusion_call.c
new file mode 100644
index 0000000..5022970
--- /dev/null
+++ b/tests/fusion_call.c
@@ -0,0 +1,223 @@
+/*
+ (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This file is subject to the terms and conditions of the MIT License:
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge,
+ publish, distribute, sublicense, and/or sell copies of the Software,
+ and to permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+#include "config.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+
+#include <direct/messages.h>
+
+#include <fusion/call.h>
+#include <fusion/lock.h>
+#include <fusion/fusion.h>
+#include <fusion/shm/pool.h>
+
+#ifndef HAVE_FORK
+# define fork() -1
+#endif
+
+/**********************************************************************************************************************/
+
+static int parse_cmdline ( int argc, char *argv[] );
+static int show_usage ( void );
+
+/**********************************************************************************************************************/
+
+#define MAX_PARTICIPANTS (20)
+
+static int participants = 2;
+static int participant;
+
+struct sharedData {
+ volatile int initDone;
+
+ FusionCall call[MAX_PARTICIPANTS+1]; /* 0 = empty. just being lazy. */
+ FusionSkirmish skirmish;
+};
+
+/**********************************************************************************************************************/
+
+static FusionCallHandlerResult
+call_handler( int caller,
+ int call_arg,
+ void *call_ptr,
+ void *ctx,
+ unsigned int serial,
+ int *ret_val )
+{
+ struct sharedData *shared = ctx;
+
+ int ret = 0;
+
+ fusion_skirmish_prevail( &shared->skirmish );
+
+ if (participant < participants)
+ if (random() & 1)
+ fusion_call_execute( &shared->call[participant+1], FCEF_NONE, 0, 0, &ret );
+
+ fusion_skirmish_dismiss( &shared->skirmish );
+
+ *ret_val = ret + 1;
+ return FCHR_RETURN;
+}
+
+/**********************************************************************************************************************/
+
+int
+main( int argc, char *argv[] )
+{
+ DirectResult ret;
+ FusionWorld *world;
+ FusionSHMPoolShared *pool;
+ struct sharedData *shared;
+ sigset_t block;
+
+ int retcall;
+ int i;
+
+ if (parse_cmdline( argc, argv ))
+ return -1;
+
+ ret = fusion_enter( 0, 23, FER_ANY, &world );
+ if (ret)
+ return ret;
+
+ ret = fusion_shm_pool_create( world, "Shared Memory", 8192, false, &pool );
+ if (ret)
+ return ret;
+
+ ret = fusion_shm_pool_allocate( pool, sizeof(struct sharedData), true, true, (void**)&shared );
+ if (ret)
+ return ret;
+
+ /*
+ * Do the fork() magic!
+ */
+ fusion_world_set_fork_action( world, FFA_FORK );
+
+ for (i=1; i<participants; i++) {
+
+ pid_t f = fork();
+
+ if (f == -1) {
+ D_PERROR( "fork() failed!\n" );
+ return -1;
+ }
+
+ if (f) {
+ /* parent */
+ participant = i;
+ break;
+ }
+
+ participant = i+1;
+ }
+
+ fusion_world_set_fork_action( world, FFA_CLOSE );
+
+ ret = fusion_call_init( &shared->call[participant], call_handler, shared, world );
+ if (ret)
+ return ret;
+ shared->initDone++;
+
+ /* wait a bit before start, make sure the calls exist */
+ while( shared->initDone != participants )
+ usleep(50000);
+
+ if (participant == 1) {
+ /* we generate a skirmish that will be transported along */
+ ret = fusion_skirmish_init( &shared->skirmish, "Test", world );
+ if (ret)
+ return -1;
+
+ fusion_skirmish_prevail( &shared->skirmish );
+
+ for(;;) {
+ fusion_call_execute( &shared->call[2], FCEF_NONE, 0, 0, &retcall );
+ printf("pcp %d, result: %d\n", participant, retcall);
+ }
+ }
+
+ /* we rely on exit() */
+ sigemptyset( &block );
+ sigsuspend( &block );
+}
+
+/**********************************************************************************************************************/
+
+static int
+parse_cmdline( int argc, char *argv[] )
+{
+ int i;
+ char *end;
+
+ for (i=1; i<argc; i++) {
+ if (!strcmp( argv[i], "-p" )) {
+ if (++i < argc) {
+ participants = strtoul( argv[i], &end, 10 );
+
+ if (end && *end) {
+ D_ERROR( "Parse error in number '%s'!\n", argv[i] );
+ return -1;
+ }
+
+ if (participants < 1 || participants > MAX_PARTICIPANTS)
+ return show_usage();
+ }
+ else
+ return show_usage();
+ }
+ }
+
+ return 0;
+}
+
+static int
+show_usage( void )
+{
+ fprintf( stderr, "\n"
+ "Usage:\n"
+ " fusion_call [options]\n"
+ "\n"
+ "Options:\n"
+ " -p <2-MAX> Number of participants\n"
+ "\n"
+ );
+
+ return -1;
+}
+
diff --git a/tests/fusion_skirmish.c b/tests/fusion_skirmish.c
index d12cca8..a47752a 100644
--- a/tests/fusion_skirmish.c
+++ b/tests/fusion_skirmish.c
@@ -106,7 +106,7 @@ main( int argc, char *argv[] )
MSG( "Waiting at skirmish...\n" );
ret = fusion_skirmish_wait( &skirmish, 10 );
- if (ret != DFB_TIMEOUT) {
+ if (ret != DR_TIMEOUT) {
D_DERROR( ret, "fusion_skirmish_wait() did not timeout!\n" );
return -3;
}
diff --git a/tests/voodoo/Makefile.am b/tests/voodoo/Makefile.am
new file mode 100644
index 0000000..417e2ce
--- /dev/null
+++ b/tests/voodoo/Makefile.am
@@ -0,0 +1,19 @@
+## Makefile.am for DirectFB/tests/voodoo
+
+INCLUDES = \
+ -I$(top_builddir)/lib \
+ -I$(top_srcdir)/lib
+
+noinst_PROGRAMS = \
+ voodoo_client \
+ voodoo_server
+
+libvoodoo = $(top_builddir)/lib/voodoo/libvoodoo.la
+libdirect = $(top_builddir)/lib/direct/libdirect.la
+
+voodoo_client_SOURCES = voodoo_client.c
+voodoo_client_LDADD = $(libvoodoo) $(libdirect)
+
+voodoo_server_SOURCES = voodoo_server.c
+voodoo_server_LDADD = $(libvoodoo) $(libdirect)
+
diff --git a/wm/unique/devices/Makefile.in b/tests/voodoo/Makefile.in
similarity index 64%
copy from wm/unique/devices/Makefile.in
copy to tests/voodoo/Makefile.in
index 92d3bbe..72e6fda 100644
--- a/wm/unique/devices/Makefile.in
+++ b/tests/voodoo/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,8 +17,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -33,7 +35,8 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-subdir = wm/unique/devices
+noinst_PROGRAMS = voodoo_client$(EXEEXT) voodoo_server$(EXEEXT)
+subdir = tests/voodoo
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/as-ac-expand.m4 \
@@ -43,29 +46,51 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libunique_devices_la_LIBADD =
-am_libunique_devices_la_OBJECTS = pointer.lo wheel.lo keyboard.lo
-libunique_devices_la_OBJECTS = $(am_libunique_devices_la_OBJECTS)
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_voodoo_client_OBJECTS = voodoo_client.$(OBJEXT)
+voodoo_client_OBJECTS = $(am_voodoo_client_OBJECTS)
+voodoo_client_DEPENDENCIES = $(libvoodoo) $(libdirect)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am_voodoo_server_OBJECTS = voodoo_server.$(OBJEXT)
+voodoo_server_OBJECTS = $(am_voodoo_server_OBJECTS)
+voodoo_server_DEPENDENCIES = $(libvoodoo) $(libdirect)
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(libunique_devices_la_SOURCES)
-DIST_SOURCES = $(libunique_devices_la_SOURCES)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+SOURCES = $(voodoo_client_SOURCES) $(voodoo_server_SOURCES)
+DIST_SOURCES = $(voodoo_client_SOURCES) $(voodoo_server_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -89,11 +114,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -107,16 +135,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -137,12 +166,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -153,21 +185,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -175,6 +215,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -188,6 +232,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -195,9 +240,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -244,26 +290,19 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
- -I$(top_srcdir)/lib \
- -I$(top_srcdir)/src \
- -I$(top_srcdir)/wm
-
-AM_CPPFLAGS = \
- -DMODULEDIR=\"@MODULEDIR@\" \
- -DSOPATH=\"@SOPATH@\"
-
-noinst_LTLIBRARIES = libunique_devices.la
-libunique_devices_la_SOURCES = \
- pointer.c \
- wheel.c \
- keyboard.c
-
+ -I$(top_srcdir)/lib
+
+libvoodoo = $(top_builddir)/lib/voodoo/libvoodoo.la
+libdirect = $(top_builddir)/lib/direct/libdirect.la
+voodoo_client_SOURCES = voodoo_client.c
+voodoo_client_LDADD = $(libvoodoo) $(libdirect)
+voodoo_server_SOURCES = voodoo_server.c
+voodoo_server_LDADD = $(libvoodoo) $(libdirect)
all: all-am
.SUFFIXES:
@@ -272,14 +311,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wm/unique/devices/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu wm/unique/devices/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/voodoo/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/voodoo/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -297,17 +336,22 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libunique_devices.la: $(libunique_devices_la_OBJECTS) $(libunique_devices_la_DEPENDENCIES)
- $(LINK) $(libunique_devices_la_OBJECTS) $(libunique_devices_la_LIBADD) $(LIBS)
+$(am__aclocal_m4_deps):
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+voodoo_client$(EXEEXT): $(voodoo_client_OBJECTS) $(voodoo_client_DEPENDENCIES) $(EXTRA_voodoo_client_DEPENDENCIES)
+ @rm -f voodoo_client$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(voodoo_client_OBJECTS) $(voodoo_client_LDADD) $(LIBS)
+voodoo_server$(EXEEXT): $(voodoo_server_OBJECTS) $(voodoo_server_DEPENDENCIES) $(EXTRA_voodoo_server_DEPENDENCIES)
+ @rm -f voodoo_server$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(voodoo_server_OBJECTS) $(voodoo_server_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -315,30 +359,29 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/keyboard.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pointer.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wheel.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/voodoo_client.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/voodoo_server.Po at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -351,14 +394,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -366,29 +409,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -409,19 +457,23 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
-all-am: Makefile $(LTLIBRARIES)
+all-am: Makefile $(PROGRAMS)
installdirs:
install: install-am
install-exec: install-exec-am
@@ -433,23 +485,29 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
mostlyclean-am
distclean: distclean-am
@@ -464,6 +522,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -472,18 +532,28 @@ install-data-am:
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -509,7 +579,7 @@ uninstall-am:
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES ctags distclean \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
distclean-compile distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
@@ -521,6 +591,7 @@ uninstall-am:
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
pdf pdf-am ps ps-am tags uninstall uninstall-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/tests/voodoo/voodoo_client.c b/tests/voodoo/voodoo_client.c
new file mode 100644
index 0000000..cdfa926
--- /dev/null
+++ b/tests/voodoo/voodoo_client.c
@@ -0,0 +1,85 @@
+#include <direct/messages.h>
+
+#include <voodoo/client.h>
+#include <voodoo/manager.h>
+#include <voodoo/message.h>
+
+#include "voodoo_test.h"
+
+
+/*
+ * Client structure
+ */
+typedef struct {
+ VoodooClient *client;
+ VoodooManager *manager;
+
+ VoodooInstanceID instance_id;
+} VoodooTestClient;
+
+
+
+int
+main( int argc, char *argv[] )
+{
+ DirectResult ret;
+ int i;
+ VoodooTestClient test;
+
+ D_INFO( "Voodoo/Test: Connecting to server on localhost...\n" );
+
+ ret = voodoo_client_create( "127.0.0.1", 23456, &test.client );
+ if (ret) {
+ D_DERROR( ret, "voodoo_client_create() failed!\n" );
+ return ret;
+ }
+
+ test.manager = voodoo_client_manager( test.client );
+
+ /* Create a new instance on the connection */
+ ret = voodoo_manager_super( test.manager, "VoodooTest", &test.instance_id );
+ if (ret) {
+ D_DERROR( ret, "voodoo_manager_super() failed!\n" );
+ return ret;
+ }
+
+ /* Call several times asynchronous increase... */
+ for (i=0; i<1000000000; i++) {
+ ret = voodoo_manager_request( test.manager, test.instance_id, VOODOO_TEST_INCREASE, VREQ_QUEUE, NULL,
+ VMBT_NONE );
+ if (ret) {
+ D_DERROR( ret, "voodoo_manager_request( VOODOO_TEST_INCREASE ) failed!\n" );
+ return ret;
+ }
+ }
+
+
+ /* Call query synchronously */
+ VoodooResponseMessage *response;
+
+ ret = voodoo_manager_request( test.manager, test.instance_id, VOODOO_TEST_QUERY, VREQ_RESPOND, &response,
+ VMBT_NONE );
+ if (ret) {
+ D_DERROR( ret, "voodoo_manager_request( VOODOO_TEST_QUERY ) failed!\n" );
+ return ret;
+ }
+
+ /* Read contents of response */
+ VoodooMessageParser parser;
+ unsigned int counter;
+
+ VOODOO_PARSER_BEGIN( parser, response );
+ VOODOO_PARSER_GET_UINT( parser, counter );
+ VOODOO_PARSER_END( parser );
+
+ voodoo_manager_finish_request( test.manager, response );
+
+
+ D_INFO( "Voodoo/Test: Counter is now at %u\n", counter );
+
+
+ voodoo_client_destroy( test.client );
+
+ return 0;
+}
+
diff --git a/tests/voodoo/voodoo_server.c b/tests/voodoo/voodoo_server.c
new file mode 100644
index 0000000..266660c
--- /dev/null
+++ b/tests/voodoo/voodoo_server.c
@@ -0,0 +1,131 @@
+#include <direct/interface.h>
+#include <direct/mem.h>
+#include <direct/messages.h>
+
+#include <voodoo/server.h>
+#include <voodoo/manager.h>
+#include <voodoo/message.h>
+
+#include "voodoo_test.h"
+
+
+/*
+ * Server structure
+ */
+typedef struct {
+ VoodooServer *server;
+
+ unsigned int count;
+} VoodooTestServer;
+
+
+/*
+ * Per client structure
+ */
+typedef struct {
+ /* ignore */
+ IAny dummy;
+
+ VoodooManager *manager;
+
+ VoodooTestServer *server;
+} VoodooTestConnection;
+
+
+/* ignore */
+static DirectResult
+DummyRelease( IAny *thiz )
+{
+ return DR_OK;
+}
+
+
+/*
+ * Callback for handling incoming requests
+ */
+static DirectResult
+VoodooTestDispatch( void *dispatcher, /* context 1 */
+ void *real, /* context 2 */
+ VoodooManager *manager,
+ VoodooRequestMessage *msg )
+{
+ VoodooTestConnection *connection = dispatcher;
+ VoodooTestServer *server = connection->server;
+
+ switch (msg->method) {
+ case VOODOO_TEST_INCREASE:
+ server->count++;
+ break;
+
+ case VOODOO_TEST_QUERY:
+ voodoo_manager_respond( manager, true, msg->header.serial, DR_OK, VOODOO_INSTANCE_NONE,
+ VMBT_UINT, server->count,
+ VMBT_NONE );
+ break;
+ }
+
+ return DR_OK;
+}
+
+/*
+ * Callback for creating a new instance on a connection
+ */
+static DirectResult
+VoodooTestConstruct( VoodooServer *_server,
+ VoodooManager *manager,
+ const char *name,
+ void *ctx, /* context pointer */
+ VoodooInstanceID *ret_instance )
+{
+ VoodooTestServer *server = ctx;
+ VoodooInstanceID instance_id;
+ VoodooTestConnection *connection;
+
+ connection = D_CALLOC( 1, sizeof(VoodooTestConnection) );
+ if (!connection)
+ return D_OOM();
+
+ connection->manager = manager;
+ connection->server = server;
+
+ /* ignore */
+ connection->dummy.Release = DummyRelease;
+
+ /* Create a new instance with our callback */
+ voodoo_manager_register_local( manager, true,
+ connection /* context 1 */, connection /* context 2 */,
+ VoodooTestDispatch, &instance_id );
+
+ D_INFO( "Voodoo/Test: Created instance %u for client with manager %p...\n", instance_id, manager );
+
+ *ret_instance = instance_id;
+
+ return DR_OK;
+}
+
+
+
+int
+main( int argc, char *argv[] )
+{
+ DirectResult ret;
+ VoodooTestServer test = {0};
+
+ ret = voodoo_server_create( "127.0.0.1", 23456, false, &test.server );
+ if (ret) {
+ D_DERROR( ret, "voodoo_server_create() failed!\n" );
+ return ret;
+ }
+
+ voodoo_server_register( test.server, "VoodooTest", VoodooTestConstruct, &test /* context pointer */ );
+
+
+ D_INFO( "Voodoo/Test: Running server...\n" );
+
+ voodoo_server_run( test.server );
+
+ voodoo_server_destroy( test.server );
+
+ return 0;
+}
+
diff --git a/tools/Makefile.am b/tools/Makefile.am
index fad7688..784e2b3 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -1,15 +1,18 @@
## Makefile.am for DirectFB/tools
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
AM_CPPFLAGS = -DDATADIR=\"@DATADIR@\"
-AM_CFLAGS = $(FREETYPE_CFLAGS)
+AM_CFLAGS = $(FREETYPE_CFLAGS) $(LIBPNG_CFLAGS)
+AM_CXXFLAGS = $(LIBPNG_CFLAGS)
+
if BUILD_DIRECTFB_CSOURCE
DFB_CSOURCE = directfb-csource
@@ -27,22 +30,56 @@ LINUXONLY_TOOLS = \
endif
if ENABLE_VOODOO
-VOODOO_PROGS = dfbproxy
+VOODOO_PROGS = \
+ dfbproxy \
+ voodooplay
endif
if PNG_PROVIDER
-PNG_PROGS = mkdfiff
+PNG_PROGS = mkdfiff mkdgifft
endif
if FREETYPE_PROVIDER
FREETYPE_PROGS = mkdgiff
endif
-bin_PROGRAMS = $(DFB_CSOURCE) \
- dfbdump dfbfx dfbg dfbinfo dfbinput dfbinspector dfblayer \
- dfbmaster dfbscreen dfbpenmount $(PNG_PROGS) $(FREETYPE_PROGS) $(VOODOO_PROGS)
-noinst_PROGRAMS = $(LINUXONLY_TOOLS)
+
+if DIRECTFB_BUILD_PURE_VOODOO
+NON_PURE_VOODOO_bin_PROGS =
+else
+NON_PURE_VOODOO_bin_PROGS = \
+ dfbdump \
+ dfbinput
+endif
+
+bin_PROGRAMS = \
+ $(NON_PURE_VOODOO_bin_PROGS) \
+ $(DFB_CSOURCE) \
+ dfbfx \
+ dfbg \
+ dfbinfo \
+ dfbinspector \
+ dfblayer \
+ dfbmaster \
+ dfbscreen \
+ dfbpenmount \
+ $(PNG_PROGS) \
+ $(FREETYPE_PROGS) \
+ $(VOODOO_PROGS)
+
+
+if DIRECTFB_BUILD_PURE_VOODOO
+NON_PURE_VOODOO_noinst_PROGS =
+else
+NON_PURE_VOODOO_noinst_PROGS = \
+ $(LINUXONLY_TOOLS)
+endif
+
+noinst_PROGRAMS = \
+ $(NON_PURE_VOODOO_noinst_PROGS)
+
+
libdirectfb = ../src/libdirectfb.la
libfusion = ../lib/fusion/libfusion.la
@@ -88,6 +125,9 @@ mkdfiff_LDADD = $(LIBPNG_LIBS) $(libdirect)
mkdgiff_SOURCES = mkdgiff.c
mkdgiff_LDADD = $(FREETYPE_LIBS) $(libdirect)
+mkdgifft_SOURCES = mkdgifft.cpp
+mkdgifft_LDADD = $(LIBPNG_LIBS) $(libdirectfb) $(libfusion) $(libdirect)
+
fusion_bench_SOURCES = fusion_bench.c
fusion_bench_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
@@ -100,6 +140,9 @@ raw16toraw24_SOURCES = raw16toraw24.c
raw32toraw24_SOURCES = raw32toraw24.c
+voodooplay_SOURCES = voodooplay.c
+voodooplay_LDADD = $(libdirectfb) $(libfusion) $(libdirect) $(libvoodoo)
+
EXTRA_DIST = \
README \
gendoc.pl \
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 42a15ff..4ef47ec 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,8 +17,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -33,12 +35,12 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-bin_PROGRAMS = $(am__EXEEXT_1) dfbdump$(EXEEXT) dfbfx$(EXEEXT) \
- dfbg$(EXEEXT) dfbinfo$(EXEEXT) dfbinput$(EXEEXT) \
- dfbinspector$(EXEEXT) dfblayer$(EXEEXT) dfbmaster$(EXEEXT) \
- dfbscreen$(EXEEXT) dfbpenmount$(EXEEXT) $(am__EXEEXT_2) \
- $(am__EXEEXT_3) $(am__EXEEXT_4)
-noinst_PROGRAMS = $(am__EXEEXT_5)
+bin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) dfbfx$(EXEEXT) \
+ dfbg$(EXEEXT) dfbinfo$(EXEEXT) dfbinspector$(EXEEXT) \
+ dfblayer$(EXEEXT) dfbmaster$(EXEEXT) dfbscreen$(EXEEXT) \
+ dfbpenmount$(EXEEXT) $(am__EXEEXT_3) $(am__EXEEXT_4) \
+ $(am__EXEEXT_5)
+noinst_PROGRAMS = $(am__EXEEXT_7)
subdir = tools
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -49,19 +51,26 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
- at BUILD_DIRECTFB_CSOURCE_TRUE@am__EXEEXT_1 = directfb-csource$(EXEEXT)
- at PNG_PROVIDER_TRUE@am__EXEEXT_2 = mkdfiff$(EXEEXT)
- at FREETYPE_PROVIDER_TRUE@am__EXEEXT_3 = mkdgiff$(EXEEXT)
- at ENABLE_VOODOO_TRUE@am__EXEEXT_4 = dfbproxy$(EXEEXT)
+CONFIG_CLEAN_VPATH_FILES =
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@am__EXEEXT_1 = dfbdump$(EXEEXT) \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ dfbinput$(EXEEXT)
+ at BUILD_DIRECTFB_CSOURCE_TRUE@am__EXEEXT_2 = directfb-csource$(EXEEXT)
+ at PNG_PROVIDER_TRUE@am__EXEEXT_3 = mkdfiff$(EXEEXT) mkdgifft$(EXEEXT)
+ at FREETYPE_PROVIDER_TRUE@am__EXEEXT_4 = mkdgiff$(EXEEXT)
+ at ENABLE_VOODOO_TRUE@am__EXEEXT_5 = dfbproxy$(EXEEXT) \
+ at ENABLE_VOODOO_TRUE@ voodooplay$(EXEEXT)
am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
- at HAVE_LINUX_TRUE@am__EXEEXT_5 = fusion_bench$(EXEEXT) \
+ at HAVE_LINUX_TRUE@am__EXEEXT_6 = fusion_bench$(EXEEXT) \
@HAVE_LINUX_TRUE@ raw15toraw24$(EXEEXT) raw16toraw24$(EXEEXT) \
@HAVE_LINUX_TRUE@ raw32toraw24$(EXEEXT)
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@am__EXEEXT_7 = $(am__EXEEXT_6)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
am_dfbdump_OBJECTS = dfbdump.$(OBJEXT)
dfbdump_OBJECTS = $(am_dfbdump_OBJECTS)
dfbdump_DEPENDENCIES = $(libdirectfb) $(libfusion) $(libdirect)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
am_dfbfx_OBJECTS = dfbfx.$(OBJEXT)
dfbfx_OBJECTS = $(am_dfbfx_OBJECTS)
dfbfx_DEPENDENCIES = $(libdirect)
@@ -116,6 +125,10 @@ mkdfiff_DEPENDENCIES = $(am__DEPENDENCIES_1) $(libdirect)
am_mkdgiff_OBJECTS = mkdgiff.$(OBJEXT)
mkdgiff_OBJECTS = $(am_mkdgiff_OBJECTS)
mkdgiff_DEPENDENCIES = $(am__DEPENDENCIES_1) $(libdirect)
+am_mkdgifft_OBJECTS = mkdgifft.$(OBJEXT)
+mkdgifft_OBJECTS = $(am_mkdgifft_OBJECTS)
+mkdgifft_DEPENDENCIES = $(am__DEPENDENCIES_1) $(libdirectfb) \
+ $(libfusion) $(libdirect)
am_raw15toraw24_OBJECTS = raw15toraw24.$(OBJEXT)
raw15toraw24_OBJECTS = $(am_raw15toraw24_OBJECTS)
raw15toraw24_LDADD = $(LDADD)
@@ -125,39 +138,76 @@ raw16toraw24_LDADD = $(LDADD)
am_raw32toraw24_OBJECTS = raw32toraw24.$(OBJEXT)
raw32toraw24_OBJECTS = $(am_raw32toraw24_OBJECTS)
raw32toraw24_LDADD = $(LDADD)
+am_voodooplay_OBJECTS = voodooplay.$(OBJEXT)
+voodooplay_OBJECTS = $(am_voodooplay_OBJECTS)
+voodooplay_DEPENDENCIES = $(libdirectfb) $(libfusion) $(libdirect) \
+ $(libvoodoo)
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(dfbdump_SOURCES) $(dfbfx_SOURCES) $(dfbg_SOURCES) \
$(dfbinfo_SOURCES) $(dfbinput_SOURCES) $(dfbinspector_SOURCES) \
$(dfblayer_SOURCES) $(dfbmaster_SOURCES) \
$(dfbpenmount_SOURCES) $(dfbproxy_SOURCES) \
$(dfbscreen_SOURCES) $(directfb_csource_SOURCES) \
$(fusion_bench_SOURCES) $(mkdfiff_SOURCES) $(mkdgiff_SOURCES) \
- $(raw15toraw24_SOURCES) $(raw16toraw24_SOURCES) \
- $(raw32toraw24_SOURCES)
+ $(mkdgifft_SOURCES) $(raw15toraw24_SOURCES) \
+ $(raw16toraw24_SOURCES) $(raw32toraw24_SOURCES) \
+ $(voodooplay_SOURCES)
DIST_SOURCES = $(dfbdump_SOURCES) $(dfbfx_SOURCES) $(dfbg_SOURCES) \
$(dfbinfo_SOURCES) $(dfbinput_SOURCES) $(dfbinspector_SOURCES) \
$(dfblayer_SOURCES) $(dfbmaster_SOURCES) \
$(dfbpenmount_SOURCES) $(dfbproxy_SOURCES) \
$(dfbscreen_SOURCES) $(am__directfb_csource_SOURCES_DIST) \
$(fusion_bench_SOURCES) $(mkdfiff_SOURCES) $(mkdgiff_SOURCES) \
- $(raw15toraw24_SOURCES) $(raw16toraw24_SOURCES) \
- $(raw32toraw24_SOURCES)
+ $(mkdgifft_SOURCES) $(raw15toraw24_SOURCES) \
+ $(raw16toraw24_SOURCES) $(raw32toraw24_SOURCES) \
+ $(voodooplay_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -181,11 +231,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -199,16 +252,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -229,12 +283,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -245,21 +302,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -267,6 +332,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -280,6 +349,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -287,9 +357,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -336,17 +407,20 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_builddir)/lib \
-I$(top_builddir)/include \
+ -I$(top_builddir)/lib \
+ -I$(top_builddir)/src \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
AM_CPPFLAGS = -DDATADIR=\"@DATADIR@\"
-AM_CFLAGS = $(FREETYPE_CFLAGS)
+AM_CFLAGS = $(FREETYPE_CFLAGS) $(LIBPNG_CFLAGS)
+AM_CXXFLAGS = $(LIBPNG_CFLAGS)
@BUILD_DIRECTFB_CSOURCE_TRUE at DFB_CSOURCE = directfb-csource
@BUILD_DIRECTFB_CSOURCE_TRUE at directfb_csource_SOURCES = directfb-csource.c
@BUILD_DIRECTFB_CSOURCE_TRUE at directfb_csource_LDADD = $(LIBPNG_LIBS)
@@ -356,9 +430,21 @@ AM_CFLAGS = $(FREETYPE_CFLAGS)
@HAVE_LINUX_TRUE@ raw16toraw24 \
@HAVE_LINUX_TRUE@ raw32toraw24
- at ENABLE_VOODOO_TRUE@VOODOO_PROGS = dfbproxy
- at PNG_PROVIDER_TRUE@PNG_PROGS = mkdfiff
+ at ENABLE_VOODOO_TRUE@VOODOO_PROGS = \
+ at ENABLE_VOODOO_TRUE@ dfbproxy \
+ at ENABLE_VOODOO_TRUE@ voodooplay
+
+ at PNG_PROVIDER_TRUE@PNG_PROGS = mkdfiff mkdgifft
@FREETYPE_PROVIDER_TRUE at FREETYPE_PROGS = mkdgiff
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@NON_PURE_VOODOO_bin_PROGS = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ dfbdump \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ dfbinput
+
+ at DIRECTFB_BUILD_PURE_VOODOO_TRUE@NON_PURE_VOODOO_bin_PROGS =
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@NON_PURE_VOODOO_noinst_PROGS = \
+ at DIRECTFB_BUILD_PURE_VOODOO_FALSE@ $(LINUXONLY_TOOLS)
+
+ at DIRECTFB_BUILD_PURE_VOODOO_TRUE@NON_PURE_VOODOO_noinst_PROGS =
libdirectfb = ../src/libdirectfb.la
libfusion = ../lib/fusion/libfusion.la
libdirect = ../lib/direct/libdirect.la
@@ -390,6 +476,8 @@ mkdfiff_SOURCES = mkdfiff.c
mkdfiff_LDADD = $(LIBPNG_LIBS) $(libdirect)
mkdgiff_SOURCES = mkdgiff.c
mkdgiff_LDADD = $(FREETYPE_LIBS) $(libdirect)
+mkdgifft_SOURCES = mkdgifft.cpp
+mkdgifft_LDADD = $(LIBPNG_LIBS) $(libdirectfb) $(libfusion) $(libdirect)
fusion_bench_SOURCES = fusion_bench.c
fusion_bench_LDADD = $(libdirectfb) $(libfusion) $(libdirect)
dfbfx_SOURCES = dfbfx.c
@@ -397,6 +485,8 @@ dfbfx_LDADD = $(libdirect)
raw15toraw24_SOURCES = raw15toraw24.c
raw16toraw24_SOURCES = raw16toraw24.c
raw32toraw24_SOURCES = raw32toraw24.c
+voodooplay_SOURCES = voodooplay.c
+voodooplay_LDADD = $(libdirectfb) $(libfusion) $(libdirect) $(libvoodoo)
EXTRA_DIST = \
README \
gendoc.pl \
@@ -405,19 +495,19 @@ EXTRA_DIST = \
all: all-am
.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
+.SUFFIXES: .c .cpp .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu tools/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tools/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -435,95 +525,119 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-dfbdump$(EXEEXT): $(dfbdump_OBJECTS) $(dfbdump_DEPENDENCIES)
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+dfbdump$(EXEEXT): $(dfbdump_OBJECTS) $(dfbdump_DEPENDENCIES) $(EXTRA_dfbdump_DEPENDENCIES)
@rm -f dfbdump$(EXEEXT)
- $(LINK) $(dfbdump_OBJECTS) $(dfbdump_LDADD) $(LIBS)
-dfbfx$(EXEEXT): $(dfbfx_OBJECTS) $(dfbfx_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbdump_OBJECTS) $(dfbdump_LDADD) $(LIBS)
+dfbfx$(EXEEXT): $(dfbfx_OBJECTS) $(dfbfx_DEPENDENCIES) $(EXTRA_dfbfx_DEPENDENCIES)
@rm -f dfbfx$(EXEEXT)
- $(LINK) $(dfbfx_OBJECTS) $(dfbfx_LDADD) $(LIBS)
-dfbg$(EXEEXT): $(dfbg_OBJECTS) $(dfbg_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbfx_OBJECTS) $(dfbfx_LDADD) $(LIBS)
+dfbg$(EXEEXT): $(dfbg_OBJECTS) $(dfbg_DEPENDENCIES) $(EXTRA_dfbg_DEPENDENCIES)
@rm -f dfbg$(EXEEXT)
- $(LINK) $(dfbg_OBJECTS) $(dfbg_LDADD) $(LIBS)
-dfbinfo$(EXEEXT): $(dfbinfo_OBJECTS) $(dfbinfo_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbg_OBJECTS) $(dfbg_LDADD) $(LIBS)
+dfbinfo$(EXEEXT): $(dfbinfo_OBJECTS) $(dfbinfo_DEPENDENCIES) $(EXTRA_dfbinfo_DEPENDENCIES)
@rm -f dfbinfo$(EXEEXT)
- $(LINK) $(dfbinfo_OBJECTS) $(dfbinfo_LDADD) $(LIBS)
-dfbinput$(EXEEXT): $(dfbinput_OBJECTS) $(dfbinput_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbinfo_OBJECTS) $(dfbinfo_LDADD) $(LIBS)
+dfbinput$(EXEEXT): $(dfbinput_OBJECTS) $(dfbinput_DEPENDENCIES) $(EXTRA_dfbinput_DEPENDENCIES)
@rm -f dfbinput$(EXEEXT)
- $(LINK) $(dfbinput_OBJECTS) $(dfbinput_LDADD) $(LIBS)
-dfbinspector$(EXEEXT): $(dfbinspector_OBJECTS) $(dfbinspector_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbinput_OBJECTS) $(dfbinput_LDADD) $(LIBS)
+dfbinspector$(EXEEXT): $(dfbinspector_OBJECTS) $(dfbinspector_DEPENDENCIES) $(EXTRA_dfbinspector_DEPENDENCIES)
@rm -f dfbinspector$(EXEEXT)
- $(LINK) $(dfbinspector_OBJECTS) $(dfbinspector_LDADD) $(LIBS)
-dfblayer$(EXEEXT): $(dfblayer_OBJECTS) $(dfblayer_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbinspector_OBJECTS) $(dfbinspector_LDADD) $(LIBS)
+dfblayer$(EXEEXT): $(dfblayer_OBJECTS) $(dfblayer_DEPENDENCIES) $(EXTRA_dfblayer_DEPENDENCIES)
@rm -f dfblayer$(EXEEXT)
- $(LINK) $(dfblayer_OBJECTS) $(dfblayer_LDADD) $(LIBS)
-dfbmaster$(EXEEXT): $(dfbmaster_OBJECTS) $(dfbmaster_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfblayer_OBJECTS) $(dfblayer_LDADD) $(LIBS)
+dfbmaster$(EXEEXT): $(dfbmaster_OBJECTS) $(dfbmaster_DEPENDENCIES) $(EXTRA_dfbmaster_DEPENDENCIES)
@rm -f dfbmaster$(EXEEXT)
- $(LINK) $(dfbmaster_OBJECTS) $(dfbmaster_LDADD) $(LIBS)
-dfbpenmount$(EXEEXT): $(dfbpenmount_OBJECTS) $(dfbpenmount_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbmaster_OBJECTS) $(dfbmaster_LDADD) $(LIBS)
+dfbpenmount$(EXEEXT): $(dfbpenmount_OBJECTS) $(dfbpenmount_DEPENDENCIES) $(EXTRA_dfbpenmount_DEPENDENCIES)
@rm -f dfbpenmount$(EXEEXT)
- $(LINK) $(dfbpenmount_OBJECTS) $(dfbpenmount_LDADD) $(LIBS)
-dfbproxy$(EXEEXT): $(dfbproxy_OBJECTS) $(dfbproxy_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbpenmount_OBJECTS) $(dfbpenmount_LDADD) $(LIBS)
+dfbproxy$(EXEEXT): $(dfbproxy_OBJECTS) $(dfbproxy_DEPENDENCIES) $(EXTRA_dfbproxy_DEPENDENCIES)
@rm -f dfbproxy$(EXEEXT)
- $(LINK) $(dfbproxy_OBJECTS) $(dfbproxy_LDADD) $(LIBS)
-dfbscreen$(EXEEXT): $(dfbscreen_OBJECTS) $(dfbscreen_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbproxy_OBJECTS) $(dfbproxy_LDADD) $(LIBS)
+dfbscreen$(EXEEXT): $(dfbscreen_OBJECTS) $(dfbscreen_DEPENDENCIES) $(EXTRA_dfbscreen_DEPENDENCIES)
@rm -f dfbscreen$(EXEEXT)
- $(LINK) $(dfbscreen_OBJECTS) $(dfbscreen_LDADD) $(LIBS)
-directfb-csource$(EXEEXT): $(directfb_csource_OBJECTS) $(directfb_csource_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(dfbscreen_OBJECTS) $(dfbscreen_LDADD) $(LIBS)
+directfb-csource$(EXEEXT): $(directfb_csource_OBJECTS) $(directfb_csource_DEPENDENCIES) $(EXTRA_directfb_csource_DEPENDENCIES)
@rm -f directfb-csource$(EXEEXT)
- $(LINK) $(directfb_csource_OBJECTS) $(directfb_csource_LDADD) $(LIBS)
-fusion_bench$(EXEEXT): $(fusion_bench_OBJECTS) $(fusion_bench_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(directfb_csource_OBJECTS) $(directfb_csource_LDADD) $(LIBS)
+fusion_bench$(EXEEXT): $(fusion_bench_OBJECTS) $(fusion_bench_DEPENDENCIES) $(EXTRA_fusion_bench_DEPENDENCIES)
@rm -f fusion_bench$(EXEEXT)
- $(LINK) $(fusion_bench_OBJECTS) $(fusion_bench_LDADD) $(LIBS)
-mkdfiff$(EXEEXT): $(mkdfiff_OBJECTS) $(mkdfiff_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(fusion_bench_OBJECTS) $(fusion_bench_LDADD) $(LIBS)
+mkdfiff$(EXEEXT): $(mkdfiff_OBJECTS) $(mkdfiff_DEPENDENCIES) $(EXTRA_mkdfiff_DEPENDENCIES)
@rm -f mkdfiff$(EXEEXT)
- $(LINK) $(mkdfiff_OBJECTS) $(mkdfiff_LDADD) $(LIBS)
-mkdgiff$(EXEEXT): $(mkdgiff_OBJECTS) $(mkdgiff_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(mkdfiff_OBJECTS) $(mkdfiff_LDADD) $(LIBS)
+mkdgiff$(EXEEXT): $(mkdgiff_OBJECTS) $(mkdgiff_DEPENDENCIES) $(EXTRA_mkdgiff_DEPENDENCIES)
@rm -f mkdgiff$(EXEEXT)
- $(LINK) $(mkdgiff_OBJECTS) $(mkdgiff_LDADD) $(LIBS)
-raw15toraw24$(EXEEXT): $(raw15toraw24_OBJECTS) $(raw15toraw24_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(mkdgiff_OBJECTS) $(mkdgiff_LDADD) $(LIBS)
+mkdgifft$(EXEEXT): $(mkdgifft_OBJECTS) $(mkdgifft_DEPENDENCIES) $(EXTRA_mkdgifft_DEPENDENCIES)
+ @rm -f mkdgifft$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(mkdgifft_OBJECTS) $(mkdgifft_LDADD) $(LIBS)
+raw15toraw24$(EXEEXT): $(raw15toraw24_OBJECTS) $(raw15toraw24_DEPENDENCIES) $(EXTRA_raw15toraw24_DEPENDENCIES)
@rm -f raw15toraw24$(EXEEXT)
- $(LINK) $(raw15toraw24_OBJECTS) $(raw15toraw24_LDADD) $(LIBS)
-raw16toraw24$(EXEEXT): $(raw16toraw24_OBJECTS) $(raw16toraw24_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(raw15toraw24_OBJECTS) $(raw15toraw24_LDADD) $(LIBS)
+raw16toraw24$(EXEEXT): $(raw16toraw24_OBJECTS) $(raw16toraw24_DEPENDENCIES) $(EXTRA_raw16toraw24_DEPENDENCIES)
@rm -f raw16toraw24$(EXEEXT)
- $(LINK) $(raw16toraw24_OBJECTS) $(raw16toraw24_LDADD) $(LIBS)
-raw32toraw24$(EXEEXT): $(raw32toraw24_OBJECTS) $(raw32toraw24_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(raw16toraw24_OBJECTS) $(raw16toraw24_LDADD) $(LIBS)
+raw32toraw24$(EXEEXT): $(raw32toraw24_OBJECTS) $(raw32toraw24_DEPENDENCIES) $(EXTRA_raw32toraw24_DEPENDENCIES)
@rm -f raw32toraw24$(EXEEXT)
- $(LINK) $(raw32toraw24_OBJECTS) $(raw32toraw24_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(raw32toraw24_OBJECTS) $(raw32toraw24_LDADD) $(LIBS)
+voodooplay$(EXEEXT): $(voodooplay_OBJECTS) $(voodooplay_DEPENDENCIES) $(EXTRA_voodooplay_DEPENDENCIES)
+ @rm -f voodooplay$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(voodooplay_OBJECTS) $(voodooplay_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -546,30 +660,53 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fusion_bench.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mkdfiff.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mkdgiff.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mkdgifft.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/raw15toraw24.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/raw16toraw24.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/raw32toraw24.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/voodooplay.Po at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -582,14 +719,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -597,29 +734,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -640,13 +782,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -667,16 +813,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -698,6 +850,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -706,18 +860,28 @@ install-data-am:
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am: install-binPROGRAMS
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -756,6 +920,7 @@ uninstall-am: uninstall-binPROGRAMS
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-binPROGRAMS
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/tools/dfbdump.c b/tools/dfbdump.c
index c8f89b2..6a1a799 100644
--- a/tools/dfbdump.c
+++ b/tools/dfbdump.c
@@ -1,5 +1,5 @@
/*
- (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2001-2010 The world wide DirectFB Open Source Community (directfb.org)
(c) Copyright 2000-2004 Convergence (integrated media) GmbH
All rights reserved.
@@ -53,6 +53,8 @@
#include <fusion/shm/shm.h>
#include <fusion/shm/shm_internal.h>
+#include <core/CoreLayer.h>
+
#include <core/core.h>
#include <core/layer_control.h>
#include <core/layer_context.h>
@@ -82,6 +84,7 @@ static IDirectFB *dfb;
static MemoryUsage mem;
+static bool loop_mode;
static bool show_shm;
static bool show_pools;
static bool show_allocs;
@@ -102,8 +105,7 @@ buffer_size( CoreSurface *surface, CoreSurfaceBuffer *buffer, bool video )
fusion_vector_foreach (allocation, i, buffer->allocs) {
int size = allocation->size;
- if (allocation->flags & CSALF_ONEFORALL)
- size /= surface->num_buffers;
+
if (video) {
if (allocation->access[CSAID_GPU])
mem += size;
@@ -132,12 +134,16 @@ buffer_sizes( CoreSurface *surface, bool video )
static int
buffer_locks( CoreSurface *surface, bool video )
{
- int i, locks = 0;
+ int i, j, locks = 0;
for (i=0; i<surface->num_buffers; i++) {
CoreSurfaceBuffer *buffer = surface->buffers[i];
- locks += buffer->locked;
+ for (j=0; j<buffer->allocs.count; j++) {
+ CoreSurfaceAllocation *allocation = fusion_vector_at( &buffer->allocs, j );
+
+ locks += dfb_surface_allocation_locks( allocation );
+ }
}
return locks;
@@ -190,6 +196,8 @@ surface_callback( FusionObjectPool *pool,
printf( "%8s ", format_names[i].name );
}
+ printf( "%5d ", surface->object.id );
+
vmem = buffer_sizes( surface, true );
smem = buffer_sizes( surface, false );
@@ -241,14 +249,14 @@ static void
dump_surfaces( void )
{
printf( "\n"
- "-----------------------------[ Surfaces ]-------------------------------------\n" );
- printf( "Reference FID . Refs Width Height Format Video System Capabilities\n" );
- printf( "------------------------------------------------------------------------------\n" );
+ "-----------------------------[ Surfaces ]--------------------------------------------\n" );
+ printf( "Reference FID . Refs Width Height Format ID Video System Capabilities\n" );
+ printf( "-------------------------------------------------------------------------------------\n" );
dfb_core_enum_surfaces( NULL, surface_callback, &mem );
- printf( " ------ ------\n" );
- printf( " %6dk %6dk -> %dk total\n",
+ printf( " ------ ------\n" );
+ printf( " %6dk %6dk -> %dk total\n",
mem.video >> 10, (mem.system + mem.presys) >> 10,
(mem.video + mem.system + mem.presys) >> 10);
}
@@ -446,7 +454,7 @@ surface_pool_info_callback( CoreSurfacePool *pool,
(pool->desc.access[i] & CSAF_SHARED) ? 's' : '-' );
}
- for (i=CSAID_LAYER0; i<=CSAID_LAYER2; i++) {
+ for (i=CSAID_LAYER0; i<=CSAID_LAYER15; i++) {
printf( " %c%c%c",
(pool->desc.access[i] & CSAF_READ) ? 'r' : '-',
(pool->desc.access[i] & CSAF_WRITE) ? 'w' : '-',
@@ -650,27 +658,19 @@ static void
dump_windows( CoreLayer *layer )
{
DFBResult ret;
- CoreLayerShared *shared;
CoreLayerContext *context;
CoreWindowStack *stack;
- shared = layer->shared;
-
- ret = fusion_skirmish_prevail( &shared->lock );
- if (ret) {
- D_DERROR( ret, "DirectFB/Dump: Could not lock the shared layer data!\n" );
+ if (!layer->shared->contexts.primary)
return;
- }
- context = layer->shared->contexts.primary;
- if (!context) {
- fusion_skirmish_dismiss( &shared->lock );
+ ret = CoreLayer_GetPrimaryContext( layer, false, &context );
+ if (ret)
return;
- }
stack = dfb_layer_context_windowstack( context );
if (!stack) {
- fusion_skirmish_dismiss( &shared->lock );
+ dfb_layer_context_unref( context );
return;
}
@@ -687,7 +687,7 @@ dump_windows( CoreLayer *layer )
dfb_windowstack_unlock( stack );
- fusion_skirmish_dismiss( &shared->lock );
+ dfb_layer_context_unref( context );
}
static DFBEnumerationResult
@@ -791,64 +791,76 @@ main( int argc, char *argv[] )
return -3;
}
- millis = direct_clock_get_millis();
+ while (true) {
+ millis = direct_clock_get_millis();
- seconds = millis / 1000;
- millis %= 1000;
+ seconds = millis / 1000;
+ millis %= 1000;
- minutes = seconds / 60;
- seconds %= 60;
+ minutes = seconds / 60;
+ seconds %= 60;
- hours = minutes / 60;
- minutes %= 60;
+ hours = minutes / 60;
+ minutes %= 60;
- days = hours / 24;
- hours %= 24;
+ days = hours / 24;
+ hours %= 24;
- switch (days) {
- case 0:
- printf( "\nDirectFB uptime: %02ld:%02ld:%02ld\n",
- hours, minutes, seconds );
- break;
-
- case 1:
- printf( "\nDirectFB uptime: %ld day, %02ld:%02ld:%02ld\n",
- days, hours, minutes, seconds );
- break;
-
- default:
- printf( "\nDirectFB uptime: %ld days, %02ld:%02ld:%02ld\n",
- days, hours, minutes, seconds );
- break;
- }
+ switch (days) {
+ case 0:
+ printf( "\nDirectFB uptime: %02ld:%02ld:%02ld\n",
+ hours, minutes, seconds );
+ break;
- dump_surfaces();
- fflush( stdout );
+ case 1:
+ printf( "\nDirectFB uptime: %ld day, %02ld:%02ld:%02ld\n",
+ days, hours, minutes, seconds );
+ break;
- dump_layers();
- fflush( stdout );
+ default:
+ printf( "\nDirectFB uptime: %ld days, %02ld:%02ld:%02ld\n",
+ days, hours, minutes, seconds );
+ break;
+ }
-#if FUSION_BUILD_MULTI
- if (show_shm) {
- printf( "\n" );
- dump_shmpools();
+ dump_surfaces();
fflush( stdout );
- }
-#endif
- if (show_pools) {
- printf( "\n" );
- dump_surface_pool_info();
+ dump_layers();
fflush( stdout );
- }
- if (show_allocs) {
+ #if FUSION_BUILD_MULTI
+ if (show_shm) {
+ printf( "\n" );
+ dump_shmpools();
+ fflush( stdout );
+ }
+ #endif
+
+ if (show_pools) {
+ printf( "\n" );
+ dump_surface_pool_info();
+ fflush( stdout );
+ }
+
+ if (show_allocs) {
+ printf( "\n" );
+ dump_surface_pools();
+ fflush( stdout );
+ }
+
printf( "\n" );
- dump_surface_pools();
- fflush( stdout );
- }
- printf( "\n" );
+
+ if (loop_mode) {
+ usleep( 2000000 );
+
+ /* Clear surface memory totals */
+ memset( &mem, 0, sizeof(mem) );
+ }
+ else
+ break;
+ }
/* DirectFB deinitialization. */
if (dfb)
@@ -865,6 +877,7 @@ print_usage (const char *prg_name)
fprintf (stderr, "\nDirectFB Dump (version %s)\n\n", DIRECTFB_VERSION);
fprintf (stderr, "Usage: %s [options]\n\n", prg_name);
fprintf (stderr, "Options:\n");
+ fprintf (stderr, " -l, --loop Run in loop mode, periodically dumping status (useful as secure master for debug)\n");
fprintf (stderr, " -s, --shm Show shared memory pool content (if debug enabled)\n");
fprintf (stderr, " -p, --pools Show information about surface pools\n");
fprintf (stderr, " -a, --allocs Show surface buffer allocations in surface pools\n");
@@ -893,6 +906,11 @@ parse_command_line( int argc, char *argv[] )
return DFB_FALSE;
}
+ if (strcmp (arg, "-l") == 0 || strcmp (arg, "--loop") == 0) {
+ loop_mode = true;
+ continue;
+ }
+
if (strcmp (arg, "-s") == 0 || strcmp (arg, "--shm") == 0) {
show_shm = true;
continue;
diff --git a/tools/dfbinfo.c b/tools/dfbinfo.c
index 1824c64..d1806ea 100644
--- a/tools/dfbinfo.c
+++ b/tools/dfbinfo.c
@@ -179,7 +179,7 @@ input_device_callback( DFBInputDeviceID id,
printf( "\n" );
- return DFB_OK;
+ return DR_OK;
}
static void
@@ -274,7 +274,7 @@ display_layer_callback( DFBDisplayLayerID id,
printf( "\n" );
- return DFB_OK;
+ return DR_OK;
}
static void
@@ -564,7 +564,7 @@ screen_callback( DFBScreenID id,
screen->Release( screen );
- return DFB_OK;
+ return DR_OK;
}
static void
diff --git a/tools/dfbinput.c b/tools/dfbinput.c
index 67930b6..256d629 100644
--- a/tools/dfbinput.c
+++ b/tools/dfbinput.c
@@ -41,6 +41,8 @@
#include <direct/messages.h>
#include <direct/util.h>
+#include <core/CoreInputDevice.h>
+
#include <core/input.h>
#include <directfb.h>
@@ -129,7 +131,7 @@ main( int argc, char *argv[] )
/* Reload the keymap. FIXME: Make public API? */
if (reload) {
- ret = dfb_input_device_reload_keymap( dfb_input_device_at( id ) );
+ ret = CoreInputDevice_ReloadKeymap( dfb_input_device_at( id ) );
if (ret) {
D_DERROR( ret, "Tools/Input: Reloading the keymap failed!\n" );
goto error;
diff --git a/tools/dfbinspector.c b/tools/dfbinspector.c
index 489d854..d211ab3 100644
--- a/tools/dfbinspector.c
+++ b/tools/dfbinspector.c
@@ -96,16 +96,20 @@ Inspector_Run( Inspector *inspector )
DSPF_ARGB,
DSPF_AiRGB,
DSPF_A1,
+ DSPF_A1_LSB,
DSPF_A8,
DSPF_YUY2,
DSPF_UYVY,
DSPF_I420,
DSPF_YV12,
+ DSPF_YV16,
DSPF_NV12,
DSPF_NV21,
DSPF_NV16,
DSPF_AYUV,
DSPF_YUV444P,
+ DSPF_AVYU,
+ DSPF_VYU,
};
int i, j, n;
diff --git a/tools/dfblayer.c b/tools/dfblayer.c
index 6519be1..f81caed 100644
--- a/tools/dfblayer.c
+++ b/tools/dfblayer.c
@@ -55,6 +55,9 @@ static DFBDisplayLayerDescription desc;
static DFBDisplayLayerID id = DLID_PRIMARY;
static int width = 0;
static int height = 0;
+static DFBBoolean set_dest_coord = DFB_FALSE;
+static DFBBoolean set_dest_dim = DFB_FALSE;
+static DFBRectangle dest;
static DFBSurfacePixelFormat format = DSPF_UNKNOWN;
static DFBDisplayLayerBufferMode buffermode = -1;
static int opacity = -1;
@@ -173,6 +176,8 @@ print_usage (const char *prg_name)
fprintf (stderr, "Options:\n");
fprintf (stderr, " -l, --layer <id> Use the specified layer, default is primary\n");
fprintf (stderr, " -m, --mode <width>x<height> Change the resolution (pixels)\n");
+ fprintf (stderr, " -d, --dest <width>x<height> Change the destination resolution (pixels)\n");
+ fprintf (stderr, " -c, --coord <x>x<y> Change the destination coordinates (pixels)\n");
fprintf (stderr, " -f, --format <pixelformat> Change the pixel format\n");
fprintf (stderr, " -b, --buffer <buffermode> Change the buffer mode (single/video/system)\n");
fprintf (stderr, " -o, --opacity <opacity> Change the layer's opacity (0-255)\n");
@@ -240,10 +245,12 @@ parse_layer( const char *arg )
}
static DFBBoolean
-parse_mode( const char *arg )
+parse_mode( const char *arg,
+ int *width_,
+ int *height_ )
{
- if (sscanf( arg, "%dx%d", &width, &height ) != 2 ||
- width < 1 || height < 1)
+ if (sscanf( arg, "%dx%d", width_, height_ ) != 2 ||
+ *width_ < 0 || *height_ < 0)
{
fprintf (stderr, "\nInvalid mode specified!\n\n" );
return DFB_FALSE;
@@ -368,12 +375,40 @@ parse_command_line( int argc, char *argv[] )
return DFB_FALSE;
}
- if (!parse_mode( argv[n] ))
+ if (!parse_mode( argv[n], &width, &height ))
return DFB_FALSE;
continue;
}
+ if (strcmp (arg, "-d") == 0 || strcmp (arg, "--dest") == 0) {
+ if (++n == argc) {
+ print_usage (argv[0]);
+ return DFB_FALSE;
+ }
+
+ if (!parse_mode( argv[n], &dest.w, &dest.h ))
+ return DFB_FALSE;
+
+ set_dest_dim = DFB_TRUE;
+
+ continue;
+ }
+
+ if (strcmp (arg, "-c") == 0 || strcmp (arg, "--coord") == 0) {
+ if (++n == argc) {
+ print_usage (argv[0]);
+ return DFB_FALSE;
+ }
+
+ if (!parse_mode( argv[n], &dest.x, &dest.y ))
+ return DFB_FALSE;
+
+ set_dest_coord = DFB_TRUE;
+
+ continue;
+ }
+
if (strcmp (arg, "-f") == 0 || strcmp (arg, "--format") == 0) {
if (++n == argc) {
print_usage (argv[0]);
@@ -541,6 +576,22 @@ set_configuration( void )
DirectFBError( "IDirectFBDisplayLayer::SetRotation() failed", ret );
}
+ if (set_dest_dim) {
+ ret = layer->SetScreenRectangle( layer,
+ dest.x, dest.y, dest.w, dest.h );
+ if (ret == DFB_UNSUPPORTED)
+ fprintf( stderr, "ScreenRectangle not supported!\n\n" );
+ else if (ret)
+ DirectFBError( "IDirectFBDisplayLayer::SetScreenRectangle() failed", ret );
+ }
+ else if (set_dest_coord) {
+ ret = layer->SetScreenPosition( layer, dest.x, dest.y );
+ if (ret == DFB_UNSUPPORTED)
+ fprintf( stderr, "ScreenPosition not supported!\n\n" );
+ else if (ret)
+ DirectFBError( "IDirectFBDisplayLayer::SetScreenPosition() failed", ret );
+ }
+
if (config.flags & DLCONF_WIDTH)
printf( "Width %d\n", config.width );
diff --git a/tools/dfbproxy.c b/tools/dfbproxy.c
index 39631ae..807f03a 100644
--- a/tools/dfbproxy.c
+++ b/tools/dfbproxy.c
@@ -41,12 +41,14 @@
#include <direct/mem.h>
#include <direct/messages.h>
+#include <voodoo/conf.h>
+#include <voodoo/play.h>
#include <voodoo/server.h>
/*****************************************************************************/
static DFBBoolean parse_command_line( int argc, char *argv[] );
-static DFBResult server_run();
+static DFBResult server_run( void );
/*****************************************************************************/
@@ -118,27 +120,44 @@ static DFBResult
server_run()
{
DFBResult ret;
- VoodooServer *server;
+ VoodooPlayer *player = NULL;
+ VoodooServer *server = NULL;
- ret = voodoo_server_create( &server );
+ ret = voodoo_player_create( NULL, &player );
+ if (ret) {
+ D_ERROR( "Voodoo/Proxy: Could not create the player (%s)!\n", DirectFBErrorString(ret) );
+ goto out;
+ }
+
+ ret = voodoo_server_create( NULL, 0, voodoo_config->server_fork, &server );
if (ret) {
D_ERROR( "Voodoo/Proxy: Could not create the server (%s)!\n", DirectFBErrorString(ret) );
- return ret;
+ goto out;
}
ret = voodoo_server_register( server, "IDirectFB", ConstructDispatcher, NULL );
if (ret) {
D_ERROR( "Voodoo/Proxy: Could not register super interface 'IDirectFB'!\n" );
- voodoo_server_destroy( server );
- return ret;
+ goto out;
+ }
+
+ ret = voodoo_server_register( server, "IDiVine", ConstructDispatcher, NULL );
+ if (ret) {
+ D_ERROR( "Voodoo/Proxy: Could not register super interface 'IDiVine'!\n" );
+ goto out;
}
ret = voodoo_server_run( server );
if (ret)
D_ERROR( "Voodoo/Proxy: Server exiting with error (%s)!\n", DirectFBErrorString(ret) );
+out:
+ if (server)
voodoo_server_destroy( server );
- return DFB_OK;
+ if (player)
+ voodoo_player_destroy( player );
+
+ return ret;
}
diff --git a/tools/dfbscreen.c b/tools/dfbscreen.c
index 1957aee..c593a35 100644
--- a/tools/dfbscreen.c
+++ b/tools/dfbscreen.c
@@ -593,8 +593,8 @@ dump_mixer_config( const DFBScreenMixerConfig *config )
}
if (config->flags & DSMCONF_BACKGROUND)
- printf( "Background: 0x%02x, 0x%02x, 0x%02x (RGB)\n",
- config->background.r, config->background.g, config->background.b );
+ printf( "Background: 0x%02x, 0x%02x, 0x%02x, 0x%02x (ARGB)\n",
+ config->background.a, config->background.r, config->background.g, config->background.b );
printf( "\n" );
}
@@ -628,7 +628,7 @@ resolution_name( DFBScreenOutputResolution resolution )
}
static const char *
-scan_mode_name( DFBScreenEncoderTestPicture scan_mode )
+scan_mode_name( DFBScreenEncoderScanMode scan_mode )
{
int i;
diff --git a/tools/directfb-csource.c b/tools/directfb-csource.c
index 88541dc..f4fe74f 100644
--- a/tools/directfb-csource.c
+++ b/tools/directfb-csource.c
@@ -78,6 +78,7 @@ static DFBResult load_image (const char *filename,
DFBSurfaceDescription *desc,
DFBColor *palette,
int *palette_size,
+ const DFBColor *transparent,
DFBSurfacePixelFormat rgbformat,
bool dither565);
static void dither_rgb16 (const u32 *src,
@@ -106,7 +107,7 @@ static char * base_name (const char *name);
int main (int argc,
const char *argv[])
{
- DFBSurfaceDescription desc = { flags: 0 };
+ DFBSurfaceDescription desc = { .flags = 0 };
DFBSurfacePixelFormat format = DSPF_UNKNOWN;
DFBSurfacePixelFormat rgbformat = DSPF_UNKNOWN;
DFBColor palette[256];
@@ -118,6 +119,7 @@ int main (int argc,
int i, n;
bool rawmode = 0;
bool dither565 = 0;
+ DFBColor *transparent = NULL;
/* parse command line */
@@ -162,9 +164,24 @@ int main (int argc,
if (*name)
continue;
}
-
- print_usage (argv[0]);
- return EXIT_FAILURE;
+ if (strncmp (arg, "transparent=", 12) == 0 && !transparent) {
+ char *error;
+ u32 argb = strtoul (arg + 12, &error, 16);
+
+ if (! error) {
+ transparent = alloca(sizeof (DFBColor));
+
+ transparent->b = argb & 0xFF;
+ argb >>= 8;
+ transparent->g = argb & 0xFF;
+ argb >>= 8;
+ transparent->r = argb & 0xFF;
+ argb >>= 8;
+ transparent->a = argb & 0xFF;
+ }
+ if (transparent)
+ continue;
+ }
}
filename[num_images++] = argv[n];
@@ -219,7 +236,7 @@ int main (int argc,
}
if (load_image (filename[0],
- &desc, palette, &palette_size,
+ &desc, palette, &palette_size, transparent,
rgbformat, dither565) != DFB_OK)
return EXIT_FAILURE;
@@ -244,8 +261,8 @@ int main (int argc,
image[i].pixelformat = desc.pixelformat;
if (load_image (filename[i],
- image + i, foo, &foo_size, rgbformat,
- dither565) != DFB_OK)
+ image + i, foo, &foo_size, transparent,
+ rgbformat, dither565) != DFB_OK)
return EXIT_FAILURE;
}
@@ -282,6 +299,7 @@ static DFBResult load_image (const char *filename,
DFBSurfaceDescription *desc,
DFBColor *palette,
int *palette_size,
+ const DFBColor *transparent,
DFBSurfacePixelFormat rgbformat,
bool dither565)
{
@@ -320,7 +338,7 @@ static DFBResult load_image (const char *filename,
if (!png_ptr)
goto cleanup;
- if (setjmp (png_ptr->jmpbuf)) {
+ if (setjmp (png_jmpbuf(png_ptr))) {
if (desc->preallocated[0].data) {
free (desc->preallocated[0].data);
desc->preallocated[0].data = NULL;
@@ -388,16 +406,22 @@ static DFBResult load_image (const char *filename,
switch (src_format) {
case DSPF_LUT8:
- if (info_ptr->num_palette) {
+ {
+ png_colorp *info_palette;
+ int num_palette;
+
+ png_get_PLTE(png_ptr,info_ptr,info_palette,&num_palette);
+
+ if (num_palette) {
png_byte *alpha;
int i, num;
- *palette_size = MIN (info_ptr->num_palette, 256);
+ *palette_size = MIN (num_palette, 256);
for (i = 0; i < *palette_size; i++) {
palette[i].a = 0xFF;
- palette[i].r = info_ptr->palette[i].red;
- palette[i].g = info_ptr->palette[i].green;
- palette[i].b = info_ptr->palette[i].blue;
+ palette[i].r = info_palette[i]->red;
+ palette[i].g = info_palette[i]->green;
+ palette[i].b = info_palette[i]->blue;
}
if (png_get_valid (png_ptr, info_ptr, PNG_INFO_tRNS)) {
png_get_tRNS (png_ptr, info_ptr, &alpha, &num, NULL);
@@ -406,6 +430,7 @@ static DFBResult load_image (const char *filename,
}
}
break;
+ }
case DSPF_RGB32:
png_set_filler (png_ptr, 0xFF,
#ifdef WORDS_BIGENDIAN
@@ -447,6 +472,22 @@ static DFBResult load_image (const char *filename,
if (!dest_format)
dest_format = src_format;
+ /* replace color in completely transparent pixels */
+ if (transparent && DFB_PIXELFORMAT_HAS_ALPHA(src_format)) {
+ unsigned char *row;
+ int h;
+
+ for (row = data, h = height; h; h--, row += pitch) {
+ u32 *pixel;
+ int w;
+
+ for (pixel = (u32 *) row, w = width; w; w--, pixel++) {
+ if ((*pixel & 0xff000000) == 0x0)
+ *pixel = dfb_color_to_argb (transparent);
+ }
+ }
+ }
+
if (DFB_BYTES_PER_PIXEL(src_format) != DFB_BYTES_PER_PIXEL(dest_format)) {
unsigned char *s, *d, *dest;
int d_pitch, h;
@@ -619,7 +660,7 @@ static DFBResult merge_images (DFBSurfaceDescription *images,
static void
dither_rgb16 (const u32 *src, u16 *dest, int y, int width)
{
- const u32 *dm = DM_565 + ((y & (DM_HEIGHT - 1)) << DM_WIDTH_SHIFT);
+ const u32 *dm = DM_565 + ((y & (DM_565_HEIGHT - 1)) << DM_565_WIDTH_SHIFT);
int x;
for (x = 0; x < width; x++) {
@@ -627,7 +668,7 @@ dither_rgb16 (const u32 *src, u16 *dest, int y, int width)
(src[x] & 0xFF00) << 2 |
(src[x] & 0xFF0000) << 4);
- rgb += dm[x & (DM_WIDTH - 1)];
+ rgb += dm[x & (DM_565_WIDTH - 1)];
rgb += (0x10040100
- ((rgb & 0x1e0001e0) >> 5)
- ((rgb & 0x00070000) >> 6));
@@ -842,7 +883,7 @@ static DFBResult dump_rectangles (const char *name,
if (len < 0) {
int l = fprintf (fp, " { \"%s\", ", v);
- fprintf (fp, blanks - len + l);
+ fprintf (fp, "%s", blanks - len + l);
fprintf (fp, "{ x : %4d, y : %4d, w : %4d, h : %4d } }",
rect->x, rect->y, rect->w, rect->h);
}
diff --git a/tools/fusion_bench.c b/tools/fusion_bench.c
index 8ea04df..28f84e2 100644
--- a/tools/fusion_bench.c
+++ b/tools/fusion_bench.c
@@ -335,8 +335,16 @@ mutex_lock_unlock_loop( void *arg )
static void
bench_mutex_threaded( void )
{
- int i;
- pthread_mutex_t lock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
+ int i;
+ pthread_mutex_t lock;
+ pthread_mutexattr_t attr;
+
+ pthread_mutexattr_init( &attr );
+ pthread_mutexattr_settype( &attr, PTHREAD_MUTEX_RECURSIVE );
+
+ pthread_mutex_init( &lock, &attr );
+
+ pthread_mutexattr_destroy( &attr );
/* mutex lock/unlock (2-5 threads) */
@@ -366,8 +374,16 @@ bench_mutex_threaded( void )
static void
bench_mutex( void )
{
- pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
- pthread_mutex_t rmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
+ pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
+ pthread_mutex_t rmutex;
+ pthread_mutexattr_t attr;
+
+ pthread_mutexattr_init( &attr );
+ pthread_mutexattr_settype( &attr, PTHREAD_MUTEX_RECURSIVE );
+
+ pthread_mutex_init( &rmutex, &attr );
+
+ pthread_mutexattr_destroy( &attr );
/* pthread_mutex lock/unlock */
diff --git a/tools/mkdfiff.c b/tools/mkdfiff.c
index 68a3b4f..0b81285 100644
--- a/tools/mkdfiff.c
+++ b/tools/mkdfiff.c
@@ -97,7 +97,7 @@ load_image (const char *filename,
if (!png_ptr)
goto cleanup;
- if (setjmp (png_ptr->jmpbuf)) {
+ if (setjmp (png_jmpbuf(png_ptr))) {
if (desc->preallocated[0].data) {
free (desc->preallocated[0].data);
desc->preallocated[0].data = NULL;
@@ -182,7 +182,7 @@ load_image (const char *filename,
data = malloc (height * pitch);
if (!data) {
- fprintf (stderr, "Failed to allocate %ld bytes.\n", height * pitch);
+ fprintf (stderr, "Failed to allocate %lu bytes.\n", height * pitch);
goto cleanup;
}
@@ -209,7 +209,7 @@ load_image (const char *filename,
dest = malloc (height * d_pitch);
if (!dest) {
- fprintf (stderr, "Failed to allocate %ld bytes.\n",
+ fprintf (stderr, "Failed to allocate %lu bytes.\n",
height * d_pitch);
goto cleanup;
}
@@ -407,17 +407,17 @@ parse_command_line( int argc, char *argv[] )
/**********************************************************************************************************************/
static DFIFFHeader header = {
- magic: { 'D', 'F', 'I', 'F', 'F' },
- major: 0,
- minor: 0,
- flags: DFIFF_FLAG_LITTLE_ENDIAN
+ .magic = { 'D', 'F', 'I', 'F', 'F' },
+ .major = 0,
+ .minor = 0,
+ .flags = DFIFF_FLAG_LITTLE_ENDIAN
};
int
main( int argc, char *argv[] )
{
int i;
- DFBSurfaceDescription desc = { flags: DSDESC_NONE };
+ DFBSurfaceDescription desc = { .flags = DSDESC_NONE };
/* Parse the command line. */
if (!parse_command_line( argc, argv ))
diff --git a/tools/mkdgiff.c b/tools/mkdgiff.c
index f5c2f3a..2104d16 100644
--- a/tools/mkdgiff.c
+++ b/tools/mkdgiff.c
@@ -69,6 +69,8 @@ static DFBSurfacePixelFormat format = DSPF_A8;
static int size_count;
static int face_sizes[MAX_SIZE_COUNT];
+static bool premult;
+
/**********************************************************************************************************************/
static void
@@ -81,6 +83,7 @@ print_usage (const char *prg_name)
fprintf (stderr, "Options:\n");
fprintf (stderr, " -f, --format <pixelformat> Choose the pixel format (default A8)\n");
fprintf (stderr, " -s, --sizes <s1>[,s2...] Choose sizes to generate glyph images for\n");
+ fprintf (stderr, " -p, --premult Use premultiplied alpha\n");
fprintf (stderr, " -h, --help Show this help message\n");
fprintf (stderr, " -v, --version Print version information\n");
fprintf (stderr, "\n");
@@ -209,6 +212,11 @@ parse_command_line( int argc, char *argv[] )
continue;
}
+ if (strcmp (arg, "-p") == 0 || strcmp (arg, "--premult") == 0) {
+ premult = true;
+ continue;
+ }
+
if (filename || access( arg, R_OK )) {
print_usage (argv[0]);
return DFB_FALSE;
@@ -246,15 +254,16 @@ write_glyph( DGIFFGlyphInfo *glyph, FT_GlyphSlot slot, void *dst, int pitch )
case ft_pixel_mode_grays:
switch (format) {
case DSPF_ARGB:
- if (0){//FIXME thiz->surface_caps & DSCAPS_PREMULTIPLIED) {
+ if (premult) {
for (i=0; i<glyph->width; i++)
dst32[i] = ((src[i] << 24) |
(src[i] << 16) |
(src[i] << 8) | src[i]);
}
- else
+ else {
for (i=0; i<glyph->width; i++)
dst32[i] = (src[i] << 24) | 0xFFFFFF;
+ }
break;
case DSPF_AiRGB:
for (i=0; i<glyph->width; i++)
@@ -307,6 +316,16 @@ write_glyph( DGIFFGlyphInfo *glyph, FT_GlyphSlot slot, void *dst, int pitch )
dst8[j] = p;
}
break;
+ case DSPF_A1_LSB:
+ for (i=0, j=0; i < glyph->width; ++j) {
+ register u8 p = 0;
+
+ for (n=0; n<8 && i<glyph->width; ++i, ++n)
+ p |= (src[i] & 0x80) >> (7-n);
+
+ dst8[j] = p;
+ }
+ break;
default:
break;
}
@@ -315,9 +334,16 @@ write_glyph( DGIFFGlyphInfo *glyph, FT_GlyphSlot slot, void *dst, int pitch )
case ft_pixel_mode_mono:
switch (format) {
case DSPF_ARGB:
- for (i=0; i<glyph->width; i++)
- dst32[i] = (((src[i>>3] & (1<<(7-(i%8)))) ?
- 0xFF : 0x00) << 24) | 0xFFFFFF;
+ if (premult) {
+ for (i=0; i<glyph->width; i++)
+ dst32[i] = ((src[i>>3] & (1<<(7-(i%8)))) ?
+ 0xFFFFFFFF : 0x00000000);
+ }
+ else {
+ for (i=0; i<glyph->width; i++)
+ dst32[i] = (((src[i>>3] & (1<<(7-(i%8)))) ?
+ 0xFF : 0x00) << 24) | 0xFFFFFF;
+ }
break;
case DSPF_AiRGB:
for (i=0; i<glyph->width; i++)
@@ -374,6 +400,16 @@ write_glyph( DGIFFGlyphInfo *glyph, FT_GlyphSlot slot, void *dst, int pitch )
case DSPF_A1:
direct_memcpy( dst, src, DFB_BYTES_PER_LINE(DSPF_A1, glyph->width) );
break;
+ case DSPF_A1_LSB:
+ for (i=0, j=0; i < glyph->width; ++j) {
+ register u8 p = 0;
+
+ for (n=0; n<8 && i<glyph->width; ++i, ++n)
+ p |= (((src[i] >> n) & 1) << (7-n));
+
+ dst8[j] = p;
+ }
+ break;
default:
break;
}
@@ -564,11 +600,11 @@ out:
/**********************************************************************************************************************/
static DGIFFHeader header = {
- magic: { 'D', 'G', 'I', 'F', 'F'},
- major: 0,
- minor: 0,
- flags: DGIFF_FLAG_LITTLE_ENDIAN,
- num_faces: 0
+ .magic = { 'D', 'G', 'I', 'F', 'F'},
+ .major = 0,
+ .minor = 0,
+ .flags = DGIFF_FLAG_LITTLE_ENDIAN,
+ .num_faces = 0
};
int
@@ -587,6 +623,11 @@ main( int argc, char *argv[] )
if (!parse_command_line( argc, argv ))
return -1;
+ if (premult && format != DSPF_ARGB) {
+ fprintf( stderr, "\n\nPremultiplied alpha only implemented for ARGB!\n" );
+ return -2;
+ }
+
if (!size_count) {
fprintf( stderr, "\n\nUsing default sizes 8, 10, 12, 16, 22, 32\n" );
diff --git a/tools/mkdgifft.cpp b/tools/mkdgifft.cpp
new file mode 100644
index 0000000..e098477
--- /dev/null
+++ b/tools/mkdgifft.cpp
@@ -0,0 +1,1051 @@
+/*
+ (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org)
+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH
+
+ All rights reserved.
+
+ Written by Denis Oliver Kropp <dok at directfb.org>,
+ Andreas Hundt <andi at fischlustig.de>,
+ Sven Neumann <neo at directfb.org>,
+ Ville Syrjälä <syrjala at sci.fi> and
+ Claudio Ciccani <klan at users.sf.net>.
+
+ This file is subject to the terms and conditions of the MIT License:
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge,
+ publish, distribute, sublicense, and/or sell copies of the Software,
+ and to permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+#define DIRECT_ENABLE_DEBUG
+
+#include <config.h>
+
+extern "C" {
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
+
+#include <png.h>
+
+#include <directfb.h>
+#include <directfb_strings.h>
+
+#include <direct/debug.h>
+#include <direct/list.h>
+#include <direct/mem.h>
+#include <direct/memcpy.h>
+#include <direct/direct.h>
+
+#include <gfx/convert.h>
+
+#include <dgiff.h>
+}
+
+#include <list>
+#include <map>
+#include <string>
+#include <vector>
+
+
+#define MAX_ROW_WIDTH 2047
+
+D_DEBUG_DOMAIN( mkdgiff, "mkdgiff", "DirectFB Glyph Image File Format Tool" );
+
+/**********************************************************************************************************************/
+
+static DirectFBPixelFormatNames( format_names );
+static DirectFBSurfaceBlittingFlagsNames( m_bflags );
+
+static const char *filename;
+static DFBSurfacePixelFormat m_format = DSPF_ARGB;
+
+/**********************************************************************************************************************/
+
+static void
+print_usage (const char *prg_name)
+{
+ int i = 0;
+
+ fprintf (stderr, "\nDirectFB Glyph Image File Format Tool (version %s)\n\n", DIRECTFB_VERSION);
+ fprintf (stderr, "Usage: %s [options]\n\n", prg_name);
+ fprintf (stderr, "Options:\n");
+ fprintf (stderr, " -f, --format <pixelformat> Choose the pixel format (default ARGB)\n");
+ fprintf (stderr, " -s, --sizes <s1>[,s2...] Choose sizes to generate glyph images for\n");
+ fprintf (stderr, " -h, --help Show this help message\n");
+ fprintf (stderr, " -v, --version Print version information\n");
+ fprintf (stderr, "\n");
+
+ fprintf (stderr, "Known pixel formats with alpha:\n");
+
+ while (format_names[i].format != DSPF_UNKNOWN) {
+ DFBSurfacePixelFormat format = format_names[i].format;
+
+ if (DFB_PIXELFORMAT_HAS_ALPHA(format)) {
+ fprintf (stderr, " %-10s %2d bits, %d bytes",
+ format_names[i].name, DFB_BITS_PER_PIXEL(format),
+ DFB_BYTES_PER_PIXEL(format));
+
+ if (DFB_PIXELFORMAT_IS_INDEXED(format))
+ fprintf (stderr, " INDEXED");
+
+ if (DFB_PLANAR_PIXELFORMAT(format)) {
+ int planes = DFB_PLANE_MULTIPLY(format, 1000);
+
+ fprintf (stderr, " PLANAR (x%d.%03d)",
+ planes / 1000, planes % 1000);
+ }
+
+ fprintf (stderr, "\n");
+ }
+
+ ++i;
+ }
+ fprintf (stderr, "\n");
+}
+
+static DFBBoolean
+parse_format( const char *arg, DFBSurfacePixelFormat *ret_format )
+{
+ int i = 0;
+
+ while (format_names[i].format != DSPF_UNKNOWN) {
+ if (!strcasecmp( arg, format_names[i].name )) {
+ *ret_format = format_names[i].format;
+ return DFB_TRUE;
+ }
+
+ ++i;
+ }
+
+ fprintf (stderr, "\nInvalid format specified!\n\n" );
+
+ return DFB_FALSE;
+}
+
+static void
+parse_flags( const char *arg, DFBSurfaceBlittingFlags *ret_flags )
+{
+ int i;
+
+ *ret_flags = DSBLIT_NOFX;
+
+ for (i=0; i<D_ARRAY_SIZE(m_bflags); i++) {
+ if (strcasestr( arg, m_bflags[i].name ))
+ *ret_flags = (DFBSurfaceBlittingFlags)(*ret_flags | m_bflags[i].flag);
+ }
+}
+
+static DFBBoolean
+parse_command_line( int argc, char *argv[] )
+{
+ int n;
+
+ for (n = 1; n < argc; n++) {
+ const char *arg = argv[n];
+
+ if (strcmp (arg, "-h") == 0 || strcmp (arg, "--help") == 0) {
+ print_usage (argv[0]);
+ return DFB_FALSE;
+ }
+
+ if (strcmp (arg, "-v") == 0 || strcmp (arg, "--version") == 0) {
+ fprintf (stderr, "mkdgiff version %s\n", DIRECTFB_VERSION);
+ return DFB_FALSE;
+ }
+
+ if (strcmp (arg, "-f") == 0 || strcmp (arg, "--format") == 0) {
+ if (++n == argc) {
+ print_usage (argv[0]);
+ return DFB_FALSE;
+ }
+
+ if (!parse_format( argv[n], &m_format ))
+ return DFB_FALSE;
+
+ continue;
+ }
+
+ if (filename || access( arg, R_OK )) {
+ print_usage (argv[0]);
+ return DFB_FALSE;
+ }
+
+ filename = arg;
+ }
+
+ if (!filename) {
+ print_usage (argv[0]);
+ return DFB_FALSE;
+ }
+
+ return DFB_TRUE;
+}
+
+/**********************************************************************************************************************/
+
+class Entity
+{
+public:
+ Entity()
+ {
+ }
+
+
+ typedef enum {
+ ENTITY_NONE,
+
+ ENTITY_FACE,
+ ENTITY_GLYPH
+ } Type;
+
+ virtual Type GetType() const = 0;
+
+
+ virtual void Dump() const;
+
+ virtual void SetProperty( const std::string &name, const std::string &value );
+
+
+ const char *buf;
+ size_t length;
+
+
+ typedef std::list<Entity*> list;
+ typedef std::vector<Entity*> vector;
+};
+
+class Face : public Entity
+{
+public:
+ Face()
+ :
+ Entity(),
+ size( 0 ),
+ height( 0 ),
+ ascender( 0 ),
+ descender( 0 ),
+ maxadvance( 0 ),
+ blittingflags( DSBLIT_NOFX )
+ {
+ }
+
+
+ virtual Type GetType() const { return ENTITY_FACE; }
+
+
+ virtual void Dump() const;
+
+ virtual void SetProperty( const std::string &name, const std::string &value );
+
+
+ unsigned int size;
+ unsigned int height;
+ int ascender;
+ int descender;
+ int maxadvance;
+ DFBSurfaceBlittingFlags blittingflags;
+};
+
+class Glyph : public Entity
+{
+public:
+ Glyph()
+ :
+ Entity(),
+ unicode( 0 ),
+ left( 0 ),
+ top( 0 ),
+ advance( 0 )
+ {
+ }
+
+
+ virtual Type GetType() const { return ENTITY_GLYPH; }
+
+
+ virtual void Dump() const;
+
+ virtual void SetProperty( const std::string &name, const std::string &value );
+
+
+ unsigned int unicode;
+ int left;
+ int top;
+ int advance;
+ std::string file;
+};
+
+/**********************************************************************************************************************/
+
+void
+Entity::Dump() const
+{
+ direct_log_printf( NULL, "\n" );
+ direct_log_printf( NULL, "Entity (TYPE %d)\n", GetType() );
+ direct_log_printf( NULL, " Buffer at %p [%zu]\n", buf, length );
+}
+
+void
+Face::Dump() const
+{
+ Entity::Dump();
+
+ direct_log_printf( NULL, " Size %u\n", size );
+ direct_log_printf( NULL, " Height %u\n", height );
+ direct_log_printf( NULL, " Ascender %d\n", ascender );
+ direct_log_printf( NULL, " Descender %d\n", descender );
+ direct_log_printf( NULL, " MaxAdvance %d\n", maxadvance );
+ direct_log_printf( NULL, " BlittingFlags 0x%08x\n", blittingflags );
+}
+
+void
+Glyph::Dump() const
+{
+ Entity::Dump();
+
+ direct_log_printf( NULL, " Unicode 0x%04x\n", unicode );
+ direct_log_printf( NULL, " Left %d\n", left );
+ direct_log_printf( NULL, " Top %d\n", top );
+ direct_log_printf( NULL, " Advance %d\n", advance );
+ direct_log_printf( NULL, " File '%s'\n", file.c_str() );
+}
+
+/**********************************************************************************************************************/
+
+void
+Entity::SetProperty( const std::string &name,
+ const std::string &value )
+{
+}
+
+void
+Face::SetProperty( const std::string &name,
+ const std::string &value )
+{
+ if (name == "size") {
+ sscanf( value.c_str(), "%u", &size );
+ return;
+ }
+
+ if (name == "height") {
+ sscanf( value.c_str(), "%u", &height );
+ return;
+ }
+
+ if (name == "ascender") {
+ sscanf( value.c_str(), "%d", &ascender );
+ return;
+ }
+
+ if (name == "descender") {
+ sscanf( value.c_str(), "%d", &descender );
+ return;
+ }
+
+ if (name == "maxadvance") {
+ sscanf( value.c_str(), "%d", &maxadvance );
+ return;
+ }
+
+ if (name == "blittingflags") {
+ parse_flags( value.c_str(), &blittingflags );
+ return;
+ }
+}
+
+void
+Glyph::SetProperty( const std::string &name,
+ const std::string &value )
+{
+ if (name == "unicode") {
+ sscanf( value.c_str(), "%x", &unicode );
+ return;
+ }
+
+ if (name == "left") {
+ sscanf( value.c_str(), "%d", &left );
+ return;
+ }
+
+ if (name == "top") {
+ sscanf( value.c_str(), "%d", &top );
+ return;
+ }
+
+ if (name == "advance") {
+ sscanf( value.c_str(), "%d", &advance );
+ return;
+ }
+
+ if (name == "file") {
+ file = value;
+ return;
+ }
+}
+
+/**********************************************************************************************************************/
+
+static void
+get_entities( const char *buf,
+ size_t length,
+ Entity::vector &out_vector )
+{
+ size_t i;
+ unsigned int level = 0;
+ bool quote = false;
+
+ std::string name;
+ std::map<unsigned int,std::string> names;
+
+ Entity *entity = NULL;
+
+ D_DEBUG_AT( mkdgiff, "%s( buf %p, length %zu )\n", __func__, buf, length );
+
+ for (i=0; i<length; i++) {
+ D_DEBUG_AT( mkdgiff, "%*s[%u] -> '%c' <-\n", level*2, "", level, buf[i] );
+
+ if (quote) {
+ switch (buf[i]) {
+ case '"':
+ quote = false;
+ break;
+
+ default:
+ name += buf[i];
+ }
+ }
+ else {
+ switch (buf[i]) {
+ case '"':
+ quote = true;
+ break;
+
+ case '-':
+ case '_':
+ case 'a' ... 'z':
+ case 'A' ... 'Z':
+ case '0' ... '9':
+ name += buf[i];
+ break;
+
+ default:
+ if (!name.empty()) {
+ D_DEBUG_AT( mkdgiff, "%*s=-> name = '%s'\n", level*2, "", name.c_str() );
+
+ if (!names[level].empty()) {
+ switch (level) {
+ case 1:
+ D_DEBUG_AT( mkdgiff, "%*s#### setting property '%s' = '%s'\n",
+ level*2, "", names[level].c_str(), name.c_str() );
+
+ D_ASSERT( entity != NULL );
+
+ entity->SetProperty( names[level], name );
+ break;
+
+ default:
+ break;
+ }
+
+ name = "";
+ }
+
+ names[level] = name;
+ name = "";
+ }
+
+ switch (buf[i]) {
+ case '{':
+ case '}':
+ switch (buf[i]) {
+ case '{':
+ switch (level) {
+ case 0:
+ if (names[level] == "face") {
+ D_ASSERT( entity == NULL );
+
+ entity = new Face();
+
+ entity->buf = &buf[i + 1];
+
+ D_DEBUG_AT( mkdgiff, "%*s#### open entity %p (Face)\n", level*2, "", entity );
+ }
+ if (names[level] == "glyph") {
+ D_ASSERT( entity == NULL );
+
+ entity = new Glyph();
+
+ entity->buf = &buf[i + 1];
+
+ D_DEBUG_AT( mkdgiff, "%*s#### open entity %p (Glyph)\n", level*2, "", entity );
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ names[level] = "";
+
+ level++;
+ break;
+
+ case '}':
+ D_ASSERT( names[level].empty() );
+
+ level--;
+
+ switch (level) {
+ case 0:
+ D_DEBUG_AT( mkdgiff, "%*s#### close entity %p\n", level*2, "", entity );
+
+ D_ASSERT( entity != NULL );
+
+ entity->length = &buf[i-1] - entity->buf;
+
+ out_vector.push_back( entity );
+
+ entity = NULL;
+ break;
+
+ case 1:
+ break;
+
+ default:
+ break;
+ }
+ break;
+ }
+
+ D_DEBUG_AT( mkdgiff, "%*s=-> level => %u\n", level*2, "", level );
+ break;
+
+ case ' ':
+ case '\t':
+ case '\n':
+ case '\r':
+ break;
+
+ default:
+ break;
+ }
+ break;
+ }
+ }
+ }
+}
+
+/**********************************************************************************************************************/
+
+static DFBResult
+load_image (const char *filename,
+ DFBSurfaceDescription *desc)
+{
+ DFBSurfacePixelFormat dest_format;
+ DFBSurfacePixelFormat src_format;
+ FILE *fp;
+ png_structp png_ptr = NULL;
+ png_infop info_ptr = NULL;
+ png_uint_32 width, height;
+ unsigned char *data = NULL;
+ int type;
+ char header[8];
+ int bytes, pitch;
+
+ dest_format = (desc->flags & DSDESC_PIXELFORMAT) ? desc->pixelformat : DSPF_UNKNOWN;
+
+ desc->flags = DSDESC_NONE;
+ desc->preallocated[0].data = NULL;
+
+ if (!(fp = fopen (filename, "rb"))) {
+ fprintf (stderr, "Failed to open file '%s': %s.\n",
+ filename, strerror (errno));
+ goto cleanup;
+ }
+
+ bytes = fread (header, 1, sizeof(header), fp);
+ if (png_sig_cmp ((unsigned char*) header, 0, bytes)) {
+ fprintf (stderr, "File '%s' doesn't seem to be a PNG image file.\n",
+ filename);
+ goto cleanup;
+ }
+
+ png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING,
+ NULL, NULL, NULL);
+ if (!png_ptr)
+ goto cleanup;
+
+ if (setjmp (png_jmpbuf(png_ptr))) {
+ if (desc->preallocated[0].data) {
+ free (desc->preallocated[0].data);
+ desc->preallocated[0].data = NULL;
+ }
+
+ /* data might have been clobbered,
+ set it to NULL and leak instead of crashing */
+ data = NULL;
+
+ goto cleanup;
+ }
+
+ info_ptr = png_create_info_struct (png_ptr);
+ if (!info_ptr)
+ goto cleanup;
+
+ png_init_io (png_ptr, fp);
+ png_set_sig_bytes (png_ptr, bytes);
+
+ png_read_info (png_ptr, info_ptr);
+
+ png_get_IHDR (png_ptr, info_ptr,
+ &width, &height, &bytes, &type, NULL, NULL, NULL);
+
+ if (bytes == 16)
+ png_set_strip_16 (png_ptr);
+
+#ifdef WORDS_BIGENDIAN
+ png_set_swap_alpha (png_ptr);
+#else
+ png_set_bgr (png_ptr);
+#endif
+
+ src_format = (type & PNG_COLOR_MASK_ALPHA) ? DSPF_ARGB : DSPF_RGB32;
+ switch (type) {
+ case PNG_COLOR_TYPE_GRAY:
+ if (dest_format == DSPF_A8) {
+ src_format = DSPF_A8;
+ break;
+ }
+ /* fallthru */
+ case PNG_COLOR_TYPE_GRAY_ALPHA:
+ png_set_gray_to_rgb (png_ptr);
+// if (rgbformat)
+// dest_format = rgbformat;
+ break;
+
+ case PNG_COLOR_TYPE_PALETTE:
+ png_set_palette_to_rgb (png_ptr);
+ /* fallthru */
+ case PNG_COLOR_TYPE_RGB:
+// if (rgbformat)
+// dest_format = rgbformat;
+ case PNG_COLOR_TYPE_RGB_ALPHA:
+ if (dest_format == DSPF_RGB24) {
+ png_set_strip_alpha (png_ptr);
+ src_format = DSPF_RGB24;
+ }
+ break;
+ }
+
+ switch (src_format) {
+ case DSPF_RGB32:
+ png_set_filler (png_ptr, 0xFF,
+#ifdef WORDS_BIGENDIAN
+ PNG_FILLER_BEFORE
+#else
+ PNG_FILLER_AFTER
+#endif
+ );
+ break;
+ case DSPF_ARGB:
+ case DSPF_A8:
+ if (png_get_valid (png_ptr, info_ptr, PNG_INFO_tRNS))
+ png_set_tRNS_to_alpha (png_ptr);
+ break;
+ default:
+ break;
+ }
+
+ pitch = (DFB_BYTES_PER_LINE( src_format, width ) + 7) & ~7;
+
+ data = (unsigned char*) malloc (height * pitch);
+ if (!data) {
+ fprintf (stderr, "Failed to allocate %ld bytes.\n", height * pitch);
+ goto cleanup;
+ }
+
+ {
+ unsigned int i;
+ png_bytep bptrs[height];
+
+ for (i = 0; i < height; i++)
+ bptrs[i] = data + i * pitch;
+
+ png_read_image (png_ptr, bptrs);
+ }
+
+ if (!dest_format)
+ dest_format = src_format;
+
+ if (DFB_BYTES_PER_PIXEL(src_format) != DFB_BYTES_PER_PIXEL(dest_format)) {
+ unsigned char *s, *d, *dest;
+ int d_pitch, h;
+
+ D_ASSERT( DFB_BYTES_PER_PIXEL(src_format) == 4 );
+
+ d_pitch = (DFB_BYTES_PER_LINE(dest_format, width) + 7) & ~7;
+
+ dest = (unsigned char*) malloc (height * d_pitch);
+ if (!dest) {
+ fprintf (stderr, "Failed to allocate %ld bytes.\n",
+ height * d_pitch);
+ goto cleanup;
+ }
+
+ h = height;
+ switch (dest_format) {
+ case DSPF_RGB16:
+ for (s = data, d = dest; h; h--, s += pitch, d += d_pitch)
+ dfb_argb_to_rgb16 ((u32 *) s, (u16 *) d, width);
+ break;
+ case DSPF_ARGB8565:
+ for (s = data, d = dest; h; h--, s += pitch, d += d_pitch)
+ dfb_argb_to_argb8565 ((u32 *) s, (u8 *) d, width);
+ break;
+ case DSPF_ARGB1555:
+ for (s = data, d = dest; h; h--, s += pitch, d += d_pitch)
+ dfb_argb_to_argb1555 ((u32 *) s, (u16 *) d, width);
+ break;
+ case DSPF_RGBA5551:
+ for (s = data, d = dest; h; h--, s += pitch, d += d_pitch)
+ dfb_argb_to_rgba5551 ((u32 *) s, (u16 *) d, width);
+ break;
+ case DSPF_ARGB2554:
+ for (s = data, d = dest; h; h--, s += pitch, d += d_pitch)
+ dfb_argb_to_argb2554 ((u32 *) s, (u16 *) d, width);
+ break;
+ case DSPF_ARGB4444:
+ for (s = data, d = dest; h; h--, s += pitch, d += d_pitch)
+ dfb_argb_to_argb4444 ((u32 *) s, (u16 *) d, width);
+ break;
+ case DSPF_RGB332:
+ for (s = data, d = dest; h; h--, s += pitch, d += d_pitch)
+ dfb_argb_to_rgb332 ((u32 *) s, (u8 *) d, width);
+ break;
+ case DSPF_A8:
+ for (s = data, d = dest; h; h--, s += pitch, d += d_pitch)
+ dfb_argb_to_a8 ((u32 *) s, (u8 *) d, width);
+ break;
+ default:
+ fprintf (stderr,
+ "Sorry, unsupported format conversion.\n");
+ goto cleanup;
+ }
+
+ free (data);
+ data = dest;
+ pitch = d_pitch;
+ }
+
+ desc->flags = (DFBSurfaceDescriptionFlags)(DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT |
+ DSDESC_PREALLOCATED);
+ desc->width = width;
+ desc->height = height;
+ desc->pixelformat = dest_format;
+ desc->preallocated[0].pitch = pitch;
+ desc->preallocated[0].data = data;
+
+ data = NULL;
+
+ cleanup:
+ if (fp)
+ fclose (fp);
+
+ if (png_ptr)
+ png_destroy_read_struct (&png_ptr, &info_ptr, NULL);
+
+ if (data)
+ free (data);
+
+ return ((desc->flags) ? DFB_OK : DFB_FAILURE);
+}
+
+/**********************************************************************************************************************/
+
+static void
+write_glyph( DGIFFGlyphInfo *glyph, const DFBSurfaceDescription &desc, void *dst, int pitch )
+{
+ D_DEBUG_AT( mkdgiff, "%s( %p, %p, %d ) <- size %ux%u\n",
+ __FUNCTION__, glyph, dst, pitch, desc.width, desc.height );
+
+ switch (m_format) {
+ case DSPF_ARGB:
+ dfb_convert_to_argb( desc.pixelformat, desc.preallocated[0].data, desc.preallocated[0].pitch,
+ desc.height, (u32*) dst, pitch, desc.width, desc.height );
+ break;
+
+ default:
+ D_UNIMPLEMENTED();
+ break;
+ }
+}
+
+static int
+do_face( const Face *face )
+{
+ int i, ret;
+ int align = DFB_PIXELFORMAT_ALIGNMENT( m_format );
+ int num_glyphs = 0;
+ int num_rows = 1;
+ int row_index = 0;
+ int row_offset = 0;
+ int next_face = sizeof(DGIFFFaceHeader);
+ int total_height = 0;
+
+ Entity::vector glyph_vector;
+ unsigned int glyph_count = 0;
+
+ DGIFFFaceHeader header;
+ DGIFFGlyphInfo *glyphs;
+ DGIFFGlyphRow *rows;
+ void **row_data;
+
+ DFBSurfaceDescription *descs;
+
+ D_DEBUG_AT( mkdgiff, "%s( %p )\n", __FUNCTION__, face );
+
+ get_entities( face->buf, face->length, glyph_vector );
+
+ glyph_count = glyph_vector.size();
+
+
+ /* Clear to not leak any data into file. */
+ memset( &header, 0, sizeof(header) );
+
+
+ /* Allocate glyph info array. */
+ glyphs = (DGIFFGlyphInfo*) D_CALLOC( glyph_count, sizeof(DGIFFGlyphInfo) );
+ rows = (DGIFFGlyphRow*) D_CALLOC( glyph_count, sizeof(DGIFFGlyphRow) ); /* WORST case :) */
+ row_data = (void**) D_CALLOC( glyph_count, sizeof(void*) ); /* WORST case :) */
+ descs = (DFBSurfaceDescription*) D_CALLOC( glyph_count, sizeof(DFBSurfaceDescription) ); /* WORST case :) */
+
+ for (Entity::vector::const_iterator iter = glyph_vector.begin(); iter != glyph_vector.end(); iter++) {
+ const Glyph *glyph = dynamic_cast<const Glyph*>( *iter );
+
+ glyph->Dump();
+
+
+ DGIFFGlyphInfo *info = &glyphs[num_glyphs];
+ DGIFFGlyphRow *row = &rows[num_rows - 1];
+
+ D_DEBUG_AT( mkdgiff, " -> code %3u\n", glyph->unicode );
+
+ ret = load_image( glyph->file.c_str(), &descs[num_glyphs] );
+ if (ret)
+ continue;
+
+ info->unicode = glyph->unicode;
+
+ info->width = descs[num_glyphs].width;
+ info->height = descs[num_glyphs].height;
+
+ info->left = glyph->left;
+ info->top = glyph->top;
+ info->advance = glyph->advance;
+
+ num_glyphs++;
+
+ if (row->width > 0 && row->width + info->width > MAX_ROW_WIDTH) {
+ num_rows++;
+ row++;
+ }
+
+ row->width += (info->width + align) & ~align;
+
+ if (row->height < info->height)
+ row->height = info->height;
+ }
+
+ for (i=0; i<num_rows; i++) {
+ DGIFFGlyphRow *row = &rows[i];
+
+ D_DEBUG_AT( mkdgiff, " -> row %d, width %d, height %d\n", i, row->width, row->height );
+
+ total_height += row->height;
+
+ row->pitch = (DFB_BYTES_PER_LINE( m_format, row->width ) + 7) & ~7;
+
+ row_data[i] = D_CALLOC( row->height, row->pitch );
+
+ next_face += row->height * row->pitch;
+ }
+
+ D_DEBUG_AT( mkdgiff, " -> %d glyphs, %d rows, total height %d\n", num_glyphs, num_rows, total_height );
+
+ next_face += num_glyphs * sizeof(DGIFFGlyphInfo);
+ next_face += num_rows * sizeof(DGIFFGlyphRow);
+
+ for (i=0; i<num_glyphs; i++) {
+ DGIFFGlyphInfo *glyph = &glyphs[i];
+
+ D_DEBUG_AT( mkdgiff, " -> writing character 0x%x (%d)\n", glyph->unicode, i );
+
+ if (row_offset > 0 && row_offset + glyph->width > MAX_ROW_WIDTH) {
+ row_index++;
+ row_offset = 0;
+ }
+
+
+ D_DEBUG_AT( mkdgiff, " -> row offset %d\n", row_offset );
+
+ write_glyph( glyph, descs[i],
+ (char*) row_data[row_index] + DFB_BYTES_PER_LINE( m_format, row_offset ),
+ rows[row_index].pitch );
+
+ glyph->row = row_index;
+ glyph->offset = row_offset;
+
+ row_offset += (glyph->width + align) & ~align;
+ }
+
+ D_ASSERT( row_index == num_rows - 1 );
+
+ header.next_face = next_face;
+ header.size = face->size;
+
+ header.ascender = face->ascender;
+ header.descender = face->descender;
+ header.height = face->height;
+
+ header.max_advance = face->maxadvance;
+
+ header.pixelformat = m_format;
+
+ header.num_glyphs = num_glyphs;
+ header.num_rows = num_rows;
+
+ header.blittingflags = face->blittingflags;
+
+ D_DEBUG_AT( mkdgiff, " -> ascender %d, descender %d\n", header.ascender, header.descender );
+ D_DEBUG_AT( mkdgiff, " -> height %d, max advance %d\n", header.height, header.max_advance );
+
+ fwrite( &header, sizeof(header), 1, stdout );
+
+ fwrite( glyphs, sizeof(*glyphs), num_glyphs, stdout );
+
+ for (i=0; i<num_rows; i++) {
+ DGIFFGlyphRow *row = &rows[i];
+
+ fwrite( row, sizeof(*row), 1, stdout );
+
+ fwrite( row_data[i], row->pitch, row->height, stdout );
+ }
+
+ for (i=0; i<num_rows; i++) {
+ if (row_data[i])
+ D_FREE( row_data[i] );
+ }
+
+ D_FREE( row_data );
+ D_FREE( rows );
+ D_FREE( glyphs );
+
+ return 0;
+}
+
+/**********************************************************************************************************************/
+
+int
+main( int argc, char *argv[] )
+{
+ int ret;
+ int fd;
+ struct stat stat;
+ void *ptr = MAP_FAILED;
+ Entity::vector faces;
+ DGIFFHeader header = {
+ magic: { 'D', 'G', 'I', 'F', 'F' },
+ major: 0,
+ minor: 0,
+ flags: DGIFF_FLAG_LITTLE_ENDIAN,
+ num_faces: 0
+ };
+
+ direct_initialize();
+
+ direct_debug_config_domain( "mkdgiff", true );
+
+ direct_config->debug = true;
+ direct_config->debugmem = true;
+
+ /* Parse the command line. */
+ if (!parse_command_line( argc, argv ))
+ return -1;
+
+
+ /* Open the file. */
+ fd = open( filename, O_RDONLY );
+ if (fd < 0) {
+ ret = errno2result( errno );
+ D_PERROR( "Font/DGIFF: Failure during open() of '%s'!\n", filename );
+ return ret;
+ }
+
+ /* Query file size etc. */
+ if (fstat( fd, &stat ) < 0) {
+ ret = errno2result( errno );
+ D_PERROR( "Font/DGIFF: Failure during fstat() of '%s'!\n", filename );
+ goto out;
+ }
+
+ /* Memory map the file. */
+ ptr = mmap( NULL, stat.st_size, PROT_READ, MAP_SHARED, fd, 0 );
+ if (ptr == MAP_FAILED) {
+ ret = errno2result( errno );
+ D_PERROR( "Font/DGIFF: Failure during mmap() of '%s'!\n", filename );
+ goto out;
+ }
+
+
+ get_entities( (const char*) ptr, stat.st_size, faces );
+
+ header.num_faces = faces.size();
+
+
+
+ fwrite( &header, sizeof(header), 1, stdout );
+
+ for (Entity::vector::const_iterator iter = faces.begin(); iter != faces.end(); iter++) {
+ const Face *face = dynamic_cast<const Face*>( *iter );
+
+ face->Dump();
+
+ ret = do_face( face );
+ if (ret)
+ goto out;
+ }
+
+
+out:
+ if (ptr != MAP_FAILED)
+ munmap( ptr, stat.st_size );
+
+ close( fd );
+
+ direct_print_memleaks();
+
+ direct_shutdown();
+
+ return ret;
+}
+
diff --git a/tools/dfbproxy.c b/tools/voodooplay.c
similarity index 50%
copy from tools/dfbproxy.c
copy to tools/voodooplay.c
index 39631ae..eec615c 100644
--- a/tools/dfbproxy.c
+++ b/tools/voodooplay.c
@@ -34,26 +34,50 @@
#include <config.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+
#include <directfb.h>
#include <direct/debug.h>
#include <direct/interface.h>
#include <direct/mem.h>
#include <direct/messages.h>
+#include <direct/util.h>
+
+#include <voodoo/play.h>
-#include <voodoo/server.h>
+static const char *m_name = NULL;
+static bool m_run = false;
+static const char *m_lookup = NULL;
-/*****************************************************************************/
+/**********************************************************************************************************************/
static DFBBoolean parse_command_line( int argc, char *argv[] );
-static DFBResult server_run();
-/*****************************************************************************/
+/**********************************************************************************************************************/
+
+static DirectEnumerationResult
+player_callback( void *ctx,
+ const VoodooPlayInfo *info,
+ const VoodooPlayVersion *version,
+ const char *address,
+ unsigned int ms_since_last_seen )
+{
+ D_INFO( "Voodoo/Play: <%4ums> [ %-30s ] %s%s\n",
+ ms_since_last_seen, info->name, address, (info->flags & VPIF_LEVEL2) ? " *" : "" );
+
+ return DENUM_OK;
+}
int
main( int argc, char *argv[] )
{
- DFBResult ret;
+ DFBResult ret;
+ int i;
+ VoodooPlayInfo info;
+ VoodooPlayer *player = NULL;
/* Initialize DirectFB including command line parsing. */
ret = DirectFBInit( &argc, &argv );
@@ -66,79 +90,75 @@ main( int argc, char *argv[] )
if (!parse_command_line( argc, argv ))
return -2;
- /* Run the server. */
- return server_run();
-}
+ if (m_name) {
+ direct_snputs( info.name, m_name, VOODOO_PLAYER_NAME_LENGTH );
+ }
-/*****************************************************************************/
+ ret = voodoo_player_create( m_name ? &info : NULL, &player );
+ if (ret) {
+ D_ERROR( "Voodoo/Play: Could not create the player (%s)!\n", DirectFBErrorString(ret) );
+ goto out;
+ }
-static DirectResult
-ConstructDispatcher( VoodooServer *server,
- VoodooManager *manager,
- const char *name,
- void *ctx,
- VoodooInstanceID *ret_instance )
-{
- DirectResult ret;
- DirectInterfaceFuncs *funcs;
- void *interface;
- VoodooInstanceID instance;
- D_ASSERT( server != NULL );
- D_ASSERT( manager != NULL );
- D_ASSERT( name != NULL );
- D_ASSERT( ret_instance != NULL );
+ do {
+ voodoo_player_broadcast( player );
+
+ usleep( 100000 );
+
+ voodoo_player_enumerate( player, player_callback, NULL );
+
+ if (m_lookup) {
+ for (i=1; i<argc; i++) {
+ char buf[100];
- ret = DirectGetInterface( &funcs, name, "Dispatcher", NULL, NULL );
- if (ret)
- return ret;
+ if (voodoo_player_lookup( player, argv[i], buf, sizeof(buf) )) {
+ D_ERROR( "Voodoo/Play: No '%s' found!\n", argv[i] );
+ continue;
+ }
- ret = funcs->Allocate( &interface );
- if (ret)
- return ret;
+ D_INFO( "Voodoo/Play: Found '%s' with address %s\n", argv[i], buf );
+ }
+ }
- ret = funcs->Construct( interface, manager, &instance );
- if (ret)
- return ret;
+ sleep( 2 );
+ } while (m_run);
- *ret_instance = instance;
- return DFB_OK;
+out:
+ if (player)
+ voodoo_player_destroy( player );
+
+ return ret;
}
-/*****************************************************************************/
+/**********************************************************************************************************************/
static DFBBoolean
-parse_command_line( int argc, char *argv[] )
+print_usage( const char *name )
{
- return DFB_TRUE;
+ fprintf( stderr, "Usage: %s [-n <name>] [-r]\n", name );
+
+ return DFB_FALSE;
}
-static DFBResult
-server_run()
+static DFBBoolean
+parse_command_line( int argc, char *argv[] )
{
- DFBResult ret;
- VoodooServer *server;
-
- ret = voodoo_server_create( &server );
- if (ret) {
- D_ERROR( "Voodoo/Proxy: Could not create the server (%s)!\n", DirectFBErrorString(ret) );
- return ret;
- }
-
- ret = voodoo_server_register( server, "IDirectFB", ConstructDispatcher, NULL );
- if (ret) {
- D_ERROR( "Voodoo/Proxy: Could not register super interface 'IDirectFB'!\n" );
- voodoo_server_destroy( server );
- return ret;
+ int i;
+
+ for (i=1; i<argc; i++) {
+ if (!strcmp( argv[i], "-r" )) {
+ m_run = true;
+ }
+ else if (!strcmp( argv[i], "-n" )) {
+ if (++i == argc)
+ return print_usage( argv[0] );
+
+ m_name = argv[i];
+ }
}
- ret = voodoo_server_run( server );
- if (ret)
- D_ERROR( "Voodoo/Proxy: Server exiting with error (%s)!\n", DirectFBErrorString(ret) );
-
- voodoo_server_destroy( server );
-
- return DFB_OK;
+ return DFB_TRUE;
}
diff --git a/wm/Makefile.in b/wm/Makefile.in
index 4c2acd0..aaf1a93 100644
--- a/wm/Makefile.in
+++ b/wm/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -42,6 +44,13 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -53,12 +62,41 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = default unique
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -82,11 +120,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -100,16 +141,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -130,12 +172,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -146,21 +191,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -168,6 +221,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -181,6 +238,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -188,9 +246,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -237,6 +296,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@ENABLE_UNIQUE_FALSE at UNIQUE_DIR =
@@ -249,14 +309,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wm/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu wm/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wm/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu wm/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -274,6 +334,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -288,7 +349,7 @@ clean-libtool:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -305,7 +366,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -313,7 +374,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -339,16 +400,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -356,14 +417,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -375,7 +436,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -384,29 +445,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -427,29 +493,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -469,16 +550,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -497,6 +584,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -505,18 +594,28 @@ install-data-am:
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am:
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -537,8 +636,8 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic clean-libtool \
@@ -554,6 +653,7 @@ uninstall-am:
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/wm/default/Makefile.am b/wm/default/Makefile.am
index dce61ab..92acfc0 100644
--- a/wm/default/Makefile.am
+++ b/wm/default/Makefile.am
@@ -1,9 +1,9 @@
## Makefile.am for DirectFB/wm/default
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
diff --git a/wm/default/Makefile.in b/wm/default/Makefile.in
index a280218..14d8179 100644
--- a/wm/default/Makefile.in
+++ b/wm/default/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -45,14 +47,35 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(wmdir)" "$(DESTDIR)$(wmdir)"
-wmLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(wm_LTLIBRARIES)
libdirectfbwm_default_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -61,30 +84,48 @@ libdirectfbwm_default_la_DEPENDENCIES = \
am_libdirectfbwm_default_la_OBJECTS = default.lo
libdirectfbwm_default_la_OBJECTS = \
$(am_libdirectfbwm_default_la_OBJECTS)
-libdirectfbwm_default_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfbwm_default_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfbwm_default_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfbwm_default_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfbwm_default_la_SOURCES)
DIST_SOURCES = $(libdirectfbwm_default_la_SOURCES)
-wmDATA_INSTALL = $(INSTALL_DATA)
DATA = $(wm_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -108,11 +149,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -126,16 +170,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -156,12 +201,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -172,21 +220,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -194,6 +250,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -207,6 +267,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -214,9 +275,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -263,12 +325,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src
@@ -295,14 +358,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wm/default/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu wm/default/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wm/default/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu wm/default/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -312,6 +375,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -320,23 +384,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-wmLTLIBRARIES: $(wm_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(wmdir)" || $(MKDIR_P) "$(DESTDIR)$(wmdir)"
- @list='$(wm_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(wm_LTLIBRARIES)'; test -n "$(wmdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(wmLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(wmdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(wmLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(wmdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(wmdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(wmdir)"; \
+ }
uninstall-wmLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(wm_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(wmdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(wmdir)/$$p"; \
+ @list='$(wm_LTLIBRARIES)'; test -n "$(wmdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(wmdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(wmdir)/$$f"; \
done
clean-wmLTLIBRARIES:
@@ -347,8 +416,8 @@ clean-wmLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfbwm_default.la: $(libdirectfbwm_default_la_OBJECTS) $(libdirectfbwm_default_la_DEPENDENCIES)
- $(libdirectfbwm_default_la_LINK) -rpath $(wmdir) $(libdirectfbwm_default_la_OBJECTS) $(libdirectfbwm_default_la_LIBADD) $(LIBS)
+libdirectfbwm_default.la: $(libdirectfbwm_default_la_OBJECTS) $(libdirectfbwm_default_la_DEPENDENCIES) $(EXTRA_libdirectfbwm_default_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfbwm_default_la_LINK) -rpath $(wmdir) $(libdirectfbwm_default_la_OBJECTS) $(libdirectfbwm_default_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -359,25 +428,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/default.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -387,34 +456,35 @@ clean-libtool:
install-wmDATA: $(wm_DATA)
@$(NORMAL_INSTALL)
test -z "$(wmdir)" || $(MKDIR_P) "$(DESTDIR)$(wmdir)"
- @list='$(wm_DATA)'; for p in $$list; do \
+ @list='$(wm_DATA)'; test -n "$(wmdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(wmDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(wmdir)/$$f'"; \
- $(wmDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(wmdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(wmdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(wmdir)" || exit $$?; \
done
uninstall-wmDATA:
@$(NORMAL_UNINSTALL)
- @list='$(wm_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(wmdir)/$$f'"; \
- rm -f "$(DESTDIR)$(wmdir)/$$f"; \
- done
+ @list='$(wm_DATA)'; test -n "$(wmdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(wmdir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -422,29 +492,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -465,13 +540,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -492,16 +571,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -523,6 +608,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -531,18 +618,28 @@ install-data-am: install-wmDATA install-wmLTLIBRARIES
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -591,6 +688,7 @@ uninstall-am: uninstall-wmDATA uninstall-wmLTLIBRARIES
rm -f $<.tmp/*.o && rmdir $<.tmp
.PHONY: $(LTLIBRARIES:%.la=.libs/%.a)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/wm/default/default.c b/wm/default/default.c
index faed77b..ef2c6fb 100644
--- a/wm/default/default.c
+++ b/wm/default/default.c
@@ -85,8 +85,10 @@ typedef struct {
/**************************************************************************************************/
-#define MAX_KEYS 16
-#define MAX_UPDATE_REGIONS 8
+#define MAX_KEYS 16
+#define MAX_UPDATE_REGIONS 8 // dirty region
+#define MAX_UPDATING_REGIONS 8 // updated region to be scheduled for display
+#define MAX_UPDATED_REGIONS 8 // updated region scheduled for display
typedef struct {
CoreDFB *core;
@@ -100,6 +102,12 @@ typedef struct {
DFBUpdates updates;
DFBRegion update_regions[MAX_UPDATE_REGIONS];
+ DFBUpdates updating;
+ DFBRegion updating_regions[MAX_UPDATING_REGIONS];
+
+ DFBUpdates updated;
+ DFBRegion updated_regions[MAX_UPDATED_REGIONS];
+
DFBInputDeviceButtonMask buttons;
DFBInputDeviceModifierMask modifiers;
DFBInputDeviceLockState locks;
@@ -133,6 +141,10 @@ typedef struct {
int cursor_dx;
int cursor_dy;
+
+ CoreLayerRegion *region;
+ CoreSurface *surface;
+ Reaction surface_reaction;
} StackData;
typedef struct {
@@ -219,6 +231,8 @@ post_event( CoreWindow *window,
event->buttons = data->buttons;
event->modifiers = data->modifiers;
event->locks = data->locks;
+ event->cx = data->stack->cursor.x;
+ event->cy = data->stack->cursor.y;
dfb_window_post_event( window, event );
}
@@ -264,6 +278,26 @@ send_button_event( CoreWindow *window,
post_event( window, data, &we );
}
+static void
+send_update_event( CoreWindow *window,
+ StackData *data,
+ const DFBRegion *update )
+{
+ DFBWindowEvent we;
+
+ D_ASSERT( window != NULL );
+ D_ASSERT( data != NULL );
+ D_ASSERT( update != NULL );
+
+ we.type = DWET_UPDATE;
+ we.x = update->x1;
+ we.y = update->y1;
+ we.w = update->x2 - update->x1 + 1;
+ we.h = update->y2 - update->y1 + 1;
+
+ post_event( window, data, &we );
+}
+
/**************************************************************************************************/
static inline void
@@ -1320,29 +1354,82 @@ update_region( CoreWindowStack *stack,
/**************************************************************************************************/
static void
+flush_updating( StackData *data )
+{
+ int i;
+ int left_num_regions = 0;
+
+ D_DEBUG_AT( WM_Default, "%s( %p )\n", __FUNCTION__, data );
+
+ D_ASSERT( data != NULL );
+
+ D_ASSUME( data->updating.num_regions > 0 );
+ D_ASSUME( data->updated.num_regions == 0 );
+
+ if (data->updating.num_regions) {
+ /*
+ * save here as it might get reset in case surface reaction
+ * is called synchronously during dfb_layer_region_flip_update()
+ */
+ left_num_regions = data->updating.num_regions;
+
+ D_DEBUG_AT( WM_Default, " -> making updated = updating\n" );
+
+ /* Make updated = updating */
+ direct_memcpy( &data->updated, &data->updating, sizeof(DFBUpdates) );
+ direct_memcpy( &data->updated_regions[0], &data->updating_regions[0], sizeof(DFBRegion) * data->updating.num_regions );
+ data->updated.regions = &data->updated_regions[0];
+
+ D_DEBUG_AT( WM_Default, " -> clearing updating\n" );
+
+ /* Clear updating */
+ dfb_updates_reset( &data->updating );
+ }
+
+
+ D_DEBUG_AT( WM_Default, " -> flipping the region\n" );
+
+ /* Flip the whole layer. */
+ dfb_layer_region_flip_update( data->region, NULL, DSFLIP_ONSYNC );
+
+
+ if (left_num_regions) {
+ D_DEBUG_AT( WM_Default, " -> copying %d updated regions (F->B)\n", left_num_regions );
+
+ for (i=0; i<left_num_regions; i++) {
+ D_DEBUG_AT( WM_Default, " -> %4d,%4d - %4dx%4d [%d]\n",
+ DFB_RECTANGLE_VALS_FROM_REGION( &data->updated.regions[i] ), i );
+ }
+
+ dfb_gfx_copy_regions( data->region->surface, CSBR_FRONT, data->region->surface, CSBR_BACK,
+ data->updated.regions, left_num_regions, 0, 0 );
+ }
+}
+
+static void
repaint_stack( CoreWindowStack *stack,
StackData *data,
- CoreLayerRegion *region,
const DFBRegion *updates,
int num_updates,
DFBSurfaceFlipFlags flags )
{
- int i;
- CoreLayer *layer;
- CardState *state;
- CoreSurface *surface;
- DFBRegion flips[num_updates];
- int num_flips = 0;
+ int i;
+ CoreLayer *layer;
+ CoreLayerRegion *region;
+ CardState *state;
+ CoreSurface *surface;
+ DFBRegion flips[num_updates];
+ int num_flips = 0;
D_ASSERT( stack != NULL );
D_ASSERT( stack->context != NULL );
D_ASSERT( data != NULL );
- D_ASSERT( region != NULL );
D_ASSERT( num_updates > 0 );
layer = dfb_layer_at( stack->context->layer_id );
state = &layer->state;
- surface = region->surface;
+ region = data->region;
+ surface = data->surface;
if (!data->active || !surface)
return;
@@ -1401,17 +1488,42 @@ repaint_stack( CoreWindowStack *stack,
state->destination = NULL;
state->modified |= SMF_DESTINATION;
- /* Software cursor code relies on a valid back buffer. */
- if (stack->cursor.enabled)
- flags |= DSFLIP_BLIT;
+ switch (region->config.buffermode) {
+ case DLBM_TRIPLE:
+ /* Add the updated region. */
+ for (i=0; i<num_updates; i++) {
+ const DFBRegion *update = &flips[i];
+
+ DFB_REGION_ASSERT( update );
+
+ D_DEBUG_AT( WM_Default, " -> adding %d, %d - %dx%d (%d) to updating\n",
+ DFB_RECTANGLE_VALS_FROM_REGION( update ), i );
- for (i=0; i<num_flips; i++) {
- const DFBRegion *flip = &flips[i];
+ dfb_updates_add( &data->updating, update );
+ }
+
+ if (!data->updated.num_regions)
+ flush_updating( data );
+ break;
- DFB_REGION_ASSERT( flip );
+ case DLBM_BACKVIDEO:
+ /* Flip the whole region. */
+ dfb_layer_region_flip_update( region, NULL, flags | DSFLIP_WAITFORSYNC );
+
+ /* Copy back the updated region. */
+ dfb_gfx_copy_regions( region->surface, CSBR_FRONT, region->surface, CSBR_BACK, updates, num_updates, 0, 0 );
+ break;
- /* Flip the updated region .*/
- dfb_layer_region_flip_update( region, flip, flags );
+ default:
+ /* Flip the updated region .*/
+ for (i=0; i<num_updates; i++) {
+ const DFBRegion *update = &flips[i];
+
+ DFB_REGION_ASSERT( update );
+
+ dfb_layer_region_flip_update( region, update, flags );
+ }
+ break;
}
}
@@ -1419,15 +1531,12 @@ static DFBResult
process_updates( StackData *data,
WMData *wmdata,
CoreWindowStack *stack,
- CoreLayerRegion *region,
DFBSurfaceFlipFlags flags )
{
- DFBResult ret;
int n, d;
int total;
int bounding;
CoreLayerContext *context;
- CoreLayerRegion *primary = region;
D_ASSERT( data != NULL );
D_ASSERT( wmdata != NULL );
@@ -1439,14 +1548,6 @@ process_updates( StackData *data,
if (!data->updates.num_regions)
return DFB_OK;
- /* Get the primary region. */
- if (!region) {
- ret = dfb_layer_context_get_primary_region( stack->context, false, &primary );
- if (ret)
- return ret;
- }
-
-
dfb_updates_stat( &data->updates, &total, &bounding );
n = data->updates.max_regions - data->updates.num_regions + 1;
@@ -1462,24 +1563,19 @@ process_updates( StackData *data,
// if (context->config.buffermode == DLBM_FRONTONLY)
// dfb_region_transpose(®ion, context->rotation);
- repaint_stack( stack, data, primary, ®ion, 1, flags );
+ repaint_stack( stack, data, ®ion, 1, flags );
}
else if (data->updates.num_regions < 2 || total < bounding * n / d)
- repaint_stack( stack, data, primary, data->updates.regions, data->updates.num_regions, flags );
+ repaint_stack( stack, data, data->updates.regions, data->updates.num_regions, flags );
else {
// direct_log_printf( NULL, "%s() <- %d regions, total %d, bounding %d (%d/%d: %d)\n",
// __FUNCTION__, data->updates.num_regions, total, bounding, n, d, bounding*n/d );
- repaint_stack( stack, data, primary, &data->updates.bounding, 1, flags );
+ repaint_stack( stack, data, &data->updates.bounding, 1, flags );
}
-
dfb_updates_reset( &data->updates );
- /* Unref primary region. */
- if (!region)
- dfb_layer_region_unref( primary );
-
return DFB_OK;
}
@@ -3101,11 +3197,72 @@ wm_post_init( void *wm_data, void *shared_data )
/**************************************************************************************************/
+static ReactionResult
+defaultwm_surface_reaction( const void *msg_data,
+ void *ctx )
+{
+ int i;
+ const CoreSurfaceNotification *notification = msg_data;
+ StackData *data = ctx;
+ DFBResult ret;
+
+ D_DEBUG_AT( WM_Default, "%s( %p, %p )\n", __FUNCTION__, msg_data, ctx );
+
+ D_ASSERT( ctx != NULL );
+
+ if (notification->flags & CSNF_DISPLAY) {
+ D_DEBUG_AT( WM_Default, " -> DISPLAY [%d]\n", notification->index );
+
+ switch (data->region->config.buffermode) {
+ case DLBM_TRIPLE:
+ ret = dfb_layer_context_lock( data->region->context );
+ if (ret) {
+ D_DERROR( ret, "WM/Default/SurfaceReaction: Could not lock layer context!\n" );
+ return RS_OK;
+ }
+
+ D_ASSUME( data->updated.num_regions > 0 );
+
+ if (data->updated.num_regions) {
+ /* Copy back the updated region. */
+ if (data->updated.num_regions) {
+ D_DEBUG_AT( WM_Default, " -> copying %d updated regions (F->I) (left)\n", data->updated.num_regions );
+
+ for (i=0; i<data->updated.num_regions; i++) {
+ D_DEBUG_AT( WM_Default, " -> %4d,%4d - %4dx%4d [%d]\n",
+ DFB_RECTANGLE_VALS_FROM_REGION( &data->updated.regions[i] ), i );
+ }
+
+ dfb_gfx_copy_regions( data->surface, CSBR_FRONT, data->surface, CSBR_IDLE,
+ data->updated.regions, data->updated.num_regions, 0, 0 );
+ }
+
+ dfb_updates_reset( &data->updated );
+ }
+
+ if (data->updating.num_regions) {
+ D_DEBUG_AT( WM_Default, " -> flushing updating regions\n" );
+
+ flush_updating( data );
+ }
+
+ dfb_layer_context_unlock( data->region->context );
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ return RS_OK;
+}
+
static DFBResult
wm_init_stack( CoreWindowStack *stack,
void *wm_data,
void *stack_data )
{
+ DFBResult ret;
int i;
StackData *data = stack_data;
@@ -3117,12 +3274,29 @@ wm_init_stack( CoreWindowStack *stack,
/* Initialize update manager. */
dfb_updates_init( &data->updates, data->update_regions, MAX_UPDATE_REGIONS );
+ dfb_updates_init( &data->updating, data->updating_regions, MAX_UPDATING_REGIONS );
+ dfb_updates_init( &data->updated, data->updated_regions, MAX_UPDATED_REGIONS );
fusion_vector_init( &data->windows, 64, stack->shmpool );
for (i=0; i<MAX_KEYS; i++)
data->keys[i].code = -1;
+ ret = dfb_layer_context_get_primary_region( stack->context, true, &data->region );
+ if (ret)
+ return ret;
+
+ ret = dfb_layer_region_get_surface( data->region, &data->surface );
+ if (ret) {
+ dfb_layer_region_unref( data->region );
+ return ret;
+ }
+
+ dfb_layer_region_globalize( data->region );
+ dfb_surface_globalize( data->surface );
+
+ dfb_surface_attach( data->surface, defaultwm_surface_reaction, data, &data->surface_reaction );
+
D_MAGIC_SET( data, StackData );
return DFB_OK;
@@ -3157,6 +3331,12 @@ wm_close_stack( CoreWindowStack *stack,
fusion_vector_destroy( &data->windows );
+ dfb_surface_detach( data->surface, &data->surface_reaction );
+
+ dfb_layer_region_unlink( &data->region );
+
+ dfb_surface_unlink( &data->surface );
+
/* Destroy backing store of software cursor. */
if (data->cursor_bs)
dfb_surface_unlink( &data->cursor_bs );
@@ -3272,7 +3452,7 @@ wm_process_input( CoreWindowStack *stack,
if (!D_FLAGS_IS_SET( event->flags, DIEF_FOLLOW ))
flush_motion( stack, data, wm_data );
- process_updates( data, wm_data, stack, NULL, DSFLIP_NONE );
+ process_updates( data, wm_data, stack, DSFLIP_NONE );
return ret;
}
@@ -3349,12 +3529,12 @@ wm_window_lookup( CoreWindowStack *stack,
fusion_vector_foreach_reverse (window, i, data->windows) {
if (window->id == window_id) {
- break;
+ *ret_window = window;
+ return DFB_OK;
}
}
- *ret_window = window;
- return DFB_OK;
+ return DFB_IDNOTFOUND;
}
static DFBResult
@@ -3510,7 +3690,7 @@ wm_add_window( CoreWindowStack *stack,
/* Possibly switch focus to the new window. */
update_focus( stack, sdata, wm_data );
- process_updates( sdata, wm_data, stack, window->primary_region, DSFLIP_NONE );
+ process_updates( sdata, wm_data, stack, DSFLIP_NONE );
return DFB_OK;
}
@@ -3679,7 +3859,7 @@ wm_set_window_config( CoreWindow *window,
window->config.key_selection = config->key_selection;
}
- process_updates( stack->stack_data, wm_data, stack, window->primary_region, DSFLIP_NONE );
+ process_updates( stack->stack_data, wm_data, stack, DSFLIP_NONE );
return DFB_OK;
}
@@ -3718,7 +3898,7 @@ wm_restack_window( CoreWindow *window,
/* Possibly switch focus to window now under the cursor */
update_focus( sdata->stack, sdata, wm_data );
- process_updates( sdata, wm_data, window->stack, window->primary_region, DSFLIP_NONE );
+ process_updates( sdata, wm_data, window->stack, DSFLIP_NONE );
return DFB_OK;
}
@@ -3831,6 +4011,22 @@ wm_begin_updates( CoreWindow *window,
return DFB_OK;
}
+static DFBResult
+wm_set_cursor_position( CoreWindow *window,
+ void *wm_data,
+ void *window_data,
+ int x,
+ int y )
+{
+ D_ASSERT( window != NULL );
+ D_ASSERT( wm_data != NULL );
+ D_ASSERT( window_data != NULL );
+
+ D_UNIMPLEMENTED();
+
+ return DFB_UNIMPLEMENTED;
+}
+
/**************************************************************************************************/
static DFBResult
@@ -3851,7 +4047,7 @@ wm_update_stack( CoreWindowStack *stack,
dfb_updates_add( &data->updates, region );
- process_updates( data, wm_data, stack, NULL, flags );
+ process_updates( data, wm_data, stack, flags );
return DFB_OK;
}
@@ -3874,9 +4070,11 @@ wm_update_window( CoreWindow *window,
stack = window->stack;
D_ASSERT( stack != NULL );
+ send_update_event( window, stack->stack_data, region );
+
update_window( window, window_data, region, flags, false, false, true );
- process_updates( stack->stack_data, wm_data, stack, window->primary_region, flags );
+ process_updates( stack->stack_data, wm_data, stack, flags );
return DFB_OK;
}
@@ -3896,6 +4094,9 @@ wm_update_cursor( CoreWindowStack *stack,
CoreLayerContext *context;
CoreLayerRegion *primary;
CoreSurface *surface;
+ int i;
+ DFBRegion updates[2];
+ int updates_count = 0;
D_ASSERT( stack != NULL );
D_ASSERT( wm_data != NULL );
@@ -3959,43 +4160,27 @@ wm_update_cursor( CoreWindowStack *stack,
D_ASSERT( data->cursor_bs != NULL );
/* Get the primary region. */
- ret = dfb_layer_context_get_primary_region( context, false, &primary );
- if (ret)
- return ret;
+ primary = data->region;
+ D_ASSERT( primary != NULL );
surface = primary->surface;
D_MAGIC_ASSERT( surface, CoreSurface );
- if (flags & CCUF_ENABLE) {
- /* Ensure valid back buffer. From now on swapping is prevented until cursor is disabled.
- * FIXME: Keep a flag to know when back/front have been swapped and need a sync.
- */
- switch (context->config.buffermode) {
- case DLBM_BACKVIDEO:
- case DLBM_TRIPLE:
- dfb_gfx_copy( surface, surface, NULL );
- break;
-
- default:
- break;
- }
- }
-
/* restore region under cursor */
- if (data->cursor_drawn && dfb_region_intersect( &old_dest, 0, 0,
- surface->config.size.w - 1, surface->config.size.h - 1 ))
- {
+ if (data->cursor_drawn) {
DFBRectangle rect = { 0, 0,
old_dest.x2 - old_dest.x1 + 1,
old_dest.y2 - old_dest.y1 + 1 };
D_ASSERT( stack->cursor.opacity || (flags & CCUF_OPACITY) );
- dfb_gfx_copy_to( data->cursor_bs, surface, &rect, old_dest.x1, old_dest.y1, false );
+ if (data->active) {
+ dfb_gfx_copy_to( data->cursor_bs, surface, &rect, old_dest.x1, old_dest.y1, false );
- data->cursor_drawn = false;
+ restored = true;
+ }
- restored = true;
+ data->cursor_drawn = false;
}
if (flags & CCUF_SIZE) {
@@ -4024,7 +4209,6 @@ wm_update_cursor( CoreWindowStack *stack,
if (!dfb_region_intersect( &dest, 0, 0, surface->config.size.w - 1, surface->config.size.h - 1 )) {
if (restored)
dfb_layer_region_flip_update( primary, &old_dest, DSFLIP_BLIT );
- dfb_layer_region_unref( primary );
return DFB_OK;
}
@@ -4062,12 +4246,12 @@ wm_update_cursor( CoreWindowStack *stack,
if (dfb_region_region_intersects( &old_dest, &dest ))
dfb_region_region_union( &old_dest, &dest );
else
- dfb_layer_region_flip_update( primary, &dest, DSFLIP_BLIT );
+ updates[updates_count++] = dest;
- dfb_layer_region_flip_update( primary, &old_dest, DSFLIP_BLIT );
+ updates[updates_count++] = old_dest;
}
else
- dfb_layer_region_flip_update( primary, &dest, DSFLIP_BLIT );
+ updates[updates_count++] = dest;
/* Pan to follow the cursor? */
if (primary->config.source.w < surface->config.size.w || primary->config.source.h < surface->config.size.h) {
@@ -4090,10 +4274,44 @@ wm_update_cursor( CoreWindowStack *stack,
}
}
else if (restored)
- dfb_layer_region_flip_update( primary, &old_dest, DSFLIP_BLIT );
+ updates[updates_count++] = old_dest;
+
+ if (updates_count) {
+ switch (primary->config.buffermode) {
+ case DLBM_TRIPLE:
+ /* Add the updated region .*/
+ for (i=0; i<updates_count; i++) {
+ const DFBRegion *update = &updates[i];
+
+ DFB_REGION_ASSERT( update );
+
+ dfb_updates_add( &data->updating, update );
+ }
- /* Unref primary region. */
- dfb_layer_region_unref( primary );
+ if (!data->updated.num_regions)
+ flush_updating( data );
+ break;
+
+ case DLBM_BACKVIDEO:
+ /* Flip the whole region. */
+ dfb_layer_region_flip_update( primary, NULL, DSFLIP_WAITFORSYNC );
+
+ /* Copy back the updated region. */
+ dfb_gfx_copy_regions( surface, CSBR_FRONT, surface, CSBR_BACK, updates, updates_count, 0, 0 );
+ break;
+
+ default:
+ /* Flip the updated region .*/
+ for (i=0; i<updates_count; i++) {
+ const DFBRegion *update = &updates[i];
+
+ DFB_REGION_ASSERT( update );
+
+ dfb_layer_region_flip_update( primary, update, DSFLIP_NONE );
+ }
+ break;
+ }
+ }
return DFB_OK;
}
diff --git a/wm/unique/Makefile.am b/wm/unique/Makefile.am
index 3395c2f..cc2f701 100644
--- a/wm/unique/Makefile.am
+++ b/wm/unique/Makefile.am
@@ -3,9 +3,9 @@
SUBDIRS = classes data devices
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/wm \
diff --git a/wm/unique/Makefile.in b/wm/unique/Makefile.in
index 7d2adc2..ce9f4c0 100644
--- a/wm/unique/Makefile.in
+++ b/wm/unique/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -19,8 +20,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -50,17 +52,37 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(wmdir)" \
"$(DESTDIR)$(bindir)" "$(DESTDIR)$(wmdir)" \
"$(DESTDIR)$(includedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
-wmLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES) $(wm_LTLIBRARIES)
libdirectfbwm_unique_la_DEPENDENCIES = \
$(top_builddir)/lib/direct/libdirect.la \
@@ -69,9 +91,13 @@ libdirectfbwm_unique_la_DEPENDENCIES = \
am_libdirectfbwm_unique_la_OBJECTS = unique.lo
libdirectfbwm_unique_la_OBJECTS = \
$(am_libdirectfbwm_unique_la_OBJECTS)
-libdirectfbwm_unique_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libdirectfbwm_unique_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+libdirectfbwm_unique_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libdirectfbwm_unique_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
libuniquewm_la_DEPENDENCIES = classes/libunique_classes.la \
devices/libunique_devices.la \
$(top_builddir)/lib/direct/libdirect.la \
@@ -81,10 +107,10 @@ am_libuniquewm_la_OBJECTS = context.lo decoration.lo device.lo \
input_channel.lo input_switch.lo stret.lo stret_iteration.lo \
uniquewm.lo window.lo
libuniquewm_la_OBJECTS = $(am_libuniquewm_la_OBJECTS)
-libuniquewm_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libuniquewm_la_LDFLAGS) $(LDFLAGS) -o $@
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+libuniquewm_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libuniquewm_la_LDFLAGS) $(LDFLAGS) -o \
+ $@
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
am_stret_test_OBJECTS = stret_test.$(OBJEXT)
stret_test_OBJECTS = $(am_stret_test_OBJECTS)
@@ -113,15 +139,29 @@ uwmdump_DEPENDENCIES = libuniquewm.la \
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libdirectfbwm_unique_la_SOURCES) $(libuniquewm_la_SOURCES) \
$(stret_test_SOURCES) $(test_color_SOURCES) \
$(test_foo_SOURCES) $(uwmdump_SOURCES)
@@ -135,18 +175,45 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
-wmDATA_INSTALL = $(INSTALL_DATA)
DATA = $(wm_DATA)
-includeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(include_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -170,11 +237,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -188,16 +258,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -218,12 +289,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -234,21 +308,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -256,6 +338,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -269,6 +355,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -276,9 +363,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -327,13 +415,14 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = classes data devices
INCLUDES = \
- -I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/wm \
@@ -439,14 +528,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wm/unique/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu wm/unique/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wm/unique/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu wm/unique/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -456,6 +545,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/rules/libobject.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -464,23 +554,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
@@ -494,20 +589,24 @@ clean-libLTLIBRARIES:
install-wmLTLIBRARIES: $(wm_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(wmdir)" || $(MKDIR_P) "$(DESTDIR)$(wmdir)"
- @list='$(wm_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(wm_LTLIBRARIES)'; test -n "$(wmdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(wmLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(wmdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(wmLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(wmdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(wmdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(wmdir)"; \
+ }
uninstall-wmLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(wm_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(wmdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(wmdir)/$$p"; \
+ @list='$(wm_LTLIBRARIES)'; test -n "$(wmdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(wmdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(wmdir)/$$f"; \
done
clean-wmLTLIBRARIES:
@@ -518,57 +617,74 @@ clean-wmLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libdirectfbwm_unique.la: $(libdirectfbwm_unique_la_OBJECTS) $(libdirectfbwm_unique_la_DEPENDENCIES)
- $(libdirectfbwm_unique_la_LINK) -rpath $(wmdir) $(libdirectfbwm_unique_la_OBJECTS) $(libdirectfbwm_unique_la_LIBADD) $(LIBS)
-libuniquewm.la: $(libuniquewm_la_OBJECTS) $(libuniquewm_la_DEPENDENCIES)
- $(libuniquewm_la_LINK) -rpath $(libdir) $(libuniquewm_la_OBJECTS) $(libuniquewm_la_LIBADD) $(LIBS)
+libdirectfbwm_unique.la: $(libdirectfbwm_unique_la_OBJECTS) $(libdirectfbwm_unique_la_DEPENDENCIES) $(EXTRA_libdirectfbwm_unique_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libdirectfbwm_unique_la_LINK) -rpath $(wmdir) $(libdirectfbwm_unique_la_OBJECTS) $(libdirectfbwm_unique_la_LIBADD) $(LIBS)
+libuniquewm.la: $(libuniquewm_la_OBJECTS) $(libuniquewm_la_DEPENDENCIES) $(EXTRA_libuniquewm_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libuniquewm_la_LINK) -rpath $(libdir) $(libuniquewm_la_OBJECTS) $(libuniquewm_la_LIBADD) $(LIBS)
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-stret_test$(EXEEXT): $(stret_test_OBJECTS) $(stret_test_DEPENDENCIES)
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+stret_test$(EXEEXT): $(stret_test_OBJECTS) $(stret_test_DEPENDENCIES) $(EXTRA_stret_test_DEPENDENCIES)
@rm -f stret_test$(EXEEXT)
- $(LINK) $(stret_test_OBJECTS) $(stret_test_LDADD) $(LIBS)
-test_color$(EXEEXT): $(test_color_OBJECTS) $(test_color_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(stret_test_OBJECTS) $(stret_test_LDADD) $(LIBS)
+test_color$(EXEEXT): $(test_color_OBJECTS) $(test_color_DEPENDENCIES) $(EXTRA_test_color_DEPENDENCIES)
@rm -f test_color$(EXEEXT)
- $(LINK) $(test_color_OBJECTS) $(test_color_LDADD) $(LIBS)
-test_foo$(EXEEXT): $(test_foo_OBJECTS) $(test_foo_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(test_color_OBJECTS) $(test_color_LDADD) $(LIBS)
+test_foo$(EXEEXT): $(test_foo_OBJECTS) $(test_foo_DEPENDENCIES) $(EXTRA_test_foo_DEPENDENCIES)
@rm -f test_foo$(EXEEXT)
- $(LINK) $(test_foo_OBJECTS) $(test_foo_LDADD) $(LIBS)
-uwmdump$(EXEEXT): $(uwmdump_OBJECTS) $(uwmdump_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(test_foo_OBJECTS) $(test_foo_LDADD) $(LIBS)
+uwmdump$(EXEEXT): $(uwmdump_OBJECTS) $(uwmdump_DEPENDENCIES) $(EXTRA_uwmdump_DEPENDENCIES)
@rm -f uwmdump$(EXEEXT)
- $(LINK) $(uwmdump_OBJECTS) $(uwmdump_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(uwmdump_OBJECTS) $(uwmdump_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -592,25 +708,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/window.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -620,37 +736,39 @@ clean-libtool:
install-wmDATA: $(wm_DATA)
@$(NORMAL_INSTALL)
test -z "$(wmdir)" || $(MKDIR_P) "$(DESTDIR)$(wmdir)"
- @list='$(wm_DATA)'; for p in $$list; do \
+ @list='$(wm_DATA)'; test -n "$(wmdir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(wmDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(wmdir)/$$f'"; \
- $(wmDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(wmdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(wmdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(wmdir)" || exit $$?; \
done
uninstall-wmDATA:
@$(NORMAL_UNINSTALL)
- @list='$(wm_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(wmdir)/$$f'"; \
- rm -f "$(DESTDIR)$(wmdir)/$$f"; \
- done
+ @list='$(wm_DATA)'; test -n "$(wmdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(wmdir)'; $(am__uninstall_files_from_dir)
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
- @list='$(include_HEADERS)'; for p in $$list; do \
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
- $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(includedir)/$$f"; \
- done
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@@ -659,7 +777,7 @@ uninstall-includeHEADERS:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -676,7 +794,7 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
@@ -684,7 +802,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -710,16 +828,16 @@ $(RECURSIVE_CLEAN_TARGETS):
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -727,14 +845,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -746,7 +864,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -755,29 +873,34 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -798,29 +921,44 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -846,16 +984,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -878,6 +1022,8 @@ dvi-am:
html: html-recursive
+html-am:
+
info: info-recursive
info-am:
@@ -887,18 +1033,28 @@ install-data-am: install-includeHEADERS install-wmDATA \
install-dvi: install-dvi-recursive
+install-dvi-am:
+
install-exec-am: install-binPROGRAMS install-libLTLIBRARIES
install-html: install-html-recursive
+install-html-am:
+
install-info: install-info-recursive
+install-info-am:
+
install-man:
install-pdf: install-pdf-recursive
+install-pdf-am:
+
install-ps: install-ps-recursive
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -923,8 +1079,8 @@ uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \
uninstall-libLTLIBRARIES uninstall-wmDATA \
uninstall-wmLTLIBRARIES
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am all-local check check-am clean clean-binPROGRAMS \
@@ -975,6 +1131,7 @@ uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \
@BUILD_STATIC_FALSE at clean-local:
@BUILD_STATIC_FALSE at all-local:
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/wm/unique/classes/Makefile.am b/wm/unique/classes/Makefile.am
index 85b10d2..936b6ce 100644
--- a/wm/unique/classes/Makefile.am
+++ b/wm/unique/classes/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/wm
diff --git a/wm/unique/classes/Makefile.in b/wm/unique/classes/Makefile.in
index 70d88fb..2685e85 100644
--- a/wm/unique/classes/Makefile.in
+++ b/wm/unique/classes/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,8 +17,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -43,22 +45,40 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libunique_classes_la_LIBADD =
am_libunique_classes_la_OBJECTS = foo.lo frame.lo root.lo window.lo
libunique_classes_la_OBJECTS = $(am_libunique_classes_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libunique_classes_la_SOURCES)
DIST_SOURCES = $(libunique_classes_la_SOURCES)
ETAGS = etags
@@ -66,6 +86,7 @@ CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -89,11 +110,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -107,16 +131,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -137,12 +162,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -153,21 +181,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -175,6 +211,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -188,6 +228,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -195,9 +236,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -244,12 +286,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/wm
@@ -273,14 +316,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wm/unique/classes/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu wm/unique/classes/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wm/unique/classes/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu wm/unique/classes/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -298,6 +341,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@@ -307,8 +351,8 @@ clean-noinstLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libunique_classes.la: $(libunique_classes_la_OBJECTS) $(libunique_classes_la_DEPENDENCIES)
- $(LINK) $(libunique_classes_la_OBJECTS) $(libunique_classes_la_LIBADD) $(LIBS)
+libunique_classes.la: $(libunique_classes_la_OBJECTS) $(libunique_classes_la_DEPENDENCIES) $(EXTRA_libunique_classes_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libunique_classes_la_OBJECTS) $(libunique_classes_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -322,25 +366,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/window.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -353,14 +397,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -368,29 +412,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -411,13 +460,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -435,16 +488,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -466,6 +525,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -474,18 +535,28 @@ install-data-am:
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -523,6 +594,7 @@ uninstall-am:
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
pdf pdf-am ps ps-am tags uninstall uninstall-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/wm/unique/data/Makefile.in b/wm/unique/data/Makefile.in
index a3c2b29..d56e2f3 100644
--- a/wm/unique/data/Makefile.in
+++ b/wm/unique/data/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -42,11 +44,19 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -70,11 +80,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -88,16 +101,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -118,12 +132,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -134,21 +151,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -156,6 +181,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -169,6 +198,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -176,9 +206,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -225,6 +256,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
uniquedatadir = $(DATADIR)/unique
@@ -248,14 +280,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wm/unique/data/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu wm/unique/data/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wm/unique/data/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu wm/unique/data/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -273,6 +305,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -302,13 +335,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -326,16 +363,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -354,6 +397,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -362,18 +407,28 @@ install-data-am:
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -416,6 +471,7 @@ clean-local:
foo.h: $(EXTRA_DIST)
$(directfb_csource) --name=foo $(EXTRA_DIST:%=$(srcdir)/%) > foo.h
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/wm/unique/devices/Makefile.am b/wm/unique/devices/Makefile.am
index c42f697..d12c0c1 100644
--- a/wm/unique/devices/Makefile.am
+++ b/wm/unique/devices/Makefile.am
@@ -2,8 +2,8 @@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/wm
diff --git a/wm/unique/devices/Makefile.in b/wm/unique/devices/Makefile.in
index 92d3bbe..0a1662e 100644
--- a/wm/unique/devices/Makefile.in
+++ b/wm/unique/devices/Makefile.in
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,8 +17,9 @@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -43,22 +45,40 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libunique_devices_la_LIBADD =
am_libunique_devices_la_OBJECTS = pointer.lo wheel.lo keyboard.lo
libunique_devices_la_OBJECTS = $(am_libunique_devices_la_OBJECTS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libunique_devices_la_SOURCES)
DIST_SOURCES = $(libunique_devices_la_SOURCES)
ETAGS = etags
@@ -66,6 +86,7 @@ CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ASFLAGS = @ASFLAGS@
@@ -89,11 +110,14 @@ CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DEP_VOODOO = @DEP_VOODOO@
DFB_CFLAGS_OMIT_FRAME_POINTER = @DFB_CFLAGS_OMIT_FRAME_POINTER@
DFB_INTERNAL_CFLAGS = @DFB_INTERNAL_CFLAGS@
DFB_LDFLAGS = @DFB_LDFLAGS@
DFB_SMOOTH_SCALING = @DFB_SMOOTH_SCALING@
DIRECTFB_BINARY_AGE = @DIRECTFB_BINARY_AGE@
+DIRECTFB_BUILD_PURE_VOODOO = @DIRECTFB_BUILD_PURE_VOODOO@
+DIRECTFB_BUILD_VOODOO = @DIRECTFB_BUILD_VOODOO@
DIRECTFB_CSOURCE = @DIRECTFB_CSOURCE@
DIRECTFB_INTERFACE_AGE = @DIRECTFB_INTERFACE_AGE@
DIRECTFB_MAJOR_VERSION = @DIRECTFB_MAJOR_VERSION@
@@ -107,16 +131,17 @@ DIRECT_BUILD_NETWORK = @DIRECT_BUILD_NETWORK@
DIRECT_BUILD_STDBOOL = @DIRECT_BUILD_STDBOOL@
DIRECT_BUILD_TEXT = @DIRECT_BUILD_TEXT@
DIRECT_BUILD_TRACE = @DIRECT_BUILD_TRACE@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
DYNLIB = @DYNLIB@
-ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLUXCOMP = @FLUXCOMP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_PROVIDER = @FREETYPE_PROVIDER@
@@ -137,12 +162,15 @@ JPEG_PROVIDER = @JPEG_PROVIDER@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LINOTYPE_CFLAGS = @LINOTYPE_CFLAGS@
+LINOTYPE_LIBS = @LINOTYPE_LIBS@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
@@ -153,21 +181,29 @@ LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULEDIR = @MODULEDIR@
MODULEDIRNAME = @MODULEDIRNAME@
+NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OSX_LIBS = @OSX_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_PROVIDER = @PNG_PROVIDER@
RANLIB = @RANLIB@
RUNTIME_SYSROOT = @RUNTIME_SYSROOT@
@@ -175,6 +211,10 @@ SDL_CFLAGS = @SDL_CFLAGS@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
+SH772X_DEP_CFLAGS = @SH772X_DEP_CFLAGS@
+SH772X_DEP_LIBS = @SH772X_DEP_LIBS@
+SH772X_SHJPEG_DEP_CFLAGS = @SH772X_SHJPEG_DEP_CFLAGS@
+SH772X_SHJPEG_DEP_LIBS = @SH772X_SHJPEG_DEP_LIBS@
SHELL = @SHELL@
SOPATH = @SOPATH@
STRIP = @STRIP@
@@ -188,6 +228,7 @@ VERSION = @VERSION@
VNC_CFLAGS = @VNC_CFLAGS@
VNC_CONFIG = @VNC_CONFIG@
VNC_LIBS = @VNC_LIBS@
+VOODOO_BUILD_NO_SETSOCKOPT = @VOODOO_BUILD_NO_SETSOCKOPT@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
ZLIB_LIBS = @ZLIB_LIBS@
@@ -195,9 +236,10 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -244,12 +286,13 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-I$(top_builddir)/include \
- -I$(top_srcdir)/include \
-I$(top_builddir)/lib \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src \
-I$(top_srcdir)/wm
@@ -272,14 +315,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wm/unique/devices/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu wm/unique/devices/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wm/unique/devices/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu wm/unique/devices/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -297,6 +340,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@@ -306,8 +350,8 @@ clean-noinstLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
-libunique_devices.la: $(libunique_devices_la_OBJECTS) $(libunique_devices_la_DEPENDENCIES)
- $(LINK) $(libunique_devices_la_OBJECTS) $(libunique_devices_la_LIBADD) $(LIBS)
+libunique_devices.la: $(libunique_devices_la_OBJECTS) $(libunique_devices_la_DEPENDENCIES) $(EXTRA_libunique_devices_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libunique_devices_la_OBJECTS) $(libunique_devices_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -320,25 +364,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wheel.Plo at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
- at am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -351,14 +395,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
+ set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@@ -366,29 +410,34 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
- tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -409,13 +458,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -433,16 +486,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -464,6 +523,8 @@ dvi-am:
html: html-am
+html-am:
+
info: info-am
info-am:
@@ -472,18 +533,28 @@ install-data-am:
install-dvi: install-dvi-am
+install-dvi-am:
+
install-exec-am:
install-html: install-html-am
+install-html-am:
+
install-info: install-info-am
+install-info-am:
+
install-man:
install-pdf: install-pdf-am
+install-pdf-am:
+
install-ps: install-ps-am
+install-ps-am:
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -521,6 +592,7 @@ uninstall-am:
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
pdf pdf-am ps ps-am tags uninstall uninstall-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/wm/unique/unique.c b/wm/unique/unique.c
index 7e2c8bd..528a83b 100644
--- a/wm/unique/unique.c
+++ b/wm/unique/unique.c
@@ -847,6 +847,22 @@ wm_begin_updates( CoreWindow *window,
return DFB_OK;
}
+static DFBResult
+wm_set_cursor_position( CoreWindow *window,
+ void *wm_data,
+ void *window_data,
+ int x,
+ int y )
+{
+ D_ASSERT( window != NULL );
+ D_ASSERT( wm_data != NULL );
+ D_ASSERT( window_data != NULL );
+
+ D_UNIMPLEMENTED();
+
+ return DFB_UNIMPLEMENTED;
+}
+
/**************************************************************************************************/
static DFBResult
diff --git a/wm/unique/uniquewm.c b/wm/unique/uniquewm.c
index 8247556..4e13a49 100644
--- a/wm/unique/uniquewm.c
+++ b/wm/unique/uniquewm.c
@@ -34,6 +34,7 @@
#include <direct/memcpy.h>
#include <direct/messages.h>
+#include <core/core.h>
#include <core/input.h>
#include <core/surface.h>
#include <core/surface_buffer.h>
@@ -275,7 +276,7 @@ unique_wm_create_context( void )
D_MAGIC_ASSERT( wm_shared, WMShared );
D_ASSERT( wm_shared->context_pool != NULL );
- return (UniqueContext*) fusion_object_create( wm_shared->context_pool, wm_data->world );
+ return (UniqueContext*) fusion_object_create( wm_shared->context_pool, wm_data->world, Core_GetIdentity() );
}
UniqueDecoration *
@@ -286,7 +287,7 @@ unique_wm_create_decoration( void )
D_MAGIC_ASSERT( wm_shared, WMShared );
D_ASSERT( wm_shared->decoration_pool != NULL );
- return (UniqueDecoration*) fusion_object_create( wm_shared->decoration_pool, wm_data->world );
+ return (UniqueDecoration*) fusion_object_create( wm_shared->decoration_pool, wm_data->world, Core_GetIdentity() );
}
UniqueWindow *
@@ -297,7 +298,7 @@ unique_wm_create_window( void )
D_MAGIC_ASSERT( wm_shared, WMShared );
D_ASSERT( wm_shared->window_pool != NULL );
- return (UniqueWindow*) fusion_object_create( wm_shared->window_pool, wm_data->world );
+ return (UniqueWindow*) fusion_object_create( wm_shared->window_pool, wm_data->world, Core_GetIdentity() );
}
/**************************************************************************************************/
--
directfb packaging
More information about the pkg-multimedia-commits
mailing list