[backfire] switch back to LuCI 0.10 branch for post-release fixes
[openwrt-10.03/.git] / package / grub / Makefile
index f6b81b7984789fe103d15312acb944a7c8a32787..426b9c367307fc5ede8d1dad88f80bb420ea5e1e 100644 (file)
@@ -31,9 +31,11 @@ define Package/grub
   DEPENDS:=@TARGET_x86
 endef
 
+
 MY_CONFIGURE_ARGS += \
        --disable-auto-linux-mem-opt \
        --disable-hercules \
+       --without-curses \
 
 MY_CONFIGURE_VARS += \
        grub_cv_prog_objcopy_absolute=yes \
@@ -42,6 +44,11 @@ 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
+
 HOST_CFLAGS += $(call host-cc-option,-fno-stack-protector)
 HOST_CFLAGS += $(call host-cc-option,-U_FORTIFY_SOURCE)
 
@@ -51,6 +58,22 @@ HOST_CONFIGURE_ARGS += $(MY_CONFIGURE_ARGS) \
 
 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/
@@ -65,5 +88,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))