aboutsummaryrefslogtreecommitdiffstats
path: root/package/bzip2/bzip2.mk
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.mk
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.mk')
-rw-r--r--package/bzip2/bzip2.mk92
1 files changed, 31 insertions, 61 deletions
diff --git a/package/bzip2/bzip2.mk b/package/bzip2/bzip2.mk
index b3e4ad34a..5f8c35ef3 100644
--- a/package/bzip2/bzip2.mk
+++ b/package/bzip2/bzip2.mk
@@ -10,67 +10,45 @@ BZIP2_INSTALL_STAGING = YES
BZIP2_LICENSE = bzip2 license
BZIP2_LICENSE_FILES = LICENSE
-define BZIP2_FIX_MAKEFILE
- $(SED) "s,ln \$$(,ln -snf \$$(,g" $(@D)/Makefile
- $(SED) "s,ln -s (lib.*),ln -snf \$$1; ln -snf libbz2.so.$(BZIP2_VERSION)) \
- libbz2.so,g" $(@D)/Makefile-libbz2_so
- $(SED) "s:-O2:$(TARGET_CFLAGS):" $(@D)/Makefile
- $(SED) "s:-O2:$(TARGET_CFLAGS):" $(@D)/Makefile-libbz2_so
+ifeq ($(BR2_PREFER_STATIC_LIB),)
+define BZIP2_BUILD_SHARED_CMDS
+ $(TARGET_MAKE_ENV)
+ $(MAKE) -C $(@D) -f Makefile-libbz2_so $(TARGET_CONFIGURE_OPTS)
endef
+endif
-BZIP2_POST_PATCH_HOOKS += BZIP2_FIX_MAKEFILE
-
-define BZIP2_NOLARGEFILE_FIX_MAKEFILE
- $(SED) "s,^BIGFILES,#BIGFILES,g" $(@D)/Makefile
- $(SED) "s,^BIGFILES,#BIGFILES,g" $(@D)/Makefile-libbz2_so
+define BZIP2_BUILD_CMDS
+ $(TARGET_MAKE_ENV)
+ $(MAKE) -C $(@D) libbz2.a bzip2 bzip2recover $(TARGET_CONFIGURE_OPTS)
+ $(BZIP2_BUILD_SHARED_CMDS)
endef
-ifneq ($(BR2_LARGEFILE),y)
-BZIP2_POST_PATCH_HOOKS += BZIP2_NOLARGEFILE_FIX_MAKEFILE
+ifeq ($(BR2_PREFER_STATIC_LIB),)
+define BZIP2_INSTALL_STAGING_SHARED_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) \
+ -f Makefile-libbz2_so PREFIX=$(STAGING_DIR)/usr -C $(@D) install
+endef
endif
-define BZIP2_BUILD_CMDS
- $(TARGET_MAKE_ENV) \
- $(MAKE) -C $(@D) -f Makefile-libbz2_so \
- CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" AR="$(TARGET_AR)"
- $(TARGET_MAKE_ENV) \
- $(MAKE) -C $(@D) \
- CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" AR="$(TARGET_AR)" \
- libbz2.a bzip2 bzip2recover
+define BZIP2_INSTALL_STAGING_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) \
+ PREFIX=$(STAGING_DIR)/usr -C $(@D) install
+ $(BZIP2_INSTALL_STAGING_SHARED_CMDS)
endef
-define BZIP2_INSTALL_STAGING_CMDS
- $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \
- $(MAKE) PREFIX=$(STAGING_DIR)/usr -C $(@D) install
- $(INSTALL) -m 0755 -d $(STAGING_DIR)/usr/lib
- cp $(@D)/libbz2.so.$(BZIP2_VERSION) $(STAGING_DIR)/usr/lib/
- cp $(@D)/libbz2.a $(STAGING_DIR)/usr/lib/
- (cd $(STAGING_DIR)/usr/lib/; \
- ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so; \
- ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1.0; \
- ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1; \
- )
+ifeq ($(BR2_PREFER_STATIC_LIB),)
+define BZIP2_INSTALL_TARGET_SHARED_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) \
+ -f Makefile-libbz2_so PREFIX=$(TARGET_DIR)/usr -C $(@D) install
endef
+endif
# make sure busybox doesn't get overwritten by make install
define BZIP2_INSTALL_TARGET_CMDS
rm -f $(addprefix $(TARGET_DIR)/usr/bin/,bzip2 bunzip2 bzcat)
- $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \
- $(MAKE) PREFIX=$(TARGET_DIR)/usr -C $(@D) install
- cp $(@D)/libbz2.so.$(BZIP2_VERSION) $(TARGET_DIR)/usr/lib/
- (cd $(TARGET_DIR)/usr/lib; \
- ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1.0; \
- ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1; \
- ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so; \
- )
- (cd $(TARGET_DIR)/usr/bin; \
- ln -snf bzip2 bunzip2; \
- ln -snf bzip2 bzcat; \
- ln -snf bzdiff bzcmp; \
- ln -snf bzmore bzless; \
- ln -snf bzgrep bzegrep; \
- ln -snf bzgrep bzfgrep; \
- )
+ $(TARGET_MAKE_ENV) $(MAKE) \
+ PREFIX=$(TARGET_DIR)/usr -C $(@D) install
+ $(BZIP2_INSTALL_TARGET_SHARED_CMDS)
endef
define BZIP2_CLEAN_CMDS
@@ -83,24 +61,16 @@ define BZIP2_CLEAN_CMDS
-$(MAKE) -C $(@D) clean
endef
-define HOST_BZIP2_FIX_MAKEFILE
- $(SED) "s,ln \$$(,ln -snf \$$(,g" $(@D)/Makefile
- $(SED) "s,ln -s (lib.*),ln -snf \$$1; ln -snf libbz2.so.$(BZIP2_VERSION) \
- libbz2.so,g" $(@D)/Makefile-libbz2_so
- $(SED) "s:-O2:$(HOST_CFLAGS):" $(@D)/Makefile
- $(SED) "s:-O2:$(HOST_CFLAGS):" $(@D)/Makefile-libbz2_so
-endef
-
-HOST_BZIP2_POST_PATCH_HOOKS += HOST_BZIP2_FIX_MAKEFILE
-
define HOST_BZIP2_BUILD_CMDS
- $(HOST_MAKE_ENV) $(MAKE) -C $(@D) -f Makefile-libbz2_so
- $(HOST_MAKE_ENV) $(MAKE) -C $(@D) libbz2.a bzip2 bzip2recover
+ $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) \
+ $(MAKE) -C $(@D) -f Makefile-libbz2_so
+ $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) \
+ $(MAKE) -C $(@D) libbz2.a bzip2 bzip2recover
endef
define HOST_BZIP2_INSTALL_CMDS
$(HOST_MAKE_ENV) \
- $(MAKE) PREFIX=$(HOST_DIR)/usr -C $(@D) install
+ $(MAKE) PREFIX=$(HOST_DIR)/usr -C $(@D) install
endef
$(eval $(generic-package))