On Tue, Apr 28, 2015 at 10:03 AM, Alin Serdean
<aserd...@cloudbasesolutions.com> wrote:
> This commit is a POC on how to build the installer from the command line.
>
> One could issue the following commands to build the binaries, driver and
> installer.
>
> ./boot.sh;./configure CC=./build-aux/cccl LD="`which link`" LIBS="-lws2_32" \
>   --prefix="C:/openvswitch/usr" --localstatedir="C:/openvswitch/var" \
>   --sysconfdir="C:/openvswitch/etc" \
>   --with-pthread="C:/pthread/" --with-vstudioddk="Win8.1Release"; \
>   make clean && make && make installer

This is nice! I have some mixed feelings about having it in
Makefile.am though. Is it possible to add the installer target in
windows/automake.mk? Can you also change the target name from
"installer" to "windows-installer".

You have not copied ovs-appctl.exe. Copy that too, please.

You copy symbols files with *.pdb, but only copy individual exes. I
think you will have additional pdb files that way. It would be nice if
you copy userspace files first and then copy datapath files. That way
it is easier to read.

You will need to make changes to appveyor.yml file in the base
directory to handle the missing space in '--with-vstudioddk'.

Please make sure that the series compiles on Linux too.

Thanks,
Guru


>
>
> Signed-off-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com>
> ---
>  Makefile.am                 | 20 ++++++++++++++++++
>  datapath-windows/ovsext.sln | 50 
> ++++++++++++++++++++++-----------------------
>  m4/openvswitch.m4           |  8 ++++----
>  3 files changed, 49 insertions(+), 29 deletions(-)
>
> diff --git a/Makefile.am b/Makefile.am
> index 8bc431b..9a2ffd6 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -354,6 +354,25 @@ if LINUX_ENABLED
>         cd datapath/linux && $(MAKE) modules_install
>  endif
>
> +if WIN32
> +PTHREAD_TEMP_DIR=`echo "$(PTHREAD_LDFLAGS)" | sed 's|^.\(.*\).$:\1||'`
> +installer: $(BUILT_SOURCES) $(ovsext_make)
> +       cp -f $(top_srcdir)/datapath-windows/misc/OVS.psm1 
> windows/ovs-windows-installer/Services/OVS.psm1
> +       cp -f $(top_srcdir)/vswitchd/vswitch.ovsschema 
> windows/ovs-windows-installer/Services/vswitch.ovsschema
> +       cp -f $(top_srcdir)/vswitchd/ovs-vswitchd.exe 
> windows/ovs-windows-installer/Services/ovs-vswitchd.exe
> +       cp -f $(top_srcdir)/ovsdb/ovsdb-server.exe 
> windows/ovs-windows-installer/Services/ovsdb-server.exe
> +       cp -f 
> $(top_srcdir)/datapath-windows/x64/$(VSTUDIO_CONFIG)/package/ovsext.cat 
> windows/ovs-windows-installer/Driver/ovsext.cat
> +       cp -f 
> $(top_srcdir)/datapath-windows/x64/$(VSTUDIO_CONFIG)/package/ovsext.inf 
> windows/ovs-windows-installer/Driver/ovsext.inf
> +       cp -f 
> $(top_srcdir)/datapath-windows/x64/$(VSTUDIO_CONFIG)/package/OVSExt.sys 
> windows/ovs-windows-installer/Driver/OVSExt.sys
> +       cp -f $(top_srcdir)/utilities/*.exe 
> windows/ovs-windows-installer/Binaries/
> +       cp -f $(top_srcdir)/utilities/*.pdb 
> windows/ovs-windows-installer/Symbols/
> +       cp -f $(top_srcdir)/ovsdb/ovsdb-client.exe 
> windows/ovs-windows-installer/Binaries/ovsdb-client.exe
> +       cp -f $(top_srcdir)/ovsdb/ovsdb-tool.exe 
> windows/ovs-windows-installer/Binaries/ovsdb-tool.exe
> +       cp -f $(top_srcdir)/ovsdb/*.pdb windows/ovs-windows-installer/Symbols/
> +       cp -f $(PTHREAD_TEMP_DIR)/*.dll 
> windows/ovs-windows-installer/Binaries/
> +       cp -f "/c/Program Files (x86)/Common Files/Merge 
> Modules/Microsoft_VC120_CRT_x86.msm" 
> windows/ovs-windows-installer/Redist/Microsoft_VC120_CRT_x86.msm
> +       MSBuild.exe windows/ovs-windows-installer.sln /target:Build 
> /property:Configuration="Release"
> +endif
>  dist-docs:
>         VERSION=$(VERSION) $(srcdir)/build-aux/dist-docs $(srcdir) $(docs)
>  .PHONY: dist-docs
> @@ -377,3 +396,4 @@ include tutorial/automake.mk
>  include vtep/automake.mk
>  include datapath-windows/automake.mk
>  include datapath-windows/include/automake.mk
> +include windows/automake.mk
> diff --git a/datapath-windows/ovsext.sln b/datapath-windows/ovsext.sln
> index 9cb767d..60e9318 100644
> --- a/datapath-windows/ovsext.sln
> +++ b/datapath-windows/ovsext.sln
> @@ -1,6 +1,6 @@
>  Microsoft Visual Studio Solution File, Format Version 12.00
>  # Visual Studio 2013
> -VisualStudioVersion = 12.0.21005.1
> +VisualStudioVersion = 12.0.31101.0
>  MinimumVisualStudioVersion = 10.0.40219.1
>  Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Package", "Package", 
> "{6BA8554E-AE50-49B0-9C98-4592447FEF8D}"
>  EndProject
> @@ -12,32 +12,32 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = 
> "ovsext", "ovsext\ovsext.vcx
>  EndProject
>  Global
>         GlobalSection(SolutionConfigurationPlatforms) = preSolution
> -               Win8 Debug|x64 = Win8 Debug|x64
> -               Win8 Release|x64 = Win8 Release|x64
> -               Win8.1 Debug|x64 = Win8.1 Debug|x64
> -               Win8.1 Release|x64 = Win8.1 Release|x64
> +               Win8.1Debug|x64 = Win8.1Debug|x64
> +               Win8.1Release|x64 = Win8.1Release|x64
> +               Win8Debug|x64 = Win8Debug|x64
> +               Win8Release|x64 = Win8Release|x64
>         EndGlobalSection
>         GlobalSection(ProjectConfigurationPlatforms) = postSolution
> -               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8 
> Debug|x64.ActiveCfg = Win8 Debug|x64
> -               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8 Debug|x64.Build.0 
> = Win8 Debug|x64
> -               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8 
> Release|x64.ActiveCfg = Win8 Release|x64
> -               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8 
> Release|x64.Build.0 = Win8 Release|x64
> -               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1 
> Debug|x64.ActiveCfg = Win8.1 Debug|x64
> -               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1 
> Debug|x64.Build.0 = Win8.1 Debug|x64
> -               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1 
> Release|x64.ActiveCfg = Win8.1 Release|x64
> -               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1 
> Release|x64.Build.0 = Win8.1 Release|x64
> -               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8 
> Debug|x64.ActiveCfg = Win8 Debug|x64
> -               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8 Debug|x64.Build.0 
> = Win8 Debug|x64
> -               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8 
> Debug|x64.Deploy.0 = Win8 Debug|x64
> -               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8 
> Release|x64.ActiveCfg = Win8 Release|x64
> -               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8 
> Release|x64.Build.0 = Win8 Release|x64
> -               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8 
> Release|x64.Deploy.0 = Win8 Release|x64
> -               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1 
> Debug|x64.ActiveCfg = Win8.1 Debug|x64
> -               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1 
> Debug|x64.Build.0 = Win8.1 Debug|x64
> -               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1 
> Debug|x64.Deploy.0 = Win8.1 Debug|x64
> -               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1 
> Release|x64.ActiveCfg = Win8.1 Release|x64
> -               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1 
> Release|x64.Build.0 = Win8.1 Release|x64
> -               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1 
> Release|x64.Deploy.0 = Win8.1 Release|x64
> +               
> {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1Debug|x64.ActiveCfg = Win8.1 
> Debug|x64
> +               
> {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1Debug|x64.Build.0 = Win8.1 
> Debug|x64
> +               
> {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1Release|x64.ActiveCfg = Win8.1 
> Release|x64
> +               
> {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8.1Release|x64.Build.0 = Win8.1 
> Release|x64
> +               
> {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8Debug|x64.ActiveCfg = Win8 
> Debug|x64
> +               {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8Debug|x64.Build.0 
> = Win8 Debug|x64
> +               
> {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8Release|x64.ActiveCfg = Win8 
> Release|x64
> +               
> {911D7389-3E61-449F-B8F3-14AD7EE9A0F2}.Win8Release|x64.Build.0 = Win8 
> Release|x64
> +               
> {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Debug|x64.ActiveCfg = Win8.1 
> Debug|x64
> +               
> {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Debug|x64.Build.0 = Win8.1 
> Debug|x64
> +               
> {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Debug|x64.Deploy.0 = Win8.1 
> Debug|x64
> +               
> {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Release|x64.ActiveCfg = Win8.1 
> Release|x64
> +               
> {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Release|x64.Build.0 = Win8.1 
> Release|x64
> +               
> {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8.1Release|x64.Deploy.0 = Win8.1 
> Release|x64
> +               
> {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Debug|x64.ActiveCfg = Win8 
> Debug|x64
> +               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Debug|x64.Build.0 
> = Win8 Debug|x64
> +               {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Debug|x64.Deploy.0 
> = Win8 Debug|x64
> +               
> {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Release|x64.ActiveCfg = Win8 
> Release|x64
> +               
> {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Release|x64.Build.0 = Win8 
> Release|x64
> +               
> {63FE215D-98BE-4440-8081-C6160EFB80FA}.Win8Release|x64.Deploy.0 = Win8 
> Release|x64
>         EndGlobalSection
>         GlobalSection(SolutionProperties) = preSolution
>                 HideSolutionNode = FALSE
> diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
> index 8ace9ce..dd58d49 100644
> --- a/m4/openvswitch.m4
> +++ b/m4/openvswitch.m4
> @@ -125,10 +125,10 @@ AC_ARG_WITH([vstudioddk],
>              [Visual Studio DDK version type e.g. Win8.1 Release])],
>           [
>              case "$withval" in
> -            "Win8.1 Release") ;;
> -            "Win8.1 Debug") ;;
> -            "Win8 Release") ;;
> -            "Win8 Debug") ;;
> +            "Win8.1Release") ;;
> +            "Win8.1Debug") ;;
> +            "Win8Release") ;;
> +            "Win8Debug") ;;
>              *) AC_MSG_ERROR([No good Visual Studio configuration found]) ;;
>              esac
>
> --
> 1.9.5.msysgit.0
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to