1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
From 76e3b58f84aeeff3be23f19774ee047babbfa539 Mon Sep 17 00:00:00 2001
From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: Mon, 20 Jul 2009 19:37:09 +0200
Subject: [PATCH] make liblzo optional
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
Makefile | 13 +++++++++++--
compr.h | 2 ++
mkfs.ubifs/Makefile | 6 +++++-
mkfs.ubifs/compr.c | 17 +++++++++++++++++
4 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index 577634f..5de9382 100644
--- a/Makefile
+++ b/Makefile
@@ -7,6 +7,10 @@ ifeq ($(WITHOUT_XATTR), 1)
CPPFLAGS += -DWITHOUT_XATTR
endif
+ifeq ($(WITHOUT_LZO), 1)
+ CPPFLAGS += -DWITHOUT_LZO
+endif
+
SUBDIRS = ubi-utils mkfs.ubifs
TARGETS = ftl_format flash_erase flash_eraseall nanddump doc_loadbios \
@@ -35,11 +39,16 @@ endif
$(SYMLINKS):
ln -sf ../fs/jffs2/$@ $@
+ifneq ($(WITHOUT_LZO), 1)
+JFFS2_COMPR_LZO_O := compr_lzo.o
+JFFS2_LIB_LZO := -llzo2
+endif
+
$(BUILDDIR)/mkfs.jffs2: $(addprefix $(BUILDDIR)/,\
- crc32.o compr_rtime.o mkfs.jffs2.o compr_zlib.o compr_lzo.o \
+ crc32.o compr_rtime.o mkfs.jffs2.o compr_zlib.o $(JFFS2_COMPR_LZO_O) \
compr.o rbtree.o)
LDFLAGS_mkfs.jffs2 = $(ZLIBLDFLAGS) $(LZOLDFLAGS)
-LDLIBS_mkfs.jffs2 = -lz -llzo2
+LDLIBS_mkfs.jffs2 = -lz $(JFFS2_LIB_LZO)
$(BUILDDIR)/flash_eraseall: $(BUILDDIR)/crc32.o $(BUILDDIR)/flash_eraseall.o
diff --git a/compr.h b/compr.h
index 51bf0dd..f373fb6 100644
--- a/compr.h
+++ b/compr.h
@@ -18,7 +18,9 @@
#define CONFIG_JFFS2_ZLIB
#define CONFIG_JFFS2_RTIME
+#ifndef WITHOUT_LZO
#define CONFIG_JFFS2_LZO
+#endif
#define JFFS2_RUBINMIPS_PRIORITY 10
#define JFFS2_DYNRUBIN_PRIORITY 20
diff --git a/mkfs.ubifs/Makefile b/mkfs.ubifs/Makefile
index a678b0a..d4d897f 100644
--- a/mkfs.ubifs/Makefile
+++ b/mkfs.ubifs/Makefile
@@ -6,7 +6,11 @@
TARGETS = mkfs.ubifs
-LDLIBS_mkfs.ubifs = -lz -llzo2 -lm -luuid -L$(BUILDDIR)/../ubi-utils/ -lubi
+ifneq ($(WITHOUT_LZO), 1)
+mkfs.ubifs_LIBLZO = -llzo2
+endif
+
+LDLIBS_mkfs.ubifs = -lz $(mkfs.ubifs_LIBLZO) -lm -luuid -L$(BUILDDIR)/../ubi-utils/ -lubi
LDLIBS_mkfs.ubifs += $(ZLIBLDFLAGS) $(LZOLDFLAGS)
include ../common.mk
diff --git a/mkfs.ubifs/compr.c b/mkfs.ubifs/compr.c
index e378c5d..55ed1b6 100644
--- a/mkfs.ubifs/compr.c
+++ b/mkfs.ubifs/compr.c
@@ -25,7 +25,11 @@
#include <stdint.h>
#include <string.h>
#include <zlib.h>
+#ifndef WITHOUT_LZO
#include <lzo/lzo1x.h>
+#else
+#define LZO1X_999_MEM_COMPRESS 0
+#endif
#include <linux/types.h>
#include "compr.h"
@@ -83,6 +87,8 @@ static int zlib_deflate(void *in_buf, size_t in_len, void *out_buf,
return 0;
}
+
+#ifndef WITHOUT_LZO
static int lzo_compress(void *in_buf, size_t in_len, void *out_buf,
size_t *out_len)
{
@@ -100,6 +106,17 @@ static int lzo_compress(void *in_buf, size_t in_len, void *out_buf,
return 0;
}
+#else
+static inline int lzo_compress(void *in_buf, size_t in_len, void *out_buf,
+ size_t *out_len)
+{
+ (void)in_buf;
+ (void)in_len;
+ (void)out_buf;
+ (void)out_len;
+ return -1;
+}
+#endif
static int no_compress(void *in_buf, size_t in_len, void *out_buf,
size_t *out_len)
--
1.6.3.3
|