X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=package%2Fgrub%2FMakefile;h=ee527be13f4adc22360e8ed8a0088600932a59ce;hb=232ec2e0d27cf2d28abffa7b4e71198a6b40f75e;hp=e401770805854253100a5e0c1bdd2a22656e97a2;hpb=bb43ad8e7d1f03015393d3d8d025d6c5b10c3ede;p=openwrt.git diff --git a/package/grub/Makefile b/package/grub/Makefile index e401770805..ee527be13f 100644 --- a/package/grub/Makefile +++ b/package/grub/Makefile @@ -34,7 +34,6 @@ endef MY_CONFIGURE_ARGS += \ --disable-auto-linux-mem-opt \ - --disable-graphics \ --disable-hercules \ --without-curses \ @@ -45,14 +44,44 @@ CONFIGURE_ARGS += $(MY_CONFIGURE_ARGS) CONFIGURE_VARS += $(MY_CONFIGURE_VARS) +ifeq ($(HOST_OS),Darwin) + HOST_CFLAGS += $(call host-cc-option,-m32) + HOST_CFLAGS += $(call host-cc-option,-fnested-functions) +endif + +ifeq ($(HOST_OS),FreeBSD) + ifeq ($(HOST_ARCH),amd64) + HOST_CFLAGS += $(call host-cc-option,-m32) + HOST_CFLAGS += $(call host-cc-option,-B/usr/lib32) + HOST_CFLAGS += $(call host-cc-option,-L/usr/lib32) + endif +endif + HOST_CFLAGS += $(call host-cc-option,-fno-stack-protector) HOST_CFLAGS += $(call host-cc-option,-U_FORTIFY_SOURCE) HOST_CONFIGURE_ARGS += $(MY_CONFIGURE_ARGS) \ --sbindir="$(STAGING_DIR_HOST)/bin" \ + --disable-graphics \ HOST_CONFIGURE_VARS += $(MY_CONFIGURE_VARS) +define Host/Configure + (cd $(HOST_BUILD_DIR); aclocal && autoconf && automake) + $(call Host/Configure/Default) +endef + +ifeq ($(HOST_OS),Darwin) + define Host/Compile + $(MAKE) -C $(HOST_BUILD_DIR)/lib + $(MAKE) -C $(HOST_BUILD_DIR)/stage2 libgrub.a + $(MAKE) -C $(HOST_BUILD_DIR)/grub + endef + define Host/Install + $(MAKE) -C $(HOST_BUILD_DIR)/grub install + endef +endif + define Build/InstallDev $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/grub $(1)/usr/lib/ @@ -67,5 +96,16 @@ define Package/grub/install $(CP) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/ endef +ifeq ($(HOST_ARCH),x86_64) + define Require/working-gcc-m32 + echo 'int main(int argc, char **argv) { return 0; }' | \ + gcc -x c -o $(TMP_DIR)/a.out - -m32 -lc + endef +endif + +$(eval $(call Require,working-gcc-m32, \ + Please install 32 bits development files. (gcc-multilib on Debian/Ubuntu, gcc.i686 and libgcc.i686 on CentOS/Fedora/RHEL) \ +)) + $(eval $(call HostBuild)) $(eval $(call BuildPackage,grub))