Browse Source

- build a udev for the target rather than for the host.

Bernhard Reutner-Fischer 18 năm trước cách đây
mục cha
commit
3888c95838
1 tập tin đã thay đổi với 13 bổ sung2 xóa
  1. 13 2
      package/udev/udev.mk

+ 13 - 2
package/udev/udev.mk

@@ -11,6 +11,13 @@ UDEV_DIR:=$(BUILD_DIR)/udev-$(UDEV_VERSION)
 UDEV_TARGET_BINARY:=sbin/udev
 UDEV_TARGET_BINARY:=sbin/udev
 UDEV_BINARY:=udev
 UDEV_BINARY:=udev
 
 
+# 094 had _GNU_SOURCE set
+BR2_UDEV_CFLAGS:= -D_GNU_SOURCE $(TARGET_CFLAGS)
+ifeq ($(BR2_LARGEFILE),)
+BR2_UDEV_CFLAGS+=-U_FILE_OFFSET_BITS
+endif
+
+
 # UDEV_ROOT is /dev so we can replace devfs, not /udev for experiments
 # UDEV_ROOT is /dev so we can replace devfs, not /udev for experiments
 UDEV_ROOT:=/dev
 UDEV_ROOT:=/dev
 
 
@@ -28,7 +35,8 @@ $(UDEV_DIR)/.configured: $(UDEV_DIR)/.unpacked
 	touch $(UDEV_DIR)/.configured
 	touch $(UDEV_DIR)/.configured
 
 
 $(UDEV_DIR)/$(UDEV_BINARY): $(UDEV_DIR)/.configured
 $(UDEV_DIR)/$(UDEV_BINARY): $(UDEV_DIR)/.configured
-	$(MAKE) CROSS=$(TARGET_CROSS) GCC=$(TARGET_CC) \
+	$(MAKE) CROSS=$(TARGET_CROSS) CC=$(TARGET_CC) LD=$(TARGET_CC) \
+		CFLAGS="$(BR2_UDEV_CFLAGS)" \
 		USE_LOG=false USE_SELINUX=false \
 		USE_LOG=false USE_SELINUX=false \
 		udevdir=$(UDEV_ROOT) -C $(UDEV_DIR)
 		udevdir=$(UDEV_ROOT) -C $(UDEV_DIR)
 	touch -c $(UDEV_DIR)/$(UDEV_BINARY)
 	touch -c $(UDEV_DIR)/$(UDEV_BINARY)
@@ -43,7 +51,10 @@ $(TARGET_DIR)/$(UDEV_TARGET_BINARY): $(UDEV_DIR)/$(UDEV_BINARY)
 	-mkdir $(TARGET_DIR)/sys
 	-mkdir $(TARGET_DIR)/sys
 	install -D -m 0644 $(UDEV_DIR)/$(UDEV_CONF) \
 	install -D -m 0644 $(UDEV_DIR)/$(UDEV_CONF) \
 		$(TARGET_DIR)/etc/udev/rules.d/50-udev.rules
 		$(TARGET_DIR)/etc/udev/rules.d/50-udev.rules
-	$(MAKE) CROSS=$(TARGET_CROSS) GCC=$(TARGET_CC) DESTDIR=$(TARGET_DIR) \
+	$(MAKE) CROSS=$(TARGET_CROSS) CC=$(TARGET_CC) LD=$(TARGET_CC) \
+		DESTDIR=$(TARGET_DIR) \
+		CFLAGS="$(BR2_UDEV_CFLAGS)" \
+		LDFLAGS="-warn-common" \
 		USE_LOG=false USE_SELINUX=false \
 		USE_LOG=false USE_SELINUX=false \
 		udevdir=$(UDEV_ROOT) -C $(UDEV_DIR) install
 		udevdir=$(UDEV_ROOT) -C $(UDEV_DIR) install
 	$(INSTALL) -m 0755 -D package/udev/init-udev $(TARGET_DIR)/etc/init.d/S10udev
 	$(INSTALL) -m 0755 -D package/udev/init-udev $(TARGET_DIR)/etc/init.d/S10udev