summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2013-01-22 16:15:13 +0100
committerBenoit Foucher <benoit@zeroc.com>2013-01-22 16:15:13 +0100
commitc382ec33aff65658802822d99154fb28f6736b0d (patch)
treeb37245b758a2ae693b4d247b59403cc4864176b4 /cpp
parentFix compilation warning (diff)
downloadice-c382ec33aff65658802822d99154fb28f6736b0d.tar.bz2
ice-c382ec33aff65658802822d99154fb28f6736b0d.tar.xz
ice-c382ec33aff65658802822d99154fb28f6736b0d.zip
Windows RT ARM support
Diffstat (limited to 'cpp')
-rw-r--r--cpp/INSTALL.WINDOWS11
-rw-r--r--cpp/INSTALL.WINRT26
-rw-r--r--cpp/Makefile.mak6
-rwxr-xr-xcpp/config/Make.rules.msvc2
-rw-r--r--cpp/demo/Glacier2/winrt/chat/chat.vcxproj6
-rw-r--r--cpp/demo/Ice/winrt/bidir/Package.appxmanifest1
-rw-r--r--cpp/demo/Ice/winrt/bidir/bidir.vcxproj6
-rw-r--r--cpp/demo/Ice/winrt/hello/hello.vcxproj6
-rw-r--r--cpp/include/IceUtil/Config.h1
-rw-r--r--cpp/src/Glacier2Lib/winrt/Makefile.mak1
-rw-r--r--cpp/src/Ice/winrt/Makefile.mak2
-rw-r--r--cpp/src/IceGridLib/winrt/Makefile.mak1
-rw-r--r--cpp/src/IceStormLib/winrt/Makefile.mak1
-rw-r--r--cpp/src/IceUtil/winrt/Makefile.mak1
-rw-r--r--cpp/test/WinRT/TestSuite/TestSuite.vcxproj4
15 files changed, 37 insertions, 38 deletions
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'">