buildrootschalter/package/bzip2/bzip2-improve-build-system.patch
Thomas Petazzoni 28cae90247 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>
2013-05-28 20:57:00 +02:00

85 lines
2.7 KiB
Diff

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