summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@coresystems.de>2009-04-24 16:44:34 +0000
committerPatrick Georgi <patrick.georgi@coresystems.de>2009-04-24 16:44:34 +0000
commit7994164a0ee8c58c47ed2dbe06807cb91ac62778 (patch)
tree95c86dce9eb6a387865e0fb6b3e4f1e4c9f86b62
parenta5de85cb861e1aa4ea429aa5d0fa1dd21e30a611 (diff)
downloadcoreboot-7994164a0ee8c58c47ed2dbe06807cb91ac62778.tar.xz
Remove the inclusion of lzma.c (which really contains code)
from another (rom_stream.c and others), instead linking it like any source file should be linked. The same should (and will) be done with nrv2b.c, but that has some deeper implications as various CAR implementations include that directly, and thus requires more care. It fixes an issue with the cbfs code. Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Ronald G. Minnich <rminnich@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4206 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--src/lib/Config.lb4
-rw-r--r--src/lib/lzma.c4
-rw-r--r--src/stream/rom_stream.c2
-rw-r--r--src/stream/serial_stream.c2
4 files changed, 9 insertions, 3 deletions
diff --git a/src/lib/Config.lb b/src/lib/Config.lb
index 9ecf316b1c..6f428ad08f 100644
--- a/src/lib/Config.lb
+++ b/src/lib/Config.lb
@@ -31,3 +31,7 @@ end
if CONFIG_CBFS
object cbfs.o
end
+
+if CONFIG_COMPRESSED_PAYLOAD_LZMA
+ object lzma.o
+end
diff --git a/src/lib/lzma.c b/src/lib/lzma.c
index dbaa805afa..7b4c69038b 100644
--- a/src/lib/lzma.c
+++ b/src/lib/lzma.c
@@ -11,9 +11,11 @@ SDK 4.42, which is written and distributed to public domain by Igor Pavlov.
*/
#include "lzmadecode.c"
+#include <console/console.h>
+#include <string.h>
-static unsigned long ulzma(unsigned char * src, unsigned char * dst)
+unsigned long ulzma(unsigned char * src, unsigned char * dst)
{
unsigned char properties[LZMA_PROPERTIES_SIZE];
UInt32 outSize;
diff --git a/src/stream/rom_stream.c b/src/stream/rom_stream.c
index 35e27ead8a..c05af2d677 100644
--- a/src/stream/rom_stream.c
+++ b/src/stream/rom_stream.c
@@ -25,7 +25,7 @@ extern unsigned char _heap, _eheap;
#error "You're defining more than one compression type, which is not allowed."
#endif
#define HAVE_UNCOMPRESSER 1
-#include "../lib/lzma.c"
+unsigned long ulzma(unsigned char *src, unsigned char *dst);
#endif
#ifndef CONFIG_ROM_PAYLOAD_START
diff --git a/src/stream/serial_stream.c b/src/stream/serial_stream.c
index 9fb53cf2af..078727b51a 100644
--- a/src/stream/serial_stream.c
+++ b/src/stream/serial_stream.c
@@ -19,7 +19,7 @@
#error "You're defining more than one compression type, which is not allowed (of course)"
#endif
#define HAVE_UNCOMPRESSER 1
-#include "../lib/lzma.c"
+unsigned long ulzma(unsigned char *src, unsigned char *dst);
#endif
#include "../lib/xmodem.c"