pkgsrc-wip/xentools48/patches/patch-stubdom_Makefile

297 lines
14 KiB
Plaintext

$NetBSD: patch-stubdom_Makefile,v 1.2 2019/08/30 13:23:10 bouyer Exp $
--- stubdom/Makefile.orig 2018-12-03 10:03:57.000000000 +0100
+++ stubdom/Makefile 2019-08-30 11:47:09.000000000 +0200
@@ -6,8 +6,6 @@
export stubdom=y
export debug=y
-# Moved from config/StdGNU.mk
-CFLAGS += -O1 -fno-omit-frame-pointer
ifeq (,$(findstring clean,$(MAKECMDGOALS)))
ifeq ($(wildcard $(MINI_OS)/Config.mk),)
@@ -24,27 +22,27 @@
endif
ifeq ($(GNU_TARGET_ARCH), i686)
-TARGET_CFLAGS=
+TARGET_CFLAGS=-O1 -fno-omit-frame-pointer
NEWLIB_CFLAGS+=-D_I386MACH_ALLOW_HW_INTERRUPTS
STUBDOM_SUPPORTED=1
+MINIOS_TARGET_ARCH:=x86
endif
ifeq ($(GNU_TARGET_ARCH), x86_64)
TARGET_CFLAGS=-mno-red-zone
NEWLIB_CFLAGS+=-D_I386MACH_ALLOW_HW_INTERRUPTS
STUBDOM_SUPPORTED=1
+MINIOS_TARGET_ARCH:=x86
endif
CROSS_ROOT=cross-root-$(GNU_TARGET_ARCH)
CROSS_PREFIX=$(CURDIR)/$(CROSS_ROOT)
# Disable PIE/SSP if GCC supports them. They can break us.
-TARGET_CFLAGS += $(CFLAGS)
-TARGET_CPPFLAGS += $(CPPFLAGS)
-$(call cc-options-add,TARGET_CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
+$(call cc-options-add,TARGET_CFLAGS,TARGET_CC,$(EMBEDDED_EXTRA_CFLAGS))
# Do not use host headers and libs
-GCC_INSTALL = $(shell LANG=C gcc -print-search-dirs | sed -n -e 's/install: \(.*\)/\1/p')
-TARGET_CPPFLAGS += -U __linux__ -U __FreeBSD__ -U __sun__
+GCC_INSTALL = $(shell LANG=C ${TARGET_CC} -print-search-dirs | sed -n -e 's/install: \(.*\)/\1/p')
+TARGET_CPPFLAGS += -U __linux__ -U __FreeBSD__ -U __NetBSD__ -U __sun__
TARGET_CPPFLAGS += -nostdinc
TARGET_CPPFLAGS += -isystem $(MINI_OS)/include/posix
TARGET_CPPFLAGS += -isystem $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include
@@ -74,11 +72,8 @@
# Cross-newlib
##############
-newlib-$(NEWLIB_VERSION).tar.gz:
- $(FETCHER) $@ $(NEWLIB_URL)/$@
-
-newlib-$(NEWLIB_VERSION): newlib-$(NEWLIB_VERSION).tar.gz
- tar xzf $<
+newlib-$(NEWLIB_VERSION):
+ cp -r ${WRKSRC}/../newlib-$(NEWLIB_VERSION) .
patch -d $@ -p0 < newlib.patch
patch -d $@ -p0 < newlib-chk.patch
patch -d $@ -p1 < newlib-stdint-size_max-fix-from-1.17.0.patch
@@ -92,7 +87,7 @@
$(NEWLIB_STAMPFILE): mk-headers-$(XEN_TARGET_ARCH) newlib-$(NEWLIB_VERSION)
mkdir -p newlib-$(XEN_TARGET_ARCH)
( cd newlib-$(XEN_TARGET_ARCH) && \
- CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long --disable-multilib && \
+ CFLAGS_FOR_BUILD="$(CFLAGS)" CFLAGS="" CC_FOR_TARGET="$(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS) -isystem $(MINI_OS)/include/$(MINIOS_TARGET_ARCH)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long --disable-multilib && \
$(MAKE) DESTDIR= && \
$(MAKE) DESTDIR= install )
@@ -100,19 +95,15 @@
# Cross-zlib
############
-zlib-$(ZLIB_VERSION).tar.gz:
- $(FETCHER) $@ $(ZLIB_URL)/$@
-
-zlib-$(XEN_TARGET_ARCH): zlib-$(ZLIB_VERSION).tar.gz
- tar xzf $<
- mv zlib-$(ZLIB_VERSION) $@
+zlib-$(XEN_TARGET_ARCH):
+ cp -r ${WRKSRC}/../zlib-$(ZLIB_VERSION) $@
ZLIB_STAMPFILE=$(CROSS_ROOT)/$(GNU_TARGET_ARCH)-xen-elf/lib/libz.a
.PHONY: cross-zlib
cross-zlib: $(ZLIB_STAMPFILE)
$(ZLIB_STAMPFILE): zlib-$(XEN_TARGET_ARCH) $(NEWLIB_STAMPFILE)
( cd $< && \
- CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" CC=$(CC) ./configure --prefix=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf && \
+ CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" CC=$(TARGET_CC) ./configure --prefix=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf && \
$(MAKE) DESTDIR= libz.a && \
$(MAKE) DESTDIR= install )
@@ -120,12 +111,8 @@
# Cross-libpci
##############
-pciutils-$(LIBPCI_VERSION).tar.bz2:
- $(FETCHER) $@ $(LIBPCI_URL)/$@
-
-pciutils-$(XEN_TARGET_ARCH): pciutils-$(LIBPCI_VERSION).tar.bz2
- tar xjf $<
- mv pciutils-$(LIBPCI_VERSION) $@
+pciutils-$(XEN_TARGET_ARCH):
+ cp -r ${WRKSRC}/../pciutils-$(LIBPCI_VERSION) $@
patch -d $@ -p1 < pciutils.patch
touch $@
@@ -138,7 +125,7 @@
chmod u+w lib/config.h && \
echo '#define PCILIB_VERSION "$(LIBPCI_VERSION)"' >> lib/config.h && \
ln -sf ../../libpci.config.mak lib/config.mk && \
- $(MAKE) DESTDIR= CC="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -I$(call realpath,$(MINI_OS)/include)" lib/libpci.a && \
+ $(MAKE) DESTDIR= CC="$(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -isystem $(call realpath,$(MINI_OS)/include) -isystem $(call realpath,$(MINI_OS)/include/$(MINIOS_TARGET_ARCH)) -isystem $(call realpath,$(MINI_OS)/include/$(MINIOS_TARGET_ARCH)/$(XEN_TARGET_ARCH))" CPPFLAGS="" CFLAGS="" lib/libpci.a && \
$(INSTALL_DATA) lib/libpci.a $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib/ && \
$(INSTALL_DIR) $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include/pci && \
$(INSTALL_DATA) lib/config.h lib/header.h lib/pci.h lib/types.h $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include/pci/ \
@@ -148,12 +135,8 @@
# lwIP
######
-lwip-$(LWIP_VERSION).tar.gz:
- $(FETCHER) $@ $(LWIP_URL)/$@
-
-lwip-$(XEN_TARGET_ARCH): lwip-$(LWIP_VERSION).tar.gz
- tar xzf $<
- mv lwip $@
+lwip-$(XEN_TARGET_ARCH):
+ cp -r ${WRKSRC}/../lwip $@
patch -d $@ -p0 < lwip.patch-cvs
patch -d $@ -p0 < lwip.dhcp_create_request-hwaddr_len.patch
touch $@
@@ -161,19 +144,14 @@
#############
# cross-gmp
#############
-gmp-$(GMP_VERSION).tar.bz2:
- $(FETCHER) $@ $(GMP_URL)/$@
-
.PHONY: cross-gmp
ifeq ($(XEN_TARGET_ARCH), x86_32)
GMPEXT=ABI=32
endif
-gmp-$(XEN_TARGET_ARCH): gmp-$(GMP_VERSION).tar.bz2 $(NEWLIB_STAMPFILE)
- tar xjf $<
- rm $@ -rf || :
- mv gmp-$(GMP_VERSION) $@
+gmp-$(XEN_TARGET_ARCH): $(NEWLIB_STAMPFILE)
+ cp -r ${WRKSRC}/../gmp-$(GMP_VERSION) $@
#patch -d $@ -p0 < gmp.patch
- cd $@; CPPFLAGS="-isystem $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include $(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" CC=$(CC) $(GMPEXT) ./configure --disable-shared --enable-static --disable-fft --without-readline --prefix=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf --libdir=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib --build=`gcc -dumpmachine` --host=$(GNU_TARGET_ARCH)-xen-elf
+ cd $@; CPPFLAGS="-isystem $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include $(TARGET_CPPFLAGS) -isystem $(MINI_OS)/include/$(MINIOS_TARGET_ARCH) -isystem $(MINI_OS)/include" CFLAGS="$(TARGET_CFLAGS)" CC=$(TARGET_CC) $(GMPEXT) ./configure --disable-shared --enable-static --disable-fft --without-readline --prefix=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf --libdir=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib --build=`${TARGET_CC} -dumpmachine` --host=$(GNU_TARGET_ARCH)-xen-elf
sed -i 's/#define HAVE_OBSTACK_VPRINTF 1/\/\/#define HAVE_OBSTACK_VPRINTF 1/' $@/config.h
touch $@
@@ -187,12 +165,8 @@
#############
# cross-polarssl
#############
-polarssl-$(POLARSSL_VERSION)-gpl.tgz:
- $(FETCHER) $@ $(POLARSSL_URL)/$@
-
-polarssl-$(XEN_TARGET_ARCH): polarssl-$(POLARSSL_VERSION)-gpl.tgz
- tar xzf $<
- mv polarssl-$(POLARSSL_VERSION) $@
+polarssl-$(XEN_TARGET_ARCH):
+ cp -r ${WRKSRC}/../polarssl-$(POLARSSL_VERSION) $@
patch -d $@ -p1 < polarssl.patch
touch $@
@@ -200,7 +174,7 @@
cross-polarssl: $(POLARSSL_STAMPFILE)
$(POLARSSL_STAMPFILE): polarssl-$(XEN_TARGET_ARCH) $(NEWLIB_STAMPFILE) lwip-$(XEN_TARGET_ARCH)
( cd $</library && \
- make CC="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -I $(realpath $(MINI_OS)/include)" && \
+ $(MAKE) CFLAGS="" CC="$(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -I../include" && \
mkdir -p $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include && \
cp -r ../include/* $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include && \
mkdir -p $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib && \
@@ -209,13 +183,10 @@
#############
# cross-tpmemu
#############
-tpm_emulator-$(TPMEMU_VERSION).tar.gz:
- $(FETCHER) $@ $(TPMEMU_URL)/$@
-
-tpm_emulator-$(XEN_TARGET_ARCH): tpm_emulator-$(TPMEMU_VERSION).tar.gz
+VTPM_CPPFLAGS=$(TARGET_CPPFLAGS) -isystem $(MINI_OS)/include -isystem $(MINI_OS)/include/$(MINIOS_TARGET_ARCH)/$(XEN_TARGET_ARCH) -isystem $(MINI_OS)/include/$(MINIOS_TARGET_ARCH)
+tpm_emulator-$(XEN_TARGET_ARCH):
@if [ ! -f "$(CMAKE)" ]; then echo "cmake not installed! Install it and then rerun ./configure!"; false; fi
- tar xzf $<
- mv tpm_emulator-$(TPMEMU_VERSION) $@
+ cp -r ${WRKSRC}/../tpm_emulator-$(TPMEMU_VERSION) $@
patch -d $@ -p1 < tpmemu-$(TPMEMU_VERSION).patch;
patch -d $@ -p1 < vtpm-bufsize.patch
patch -d $@ -p1 < vtpm-locality.patch
@@ -225,7 +196,7 @@
patch -d $@ -p1 < vtpm-cmake-Wextra.patch
patch -d $@ -p1 < vtpm_TPM_ChangeAuthAsymFinish.patch
mkdir $@/build
- cd $@/build; CC=${CC} $(CMAKE) .. -DCMAKE_C_FLAGS:STRING="-std=c99 -DTPM_NO_EXTERN $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -Wno-declaration-after-statement"
+ cd $@/build; CC=${TARGET_CC} $(CMAKE) .. -DCMAKE_C_FLAGS:STRING="-std=c99 -DTPM_NO_EXTERN $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -Wno-declaration-after-statement"
touch $@
TPMEMU_STAMPFILE=$(CROSS_ROOT)/$(GNU_TARGET_ARCH)-xen-elf/lib/libtpm.a
@@ -244,11 +215,8 @@
CAMLLIB = $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib/ocaml
OCAML_STAMPFILE=$(CAMLLIB)/.dirstamp
-ocaml-$(OCAML_VERSION).tar.gz:
- $(FETCHER) $@ $(OCAML_URL)/$@
-
-ocaml-$(XEN_TARGET_ARCH)/.dirstamp: ocaml-$(OCAML_VERSION).tar.gz ocaml.patch
- tar xzf $<
+ocaml-$(XEN_TARGET_ARCH)/.dirstamp: ocaml.patch
+ cp -r ${WRKSRC}/../ocaml-$(OCAML_VERSION) .
cd ocaml-$(OCAML_VERSION) && patch -p0 < ../ocaml.patch
rm -rf ocaml-$(XEN_TARGET_ARCH)
mv ocaml-$(OCAML_VERSION) ocaml-$(XEN_TARGET_ARCH)
@@ -261,7 +229,7 @@
$(OCAML_STAMPFILE): ocaml-$(XEN_TARGET_ARCH)/.dirstamp
cd ocaml-$(XEN_TARGET_ARCH) && ./configure -prefix $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf \
-no-pthread -no-shared-libs -no-tk -no-curses \
- -cc "$(CC) -U_FORTIFY_SOURCE -fno-stack-protector -mno-red-zone"
+ -cc "$(TARGET_CC) -U_FORTIFY_SOURCE -fno-stack-protector -mno-red-zone"
$(foreach i,$(MINIOS_HASNOT),sed -i 's,^\(#define HAS_$(i)\),//\1,' ocaml-$(XEN_TARGET_ARCH)/config/s.h ; )
$(MAKE) DESTDIR= -C ocaml-$(XEN_TARGET_ARCH) world
$(MAKE) DESTDIR= -C ocaml-$(XEN_TARGET_ARCH) opt
@@ -375,7 +343,7 @@
.PHONY: libxentoollog
libxentoollog: libs-$(XEN_TARGET_ARCH)/toollog/libxentoollog.a
libs-$(XEN_TARGET_ARCH)/toollog/libxentoollog.a: mk-headers-$(XEN_TARGET_ARCH) $(NEWLIB_STAMPFILE)
- CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/toollog
+ CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" EXTRA_HOSTCFLAGS="" $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/toollog
#######
# libxenevtchn
@@ -437,11 +405,12 @@
( $(buildmakevars2shellvars); \
cd ioemu ; \
LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) \
- TARGET_CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat ioemu-minios-config.mk)" \
+ TARGET_CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat ioemu-minios-config.mk) -DNEED_TIME_H -isystem $(MINI_OS)/include -isystem $(MINI_OS)/include/$(MINIOS_TARGET_ARCH)/$(XEN_TARGET_ARCH) -isystem $(MINI_OS)/include/$(MINIOS_TARGET_ARCH)" \
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
+ CPPFLAGS="" CFLAGS="" \
$(QEMU_ROOT)/xen-setup-stubdom )
- $(MAKE) DESTDIR= -C ioemu -f $(QEMU_ROOT)/Makefile
+ CPPFLAGS="" CFLAGS="" $(MAKE) DESTDIR= -C ioemu -f $(QEMU_ROOT)/Makefile
######
# caml
@@ -474,7 +443,7 @@
.PHONY: vtpm
vtpm: cross-polarssl cross-tpmemu vtpm-minios-config.mk
- XEN_TARGET_ARCH="$(XEN_TARGET_ARCH)" CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat vtpm-minios-config.mk)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@
+ XEN_TARGET_ARCH="$(XEN_TARGET_ARCH)" CPPFLAGS="$(VTPM_CPPFLAGS) $(shell cat vtpm-minios-config.mk)" CFLAGS="$(TARGET_CFLAGS) -std=gnu99" $(MAKE) -C $@
######
# VTPMMGR
@@ -485,18 +454,14 @@
.PHONY: vtpmmgr
vtpmmgr: cross-polarssl vtpmmgr-minios-config.mk
- XEN_TARGET_ARCH="$(XEN_TARGET_ARCH)" CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat vtpmmgr-minios-config.mk)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@
+ XEN_TARGET_ARCH="$(XEN_TARGET_ARCH)" CPPFLAGS="$(VTPM_CPPFLAGS) $(shell cat vtpmmgr-minios-config.mk) -DHAVE_LIBC" CFLAGS="$(TARGET_CFLAGS) -std=gnu99" $(MAKE) -C $@
######
# Grub
######
-grub-$(GRUB_VERSION).tar.gz:
- $(FETCHER) $@ $(GRUB_URL)/$@
-
-grub-upstream: grub-$(GRUB_VERSION).tar.gz
- tar xzf $<
- mv grub-$(GRUB_VERSION) $@
+grub-upstream:
+ cp -r ${WRKSRC}/../grub-$(GRUB_VERSION) $@
for i in grub.patches/* ; do \
patch -d $@ -p1 < $$i || exit 1; \
done
@@ -539,11 +504,11 @@
.PHONY: vtpm-stubdom
vtpm-stubdom: mini-os-$(XEN_TARGET_ARCH)-vtpm vtpm
- DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/vtpm/minios.cfg" $(MAKE) -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS="$(CURDIR)/vtpm/vtpm.a" APP_LDLIBS="-ltpm -ltpm_crypto -lgmp -lpolarssl"
+ DEF_CPPFLAGS="$(VTPM_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/vtpm/minios.cfg" $(MAKE) -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS="$(CURDIR)/vtpm/vtpm.a" APP_LDLIBS="-ltpm -ltpm_crypto -lgmp -lpolarssl"
.PHONY: vtpmmgr-stubdom
vtpmmgr-stubdom: mini-os-$(XEN_TARGET_ARCH)-vtpmmgr vtpmmgr
- DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/vtpmmgr/minios.cfg" $(MAKE) -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS="$(CURDIR)/vtpmmgr/vtpmmgr.a" APP_LDLIBS="-lm -lpolarssl"
+ DEF_CPPFLAGS="$(VTPM_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/vtpmmgr/minios.cfg" $(MAKE) -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS="$(CURDIR)/vtpmmgr/vtpmmgr.a" APP_LDLIBS="-lm -lpolarssl"
.PHONY: pv-grub
pv-grub: mini-os-$(XEN_TARGET_ARCH)-grub libxc grub