Commit 0c777bee authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

contrib: add sidplay2 and complement string.h patch

parent a2a2275b
754cd41f3d2d76754049522c395022bc090f99ea838e6d1ffb8d7689f3aedad9b3879be0312d0af49ba108563296c1176d1e533d1151d5b33368bfda0a1910e3 sidplay-libs-2.1.1.tar.gz
# sidplay2
SID_VERSION := 2.1.1
SID_URL := $(SF)/sidplay2/sidplay2/sidplay-libs-$(SID_VERSION)/sidplay-libs-$(SID_VERSION).tar.gz
PKGS += sidplay2
$(TARBALLS)/sidplay-libs-$(SID_VERSION).tar.gz:
$(call download,$(SID_URL))
.sum-sidplay2: sidplay-libs-$(SID_VERSION).tar.gz
sidplay-libs: sidplay-libs-$(SID_VERSION).tar.gz .sum-sidplay2
$(UNPACK)
$(APPLY) $(SRC)/sidplay2/sidplay2-openmode.patch
$(APPLY) $(SRC)/sidplay2/sidplay2-endian.patch
$(APPLY) $(SRC)/sidplay2/sidplay2-smartprt.patch
$(APPLY) $(SRC)/sidplay2/sidplay2-noutils.patch
$(APPLY) $(SRC)/sidplay2/sidplay2-string.patch
$(MOVE)
.sidplay2: sidplay-libs
$(RECONF)
cd $< && $(HOSTVARS) ./configure $(HOSTCONF)
cd $< && $(MAKE) install
cp -- $(PREFIX)/lib/sidplay/builders/* "$(PREFIX)/lib/"
touch $@
--- sidplay-libs-2.1.1.orig/libsidplay/include/sidplay/sidendian.h
+++ sidplay-libs-2.1.1/libsidplay/include/sidplay/sidendian.h
@@ -16,6 +16,10 @@
***************************************************************************/
/***************************************************************************
* $Log: sidendian.h,v $
+ * Revision 1.6 2005/11/20 11:02:06 s_a_white
+ * Work around for bug in gcc 4 (optimiser breaks if variable never has a
+ * direct assignment).
+ *
* Revision 1.5 2001/07/03 22:44:13 s_a_white
* Added endian_16 to convert a 16 bit value to an array of 8s.
*
@@ -141,7 +145,7 @@
// Convert high-byte and low-byte to 16-bit word.
inline uint_least16_t endian_16 (uint8_t hi, uint8_t lo)
{
- uint_least16_t word;
+ uint_least16_t word = 0;
endian_16lo8 (word, lo);
endian_16hi8 (word, hi);
return word;
@@ -334,7 +338,7 @@
// Swap word endian.
inline void endian_32swap8 (uint_least32_t &dword)
{
- uint_least16_t lo, hi;
+ uint_least16_t lo = 0, hi = 0;
lo = endian_32lo16 (dword);
hi = endian_32hi16 (dword);
endian_16swap8 (lo);
@@ -346,8 +350,8 @@
// Convert high-byte and low-byte to 32-bit word.
inline uint_least32_t endian_32 (uint8_t hihi, uint8_t hilo, uint8_t hi, uint8_t lo)
{
- uint_least32_t dword;
- uint_least16_t word;
+ uint_least32_t dword = 0;
+ uint_least16_t word = 0;
endian_32lo8 (dword, lo);
endian_32hi8 (dword, hi);
endian_16lo8 (word, hilo);
@@ -374,7 +378,7 @@
defined(SID_WORDS_LITTLEENDIAN)
*((uint_least32_t *) ptr) = dword;
#else
- uint_least16_t word;
+ uint_least16_t word = 0;
ptr[0] = endian_32lo8 (dword);
ptr[1] = endian_32hi8 (dword);
word = endian_32hi16 (dword);
@@ -401,7 +405,7 @@
defined(SID_WORDS_BIGENDIAN)
*((uint_least32_t *) ptr) = dword;
#else
- uint_least16_t word;
+ uint_least16_t word = 0;
word = endian_32hi16 (dword);
ptr[1] = endian_16lo8 (word);
ptr[0] = endian_16hi8 (word);
--- sidplay-2.1.1/Makefile.am 2002-12-23 21:21:03.000000000 +0100
+++ sidplay-2.1.1.new/Makefile.am 2011-01-15 16:50:45.517649286 +0100
@@ -1,7 +1,7 @@
AUTOMAKE_OPTIONS = foreign
-SUBDIRS = libsidplay libsidutils resid builders
+SUBDIRS = libsidplay resid builders
# Remove CVS directories from any subdirs that get
# included completely (e.g. win, directx,...).
--- sidplay-libs-2.1.1/libsidplay/src/sidtune/SidTune.cpp.old 2008-07-25 16:55:02.000000000 \
+0000
+++ sidplay-libs-2.1.1/libsidplay/src/sidtune/SidTune.cpp 2008-07-25 16:53:58.000000000 \
+0000
@@ -283,7 +283,7 @@
uint_least32_t fileLen = 0;
// This sucks big time
- openmode createAtrr = std::ios::in;
+ std::_Ios_Openmode createAtrr = std::ios::in;
#ifdef HAVE_IOS_NOCREATE
createAtrr |= std::ios::nocreate;
#endif
@@ -952,7 +952,7 @@
if ( status )
{
// Open binary output file stream.
- openmode createAttr = std::ios::out;
+ std::_Ios_Openmode createAttr = std::ios::out;
#if defined(HAVE_IOS_BIN)
createAttr |= std::ios::bin;
#else
@@ -1002,7 +1002,7 @@
if ( status )
{
// Open ASCII output file stream.
- openmode createAttr = std::ios::out;
+ std::_Ios_Openmode createAttr = std::ios::out;
if ( overWriteFlag )
createAttr |= std::ios::trunc;
else
@@ -1036,7 +1036,7 @@
if ( status )
{
// Open binary output file stream.
- openmode createAttr = std::ios::out;
+ std::_Ios_Openmode createAttr = std::ios::out;
#if defined(HAVE_IOS_BIN)
createAttr |= std::ios::bin;
#else
--- sidplay-2.1.1/libsidplay/include/sidplay/SmartPtr.h 2004-06-14 22:08:04.000000000 +0200
+++ sidplay2/libsidplay/include/sidplay/SmartPtr.h 2010-12-28 23:33:07.803027697 +0100
@@ -211,16 +211,16 @@
{
if ( bufferLen >= 1 )
{
- pBufCurrent = ( bufBegin = buffer );
- bufEnd = bufBegin + bufferLen;
- bufLen = bufferLen;
- status = true;
+ this->pBufCurrent = ( this->bufBegin = buffer );
+ this->bufEnd = this->bufBegin + bufferLen;
+ this->bufLen = bufferLen;
+ this->status = true;
}
else
{
- pBufCurrent = bufBegin = bufEnd = 0;
- bufLen = 0;
- status = false;
+ this->pBufCurrent = this->bufBegin = this->bufEnd = 0;
+ this->bufLen = 0;
+ this->status = false;
}
}
};
diff -ruN sidplay-2.1.1/builders/resid-builder/src/resid-builder.cpp sidplay-2.1.1.new/builders/resid-builder/src/resid-builder.cpp
--- sidplay-2.1.1/builders/resid-builder/src/resid-builder.cpp 2004-06-14 22:07:58.000000000 +0200
+++ sidplay-2.1.1.new/builders/resid-builder/src/resid-builder.cpp 2011-01-15 16:49:24.909660710 +0100
@@ -46,6 +46,8 @@
#include "resid.h"
#include "resid-emu.h"
+#include <string.h>
+
// Error String(s)
const char *ReSIDBuilder::ERR_FILTER_DEFINITION = "RESID ERROR: Filter definition is not valid (see docs).";
Les fichiers binaires sidplay-2.1.1/builders/resid-builder/src/resid-builder.o et sidplay-2.1.1.new/builders/resid-builder/src/resid-builder.o sont différents.
diff -ruN sidplay-2.1.1/builders/resid-builder/src/resid.cpp sidplay-2.1.1.new/builders/resid-builder/src/resid.cpp
--- sidplay-2.1.1/builders/resid-builder/src/resid.cpp 2004-06-14 22:07:58.000000000 +0200
+++ sidplay-2.1.1.new/builders/resid-builder/src/resid.cpp 2011-01-15 16:49:05.441652832 +0100
@@ -25,6 +25,7 @@
#include "resid.h"
#include "resid-emu.h"
+#include <string.h>
char ReSID::m_credit[];
diff -ru sidplay-libs.orig//builders/hardsid-builder/src/hardsid-builder.cpp sidplay-libs/builders/hardsid-builder/src/hardsid-builder.cpp
--- sidplay-libs.orig//builders/hardsid-builder/src/hardsid-builder.cpp 2011-07-04 23:51:26.000000000 +0300
+++ sidplay-libs/builders/hardsid-builder/src/hardsid-builder.cpp 2011-07-04 23:51:47.000000000 +0300
@@ -47,6 +47,7 @@
***************************************************************************/
#include <stdio.h>
+#include <string.h>
#include "config.h"
#ifdef HAVE_EXCEPTIONS
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment