summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSlava Barinov <v.barinov@samsung.com>2020-04-01 16:23:56 +0300
committerSlava Barinov <v.barinov@samsung.com>2020-04-15 13:14:58 +0300
commitf9107948cde990e837c395518b4bbefe741af278 (patch)
tree942d5cedb27debd45b638e97ed068a3904a2c2c5
parentdb638e78087850accf8df2ad050d0ce7a610c7b2 (diff)
downloadqemu-accel-sandbox/vbarinov/guile.tar.gz
qemu-accel-sandbox/vbarinov/guile.tar.bz2
qemu-accel-sandbox/vbarinov/guile.zip
guile acceleration addedsandbox/vbarinov/guile
Change-Id: Iffd8945f91b66d58809e92b932c4d2e1180f8f41
-rw-r--r--packaging/qemu-accel-aarch64.spec43
-rw-r--r--packaging/qemu-accel-armv7hl.spec43
-rw-r--r--packaging/qemu-accel-armv7l.spec43
-rw-r--r--packaging/qemu-accel.spec.in43
4 files changed, 160 insertions, 12 deletions
diff --git a/packaging/qemu-accel-aarch64.spec b/packaging/qemu-accel-aarch64.spec
index c60dda4..bf50ba8 100644
--- a/packaging/qemu-accel-aarch64.spec
+++ b/packaging/qemu-accel-aarch64.spec
@@ -77,9 +77,36 @@ ExclusiveArch: x86_64 %{ix86}
BuildRequires: libgcc-32bit
BuildRequires: glibc-32bit
%define multilib 1
+%{?armv7l:
+# 32bit guile is required for armv7l and armv7hl builds
+BuildRequires: guile-32bit
+BuildConflicts: guile
+}
+%{?armv7hl:
+# 32bit guile is required for armv7l and armv7hl builds
+BuildRequires: guile-32bit
+BuildConflicts: guile
+}
+%{?aarch64:
+# 64bit guile is used for aarch64
+BuildRequires: guile
+}
+%else
+%{?aarch64:
+# 64bit guile is required for aarch64 build
+BuildRequires: guile-64bit
+BuildConflicts: guile
+}
+%{?armv7l:
+# 32bit guile is used for armv7l and armv7hl builds
+BuildRequires: guile
+}
+%{?armv7hl:
+# 32bit guile is used for armv7l and armv7hl builds
+BuildRequires: guile
+}
%endif
-
-
+BuildRequires: guile-modules
%description
This package is used in %{cross} architecture builds using qemu to speed up builds
with native binaries.
@@ -175,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
@@ -446,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
diff --git a/packaging/qemu-accel-armv7hl.spec b/packaging/qemu-accel-armv7hl.spec
index 57f785c..3cfc156 100644
--- a/packaging/qemu-accel-armv7hl.spec
+++ b/packaging/qemu-accel-armv7hl.spec
@@ -77,9 +77,36 @@ ExclusiveArch: x86_64 %{ix86}
BuildRequires: libgcc-32bit
BuildRequires: glibc-32bit
%define multilib 1
+%{?armv7l:
+# 32bit guile is required for armv7l and armv7hl builds
+BuildRequires: guile-32bit
+BuildConflicts: guile
+}
+%{?armv7hl:
+# 32bit guile is required for armv7l and armv7hl builds
+BuildRequires: guile-32bit
+BuildConflicts: guile
+}
+%{?aarch64:
+# 64bit guile is used for aarch64
+BuildRequires: guile
+}
+%else
+%{?aarch64:
+# 64bit guile is required for aarch64 build
+BuildRequires: guile-64bit
+BuildConflicts: guile
+}
+%{?armv7l:
+# 32bit guile is used for armv7l and armv7hl builds
+BuildRequires: guile
+}
+%{?armv7hl:
+# 32bit guile is used for armv7l and armv7hl builds
+BuildRequires: guile
+}
%endif
-
-
+BuildRequires: guile-modules
%description
This package is used in %{cross} architecture builds using qemu to speed up builds
with native binaries.
@@ -175,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
@@ -446,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
diff --git a/packaging/qemu-accel-armv7l.spec b/packaging/qemu-accel-armv7l.spec
index b8770cb..aa66c8d 100644
--- a/packaging/qemu-accel-armv7l.spec
+++ b/packaging/qemu-accel-armv7l.spec
@@ -77,9 +77,36 @@ ExclusiveArch: x86_64 %{ix86}
BuildRequires: libgcc-32bit
BuildRequires: glibc-32bit
%define multilib 1
+%{?armv7l:
+# 32bit guile is required for armv7l and armv7hl builds
+BuildRequires: guile-32bit
+BuildConflicts: guile
+}
+%{?armv7hl:
+# 32bit guile is required for armv7l and armv7hl builds
+BuildRequires: guile-32bit
+BuildConflicts: guile
+}
+%{?aarch64:
+# 64bit guile is used for aarch64
+BuildRequires: guile
+}
+%else
+%{?aarch64:
+# 64bit guile is required for aarch64 build
+BuildRequires: guile-64bit
+BuildConflicts: guile
+}
+%{?armv7l:
+# 32bit guile is used for armv7l and armv7hl builds
+BuildRequires: guile
+}
+%{?armv7hl:
+# 32bit guile is used for armv7l and armv7hl builds
+BuildRequires: guile
+}
%endif
-
-
+BuildRequires: guile-modules
%description
This package is used in %{cross} architecture builds using qemu to speed up builds
with native binaries.
@@ -175,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
@@ -446,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
diff --git a/packaging/qemu-accel.spec.in b/packaging/qemu-accel.spec.in
index 5037080..d2d5570 100644
--- a/packaging/qemu-accel.spec.in
+++ b/packaging/qemu-accel.spec.in
@@ -74,9 +74,36 @@ ExclusiveArch: x86_64 %{ix86}
BuildRequires: libgcc-32bit
BuildRequires: glibc-32bit
%define multilib 1
+%{?armv7l:
+# 32bit guile is required for armv7l and armv7hl builds
+BuildRequires: guile-32bit
+BuildConflicts: guile
+}
+%{?armv7hl:
+# 32bit guile is required for armv7l and armv7hl builds
+BuildRequires: guile-32bit
+BuildConflicts: guile
+}
+%{?aarch64:
+# 64bit guile is used for aarch64
+BuildRequires: guile
+}
+%else
+%{?aarch64:
+# 64bit guile is required for aarch64 build
+BuildRequires: guile-64bit
+BuildConflicts: guile
+}
+%{?armv7l:
+# 32bit guile is used for armv7l and armv7hl builds
+BuildRequires: guile
+}
+%{?armv7hl:
+# 32bit guile is used for armv7l and armv7hl builds
+BuildRequires: guile
+}
%endif
-
-
+BuildRequires: guile-modules
%description
This package is used in %{cross} architecture builds using qemu to speed up builds
with native binaries.
@@ -172,7 +199,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 +471,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