diff options
author | Thomas Orgis | 2008-09-19 08:54:49 +0200 |
---|---|---|
committer | Thomas Orgis | 2008-09-19 08:54:49 +0200 |
commit | 59b90cee1c32de8a66008d1eab6521bf823492bd (patch) | |
tree | cba38b6797a662ccad84d900eeae13b505c6a2c6 /audio-drivers/libffado | |
parent | b6463559cd9416101a6e453c6e15e89a805863a5 (diff) |
libffado: a step towards firewire audio on alpha arch
Diffstat (limited to 'audio-drivers/libffado')
-rwxr-xr-x | audio-drivers/libffado/DEPENDS | 3 | ||||
-rw-r--r-- | audio-drivers/libffado/HISTORY | 4 | ||||
-rwxr-xr-x | audio-drivers/libffado/PRE_BUILD | 4 | ||||
-rw-r--r-- | audio-drivers/libffado/libffado-atomic_ops.patch | 52 |
4 files changed, 63 insertions, 0 deletions
diff --git a/audio-drivers/libffado/DEPENDS b/audio-drivers/libffado/DEPENDS index 6f7a016594..2700b5c060 100755 --- a/audio-drivers/libffado/DEPENDS +++ b/audio-drivers/libffado/DEPENDS @@ -1,3 +1,6 @@ +if [[ ${SMGL_COMPAT_ARCHS[1]} == alpha ]]; then + depends libatomic_ops +fi && depends expat && depends libxml++ && depends libraw1394 && diff --git a/audio-drivers/libffado/HISTORY b/audio-drivers/libffado/HISTORY index 629caaa8d4..b5bc24f0de 100644 --- a/audio-drivers/libffado/HISTORY +++ b/audio-drivers/libffado/HISTORY @@ -1,3 +1,7 @@ +2008-09-19 Thomas Orgis <sobukus@sourcemage.org> + * PRE_BUILD, DEPENDS, libffado-atomic_ops.patch: + attempt to make it work on alpha using libatomic_ops + 2008-09-15 Thomas Orgis <sobukus@sourcemage.org> * PRE_BUILD, libffado-pic.patch: fix build with PIC diff --git a/audio-drivers/libffado/PRE_BUILD b/audio-drivers/libffado/PRE_BUILD index 192c42348f..6ed670991a 100755 --- a/audio-drivers/libffado/PRE_BUILD +++ b/audio-drivers/libffado/PRE_BUILD @@ -4,4 +4,8 @@ echo "CFLAGS: $CFLAGS" && if echo "$CFLAGS" | grep -q PIC; then message "${MESSAGE_COLOR}Patching build to make PIC work...$DEFAULT_COLOR" && patch -p0 < "$SCRIPT_DIRECTORY/libffado-pic.patch" +fi && +if [[ ${SMGL_COMPAT_ARCHS[1]} == alpha ]]; then + message "${MESSAGE_COLOR}Aptching for portable atomic operations...$DEFAULT_COLOR" && + patch -p0 < "$SCRIPT_DIRECTORY/libffado-atomic_ops.patch" fi diff --git a/audio-drivers/libffado/libffado-atomic_ops.patch b/audio-drivers/libffado/libffado-atomic_ops.patch new file mode 100644 index 0000000000..dedaa8f23e --- /dev/null +++ b/audio-drivers/libffado/libffado-atomic_ops.patch @@ -0,0 +1,52 @@ +Index: src/libieee1394/IsoHandlerManager.cpp +=================================================================== +--- src/libieee1394/IsoHandlerManager.cpp (Revision 1319) ++++ src/libieee1394/IsoHandlerManager.cpp (Arbeitskopie) +@@ -27,7 +27,7 @@ + #include "cycletimer.h" + #include "libstreaming/generic/StreamProcessor.h" + +-#include "libutil/Atomic.h" ++#include <atomic_ops.h> + #include "libutil/PosixThread.h" + #include "libutil/SystemTimeSource.h" + #include "libutil/Watchdog.h" +@@ -82,7 +82,7 @@ + IsoTask::requestShadowMapUpdate() + { + debugOutput(DEBUG_LEVEL_VERBOSE, "(%p) enter\n", this); +- INC_ATOMIC(&request_update); ++ AO_fetch_and_add1(&request_update); + + // get the thread going again + signalActivity(); +@@ -227,7 +227,7 @@ + // if some other thread requested a shadow map update, do it + if(request_update) { + updateShadowMapHelper(); +- DEC_ATOMIC(&request_update); // ack the update ++ AO_fetch_and_sub1(&request_update); // ack the update + assert(request_update >= 0); + } + +Index: src/libieee1394/IsoHandlerManager.h +=================================================================== +--- src/libieee1394/IsoHandlerManager.h (Revision 1319) ++++ src/libieee1394/IsoHandlerManager.h (Arbeitskopie) +@@ -31,6 +31,7 @@ + + #include "IsoHandler.h" + ++#include <atomic_ops.h> + #include <sys/poll.h> + #include <errno.h> + #include <vector> +@@ -94,7 +95,7 @@ + IsoHandlerManager& m_manager; + + // the event request structure +- int32_t request_update; ++ AO_t request_update; + + // static allocation due to RT constraints + // this is the map used by the actual thread |