[Spice-devel] [PATCH win-vdagent] Learn to build spice-vdagent MSI installer
Christophe Fergeau
cfergeau at redhat.com
Tue Jun 24 01:45:29 PDT 2014
On Mon, Feb 17, 2014 at 05:41:55PM +0100, Marc-André Lureau wrote:
> ---
> Makefile.am | 23 +++++++++++++++-
> configure.ac | 30 ++++++++++++++++++++
> spice-vdagent.wxs.in | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 130 insertions(+), 1 deletion(-)
> create mode 100644 spice-vdagent.wxs.in
>
> diff --git a/Makefile.am b/Makefile.am
> index 749ef56..9fa9f14 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -1,4 +1,5 @@
> NULL =
> +EXTRA_DIST =
> MAINTAINERCLEANFILES =
>
> DIST_SUBDIRS = spice-protocol
> @@ -61,8 +62,28 @@ vdservice_rc.$(OBJEXT): vdservice/vdservice.rc
>
> MAINTAINERCLEANFILES += vdservice_rc.$(OBJEXT)
>
> +deps.txt:
> + $(AM_V_GEN)rpm -qa | grep $(host_os) | sort | unix2dos > $@
>
> -EXTRA_DIST = \
> +MANUFACTURER = The Spice Project
> +
> +EXTRA_DIST += spice-vdagent.wxs.in
> +CONFIG_STATUS_DEPENDENCIES = spice-vdagent.wxs.in
> +
> +spice-vdagent-$(WIXL_ARCH)-$(VERSION)$(BUILDID).msi: spice-vdagent.wxs deps.txt all
> + $(AM_V_GEN)DESTDIR=`mktemp -d`&& \
> + make -C $(top_builddir) install DESTDIR=$$DESTDIR >/dev/null && \
> + MANUFACTURER="$(MANUFACTURER)" wixl -D SourceDir=$(prefix) \
> + -D DESTDIR=$$DESTDIR$(prefix) \
> + --arch $(WIXL_ARCH) -o $@ $<
> +
> +msi: spice-vdagent-$(WIXL_ARCH)-$(VERSION)$(BUILDID).msi
> +
> +CLEANFILES = spice-vdagent-$(WIXL_ARCH)-$(VERSION)$(BUILDID).msi
> +
> +.PHONY: msi
> +
> +EXTRA_DIST += \
> $(top_srcdir)/.version \
> tests/clipboard.py \
> vdagent.sln \
> diff --git a/configure.ac b/configure.ac
> index 12329b4..7f6511d 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -9,11 +9,30 @@ AC_CONFIG_SRCDIR([vdagent])
> AC_CONFIG_HEADERS([config.h])
> AC_CONFIG_MACRO_DIR([m4])
> AC_CONFIG_AUX_DIR([build-aux])
> +AC_CANONICAL_HOST
>
> AM_INIT_AUTOMAKE([1.11 foreign subdir-objects no-dist-gzip dist-xz tar-ustar])
>
> AM_SILENT_RULES([yes])
>
> +AC_ARG_WITH([buildid],
> +AS_HELP_STRING([--with-buildid=id], [Set additional build version details]))
> +AC_DEFINE_UNQUOTED([BUILDID], "$with_buildid", [Build version details])
> +if test "x$with_buildid" != x; then
> + AC_SUBST([BUILDID], "-$with_buildid")
> +fi
> +
> +major=`echo $PACKAGE_VERSION | cut -d. -f1`
> +minor=`echo $PACKAGE_VERSION | cut -d. -f2`
> +micro=`echo $PACKAGE_VERSION | cut -d. -f3`
> +buildid=`echo $with_buildid | cut -d. -f1`
> +if test "x$buildid" = x; then
> + buildid=0
> +fi
> +build=`expr $micro \* 256 + $buildid`
> +WINDOWS_PRODUCTVERSION="$major.$minor.$build"
> +AC_SUBST([WINDOWS_PRODUCTVERSION])
> +
Would be better if this part of configure.ac was closer to what
virt-viewer is doing. Looks good otherwise (though I did not look at the
.wxs file in details).
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20140624/b6f935ed/attachment.sig>
More information about the Spice-devel
mailing list