summaryrefslogtreecommitdiffstats
path: root/package/bzip2/bzip2-improve-build-system.patch
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2013-05-27 13:00:59 +0000
committerPeter Korsgaard <jacmet@sunsite.dk>2013-05-28 20:57:00 +0200
commit28cae90247bb2ce164eda37cd5cef41dd9e80108 (patch)
tree1fd514924b74cc7bf74fec6cb9c1d126d9f64785 /package/bzip2/bzip2-improve-build-system.patch
parentadaff0dfeac2964c8cc15d9d9b900d7f69abc23c (diff)
downloadbuildroot-novena-28cae90247bb2ce164eda37cd5cef41dd9e80108.tar.gz
buildroot-novena-28cae90247bb2ce164eda37cd5cef41dd9e80108.zip
bzip2: improve the packaging
Instead of doing some nasty SED tricks, use a patch that modifies the bzip2 build system to make it a little bit nicer. Those SEDs were made differently for the host and target packages, which is contrary to the logic of not having any difference in the source tree between the host build and the target build. This commit also makes sure that bzip2.mk behaves properly in a BR2_PREFER_STATIC_LIB=y context. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/bzip2/bzip2-improve-build-system.patch')
-rw-r--r--package/bzip2/bzip2-improve-build-system.patch84
1 files changed, 84 insertions, 0 deletions
diff --git a/package/bzip2/bzip2-improve-build-system.patch b/package/bzip2/bzip2-improve-build-system.patch
new file mode 100644
index 000000000..90099aa28
--- /dev/null
+++ b/package/bzip2/bzip2-improve-build-system.patch
@@ -0,0 +1,84 @@
+Improve bzip2 build system
+
+This patch makes a number of improvements to the bzip2 build system:
+
+ * Remove the BIGFILE variable that was used to force largefile
+ support. Now, the user of the Makefile is supposed to pass
+ -D_FILE_OFFSET_BITS=64 when largefile support is desired.
+
+ * Use override CFLAGS += so that additional CFLAGS can be passed on
+ the command line.
+
+ * Removed "forced" CFLAGS -O2, -g and -Winline. We don't want them by
+ default, and want the build system to use its own ones.
+
+ * When creating the symbolic links bzegrep, bzfgrep, bzless and
+ bzcmp, don't link them to an absolute path, or they'll point to
+ some path on the build machine.
+
+ * Provide an install target for the shared library, which creates the
+ appropriate symbolic links.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/Makefile
+===================================================================
+--- a/Makefile
++++ b/Makefile
+@@ -20,8 +20,7 @@
+ RANLIB=ranlib
+ LDFLAGS=
+
+-BIGFILES=-D_FILE_OFFSET_BITS=64
+-CFLAGS=-Wall -Winline -O2 -g $(BIGFILES)
++override CFLAGS += -Wall
+
+ # Where you want it installed when you do 'make install'
+ PREFIX=/usr/local
+@@ -90,14 +89,14 @@
+ cp -f libbz2.a $(PREFIX)/lib
+ chmod a+r $(PREFIX)/lib/libbz2.a
+ cp -f bzgrep $(PREFIX)/bin/bzgrep
+- ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep
+- ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep
++ ln -s -f bzgrep $(PREFIX)/bin/bzegrep
++ ln -s -f bzgrep $(PREFIX)/bin/bzfgrep
+ chmod a+x $(PREFIX)/bin/bzgrep
+ cp -f bzmore $(PREFIX)/bin/bzmore
+- ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless
++ ln -s -f bzmore $(PREFIX)/bin/bzless
+ chmod a+x $(PREFIX)/bin/bzmore
+ cp -f bzdiff $(PREFIX)/bin/bzdiff
+- ln -s -f $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp
++ ln -s -f bzdiff $(PREFIX)/bin/bzcmp
+ chmod a+x $(PREFIX)/bin/bzdiff
+ cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1
+ chmod a+r $(PREFIX)/man/man1/bzgrep.1
+Index: b/Makefile-libbz2_so
+===================================================================
+--- a/Makefile-libbz2_so
++++ b/Makefile-libbz2_so
+@@ -23,8 +23,7 @@
+
+ SHELL=/bin/sh
+ CC=gcc
+-BIGFILES=-D_FILE_OFFSET_BITS=64
+-CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
++override CFLAGS += -fpic -fPIC -Wall
+
+ OBJS= blocksort.o \
+ huffman.o \
+@@ -37,8 +36,11 @@
+ all: $(OBJS)
+ $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS)
+ $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6
+- rm -f libbz2.so.1.0
+- ln -s libbz2.so.1.0.6 libbz2.so.1.0
++
++install:
++ install -m 0755 -D libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so.1.0.6
++ ln -sf libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so
++ ln -sf libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so.1.0
+
+ clean:
+ rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1.0 bzip2-shared