uml: Check for glibc static libraries
[lede-git/.git] / target / linux / uml / image / Makefile
1
2 # Copyright (C) 2006-2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 include $(TOPDIR)/rules.mk
8 include $(INCLUDE_DIR)/image.mk
9
10 define Image/Prepare
11         cp $(LINUX_DIR)/linux $(KDIR)/vmlinux.elf
12 endef
13
14 define Image/Build/squashfs
15         dd if=/dev/zero of=$(KDIR)/root.squashfs bs=1024k count=0 seek=$(CONFIG_TARGET_ROOTFS_PARTSIZE)
16 endef
17
18 define Image/Build
19         $(call Image/Build/$(1))
20         cp $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).img
21         cp $(KDIR)/vmlinux.elf $(BIN_DIR)/$(IMG_PREFIX)-vmlinux
22 endef
23
24 $(eval $(call BuildImage))
25
26 # UML requires linking against several glibc static libraries: libutil, librt
27 # and libpthread, check that here. We do not check against libpthread
28 # specifically because getting something to build that references a libpthread
29 # symbol is pretty involved and Linux distributions package these 3 libraries
30 # in the same package.
31
32 $(eval $(call TestHostCommand,glibc-static, \
33         Please install a static glibc package. (Missing libutil.a, librt.a or libpthread.a), \
34         echo 'int main(int argc, char **argv) { login(0); timer_gettime(0, 0); return 0; }' | \
35                 gcc -include utmp.h -x c -o $(TMP_DIR)/a.out - -static -lutil -lrt))