diff options
author | Slava Barinov <v.barinov@samsung.com> | 2020-04-01 16:23:56 +0300 |
---|---|---|
committer | Slava Barinov <v.barinov@samsung.com> | 2020-04-15 19:39:33 +0300 |
commit | 6b0810fe3da396c471f2f25d0f2e9b5cd6274318 (patch) | |
tree | f99697e108bf29bf287a0fae6a48449965f0852c | |
parent | db638e78087850accf8df2ad050d0ce7a610c7b2 (diff) | |
download | qemu-accel-6b0810fe3da396c471f2f25d0f2e9b5cd6274318.tar.gz qemu-accel-6b0810fe3da396c471f2f25d0f2e9b5cd6274318.tar.bz2 qemu-accel-6b0810fe3da396c471f2f25d0f2e9b5cd6274318.zip |
Add guile acceleration supportsubmit/tizen_base/20200416.121222accepted/tizen/base/20200419.223852
Guile compilation requires compiling large volume of .scm source files which is
very slow under qemu-arm/qemu-aarch64
Change-Id: Iffd8945f91b66d58809e92b932c4d2e1180f8f41
-rw-r--r-- | packaging/qemu-accel-aarch64.spec | 46 | ||||
-rw-r--r-- | packaging/qemu-accel-armv7hl.spec | 46 | ||||
-rw-r--r-- | packaging/qemu-accel-armv7l.spec | 46 | ||||
-rw-r--r-- | packaging/qemu-accel.spec.in | 46 |
4 files changed, 172 insertions, 12 deletions
diff --git a/packaging/qemu-accel-aarch64.spec b/packaging/qemu-accel-aarch64.spec index c60dda4..a183920 100644 --- a/packaging/qemu-accel-aarch64.spec +++ b/packaging/qemu-accel-aarch64.spec @@ -77,9 +77,39 @@ ExclusiveArch: x86_64 %{ix86} BuildRequires: libgcc-32bit BuildRequires: glibc-32bit %define multilib 1 +%if 0%{?armv7l} +# 32bit guile is required for armv7l and armv7hl builds +BuildRequires: guile-32bit +BuildConflicts: guile %endif - - +%if 0%{?armv7hl} +# 32bit guile is required for armv7l and armv7hl builds +BuildRequires: guile-32bit +BuildConflicts: guile +%endif +%if 0%{?aarch64} +# 64bit guile is used for aarch64 +BuildRequires: guile +BuildConflicts: guile-32bit +%endif +%else # x86_64 +%if 0%{?aarch64} +# 64bit guile is required for aarch64 build +BuildRequires: guile-64bit +BuildConflicts: guile +%endif +%if 0%{?armv7l} +# 32bit guile is used for armv7l and armv7hl builds +BuildRequires: guile +BuildConflicts: guile-64bit +%endif +%if 0%{?armv7hl} +# 32bit guile is used for armv7l and armv7hl builds +BuildRequires: guile +BuildConflicts: guile-64bit +%endif +%endif +BuildRequires: guile-modules %description This package is used in %{cross} architecture builds using qemu to speed up builds with native binaries. @@ -175,7 +205,8 @@ for executable in $LD \ %{_bindir}/{find,xargs,readlink,ls,cpio} \ %{_rpmconfigdir}/debugedit \ %{_rpmconfigdir}/*deps \ - %{_libdir}/{libunwind*.so*,libuuid*.so*} + %{_libdir}/{libunwind*.so*,libuuid*.so*} \ + %{_bindir}/guile do binaries="$binaries $executable" done @@ -446,6 +477,15 @@ echo "%{emul_path}${gcc_build_dir}/gcc/xg++" >> %{_sourcedir}/all-accel.list ln -sf %{emul_path}%{_bindir}/cpp ${buildroot_emul_path}/usr/lib/cpp echo '%{emul_path}/usr/lib/cpp' >> %{_sourcedir}/all-accel.list +## guile acceleration +# we need to accelerate guile build +export GUILE_AUTO_COMPILE=0 +guile_version=$(guile --version | sed -ne '/^guile/s/.*)[[:space:]]\+//p') +guile_build_dir=%{_builddir}/guile-${guile_version}/libguile +mkdir -p ${buildroot_emul_path}${guile_build_dir} +ln -sf %{emul_path}%{_bindir}/guile ${buildroot_emul_path}${guile_build_dir}/guile +echo "%{emul_path}${guile_build_dir}/guile" >> %{_sourcedir}/all-accel.list + # generate baselibs.conf for current architecture to prevent rpm overwriting in download repo echo %{cross} cat > %{_sourcedir}/baselibs_prologue << EOF diff --git a/packaging/qemu-accel-armv7hl.spec b/packaging/qemu-accel-armv7hl.spec index 57f785c..5f711d0 100644 --- a/packaging/qemu-accel-armv7hl.spec +++ b/packaging/qemu-accel-armv7hl.spec @@ -77,9 +77,39 @@ ExclusiveArch: x86_64 %{ix86} BuildRequires: libgcc-32bit BuildRequires: glibc-32bit %define multilib 1 +%if 0%{?armv7l} +# 32bit guile is required for armv7l and armv7hl builds +BuildRequires: guile-32bit +BuildConflicts: guile %endif - - +%if 0%{?armv7hl} +# 32bit guile is required for armv7l and armv7hl builds +BuildRequires: guile-32bit +BuildConflicts: guile +%endif +%if 0%{?aarch64} +# 64bit guile is used for aarch64 +BuildRequires: guile +BuildConflicts: guile-32bit +%endif +%else # x86_64 +%if 0%{?aarch64} +# 64bit guile is required for aarch64 build +BuildRequires: guile-64bit +BuildConflicts: guile +%endif +%if 0%{?armv7l} +# 32bit guile is used for armv7l and armv7hl builds +BuildRequires: guile +BuildConflicts: guile-64bit +%endif +%if 0%{?armv7hl} +# 32bit guile is used for armv7l and armv7hl builds +BuildRequires: guile +BuildConflicts: guile-64bit +%endif +%endif +BuildRequires: guile-modules %description This package is used in %{cross} architecture builds using qemu to speed up builds with native binaries. @@ -175,7 +205,8 @@ for executable in $LD \ %{_bindir}/{find,xargs,readlink,ls,cpio} \ %{_rpmconfigdir}/debugedit \ %{_rpmconfigdir}/*deps \ - %{_libdir}/{libunwind*.so*,libuuid*.so*} + %{_libdir}/{libunwind*.so*,libuuid*.so*} \ + %{_bindir}/guile do binaries="$binaries $executable" done @@ -446,6 +477,15 @@ echo "%{emul_path}${gcc_build_dir}/gcc/xg++" >> %{_sourcedir}/all-accel.list ln -sf %{emul_path}%{_bindir}/cpp ${buildroot_emul_path}/usr/lib/cpp echo '%{emul_path}/usr/lib/cpp' >> %{_sourcedir}/all-accel.list +## guile acceleration +# we need to accelerate guile build +export GUILE_AUTO_COMPILE=0 +guile_version=$(guile --version | sed -ne '/^guile/s/.*)[[:space:]]\+//p') +guile_build_dir=%{_builddir}/guile-${guile_version}/libguile +mkdir -p ${buildroot_emul_path}${guile_build_dir} +ln -sf %{emul_path}%{_bindir}/guile ${buildroot_emul_path}${guile_build_dir}/guile +echo "%{emul_path}${guile_build_dir}/guile" >> %{_sourcedir}/all-accel.list + # generate baselibs.conf for current architecture to prevent rpm overwriting in download repo echo %{cross} cat > %{_sourcedir}/baselibs_prologue << EOF diff --git a/packaging/qemu-accel-armv7l.spec b/packaging/qemu-accel-armv7l.spec index b8770cb..62ab2da 100644 --- a/packaging/qemu-accel-armv7l.spec +++ b/packaging/qemu-accel-armv7l.spec @@ -77,9 +77,39 @@ ExclusiveArch: x86_64 %{ix86} BuildRequires: libgcc-32bit BuildRequires: glibc-32bit %define multilib 1 +%if 0%{?armv7l} +# 32bit guile is required for armv7l and armv7hl builds +BuildRequires: guile-32bit +BuildConflicts: guile %endif - - +%if 0%{?armv7hl} +# 32bit guile is required for armv7l and armv7hl builds +BuildRequires: guile-32bit +BuildConflicts: guile +%endif +%if 0%{?aarch64} +# 64bit guile is used for aarch64 +BuildRequires: guile +BuildConflicts: guile-32bit +%endif +%else # x86_64 +%if 0%{?aarch64} +# 64bit guile is required for aarch64 build +BuildRequires: guile-64bit +BuildConflicts: guile +%endif +%if 0%{?armv7l} +# 32bit guile is used for armv7l and armv7hl builds +BuildRequires: guile +BuildConflicts: guile-64bit +%endif +%if 0%{?armv7hl} +# 32bit guile is used for armv7l and armv7hl builds +BuildRequires: guile +BuildConflicts: guile-64bit +%endif +%endif +BuildRequires: guile-modules %description This package is used in %{cross} architecture builds using qemu to speed up builds with native binaries. @@ -175,7 +205,8 @@ for executable in $LD \ %{_bindir}/{find,xargs,readlink,ls,cpio} \ %{_rpmconfigdir}/debugedit \ %{_rpmconfigdir}/*deps \ - %{_libdir}/{libunwind*.so*,libuuid*.so*} + %{_libdir}/{libunwind*.so*,libuuid*.so*} \ + %{_bindir}/guile do binaries="$binaries $executable" done @@ -446,6 +477,15 @@ echo "%{emul_path}${gcc_build_dir}/gcc/xg++" >> %{_sourcedir}/all-accel.list ln -sf %{emul_path}%{_bindir}/cpp ${buildroot_emul_path}/usr/lib/cpp echo '%{emul_path}/usr/lib/cpp' >> %{_sourcedir}/all-accel.list +## guile acceleration +# we need to accelerate guile build +export GUILE_AUTO_COMPILE=0 +guile_version=$(guile --version | sed -ne '/^guile/s/.*)[[:space:]]\+//p') +guile_build_dir=%{_builddir}/guile-${guile_version}/libguile +mkdir -p ${buildroot_emul_path}${guile_build_dir} +ln -sf %{emul_path}%{_bindir}/guile ${buildroot_emul_path}${guile_build_dir}/guile +echo "%{emul_path}${guile_build_dir}/guile" >> %{_sourcedir}/all-accel.list + # generate baselibs.conf for current architecture to prevent rpm overwriting in download repo echo %{cross} cat > %{_sourcedir}/baselibs_prologue << EOF diff --git a/packaging/qemu-accel.spec.in b/packaging/qemu-accel.spec.in index 5037080..681396e 100644 --- a/packaging/qemu-accel.spec.in +++ b/packaging/qemu-accel.spec.in @@ -74,9 +74,39 @@ ExclusiveArch: x86_64 %{ix86} BuildRequires: libgcc-32bit BuildRequires: glibc-32bit %define multilib 1 +%if 0%{?armv7l} +# 32bit guile is required for armv7l and armv7hl builds +BuildRequires: guile-32bit +BuildConflicts: guile %endif - - +%if 0%{?armv7hl} +# 32bit guile is required for armv7l and armv7hl builds +BuildRequires: guile-32bit +BuildConflicts: guile +%endif +%if 0%{?aarch64} +# 64bit guile is used for aarch64 +BuildRequires: guile +BuildConflicts: guile-32bit +%endif +%else # x86_64 +%if 0%{?aarch64} +# 64bit guile is required for aarch64 build +BuildRequires: guile-64bit +BuildConflicts: guile +%endif +%if 0%{?armv7l} +# 32bit guile is used for armv7l and armv7hl builds +BuildRequires: guile +BuildConflicts: guile-64bit +%endif +%if 0%{?armv7hl} +# 32bit guile is used for armv7l and armv7hl builds +BuildRequires: guile +BuildConflicts: guile-64bit +%endif +%endif +BuildRequires: guile-modules %description This package is used in %{cross} architecture builds using qemu to speed up builds with native binaries. @@ -172,7 +202,8 @@ for executable in $LD \ %{_bindir}/{find,xargs,readlink,ls,cpio} \ %{_rpmconfigdir}/debugedit \ %{_rpmconfigdir}/*deps \ - %{_libdir}/{libunwind*.so*,libuuid*.so*} + %{_libdir}/{libunwind*.so*,libuuid*.so*} \ + %{_bindir}/guile do binaries="$binaries $executable" done @@ -443,6 +474,15 @@ echo "%{emul_path}${gcc_build_dir}/gcc/xg++" >> %{_sourcedir}/all-accel.list ln -sf %{emul_path}%{_bindir}/cpp ${buildroot_emul_path}/usr/lib/cpp echo '%{emul_path}/usr/lib/cpp' >> %{_sourcedir}/all-accel.list +## guile acceleration +# we need to accelerate guile build +export GUILE_AUTO_COMPILE=0 +guile_version=$(guile --version | sed -ne '/^guile/s/.*)[[:space:]]\+//p') +guile_build_dir=%{_builddir}/guile-${guile_version}/libguile +mkdir -p ${buildroot_emul_path}${guile_build_dir} +ln -sf %{emul_path}%{_bindir}/guile ${buildroot_emul_path}${guile_build_dir}/guile +echo "%{emul_path}${guile_build_dir}/guile" >> %{_sourcedir}/all-accel.list + # generate baselibs.conf for current architecture to prevent rpm overwriting in download repo echo %{cross} cat > %{_sourcedir}/baselibs_prologue << EOF |