diff options
author | Wookey <wookey@linaro.org> | 2013-01-28 09:50:29 -0700 |
---|---|---|
committer | John Rigby <john.rigby@linaro.org> | 2013-01-28 10:44:36 -0700 |
commit | 627a75aa9659e18075d161b7860ee74cdb0b2ef6 (patch) | |
tree | 842b3f0beddce30100e817f02eba75ca17bcfeeb | |
parent | 0f473e3e232df6dc66b2da92285c5663b05487bd (diff) |
Fix basic tools cross-build
Fixes https://bugs.launchpad.net/linaro-ubuntu/+bug/1104017
Signed-off-by: John Rigby <john.rigby@linaro.org>
Signed-off-by: Wookey <wookey@linaro.org>
-rw-r--r-- | debian.linaro/control.stub.in | 2 | ||||
-rw-r--r-- | debian.linaro/rules.d/arm64.mk | 4 | ||||
-rw-r--r-- | debian.linaro/rules.d/armhf.mk | 6 | ||||
-rwxr-xr-x | debian/rules | 12 | ||||
-rw-r--r-- | debian/rules.d/0-common-vars.mk | 7 | ||||
-rw-r--r-- | debian/rules.d/2-binary-arch.mk | 40 |
6 files changed, 38 insertions, 33 deletions
diff --git a/debian.linaro/control.stub.in b/debian.linaro/control.stub.in index bd4b6ce9dd1..43964ec94f3 100644 --- a/debian.linaro/control.stub.in +++ b/debian.linaro/control.stub.in @@ -3,7 +3,7 @@ Section: devel Priority: optional Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com> Standards-Version: 3.8.4.0 -Build-Depends: debhelper (>= 5), cpio, module-init-tools, kernel-wedge (>= 2.24ubuntu1), makedumpfile [amd64 i386], device-tree-compiler [powerpc], libelf-dev, libnewt-dev, binutils-dev, rsync, libdw-dev, dpkg (>= 1.16.0~ubuntu4), util-linux, pkg-config, flex, bison +Build-Depends: debhelper (>= 5), cpio, module-init-tools, kernel-wedge (>= 2.24ubuntu1), makedumpfile [amd64 i386], libelf-dev, libnewt-dev, binutils-dev, rsync, libdw-dev, dpkg (>= 1.16.0~ubuntu4), util-linux, pkg-config, flex, bison, libunwind8-dev, libaudit-dev [amd64 i386 arm64] Build-Depends-Indep: xmlto, docbook-utils, ghostscript, transfig, bzip2, sharutils, asciidoc Build-Conflicts: findutils (= 4.4.1-1ubuntu1) Vcs-Git: http://kernel.ubuntu.com/git-repos/ubuntu/ubuntu-precise.git diff --git a/debian.linaro/rules.d/arm64.mk b/debian.linaro/rules.d/arm64.mk index c30b57f86cd..b44fb9e4c49 100644 --- a/debian.linaro/rules.d/arm64.mk +++ b/debian.linaro/rules.d/arm64.mk @@ -1,10 +1,10 @@ human_arch = ARM64 -build_arch = arm64 +kernel_arch = arm64 header_arch = arm64 defconfig = defconfig flavours = linaro-SOCFLAVOUR build_image = Image.gz -kernel_file = arch/$(build_arch)/boot/Image.gz +kernel_file = arch/$(kernel_arch)/boot/Image.gz install_file = Image.gz no_dumpfile = true diff --git a/debian.linaro/rules.d/armhf.mk b/debian.linaro/rules.d/armhf.mk index 8c778c19515..9abc3013acc 100644 --- a/debian.linaro/rules.d/armhf.mk +++ b/debian.linaro/rules.d/armhf.mk @@ -1,17 +1,17 @@ human_arch = ARM (hard float) -build_arch = arm +kernel_arch = arm header_arch = arm defconfig = defconfig flavours = linaro-SOCFLAVOUR build_image = zImage -kernel_file = arch/$(build_arch)/boot/zImage +kernel_file = arch/$(kernel_arch)/boot/zImage install_file = vmlinuz no_dumpfile = true loader = grub # Flavour specific configuration. -dtb_file_highbank = arch/$(build_arch)/boot/highbank.dtb +dtb_file_highbank = arch/$(kernel_arch)/boot/highbank.dtb skipmodule = true skipabi = true disable_d_i = true diff --git a/debian/rules b/debian/rules index c47ce37ee73..817b49f6520 100755 --- a/debian/rules +++ b/debian/rules @@ -223,15 +223,15 @@ debian/control: $(DEBIAN)/control.stub done; \ fi - if [ ! -d $(builddir)/modules/$(build_arch) ]; then \ - mkdir -p $(builddir)/modules/$(build_arch); \ + if [ ! -d $(builddir)/modules/$(kernel_arch) ]; then \ + mkdir -p $(builddir)/modules/$(kernel_arch); \ cp $(builddir)/modules/$(arch)/* \ - $(builddir)/modules/$(build_arch) || true; \ + $(builddir)/modules/$(kernel_arch) || true; \ fi - if [ ! -d $(builddir)/firmware/$(build_arch) ]; then \ - mkdir -p $(builddir)/firmware/$(build_arch); \ + if [ ! -d $(builddir)/firmware/$(kernel_arch) ]; then \ + mkdir -p $(builddir)/firmware/$(kernel_arch); \ cp $(builddir)/firmware/$(arch)/* \ - $(builddir)/firmware/$(build_arch) || true; \ + $(builddir)/firmware/$(kernel_arch) || true; \ fi cp $(DEBIAN)/control.stub debian/control.stub diff --git a/debian/rules.d/0-common-vars.mk b/debian/rules.d/0-common-vars.mk index 4be5ff34bed..c6ef465a5d7 100644 --- a/debian/rules.d/0-common-vars.mk +++ b/debian/rules.d/0-common-vars.mk @@ -108,9 +108,8 @@ ifneq ($(arch),$(DEB_HOST_ARCH)) endif # -# Detect invocations of the form 'dpkg-buildpackage -B -aarmel' within -# an x86'en schroot. This is the only way to build all of the packages -# (except for tools). +# Detect invocations of the form 'dpkg-buildpackage -B -aarmhf' within +# an x86'en schroot. This is the correct way to build all of the packages. # ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) CROSS_COMPILE ?= $(DEB_HOST_GNU_TYPE)- @@ -215,7 +214,7 @@ endif conc_level = -j$(CONCURRENCY_LEVEL) # target_flavour is filled in for each step -kmake = make ARCH=$(build_arch) \ +kmake = make ARCH=$(kernel_arch) \ CROSS_COMPILE=$(CROSS_COMPILE) \ KERNELVERSION=$(abi_release)-$(target_flavour) \ CONFIG_DEBUG_SECTION_MISMATCH=y \ diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk index 28b19f9aeb0..631037ea8b7 100644 --- a/debian/rules.d/2-binary-arch.mk +++ b/debian/rules.d/2-binary-arch.mk @@ -10,6 +10,7 @@ build_cd = build_O = O=$(builddir)/build-$* endif crossbuildscripts=$(shell grep KBUILD_SCRIPTROOT scripts/Makefile.build && echo "true") +STRIP = $(CROSS_COMPILE)strip kbsr = $(builddir)/build-$* @@ -98,12 +99,11 @@ endif $(pkgdir)/boot/abi-$(abi_release)-$* install -m600 $(builddir)/build-$*/System.map \ $(pkgdir)/boot/System.map-$(abi_release)-$* - if [ "$(dtb_target)" ]; then \ - install -d $(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree; \ - install -m644 $(builddir)/build-$*/$(dtb_file) \ - $(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree/$(dtb_target) || echo "no dtb to install"; \ - fi - install -m644 $(builddir)/boot-wrapper/*.axf $(pkgdir)/boot/ || echo "no axf file" + install -d $(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree; \ + install -m644 $(builddir)/build-$*/arch/$(kernel_arch)/boot/*.dtb \ + $(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree/ || true + install -m644 $(builddir)/build-$*/arch/$(kernel_arch)/boot/dts/*.dtb \ + $(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree/ || true ifeq ($(no_dumpfile),) makedumpfile -g $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* \ -x $(builddir)/build-$*/vmlinux @@ -149,7 +149,7 @@ endif install -d $(pkgdir)/DEBIAN for script in postinst postrm preinst prerm; do \ sed -e 's/=V/$(abi_release)-$*/g' -e 's/=K/$(install_file)/g' \ - -e 's/=L/$(loader)/g' -e 's@=B@$(build_arch)@g' \ + -e 's/=L/$(loader)/g' -e 's@=B@$(kernel_arch)@g' \ $(DROOT)/control-scripts/$$script > $(pkgdir)/DEBIAN/$$script; \ chmod 755 $(pkgdir)/DEBIAN/$$script; \ done @@ -158,7 +158,7 @@ endif install -d $(pkgdir_ex)/DEBIAN; \ for script in postinst postrm ; do \ sed -e 's/=V/$(abi_release)-$*/g' -e 's/=K/$(install_file)/g' \ - -e 's/=L/$(loader)/g' -e 's@=B@$(build_arch)@g' \ + -e 's/=L/$(loader)/g' -e 's@=B@$(kernel_arch)@g' \ debian/control-scripts/$$script > $(pkgdir_ex)/DEBIAN/$$script; \ chmod 755 $(pkgdir_ex)/DEBIAN/$$script; \ done; \ @@ -184,7 +184,7 @@ ifneq ($(skipsub),true) sed -e 's/=V/$(abi_release)-$*/g' \ -e 's/=K/$(install_file)/g' \ -e 's/=L/$(loader)/g' \ - -e 's@=B@$(build_arch)@g' \ + -e 's@=B@$(kernel_arch)@g' \ $(DROOT)/control-scripts/$$script > \ debian/$(bin_pkg_name)-$$sub/DEBIAN/$$script;\ chmod 755 debian/$(bin_pkg_name)-$$sub/DEBIAN/$$script;\ @@ -269,7 +269,7 @@ endif done # At the end of the package prep, call the tests - DPKG_ARCH="$(arch)" KERN_ARCH="$(build_arch)" FLAVOUR="$*" \ + DPKG_ARCH="$(arch)" KERN_ARCH="$(kernel_arch)" FLAVOUR="$*" \ VERSION="$(abi_release)" REVISION="$(revision)" \ PREV_REVISION="$(prev_revision)" ABI_NUM="$(abinum)" \ PREV_ABI_NUM="$(prev_abinum)" BUILD_DIR="$(builddir)/build-$*" \ @@ -467,8 +467,12 @@ endif $(stampdir)/stamp-build-perarch: $(stampdir)/stamp-prepare-perarch @echo Debug: $@ ifeq ($(do_tools),true) + # we don't have cross-libiberty yet so avoid it by leaving out C++ demangling +ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) + features=HAVE_CPLUS_DEMANGLE=1 +endif cd $(builddirpa)/tools/perf && \ - make HAVE_CPLUS_DEMANGLE=1 CROSS_COMPILE=$(CROSS_COMPILE) + make $(features) ARCH=$(header_arch) CROSS_COMPILE=$(CROSS_COMPILE) if [ "$(arch)" = "amd64" ] || [ "$(arch)" = "i386" ]; then \ cd $(builddirpa)/tools/power/x86/x86_energy_perf_policy && make CROSS_COMPILE=$(CROSS_COMPILE); \ cd $(builddirpa)/tools/power/x86/turbostat && make CROSS_COMPILE=$(CROSS_COMPILE); \ @@ -483,16 +487,18 @@ install-perarch: $(stampdir)/stamp-build-perarch # Add the tools. ifeq ($(do_tools),true) install -d $(toolspkgdir)/usr/bin - install -s -m755 $(builddirpa)/tools/perf/perf \ + install -s --strip-program=$(STRIP) -m755 $(builddirpa)/tools/perf/perf \ $(toolspkgdir)/usr/bin/perf_$(abi_release) if [ "$(arch)" = "amd64" ] || [ "$(arch)" = "i386" ]; then \ - install -s -m755 $(builddirpa)/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy \ + install -s --strip-program=$(STRIP) -m755 $(builddirpa)/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy \ $(toolspkgdir)/usr/bin/x86_energy_perf_policy_$(abi_release); \ - install -s -m755 $(builddirpa)/tools/power/x86/turbostat/turbostat \ + install -s --strip-program=$(STRIP) -m755 $(builddirpa)/tools/power/x86/turbostat/turbostat \ $(toolspkgdir)/usr/bin/turbostat_$(abi_release); \ - install -d $(toolspkgdir)/usr/sbin; \ - install -s -m755 $(builddirpa)/tools/hv/hv_kvp_daemon \ - $(toolspkgdir)/usr/sbin/hv_kvp_daemon_$(abi_release); \ + if [ "$(do_hyperv)" = "true" ]; then \ + install -d $(toolspkgdir)/usr/sbin; \ + install -s --strip-program=$(STRIP) -m755 $(builddirpa)/tools/hv/hv_kvp_daemon \ + $(toolspkgdir)/usr/sbin/hv_kvp_daemon_$(abi_release); \ + fi; \ fi endif |