diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2013-05-27 13:00:59 +0000 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2013-05-28 20:57:00 +0200 |
commit | 28cae90247bb2ce164eda37cd5cef41dd9e80108 (patch) | |
tree | 1fd514924b74cc7bf74fec6cb9c1d126d9f64785 /package/bzip2/bzip2.mk | |
parent | adaff0dfeac2964c8cc15d9d9b900d7f69abc23c (diff) | |
download | buildroot-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.mk | 92 |
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)) |