mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 10:08:59 +00:00
e8c3b98973
UML statically links against libutil, librt and libpthread. Some hosts do not necessarily have these libraries installed and we should find out sooner than later (during the final vmlinux linking stage) about that. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
36 lines
1.2 KiB
Makefile
36 lines
1.2 KiB
Makefile
#
|
|
# Copyright (C) 2006-2010 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/image.mk
|
|
|
|
define Image/Prepare
|
|
cp $(LINUX_DIR)/linux $(KDIR)/vmlinux.elf
|
|
endef
|
|
|
|
define Image/Build/squashfs
|
|
dd if=/dev/zero of=$(KDIR)/root.squashfs bs=1024k count=0 seek=$(CONFIG_TARGET_ROOTFS_PARTSIZE)
|
|
endef
|
|
|
|
define Image/Build
|
|
$(call Image/Build/$(1))
|
|
cp $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).img
|
|
cp $(KDIR)/vmlinux.elf $(BIN_DIR)/$(IMG_PREFIX)-vmlinux
|
|
endef
|
|
|
|
$(eval $(call BuildImage))
|
|
|
|
# UML requires linking against several glibc static libraries: libutil, librt
|
|
# and libpthread, check that here. We do not check against libpthread
|
|
# specifically because getting something to build that references a libpthread
|
|
# symbol is pretty involved and Linux distributions package these 3 libraries
|
|
# in the same package.
|
|
|
|
$(eval $(call TestHostCommand,glibc-static, \
|
|
Please install a static glibc package. (Missing libutil.a, librt.a or libpthread.a), \
|
|
echo 'int main(int argc, char **argv) { login(0); timer_gettime(0, 0); return 0; }' | \
|
|
gcc -include utmp.h -x c -o $(TMP_DIR)/a.out - -static -lutil -lrt))
|