diff options
author | Benoit Foucher <benoit@zeroc.com> | 2013-01-22 16:15:13 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2013-01-22 16:15:13 +0100 |
commit | c382ec33aff65658802822d99154fb28f6736b0d (patch) | |
tree | b37245b758a2ae693b4d247b59403cc4864176b4 | |
parent | Fix compilation warning (diff) | |
download | ice-c382ec33aff65658802822d99154fb28f6736b0d.tar.bz2 ice-c382ec33aff65658802822d99154fb28f6736b0d.tar.xz ice-c382ec33aff65658802822d99154fb28f6736b0d.zip |
Windows RT ARM support
-rw-r--r-- | config/Make.common.rules.mak | 4 | ||||
-rw-r--r-- | cpp/INSTALL.WINDOWS | 11 | ||||
-rw-r--r-- | cpp/INSTALL.WINRT | 26 | ||||
-rw-r--r-- | cpp/Makefile.mak | 6 | ||||
-rwxr-xr-x | cpp/config/Make.rules.msvc | 2 | ||||
-rw-r--r-- | cpp/demo/Glacier2/winrt/chat/chat.vcxproj | 6 | ||||
-rw-r--r-- | cpp/demo/Ice/winrt/bidir/Package.appxmanifest | 1 | ||||
-rw-r--r-- | cpp/demo/Ice/winrt/bidir/bidir.vcxproj | 6 | ||||
-rw-r--r-- | cpp/demo/Ice/winrt/hello/hello.vcxproj | 6 | ||||
-rw-r--r-- | cpp/include/IceUtil/Config.h | 1 | ||||
-rw-r--r-- | cpp/src/Glacier2Lib/winrt/Makefile.mak | 1 | ||||
-rw-r--r-- | cpp/src/Ice/winrt/Makefile.mak | 2 | ||||
-rw-r--r-- | cpp/src/IceGridLib/winrt/Makefile.mak | 1 | ||||
-rw-r--r-- | cpp/src/IceStormLib/winrt/Makefile.mak | 1 | ||||
-rw-r--r-- | cpp/src/IceUtil/winrt/Makefile.mak | 1 | ||||
-rw-r--r-- | cpp/test/WinRT/TestSuite/TestSuite.vcxproj | 4 | ||||
-rw-r--r-- | demoscript/Util.py | 2 | ||||
-rwxr-xr-x | scripts/TestUtil.py | 2 |
18 files changed, 42 insertions, 41 deletions
diff --git a/config/Make.common.rules.mak b/config/Make.common.rules.mak index 763baa0de68..17040eb5c64 100644 --- a/config/Make.common.rules.mak +++ b/config/Make.common.rules.mak @@ -31,9 +31,11 @@ OBJEXT = .obj ice_bin_dist = 1 !endif -!if "$(AS)" == "ml64" || "$(XTARGET)" == "x64" +!if "$(PLATFORM)" == "x64" || "$(PLATFORM)" == "X64" || "$(AS)" == "ml64" x64suffix = \x64 ARCH = x64 +!elseif "$(PLATFORM)" == "ARM" +ARCH = arm !else ARCH = x86 !endif diff --git a/cpp/INSTALL.WINDOWS b/cpp/INSTALL.WINDOWS index 37062ff07ab..6bb601d1cde 100644 --- a/cpp/INSTALL.WINDOWS +++ b/cpp/INSTALL.WINDOWS @@ -116,11 +116,7 @@ have several alternatives: - Visual Studio x64 Cross Tools Command Prompt Using the first configuration produces 32-bit binaries, while the -second produces 64-bit binaries. In order to build a 64-bit version of -Ice using a "Cross Tools" command prompt, you must set the following -environment variable: - -> set XTARGET=x64 +second produces 64-bit binaries. Note that you must be using a Windows x64 platform when compiling a 64-bit version of Ice. @@ -166,11 +162,6 @@ C++ compiler is like building Ice on x86. You just need to perform the build in a "Visual Studio x64 Win64 Command Prompt", and not in a regular "Visual Studio 2010/2012 Command Prompt". -You can also use the "Visual Studio x64 Cross Tools Command Prompt" if -you set the following environment variable: - -> set XTARGET=x64 - Note that you must be using a Windows x64 platform when compiling a 64-bit version of Ice. diff --git a/cpp/INSTALL.WINRT b/cpp/INSTALL.WINRT index d6775e77e39..7ef7101398c 100644 --- a/cpp/INSTALL.WINRT +++ b/cpp/INSTALL.WINRT @@ -27,6 +27,7 @@ Windows version Ice for WinRT has been extensively tested on: - Windows 8 (x86 & x64) + - Windows RT (ARM) C++ compiler @@ -49,7 +50,9 @@ Using your favorite Zip tool, unzip the Ice source archive anywhere you like. To build Ice for WinRT you first need to build Ice for Windows. Refer -to INSTALL.WINDOWS for instructions on how to build Ice for Windows. +to INSTALL.WINDOWS for instructions on how to build Ice for +Windows. The build of Ice for Windows is required to compile the slice +translators which are required to build Ice for WinRT. Open a command prompt that is configured for your target architecture. For example, Visual Studio 2012 gives you several alternatives: @@ -57,16 +60,11 @@ For example, Visual Studio 2012 gives you several alternatives: - Visual Studio Command Prompt - Visual Studio x64 Win64 Command Prompt - Visual Studio x64 Cross Tools Command Prompt + - Visual Studio ARM Cross Tools Command Prompt Using the first configuration produces 32-bit binaries, while the -second produces 64-bit binaries. In order to build a 64-bit version of -Ice using a "Cross Tools" command prompt, you must set the following -environment variable: - -> set XTARGET=x64 - -Note that you must be using a Windows 8 x64 platform when compiling a -64-bit version of Ice. +second and third produces 64-bit binaries and the fourth produces ARM +binaries. Change the working directory to Ice-@ver@. For example: @@ -137,6 +135,16 @@ directory. At the command prompt, execute: Then open the "Ice Test Suite" Windows Store application, check "Enable SSL", and click the "Run" button. +To run the tests on a remote device such as the Surface, you will need +to install the Remote Debugger Tools. Instructions on the Remote +Debugger Tools are available at this link: + + http://msdn.microsoft.com/en-us/library/vstudio/bt727f1t.aspx + +Note: some tests might fail if you run the tests with the debugger +attached. You shoud choose "Start without Debugging" from the Debug +menu to run the tests. + ====================================================================== Installation diff --git a/cpp/Makefile.mak b/cpp/Makefile.mak index 3d67fbc7871..d94378e0ad1 100644 --- a/cpp/Makefile.mak +++ b/cpp/Makefile.mak @@ -21,10 +21,10 @@ install:: install-common @if not exist %i \ @echo "Creating %i..." && \ mkdir %i - + test:: @python $(top_srcdir)/allTests.py - + !else SUBDIRS = src include test @@ -47,7 +47,7 @@ unregister-sdk: @echo Unregister SDK "$(SDK_NAME)" delete Windows registry key "$(SDK_KEY)" @reg DELETE "$(SDK_KEY)" /f || \ @echo "Registry Keyword $(SDK_KEY) not exists" - + install:: install-common all @for %i in ( $(INSTALL_SUBDIRS) ) do \ @if not exist %i \ diff --git a/cpp/config/Make.rules.msvc b/cpp/config/Make.rules.msvc index 228e07089a1..c5614458e0a 100755 --- a/cpp/config/Make.rules.msvc +++ b/cpp/config/Make.rules.msvc @@ -167,7 +167,7 @@ $(SDK_BASE_PATH)\$(SDK_MANIFEST): $(SDK_BASE_PATH) ProductFamiliyName = "ZeroC SDKs" MinVSVersion = "11.0" AppliesTo = "WindowsAppContainer + VisualC" - SupportedArchitecture = "x86;x64" + SupportedArchitecture = "x86;x64;ARM" SupportsMultipleVersion = "Error" MoreInfo = "http://doc.zeroc.com"> </FileList> diff --git a/cpp/demo/Glacier2/winrt/chat/chat.vcxproj b/cpp/demo/Glacier2/winrt/chat/chat.vcxproj index 102d759db22..c9f10cd1658 100644 --- a/cpp/demo/Glacier2/winrt/chat/chat.vcxproj +++ b/cpp/demo/Glacier2/winrt/chat/chat.vcxproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|ARM"> @@ -106,7 +106,6 @@ <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> - <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers> <GenerateWindowsMetadata>false</GenerateWindowsMetadata> </Link> </ItemDefinitionGroup> @@ -116,7 +115,6 @@ <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> - <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers> <GenerateWindowsMetadata>false</GenerateWindowsMetadata> </Link> </ItemDefinitionGroup> @@ -243,4 +241,4 @@ <UserProperties ZerocIce_Enabled="True" ZerocIce_ProjectVersion="1" /> </VisualStudio> </ProjectExtensions> -</Project> +</Project>
\ No newline at end of file diff --git a/cpp/demo/Ice/winrt/bidir/Package.appxmanifest b/cpp/demo/Ice/winrt/bidir/Package.appxmanifest index 7564929c25b..1d901471f7a 100644 --- a/cpp/demo/Ice/winrt/bidir/Package.appxmanifest +++ b/cpp/demo/Ice/winrt/bidir/Package.appxmanifest @@ -22,6 +22,7 @@ </Application> </Applications> <Capabilities> + <Capability Name="privateNetworkClientServer" /> <Capability Name="internetClientServer" /> <Capability Name="internetClient" /> </Capabilities> diff --git a/cpp/demo/Ice/winrt/bidir/bidir.vcxproj b/cpp/demo/Ice/winrt/bidir/bidir.vcxproj index 6ca7617bf0c..59dfe0cfbaf 100644 --- a/cpp/demo/Ice/winrt/bidir/bidir.vcxproj +++ b/cpp/demo/Ice/winrt/bidir/bidir.vcxproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|ARM"> @@ -106,7 +106,6 @@ <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> - <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers> <GenerateWindowsMetadata>false</GenerateWindowsMetadata> </Link> </ItemDefinitionGroup> @@ -116,7 +115,6 @@ <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> - <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers> <GenerateWindowsMetadata>false</GenerateWindowsMetadata> </Link> </ItemDefinitionGroup> @@ -222,4 +220,4 @@ <UserProperties ZerocIce_Enabled="True" ZerocIce_ProjectVersion="1" /> </VisualStudio> </ProjectExtensions> -</Project> +</Project>
\ No newline at end of file diff --git a/cpp/demo/Ice/winrt/hello/hello.vcxproj b/cpp/demo/Ice/winrt/hello/hello.vcxproj index c2c524cea85..a51323d3043 100644 --- a/cpp/demo/Ice/winrt/hello/hello.vcxproj +++ b/cpp/demo/Ice/winrt/hello/hello.vcxproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|ARM"> @@ -106,7 +106,6 @@ <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> - <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers> <GenerateWindowsMetadata>false</GenerateWindowsMetadata> </Link> </ItemDefinitionGroup> @@ -116,7 +115,6 @@ <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> - <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers> <GenerateWindowsMetadata>false</GenerateWindowsMetadata> </Link> </ItemDefinitionGroup> @@ -225,4 +223,4 @@ <UserProperties ZerocIce_Enabled="True" ZerocIce_ProjectVersion="1" /> </VisualStudio> </ProjectExtensions> -</Project> +</Project>
\ No newline at end of file diff --git a/cpp/include/IceUtil/Config.h b/cpp/include/IceUtil/Config.h index 570174b8b78..3d0b4a7ef15 100644 --- a/cpp/include/IceUtil/Config.h +++ b/cpp/include/IceUtil/Config.h @@ -22,6 +22,7 @@ #if defined(__i386) || defined(_M_IX86) || defined(__x86_64) || \ defined(_M_X64) || defined(_M_IA64) || defined(__alpha__) || \ + defined(__ARMEL__) || defined(_M_ARM_FP) || \ defined(__MIPSEL__) || (defined(__BYTE_ORDER) && (__BYTE_ORDER == __LITTLE_ENDIAN)) # define ICE_LITTLE_ENDIAN #elif defined(__sparc) || defined(__sparc__) || defined(__hppa) || \ diff --git a/cpp/src/Glacier2Lib/winrt/Makefile.mak b/cpp/src/Glacier2Lib/winrt/Makefile.mak index b61a141e0c4..468f551b9c9 100644 --- a/cpp/src/Glacier2Lib/winrt/Makefile.mak +++ b/cpp/src/Glacier2Lib/winrt/Makefile.mak @@ -24,6 +24,7 @@ OBJS = $(ARCH)\$(CONFIG)\PermissionsVerifier.obj \ SRCS = $(OBJS:.obj=.cpp) SRCS = $(SRCS:x86\=) SRCS = $(SRCS:x64\=) +SRCS = $(SRCS:arm\=) SRCS = $(SRCS:Retail\=..\) SRCS = $(SRCS:Debug\=..\) diff --git a/cpp/src/Ice/winrt/Makefile.mak b/cpp/src/Ice/winrt/Makefile.mak index 806c12acf10..46f11e72ef7 100644 --- a/cpp/src/Ice/winrt/Makefile.mak +++ b/cpp/src/Ice/winrt/Makefile.mak @@ -160,12 +160,14 @@ SLICE_SSL_SRCS = $(slicedir)\IceSSL\EndpointInfo.ice \ SRCS = $(OBJS:.obj=.cpp) SRCS = $(SRCS:x86\=) SRCS = $(SRCS:x64\=) +SRCS = $(SRCS:arm\=) SRCS = $(SRCS:Retail\=..\) SRCS = $(SRCS:Debug\=..\) LOCAL_SRCS = $(LOCAL_OBJS:.obj=.cpp) LOCAL_SRCS = $(LOCAL_SRCS:x86\=) LOCAL_SRCS = $(LOCAL_SRCS:x64\=) +LOCAL_SRCS = $(LOCAL_SRCS:arm\=) LOCAL_SRCS = $(LOCAL_SRCS:Retail\=.\) LOCAL_SRCS = $(LOCAL_SRCS:Debug\=.\) diff --git a/cpp/src/IceGridLib/winrt/Makefile.mak b/cpp/src/IceGridLib/winrt/Makefile.mak index e5afbea8b64..9210815bc4b 100644 --- a/cpp/src/IceGridLib/winrt/Makefile.mak +++ b/cpp/src/IceGridLib/winrt/Makefile.mak @@ -39,6 +39,7 @@ SLICE_SRCS = $(SDIR)/Admin.ice \ SRCS = $(OBJS:.obj=.cpp) SRCS = $(SRCS:x86\=) SRCS = $(SRCS:x64\=) +SRCS = $(SRCS:arm\=) SRCS = $(SRCS:Retail\=..\) SRCS = $(SRCS:Debug\=..\) diff --git a/cpp/src/IceStormLib/winrt/Makefile.mak b/cpp/src/IceStormLib/winrt/Makefile.mak index 4a43f4a61f3..7e418007c18 100644 --- a/cpp/src/IceStormLib/winrt/Makefile.mak +++ b/cpp/src/IceStormLib/winrt/Makefile.mak @@ -23,6 +23,7 @@ SLICE_SRCS = $(SDIR)/IceStorm.ice \ SRCS = $(OBJS:.obj=.cpp) SRCS = $(SRCS:x86\=) SRCS = $(SRCS:x64\=) +SRCS = $(SRCS:arm\=) SRCS = $(SRCS:Retail\=..\) SRCS = $(SRCS:Debug\=..\) diff --git a/cpp/src/IceUtil/winrt/Makefile.mak b/cpp/src/IceUtil/winrt/Makefile.mak index 56ba1200b03..b45ec544f3e 100644 --- a/cpp/src/IceUtil/winrt/Makefile.mak +++ b/cpp/src/IceUtil/winrt/Makefile.mak @@ -38,6 +38,7 @@ OBJS = $(ARCH)\$(CONFIG)\ArgVector.obj \ SRCS = $(OBJS:.obj=.cpp) SRCS = $(SRCS:x86\=) SRCS = $(SRCS:x64\=) +SRCS = $(SRCS:arm\=) SRCS = $(SRCS:Retail\=..\) SRCS = $(SRCS:Debug\=..\) diff --git a/cpp/test/WinRT/TestSuite/TestSuite.vcxproj b/cpp/test/WinRT/TestSuite/TestSuite.vcxproj index b3125273cf4..378b83b24ad 100644 --- a/cpp/test/WinRT/TestSuite/TestSuite.vcxproj +++ b/cpp/test/WinRT/TestSuite/TestSuite.vcxproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|ARM"> @@ -110,7 +110,6 @@ </ClCompile> <Link> <GenerateWindowsMetadata>false</GenerateWindowsMetadata> - <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers> </Link> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'"> @@ -123,7 +122,6 @@ </ClCompile> <Link> <GenerateWindowsMetadata>false</GenerateWindowsMetadata> - <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers> </Link> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> diff --git a/demoscript/Util.py b/demoscript/Util.py index fa266745fc0..601fd93b73a 100644 --- a/demoscript/Util.py +++ b/demoscript/Util.py @@ -714,7 +714,7 @@ def processCmdLine(): iceHome = "/usr" if not x64: - x64 = isWin32() and os.environ.get("XTARGET") == "x64" or os.environ.get("LP64") == "yes" + x64 = isWin32() and os.environ.get("PLATFORM").upper() == "X64" or os.environ.get("LP64") == "yes" if not noenv: configurePaths() diff --git a/scripts/TestUtil.py b/scripts/TestUtil.py index 370db12fda3..0b1b5bf66ef 100755 --- a/scripts/TestUtil.py +++ b/scripts/TestUtil.py @@ -1733,7 +1733,7 @@ def processCmdLine(): iceHome = "/usr" if not x64: - x64 = isWin32() and os.environ.get("XTARGET") == "x64" or os.environ.get("LP64") == "yes" + x64 = isWin32() and os.environ.get("PLATFORM").upper() == "X64" or os.environ.get("LP64") == "yes" if iceHome: sys.stdout.write("*** using Ice installation from " + iceHome + " ") |